{
    "IniValue": {
        "data": [
            {
                "key": "This.UnitTest.key.1",
                "en-US": "test en-US",
                "es-ES": "test es-ES",
                "id-ID": "test id-ID",
                "ko-KR": "test ko-KR",
                "pt-BR": "test pt-BR",
                "vi-VN": "test vi-VN",
                "ja-JP": "test ja-JP"
            },
            {
                "key": "This.UnitTest.key.2",
                "en-US": "test2 라이브\nen-US"
            },
            {
                "key": "This.UnitTest.key.3",
                "ko-KR": "test3 ko-KR"
            },
            {
                "key": "Live.Check.LiveInfo.Youtube.block.permisson.28006",
                "en-US": "You cannot live stream on %1 because streaming permissions haven’t been enabled.\nSome permissions may take up to 24 hours to activate after application or verification. For more information, please click the [View Help] button.",
                "es-ES": "No puedes retransmitir en directo en %1 porque no se han activado los permisos de retransmisión.\nAlgunos permisos pueden tardar hasta 24 horas en activarse tras su solicitud o verificación. Para obtener más información, haz clic en el botón [Ver ayuda].",
                "id-ID": "Anda tidak dapat melakukan live streaming di %1 karena izin streaming belum diaktifkan.\nBeberapa izin dapat memerlukan waktu hingga 24 jam untuk diaktifkan setelah pengajuan atau verifikasi. Untuk informasi lebih lanjut, silakan klik tombol [Lihat Bantuan].",
                "ko-KR": "%1 스트리밍 권한이 활성화되지 않아 방송을 시작할 수 없습니다.\n일부 권한은 신청 또는 인증 후 최대 24시간이 소요될 수 있습니다. 자세한 내용은 [도움말 보기] 버튼을 선택해 확인해 주세요.",
                "pt-BR": "Você não pode fazer transmissões ao vivo no %1 porque as permissões de transmissão não foram ativadas.\nAlgumas permissões podem levar até 24 horas para serem ativadas após a solicitação ou verificação. Para mais informações, por favor clique no botão [Ver ajuda].",
                "vi-VN": "Bạn không thể phát trực tiếp trên %1 vì quyền phát trực tiếp chưa được bật.\nMột số quyền có thể mất đến 24 giờ để kích hoạt sau khi đăng ký hoặc xác minh. Để biết thêm thông tin, vui lòng nhấp vào nút [Xem trợ giúp].",
                "ja-JP": "%1ストリーミングの権限が有効になっていないため、配信を開始できません。\n一部の権限は申請または認証後、有効になるまで最大24時間かかる場合があります。詳しくは［ヘルプを表示］ボタンをクリックしてご確認ください。"
            },
            {
                "key": "Live.Check.LiveInfo.Youtube.block.permisson.28005",
                "en-US": "You are currently restricted from %1 live streaming.\nThis may be due to a violation of community guidelines or platform policies. For more information, please click the [View Help] button.",
                "es-ES": "Actualmente tienes restringida la retransmisión en directo en %1.\nEsto puede deberse a una infracción de las directrices de la comunidad o de las políticas de la plataforma. Para obtener más información, haz clic en el botón [Ver ayuda].",
                "id-ID": "Saat ini Anda dibatasi dari live streaming %1.\nHal ini dapat terjadi karena pelanggaran pedoman komunitas atau kebijakan platform. Untuk informasi lebih lanjut, silakan klik tombol [Lihat Bantuan].",
                "ko-KR": "%1 라이브 스트리밍 권한이 제한되어 방송을 시작할 수 없습니다.\n계정이 커뮤니티 가이드라인 또는 정책 위반으로 인해 제한되었을 수 있습니다. 자세한 내용은 [도움말 보기] 버튼을 선택해 확인해 주세요.",
                "pt-BR": "Você está atualmente restrito às transmissões ao vivo do %1.\nIsso pode ser devido a uma violação das diretrizes da comunidade ou das políticas da plataforma. Para mais informações, por favor clique no botão [Ver ajuda].",
                "vi-VN": "Hiện tại, bạn đang bị hạn chế phát trực tiếp trên %1.\nTài khoản của bạn có thể đã bị hạn chế do vi phạm nguyên tắc cộng đồng hoặc chính sách nền tảng. Để biết thêm thông tin, vui lòng nhấp vào nút [Xem trợ giúp].",
                "ja-JP": "%1ライブストリーミングの権限が制限されているため、配信を開始できません。\nアカウントがコミュニティガイドラインまたはポリシーに違反したことにより、制限されている可能性があります。詳しくは［ヘルプを表示］ボタンをクリックしてご確認ください。"
            },
            {
                "key": "Live.Check.LiveInfo.authenticatedUserAccountSuspended",
                "en-US": "There’s an issue with your %1 account. Please check your account status using the link below.",
                "es-ES": "Hay un problema con tu cuenta de %1. Por favor, comprueba el estado de tu cuenta utilizando el siguiente enlace.",
                "id-ID": "Terdapat masalah dengan akun %1 Anda. Silakan cek status akun Anda melalui link di bawah ini.",
                "ko-KR": "%1 계정에 문제가 발생했습니다. 아래의 링크에서 계정 상태를 확인해 주세요.",
                "pt-BR": "Detectamos um problema com sua conta do %1. Por favor verifique o status acessando o link abaixo.",
                "vi-VN": "Tài khoản %1 của bạn đang gặp sự cố. Vui lòng kiểm tra trạng thái tài khoản tại liên kết bên dưới.",
                "ja-JP": "%1のアカウントに問題が発生しています。下記のリンクからアカウントの状態をご確認ください。"
            },
            {
                "key": "Live.Check.LiveInfo.backendError",
                "en-US": "A temporary error occurred on the %1 server. Please try again in a moment.\n",
                "es-ES": "Se ha producido un error temporal en el servidor de %1. Por favor, inténtalo de nuevo en un momento.",
                "id-ID": "Terjadi kesalahan sementara pada server %1. Silakan coba lagi beberapa saat lagi.",
                "ko-KR": "%1 서버에서 일시적인 오류가 발생했습니다. 잠시 후 다시 시도해 주세요.",
                "pt-BR": "Ocorreu um erro temporário no servidor do %1. Por favor tente novamente em instantes.",
                "vi-VN": "Đã xảy ra lỗi tạm thời trên máy chủ %1. Vui lòng thử lại sau.",
                "ja-JP": "%1サーバーで一時的なエラーが発生しました。しばらくしてから再度お試しください。"
            },
            {
                "key": "Live.Check.LiveInfo.Refresh.Net.Failed",
                "en-US": "Failed to load the live information. Please check your network connection and try again",
                "es-ES": "No se ha podido cargar la información en directo. Comprueba tu conexión de red e inténtalo de nuevo",
                "id-ID": "Gagal memuat informasi live. Silakan periksa koneksi jaringan Anda dan coba kembali.",
                "ko-KR": "라이브 정보를 불러올 수 없습니다. 네트워크 상태 등을 확인한 후, 잠시 후에 다시 시도해 주세요.",
                "pt-BR": "Falha ao carregar as informações ao vivo. Verifique sua conexão de rede e tente novamente.",
                "vi-VN": "Không tải được thông tin live. Vui lòng kiểm tra kết nối mạng và thử lại.",
                "ja-JP": "配信情報を読み込めません。ネットワークの状態を確認し、しばらくしてから再度お試しください。"
            },
            {
                "key": "facebook.liveinfo.login.token.expired",
                "en-US": "Your Facebook channel authentication has expired. Your login session may have ended, or the necessary permissions may have been revoked. Please reconnect your channel.",
                "es-ES": "La autenticación de tu canal de Facebook ha caducado. Es posible que tu sesión de inicio de sesión haya finalizado o que se hayan revocado los permisos necesarios. Vuelve a conectar tu canal.",
                "id-ID": "Autentikasi saluran Facebook Anda telah kedaluwarsa. Sesi login Anda mungkin telah berakhir, atau izin yang diperlukan telah dicabut. Silakan sambungkan kembali saluran Anda.",
                "ko-KR": "Facebook 채널의 인증 정보가 만료되었습니다. 로그인이 만료되었거나 권한이 해제되었을 수 있으니, 채널을 다시 연동해 주세요.",
                "pt-BR": "A autenticação do seu canal do Facebook expirou. Sua sessão de login pode ter sido encerrada ou as permissões necessárias podem ter sido revogadas. Por favor reconecte seu canal.",
                "vi-VN": "Xác thực kênh Facebook của bạn đã hết hạn, có thể vì phiên đăng nhập đã kết thúc hoặc các quyền cần thiết đã bị thu hồi. Vui lòng kết nối lại kênh của bạn.\n",
                "ja-JP": "Facebookチャンネルの認証情報の有効期限が切れました。ログインの有効期限が切れたか、権限が解除された可能性があります。チャンネルを再連携してください。"
            },
            {
                "key": "Prism.Login.Systemtime.Error",
                "en-US": "The app cannot run normally due to an incorrect system time setting. Please change the setting to the current time and try again.",
                "es-ES": "La aplicación no puede ejecutarse con normalidad debido a un ajuste incorrecto de la hora del sistema. Por favor, cambie el ajuste a la hora actual e inténtelo de nuevo.",
                "id-ID": "Aplikasi tidak dapat berjalan normal karena pengaturan waktu sistem yang salah. Silakan ubah pengaturan ke waktu saat ini dan coba kembali.",
                "ko-KR": "시스템 시간이 잘못 설정되어 앱을 정상적으로 사용할 수 없습니다. 현재 시간으로 설정 변경 후 다시 시도해 주세요.",
                "pt-BR": "O aplicativo não pode ser executado normalmente devido a uma configuração incorreta da hora do sistema. Altere a configuração para a hora atual e tente novamente.",
                "vi-VN": "Ứng dụng không thể chạy bình thường do thời gian hệ thống cài đặt không chính xác. Vui lòng thay đổi cài đặt về thời gian hiện tại và thử lại.",
                "ja-JP": "システム時間が正しく設定されていないため、アプリを正常に使用できません。現在の時間に設定を変更してからもう一度お試しください。"
            },
            {
                "key": "Live.Check.LiveInfo.Update.Error.Failed",
                "en-US": "Failed to properly update live information. This may be a temporary issue with the %1 service. Please check the %1 page for details.",
                "es-ES": "No se ha podido actualizar correctamente la información en tiempo real. Esto puede ser un problema temporal con el servicio %1. Consulta la página %1 para obtener más información.",
                "id-ID": "Gagal memperbarui informasi live dengan benar. Mungkin ini adalah masalah sementara yang terjadi dengan layanan %1. Silakan cek halaman %1 untuk informasi selengkapnya.",
                "ko-KR": "라이브 정보가 정상적으로 반영되지 않았습니다. %1 서비스에서 발생한 일시적인 문제일 수 있습니다. %1 페이지를 확인해 주세요.",
                "pt-BR": "Falha ao atualizar corretamente as informações ao vivo. Este pode ser um problema temporário com o serviço %1. Por favor consulte a página %1 para obter detalhes.",
                "vi-VN": "Thông tin live hiển thị chưa chính xác. Đây có thể là sự cố tạm thời với dịch vụ %1. Vui lòng kiểm tra trang %1 để biết thêm chi tiết.",
                "ja-JP": "配信情報が正常に反映されませんでした。%1 サービス側で一時的な問題が発生している可能性があります。%1 ページをご確認ください。"
            },
            {
                "key": "Live.Button.View.Help",
                "en-US": "View Help",
                "es-ES": "Ver ayuda",
                "id-ID": "Lihat Bantuan",
                "ko-KR": "도움말 보기",
                "pt-BR": "Ver ajuda",
                "vi-VN": "Xem trợ giúp",
                "ja-JP": "ヘルプを表示"
            }
        ]
    },
    "UnitTest": {
        "data": [
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "404"
                },
                "err": {
                    "prismCode": 28000,
                    "prismName": "CHANNEL_YOUTUBE_NOTFOUND_404_CHANNELNOTFOUND",
                    "msgKey": "This is Unit Test Msg arg1_statusCode: %1, arg2_reason: %2, arg3_testArgValue:%3 trArg4_tr_gotoPage:%4 end!",
                    "arg": "[{{$statusCode}}, {{reason}}, testArgValue, tr(\"Live.Check.youtube.gotoPage\")]",
                    "buttons": "[{\"button\":\"Close\"},{\"button\":\"Open\",\"tr\":\"Live.Check.youtube.gotoPage\",\"action\":\"open.https://www.prismlivestudio.com/{{testLiveId}}/test\"}]",
                    "msgText": "This is Unit Test Msg arg1_statusCode: %1, arg2_reason: %2, arg3_testArgValue:%3 trArg4_tr_gotoPage:%4 end!"
                }
            },
            {
                "api": {
                    "$statusCode": "405",
                    "reason": "/.*tr(\"navershopping.api.request.reservation.delete\").*/"
                },
                "err": {
                    "prismCode": 28000,
                    "prismName": "CHANNEL_YOUTUBE_NOTFOUND_404_CHANNELNOTFOUND",
                    "msgKey": "broadcast.invalid.schedule",
                    "msgText": "This scheduled live is no longer valid."
                }
            },
            {
                "api": {
                    "$statusCode": "406",
                    "reason": "tr(\"navershopping.api.request.reservation.delete\")"
                },
                "err": {
                    "prismCode": 28002,
                    "prismName": "CHANNEL_YOUTUBE_INVALIDVALUE_400_INVALIDLATENCYPREFERENCEOPTIONS",
                    "msgKey": "Basic.AutoConfig.StreamPage",
                    "msgText": "This scheduled live is no longer valid."
                }
            },
            {
                "api": {
                    "test2": "/.*/"
                },
                "err": {
                    "prismCode": 28003,
                    "prismName": "CHANNEL_YOUTUBE_FORBIDDEN_403_INVALIDTRANSITION",
                    "msgKey": "Basic.AutoConfig.StreamPage",
                    "msgText": "This scheduled live is no longer valid."
                }
            },
            {
                "api": {
                    "test1": "/.*/",
                    "test2": "/.*/"
                },
                "err": {
                    "prismCode": 28004,
                    "prismName": "CHANNEL_YOUTUBE_LIVEBROADCASTNOTFOUND",
                    "msgKey": "Basic.AutoConfig.StreamPage",
                    "msgText": "This scheduled live is no longer valid."
                }
            },
            {
                "api": {
                    "$statusCode": "407",
                    "reason": "666"
                },
                "err": {
                    "prismCode": 28005,
                    "prismName": "CHANNEL_YOUTUBE_INSUFFICIENTPERMISSIONS_LIVEPERMISSIONBLOCKED",
                    "msgKey": "YouTube.Errors.messageTextInvalid",
                    "msgText": "The message text is not valid."
                }
            },
            {
                "api": {
                    "$statusCode": "409",
                    "reason": "test_Normal_Code"
                },
                "err": {
                    "prismCode": 28009,
                    "prismName": "CHANNEL_YOUTUBE_VIDEONOTFOUND",
                    "msgKey": "YouTube.Errors.messageTextInvalid",
                    "alertType": "Normal_Code",
                    "msgText": "The message text is not valid."
                }
            },
            {
                "api": {
                    "$statusCode": "409",
                    "reason": "test_Normal_Code_Blog"
                },
                "err": {
                    "prismCode": 28010,
                    "prismName": "CHANNEL_YOUTUBE_CUSTOM_REMOTEINVALID",
                    "msgKey": "YouTube.Errors.messageTextInvalid",
                    "alertType": "Normal_Code_Blog",
                    "msgText": "The message text is not valid."
                }
            },
            {
                "api": {
                    "$statusCode": "409",
                    "reason": "test_Normal_Code_Link"
                },
                "err": {
                    "prismCode": 28011,
                    "prismName": "CHANNEL_YOUTUBE_CUSTOM_BROADCASTTYPENOTSUPPORT",
                    "msgKey": "YouTube.Errors.messageTextInvalid",
                    "alertType": "Normal_Code_Link",
                    "msgText": "The message text is not valid."
                },
                "alert": {
                    "normal": {
                        "thirdLinkText": "Code link1",
                        "thirdLink": "https://www.naver.com/{{prismName}}"
                    }
                }
            },
            {
                "api": {
                    "$statusCode": "409",
                    "reason": "test_Error"
                },
                "err": {
                    "prismCode": 28012,
                    "prismName": "CHANNEL_YOUTUBE_CUSTOM_LATENCYCHANGEFAILED",
                    "msgKey": "YouTube.Errors.messageTextInvalid",
                    "alertType": "Error",
                    "msgText": "The message text is not valid."
                }
            },
            {
                "api": {
                    "$statusCode": "409",
                    "reason": "test_Error_Blog"
                },
                "err": {
                    "prismCode": 28013,
                    "prismName": "CHANNEL_YOUTUBE_LIVESTREAMNOTFOUND",
                    "msgKey": "YouTube.Errors.messageTextInvalid",
                    "alertType": "Error_Blog",
                    "msgText": "The message text is not valid."
                },
                "alert": {
                    "error": {
                        "blogLink": "https://connect.{{reason}}.com/home"
                    }
                }
            },
            {
                "api": {
                    "$statusCode": "409",
                    "reason": "test_Error_Link"
                },
                "err": {
                    "prismCode": 28000,
                    "prismName": "CHANNEL_YOUTUBE_NOTFOUND_404_CHANNELNOTFOUND",
                    "msgKey": "YouTube.Errors.messageTextInvalid",
                    "alertType": "Error_Link",
                    "msgText": "The message text is not valid."
                },
                "alert": {
                    "error": {
                        "thirdLink": "https://www.naver.com/{{$statusCode}}"
                    }
                }
            },
            {
                "api": {
                    "$statusCode": "409",
                    "reason": "test_Error_Blog_Link"
                },
                "err": {
                    "prismCode": 28001,
                    "prismName": "CHANNEL_YOUTUBE_INVALIDVALUE_400_INVALIDDESCRIPTION",
                    "msgKey": "YouTube.Errors.messageTextInvalid",
                    "alertType": "Error_Blog_Link",
                    "msgText": "The message text is not valid."
                },
                "alert": {
                    "error": {
                        "blogText": "Blog {{reason}}",
                        "blogLink": "https://www.naver.com/3"
                    }
                }
            }
        ],
        "extra": {
            "path": {
                "reason": [
                    "error.errors.[].reason",
                    "error"
                ],
                "test1": [
                    "error.test1"
                ],
                "test2": [
                    "error.test2"
                ]
            },
            "logAppend": [
                "reason: {{reason}}"
            ],
            "append": [
                "{{testTr}}tr(\"LiveInfo.Youtube.scheduled.title\")",
                "{{testEmpty}}tr(\"LiveInfo.Youtube.privacy\")"
            ],
            "alert": {
                "normal": {
                    "codeText": "(tr(\"NaverShoppingLive.Alert.Error.Code\"){{prismCode}})",
                    "blogText": "Basic.MainMenu.Help.Blog",
                    "blogLink": "https://prismlive.com/en_us/{{prismCode}}",
                    "thirdLinkText": "{{platformName}}Link",
                    "thirdLink": "https://prismlive.com/thirdlink/{{prismCode}}"
                },
                "error": {
                    "blogText": "Basic.MainMenu.Help.Blog",
                    "blogLink": "https://prismlive.com/bloglink/{{prismCode}}",
                    "thirdLinkText": "{{platformName}}Link>",
                    "thirdLink": "https://prismlive.com/errorthirdlink/{{prismCode}}"
                }
            }
        }
    },
    "default": {
        "data": [
            {
                "api": {
                    "defaultKey": "LoadLiveInfoFailed"
                },
                "err": {
                    "prismCode": 10500,
                    "prismName": "COMMON_DEFAULT_LOADLIVEINFOFAILED",
                    "msgKey": "Live.Check.LiveInfo.Refresh.Net.Failed",
                    "alertType": "Normal_Code_Blog",
                    "msgText": "Failed to load the live information. Please check your network connection and try again"
                },
                "alert": {
                    "normal": {
                        "blogLink": "https://guide.prismlive.com/desktop/guides/error-solution/streaming/how-to-fix-connection-errors-for-live-information"
                    }
                }
            },
            {
                "api": {
                    "defaultKey": "StartLiveFailed_Single"
                },
                "err": {
                    "prismCode": 10501,
                    "prismName": "COMMON_DEFAULT_STARTLIVEFAILED_SINGLE",
                    "msgKey": "Live.Check.LiveInfo.Create.Failed.SingleChannel",
                    "msgText": "Cannot start live due to %1 error. Please try again."
                }
            },
            {
                "api": {
                    "defaultKey": "StartLiveFailed_Multi"
                },
                "err": {
                    "prismCode": 10502,
                    "prismName": "COMMON_DEFAULT_STARTLIVEFAILED_MULTI",
                    "msgKey": "Live.Check.LiveInfo.Create.Failed.MultiChannel",
                    "msgText": "Failed to update the live information due to %1 error. Please try again."
                }
            },
            {
                "api": {
                    "defaultKey": "UpdateLiveInfoFailed"
                },
                "err": {
                    "prismCode": 10503,
                    "prismName": "COMMON_DEFAULT_UPDATELIVEINFOFAILED",
                    "msgKey": "Live.Check.LiveInfo.Update.Error.Failed",
                    "msgText": "Failed to properly update live information. This may be a temporary issue with the %1 service. Please check the %1 page for details."
                }
            },
            {
                "api": {
                    "defaultKey": "StartRehearsalFailed"
                },
                "err": {
                    "prismCode": 10504,
                    "prismName": "COMMON_DEFAULT_STARTREHEARSALFAILED",
                    "msgKey": "LiveInfo.NaverTV.SaveLiveInfo.Fail.Rehearsal.Alert",
                    "msgText": "Failed to start rehearsal."
                }
            },
            {
                "api": {
                    "defaultKey": "LoadLiveInfoExpired"
                },
                "err": {
                    "prismCode": 10002,
                    "prismName": "COMMON_TOKEN_EXPIRED_ERROR",
                    "msgKey": "Live.Check.LiveInfo.Refresh.Expired",
                    "msgText": "Your %1 channel verification information has expired."
                }
            },
            {
                "api": {
                    "defaultKey": "UpdateLiveInfoFailedNoService"
                },
                "err": {
                    "prismCode": 10515,
                    "prismName": "COMMON_DEFAULT_UPDATELIVEINFOFAILED_NOSERVICE",
                    "msgKey": "LiveInfo.live.error.update.failed",
                    "msgText": "Failed to update the live information."
                }
            },
            {
                "api": {
                    "defaultKey": "FailedToStartLive"
                },
                "err": {
                    "prismCode": 10505,
                    "prismName": "COMMON_DEFAULT_FAILEDTOSTARTLIVE",
                    "msgKey": "Live.Check.message.error.start.broadcast",
                    "msgText": "Failed to start live."
                }
            },
            {
                "api": {
                    "defaultKey": "TimeoutTryAgain"
                },
                "err": {
                    "prismCode": 10506,
                    "prismName": "COMMON_DEFAULT_TIMEOUTTRYAGAIN",
                    "msgKey": "Live.Check.prism.muti.timeout.30s",
                    "alertType": "Normal_Code_Blog",
                    "msgText": "The server is not responding. Please try again after a few minutes."
                },
                "alert": {
                    "normal": {
                        "blogLink": "https://guide.prismlive.com/desktop/guides/error-solution/streaming/how-to-fix-streaming-timeout-errors"
                    }
                }
            },
            {
                "api": {
                    "defaultKey": "UploadImageFailed"
                },
                "err": {
                    "prismCode": 10507,
                    "prismName": "COMMON_DEFAULT_UPLOADIMAGEFAILED",
                    "msgKey": "LiveInfo.live.error.set_photo_error",
                    "msgText": "The image file has not been successfully uploaded. Please try again."
                }
            },
            {
                "api": {
                    "defaultKey": "ServerErrorTryAgain"
                },
                "err": {
                    "prismCode": 10508,
                    "prismName": "COMMON_DEFAULT_SERVERERRORTRYAGAIN",
                    "msgKey": "Live.Check.message.mutilive.failed.normal",
                    "msgText": "An error has occurred within the server. Please try again after a few minutes."
                }
            },
            {
                "api": {
                    "defaultKey": "TempErrorTryAgain"
                },
                "err": {
                    "prismCode": 10509,
                    "prismName": "COMMON_DEFAULT_TEMPERRORTRYAGAIN",
                    "msgKey": "Live.Check.message.error.broadcast.temporary2",
                    "msgText": "A temporary error has occurred. Please try again in a few minutes."
                }
            },
            {
                "api": {
                    "defaultKey": "PRISMLoginFailedAgain"
                },
                "err": {
                    "prismCode": 10511,
                    "prismName": "COMMON_DEFAULT_PRISMLOGINFAILEDAGAIN",
                    "msgKey": "prism.login.default.error",
                    "msgText": "Failed to login. Please try again."
                }
            },
            {
                "api": {
                    "defaultKey": "B2BLoginFailedAgain"
                },
                "err": {
                    "prismCode": 10512,
                    "prismName": "COMMON_DEFAULT_B2BLOGINFAILEDAGAIN",
                    "msgKey": "Prism.Ncb2b.Default.Error",
                    "msgText": "An unknown error occurred. Please contact the service administrator."
                }
            },
            {
                "api": {
                    "defaultKey": "NaverTVUnknown"
                },
                "err": {
                    "prismCode": 10510,
                    "prismName": "COMMON_DEFAULT_NAVERTVUNKNOWN",
                    "msgKey": "main.message.error.navertv.service.unknown",
                    "msgText": "Cannot start paid live stream on NAVER TV. Please check and try again."
                }
            },
            {
                "api": {
                    "defaultKey": "ChannelLoginFailedAgain"
                },
                "err": {
                    "prismCode": 10004,
                    "prismName": "COMMON_CHANNEL_LOGIN_FAIL",
                    "msgKey": "Channels.Check.Login.Error",
                    "msgText": "Login failed. Please try again."
                }
            },
            {
                "api": {
                    "defaultKey": "FailedBecauseConnection"
                },
                "err": {
                    "prismCode": 10513,
                    "prismName": "COMMON_DEFAULT_FAILEDBECAUSECONNECTION",
                    "msgKey": "LiveInfo.live.error.start.other",
                    "msgText": "Cannot start live because the %1 stream aborted due to a connection error."
                }
            },
            {
                "api": {
                    "defaultKey": "OutputRecordFailed"
                },
                "err": {
                    "prismCode": 10514,
                    "prismName": "COMMON_DEFAULT_OUTPUT_RECORD_ERROR",
                    "msgKey": "Output.RecordError.Msg",
                    "msgText": "An encoder error occurred while recording",
                    "title": "Output.RecordError.Title"
                }
            },
            {
                "api": {
                    "defaultKey": "MQTTBroadcastEnd"
                },
                "err": {
                    "prismCode": 10516,
                    "prismName": "COMMON_DEFAULT_MQTT_BROADCAST_END",
                    "msgKey": "MQTT.Request.Broadcast.End.Content",
                    "msgText": "The transmission may not be stable. Check the broadcast's status on the platform's website. Do you want to end the broadcast?"
                }
            },
            {
                "api": {
                    "defaultKey": "PRISMTempError"
                },
                "err": {
                    "prismCode": 10517,
                    "prismName": "COMMON_DEFAULT_PRISM_TEMP_ERROR",
                    "msgKey": "common.message.error",
                    "msgText": "A temporary error has occurred.Please try again."
                }
            }
        ],
        "extra": {
            "macroPrefix": [
                "COMMON_",
                "PRISM_API_",
                "MQTT_",
                "PRISM_LOGIN_FACEBOOK_",
                "PRISM_LOGIN_GOOGLE_",
                "PRISM_LOGIN_TWITCH_",
                "PRISM_LOGIN_NAVER_",
                "PRISM_LOGIN_LINE_",
                "PRISM_LOGIN_WHALESPACE_",
                "PRISM_LOGIN_NCP_B2B_",
                "PRISM_LOGIN_EMAIL_",
                "CHANNEL_NCP_B2B_",
                "CHANNEL_TWITCH_",
                "CHANNEL_YOUTUBE_",
                "CHANNEL_FACEBOOK_",
                "CHANNEL_NAVER_SHOPPING_LIVE_",
                "CHANNEL_CHZZK_",
                "CHANNEL_NAVERTV_",
                "CHANNEL_BAND_",
                "CHANNEL_AFREECATV_",
                "CHANNEL_CUSTOM_RTMP_",
                "PRISM_OUTPUT_"
            ],
            "macroRange": [
                "10000~10999",
                "11000~11999",
                "12000~12999",
                "13000~13999",
                "14000~14999",
                "15000~15999",
                "16000~16999",
                "17000~17999",
                "18000~18999",
                "19000~19999",
                "25000~25999",
                "26000~26999",
                "27000~27999",
                "28000~28999",
                "29000~29999",
                "30000~30999",
                "31000~31999",
                "32000~32999",
                "33000~33999",
                "34000~34999",
                "56000~56999",
                "57000~57999"
            ],
            "alert": {
                "normal": {
                    "codeText": "(tr(\"NaverShoppingLive.Alert.Error.Code\"){{prismCode}})",
                    "blogText": "Live.Button.View.Help",
                    "thirdLinkText": "{{platformName}}Link"
                },
                "error": {
                    "blogText": "Live.Button.View.Help",
                    "thirdLinkText": "Live.Check.platform.gotoStudio"
                }
            }
        }
    },
    "Common": {
        "data": [
            {
                "err": {
                    "prismCode": 10000,
                    "prismName": "COMMON_NETWORK_ERROR",
                    "msgKey": "Common.Network.Error",
                    "msgText": "A network error has occurred.\nPlease try again.",
                    "alertType": "Normal_Code_Blog"
                },
                "alert": {
                    "normal": {
                        "blogText": "facebook.living.permissions.help",
                        "blogLink": "https://guide.prismlive.com/desktop/guides/error-solution/others/handling-network-error"
                    }
                }
            },
            {
                "err": {
                    "prismCode": 10001,
                    "prismName": "COMMON_UNKNOWN_ERROR",
                    "msgKey": "Common.Unknown.Error",
                    "msgText": "An unknown error occurred. \nPlease try again later."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "401"
                },
                "err": {
                    "prismCode": 10002,
                    "prismName": "COMMON_TOKEN_EXPIRED_ERROR",
                    "msgKey": "Live.Check.LiveInfo.Refresh.Expired",
                    "msgText": "Your %1 channel verification information has expired.",
                    "errorType": "TokenExpired",
                    "alertType": "Normal_Code"
                }
            },
            {
                "phase": "login,dashBoard",
                "api": {
                    "$statusCode": "401"
                },
                "err": {
                    "prismCode": 10003,
                    "prismName": "COMMON_CHANNEL_LOGIN_TOKEN_EXPIRED_ERROR",
                    "msgKey": "Channels.expiredQuestion",
                    "msgText": "Your %1 account verification information has expired. You will be transferred to the login page.",
                    "errorType": "TokenExpired",
                    "alertType": "Normal_Code"
                }
            },
            {
                "phase": "login,dashBoard",
                "err": {
                    "prismCode": 10004,
                    "prismName": "COMMON_CHANNEL_LOGIN_FAIL",
                    "msgKey": "Channels.Check.Login.Error",
                    "msgText": "Login failed. Please try again."
                }
            },
            {
                "err": {
                    "prismCode": 10005,
                    "prismName": "COMMON_CHANNEL_EMPTYCHANNEL",
                    "msgKey": "Channels.EmptyChannelMessage",
                    "msgText": "Cannot load the channel list. Please check and refresh the list."
                }
            }
        ]
    },
    "Twitch": {
        "data": [
            {
                "phase": "channel"
            }
        ]
    },
    "CHZZK": {
        "data": [
            {
                "api": {
                    "$statusCode": "400",
                    "subCode": "1106"
                },
                "err": {
                    "prismCode": 31000,
                    "prismName": "CHANNEL_CHZZK_1106_AGREEMENT_REQUIRED",
                    "msgKey": "chzzk.clip.need.agree",
                    "buttons": "[{\"button\":\"Cancel\"},{\"button\":\"Open\",\"tr\":\"chzzk.clip.alert.goto\",\"action\":\"open.https://studio.chzzk.naver.com/{{chzzkLiveId}}/live\"}]",
                    "msgText": "You have not agreed to create CHZZK clips. Please give consent following the guidelines in the pop-up that will be displayed upon clicking on the option to allow creating clips in CHZZK Studio, and try again."
                }
            },
            {
                "phase": "login",
                "api": {
                    "subCode": "1102"
                },
                "err": {
                    "prismCode": 31001,
                    "prismName": "CHANNEL_CHZZK_1102_LOGIN_AGREEMENT_REQUIRED",
                    "msgKey": "Chzzk.Channel.Login.Term",
                    "buttons": "[{\"button\":\"Cancel\"},{\"button\":\"Ok\",\"tr\":\"Chzzk.Channel.Login.Term.Button\"}]",
                    "msgText": "Consent to CHZZK Studio's Terms of Service is required to live stream CHZZK on the PRISM app."
                }
            }
        ],
        "extra": {
            "path": {
                "subCode": [
                    "code"
                ],
                "message": [
                    "message"
                ],
                "exception": [
                    "exception"
                ]
            },
            "logAppend": [
                "subCode: {{subCode}}",
                "message: {{message}}",
                "exception: {{exception}}"
            ],
            "inherit": [
                "PRISM"
            ],
            "append": [
                "tr(\"NaverShoppingLive.Alert.Error.Code\") {{subCode}}",
                "tr(\"NaverShoppingLive.Alert.Error.Message\") {{message}}"
            ],
            "appendJoin": [
                "\n"
            ]
        }
    },
    "Naver Shopping LIVE": {
        "data": [
            {
                "api": {
                    "errorMessage": "/.*tr(\"navershopping.api.request.reservation.delete\").*/"
                },
                "err": {
                    "prismCode": 30000,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_INVALID_SCHEDULE",
                    "msgKey": "broadcast.invalid.schedule",
                    "msgText": "This scheduled live is no longer valid."
                }
            },
            {
                "api": {
                    "errorCode": "1002",
                    "logContent": "PLSCreateScheduleLiving"
                },
                "err": {
                    "prismCode": 30001,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_OTHER_STORE_BAD_REQUEST",
                    "msgKey": "NaverShoppingLive.LiveInfo.Product.AddProduct.OtherStore",
                    "msgText": "You attached a product from another store, or you do not have output permission."
                }
            },
            {
                "api": {
                    "errorCode": "1002",
                    "logContent": "PLSCreateNowLiving"
                },
                "err": {
                    "prismCode": 30001,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_OTHER_STORE_BAD_REQUEST",
                    "msgKey": "NaverShoppingLive.LiveInfo.Product.AddProduct.OtherStore",
                    "msgText": "You attached a product from another store, or you do not have output permission."
                }
            },
            {
                "api": {
                    "errorCode": "1002",
                    "logContent": "PLSUpdateScheduleLiving"
                },
                "err": {
                    "prismCode": 30001,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_OTHER_STORE_BAD_REQUEST",
                    "msgKey": "NaverShoppingLive.LiveInfo.Product.AddProduct.OtherStore",
                    "msgText": "You attached a product from another store, or you do not have output permission."
                }
            },
            {
                "api": {
                    "errorCode": "1002",
                    "logContent": "PLSUpdateNowLiving"
                },
                "err": {
                    "prismCode": 30001,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_OTHER_STORE_BAD_REQUEST",
                    "msgKey": "NaverShoppingLive.LiveInfo.Product.AddProduct.OtherStore",
                    "msgText": "You attached a product from another store, or you do not have output permission."
                }
            },
            {
                "api": {
                    "$statusCode": "401",
                    "errorCode": "1003",
                    "logContent": "PLSRefreshToken"
                },
                "err": {
                    "prismCode": 30002,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_UNAUTHORIZED",
                    "msgKey": "navershopping.no.live.right",
                    "msgText": "You can no longer broadcast to this channel as you do not have permission. Please check the NAVER Shopping LIVE. "
                }
            },
            {
                "api": {
                    "$statusCode": "401",
                    "errorCode": "1004",
                    "logContent": "PLSRefreshToken"
                },
                "err": {
                    "prismCode": 30003,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_TOKEN_EXPIRED",
                    "alertType": "Normal_Code",
                    "errorType": "TokenExpired",
                    "msgKey": "Channels.expiredQuestion",
                    "msgText": "Your %1 account verification information has expired. You will be transferred to the login page."
                }
            },
            {
                "api": {
                    "$statusCode": "401",
                    "errorCode": "1029",
                    "logContent": "PLSRefreshToken"
                },
                "err": {
                    "prismCode": 30004,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_LIVE_COMMERCE_UNAUTHORIZED",
                    "alertType": "Normal_Code",
                    "errorType": "TokenExpired",
                    "msgKey": "Channels.expiredQuestion",
                    "msgText": "Your %1 account verification information has expired. You will be transferred to the login page."
                }
            },
            {
                "api": {
                    "$statusCode": "401",
                    "errorCode": "1030",
                    "logContent": "PLSRefreshToken"
                },
                "err": {
                    "prismCode": 30005,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_CREATE_UNAUTHORIZED",
                    "msgKey": "navershopping.no.live.right",
                    "msgText": "You can no longer broadcast to this channel as you do not have permission. Please check the NAVER Shopping LIVE. "
                }
            },
            {
                "api": {
                    "$statusCode": "401",
                    "errorCode": "1031",
                    "logContent": "PLSRefreshToken"
                },
                "err": {
                    "prismCode": 30006,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_UNAUTHORIZED_REASON_BLOCK",
                    "msgKey": "navershopping.no.live.right",
                    "msgText": "You can no longer broadcast to this channel as you do not have permission. Please check the NAVER Shopping LIVE. "
                }
            },
            {
                "api": {
                    "$statusCode": "401",
                    "errorCode": "1035",
                    "logContent": "PLSRefreshToken"
                },
                "err": {
                    "prismCode": 30007,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_AUTH_FAILED",
                    "msgKey": "navershopping.no.live.right",
                    "msgText": "You can no longer broadcast to this channel as you do not have permission. Please check the NAVER Shopping LIVE. "
                }
            },
            {
                "api": {
                    "$statusCode": "401",
                    "errorCode": "1036",
                    "logContent": "PLSRefreshToken"
                },
                "err": {
                    "prismCode": 30008,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_AUTH_TEMPORARY_FAILED",
                    "msgKey": "navershopping.login.fail",
                    "msgText": "Failed to login. Please try again."
                }
            },
            {
                "api": {
                    "$statusCode": "401",
                    "errorCode": "1037",
                    "logContent": "PLSRefreshToken"
                },
                "err": {
                    "prismCode": 30009,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_NOT_SUPPORT_STORE",
                    "msgKey": "navershopping.no.live.right",
                    "msgText": "You can no longer broadcast to this channel as you do not have permission. Please check the NAVER Shopping LIVE. "
                }
            },
            {
                "api": {
                    "$statusCode": "401",
                    "logContent": "PLSRefreshToken"
                },
                "err": {
                    "prismCode": 30025,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_REFRESH_UNKNOWN_ERROR",
                    "msgKey": "server.unknown.error",
                    "msgText": "An unknown error has occurred."
                }
            },
            {
                "api": {
                    "$statusCode": "401"
                },
                "err": {
                    "prismCode": 30024,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_ACCOUNT_EXPIRED",
                    "alertType": "Normal_Code",
                    "errorType": "TokenExpired",
                    "msgKey": "navershopping.liveinfo.account.expired",
                    "msgText": "Your NAVER Shopping LIVE channel verification information has expired."
                }
            },
            {
                "api": {
                    "errorMessage": "/.*tr(\"navershopping.api.request.reservation.not.reached\").*/"
                },
                "err": {
                    "prismCode": 30010,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_BROADCAST_STARTS_EARLIER",
                    "msgKey": "navershopping.liveinfo.reservation.not.reached",
                    "msgText": "Cannot start the scheduled stream yet."
                }
            },
            {
                "api": {
                    "errorCode": "1067",
                    "logContent": "PLSCreateScheduleLiving"
                },
                "err": {
                    "prismCode": 30011,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_INVALID_STREAM_ORIGIN_TYPE",
                    "msgKey": "navershopping.create.schedule.external.stream",
                    "msgText": "This live stream is set as an external stream. Use the web management tool to change the stream type if you wish to continue."
                }
            },
            {
                "err": {
                    "prismCode": 30012,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_UPDATE_LIVE_INFO_FAILED",
                    "msgKey": "LiveInfo.live.error.update.failed",
                    "msgText": "Failed to update the live information."
                }
            },
            {
                "err": {
                    "prismCode": 30013,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_UPDATE_SCHEDULE_INFO_FAILED",
                    "msgKey": "navershopping.liveinfo.update.schedule.fail.tip",
                    "msgText": "Failed to save live stream information.\nPlease try again."
                }
            },
            {
                "api": {
                    "errorMessage": "/.*tr(\"navershopping.api.request.reservation.living\").*/"
                },
                "err": {
                    "prismCode": 30014,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_RESERVATION_IS_LIVED",
                    "msgKey": "navershopping.liveinfo.reservation.is.lived",
                    "msgText": "This live broadcast is no longer valid.\nPlease check and try again."
                }
            },
            {
                "api": {
                    "errorCode": "1002",
                    "errorMessage": "/.*tr(\"navershopping.api.request.reservation.isLving\").*/"
                },
                "err": {
                    "prismCode": 30014,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_RESERVATION_IS_LIVED",
                    "msgKey": "navershopping.liveinfo.reservation.is.lived",
                    "msgText": "This live broadcast is no longer valid.\nPlease check and try again."
                }
            },
            {
                "err": {
                    "prismCode": 30015,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_CREATE_SCHEDULE_LIVING_FAILED",
                    "msgKey": "navershopping.liveinfo.create.schedule.fail",
                    "msgText": "Naver Shopping Live connection error\nSubmition cannot proceed."
                }
            },
            {
                "err": {
                    "prismCode": 30016,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_REFRESH_LIVEINFO_FAILED",
                    "msgKey": "Live.Check.LiveInfo.Refresh.Failed",
                    "msgText": "Live information could not be loaded. Please try again later."
                }
            },
            {
                "api": {
                    "errorMessage": "/.*tr(\"navershopping.api.request.minor.purchase\").*/"
                },
                "err": {
                    "prismCode": 30017,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_ADD_AGE_RESTRICT_FAILED",
                    "msgKey": "navershopping.liveinfo.age.restrict.product",
                    "msgText": "You cannnot add age-restricted products."
                }
            },
            {
                "err": {
                    "prismCode": 30018,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_UPLOAD_IMAGE_FAILED",
                    "msgKey": "LiveInfo.live.error.set_photo_error",
                    "msgText": "The image file has not been successfully uploaded. Please try again."
                }
            },
            {
                "err": {
                    "prismCode": 30019,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_GET_CATEGORY_LIST_FAILED",
                    "msgKey": "navershopping.liveinfo.load.categorylist.failed",
                    "msgText": "Failed to load category.\nPlease try again."
                }
            },
            {
                "api": {
                    "errorMessage": "/.*tr(\"navershopping.api.request.attach.product.send.own.mall\").*/"
                },
                "err": {
                    "prismCode": 30020,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_ATTACH_PRODUCTS_TO_OWN_MALL",
                    "msgKey": "navershopping.liveinfo.create.schedule.failed.by.independent.stores",
                    "msgText": "You cannot attach products from the app when broadcasting to independent stores. Use the management tool instead."
                }
            },
            {
                "err": {
                    "prismCode": 30021,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_ADD_UNATTACHABLE_PRODUCT_FAILED",
                    "msgKey": "NaverShoppingLive.LiveInfo.Live.Products.Unattachable",
                    "msgText": "This product cannot be added to the live. Please check the product policy from the Shopping Live service for more details."
                }
            },
            {
                "err": {
                    "prismCode": 30022,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_SEND_NOTIFICATION_FAILED",
                    "msgKey": "navershopping.liveinfo.notify.fail.alert",
                    "msgText": "Failed to send notification.",
                    "buttons": "[{\"button\":\"Retry\",\"tr\":\"navershopping.liveinfo.notify.fail.retry\"},{\"button\":\"Ignore\",\"tr\":\"navershopping.liveinfo.notify.fail.directStart\"}]"
                }
            },
            {
                "err": {
                    "prismCode": 30023,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_SCHEDULE_CHANGED_FAILED",
                    "msgKey": "navershopping.liveinfo.choose.schedule.chaned.failed.tip",
                    "msgText": "Failed to save changes for the scheduled live."
                }
            },
            {
                "err": {
                    "prismCode": 30026,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_FINISHED_BY_PLATFORM",
                    "msgKey": "MQTT.Live.Finished.By.Platform.NaverShopping",
                    "msgText": "Shopping Live was terminated due to a problem with the broadcast. For more information, contact NAVER Shopping Live."
                }
            },
            {
                "err": {
                    "prismCode": 30027,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_GET_SMART_STORE_URL_FAILED",
                    "msgKey": "GetStoreLoginUrlFail",
                    "msgText": "Failed to connect to login. Please try again."
                }
            },
            {
                "api": {
                    "errorCode": "1211",
                    "logContent": "PLSCreateScheduleLiving"
                },
                "err": {
                    "prismCode": 30028,
                    "prismName": "CHANNEL_NAVER_SHOPPING_LIVE_DOLBY_TRANSMISSION_NOT_SUPPORT_FAILED",
                    "msgKey": "navershopping.liveinfo.create.schedule.fail",
                    "msgText": "Naver Shopping Live connection error\nSubmition cannot proceed."
                }
            }
        ],
        "extra": {
            "path": {
                "errorCode": [
                    "errorCode",
                    "code",
                    "rtn_cd"
                ],
                "errorMessage": [
                    "errorMessage",
                    "message",
                    "rtn_msg"
                ]
            },
            "append": [
                "tr(\"NaverShoppingLive.Alert.Error.Code\") {{errorCode}}",
                "tr(\"NaverShoppingLive.Alert.Error.Message\") {{errorMessage}}"
            ],
            "appendJoin": [
                "\n"
            ],
            "inherit": [
                "PRISM"
            ]
        }
    },
    "YouTube": {
        "data": [
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "404",
                    "reason": "channelNotFound"
                },
                "err": {
                    "prismCode": 28000,
                    "prismName": "CHANNEL_YOUTUBE_NOTFOUND_404_CHANNELNOTFOUND",
                    "msgKey": "Live.Check.LiveInfo.Broadcast.Error.Delete",
                    "msgText": "this scheduled live is no longer valid. Please choose a different option."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "400",
                    "reason": "invalid_grant"
                },
                "err": {
                    "prismCode": 10002,
                    "prismName": "COMMON_TOKEN_EXPIRED_ERROR",
                    "msgKey": "Live.Check.LiveInfo.Refresh.Expired",
                    "msgText": "Your %1 channel verification information has expired.",
                    "errorType": "TokenExpired",
                    "alertType": "Normal_Code"
                }
            },
            {
                "phase": "login",
                "api": {
                    "$statusCode": "400",
                    "reason": "invalid_grant"
                },
                "err": {
                    "prismCode": 10003,
                    "prismName": "COMMON_CHANNEL_LOGIN_TOKEN_EXPIRED_ERROR",
                    "msgKey": "Channels.expiredQuestion",
                    "msgText": "Your %1 account verification information has expired. You will be transferred to the login page.",
                    "errorType": "TokenExpired",
                    "alertType": "Normal_Code"
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "400",
                    "reason": "invalidDescription"
                },
                "err": {
                    "prismCode": 28001,
                    "prismName": "CHANNEL_YOUTUBE_INVALIDVALUE_400_INVALIDDESCRIPTION",
                    "msgKey": "LiveInfo.invalid.description",
                    "msgText": "The live information has not been reflected. You can enter up to 5000 characters for YouTube Live. Check for special characters that are not allowed, such as < >."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "400",
                    "reason": "invalidLatencyPreferenceOptions"
                },
                "err": {
                    "prismCode": 28002,
                    "prismName": "CHANNEL_YOUTUBE_INVALIDVALUE_400_INVALIDLATENCYPREFERENCEOPTIONS",
                    "msgKey": "LiveInfo.latency.ultra.low.start.1080.failed",
                    "msgText": "Cannot start stream due to an unknown error."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "403",
                    "reason": "invalidTransition"
                },
                "err": {
                    "prismCode": 28003,
                    "prismName": "CHANNEL_YOUTUBE_FORBIDDEN_403_INVALIDTRANSITION",
                    "msgKey": "Live.Check.LiveInfo.Refresh.Failed",
                    "msgText": "Live information could not be loaded. Please try again later."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "reason": "liveBroadcastNotFound"
                },
                "err": {
                    "prismCode": 28004,
                    "prismName": "CHANNEL_YOUTUBE_LIVEBROADCASTNOTFOUND",
                    "msgKey": "Live.Check.LiveInfo.Broadcast.Error.Delete",
                    "msgText": "this scheduled live is no longer valid. Please choose a different option."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "403",
                    "reason": "livePermissionBlocked"
                },
                "err": {
                    "prismCode": 28005,
                    "prismName": "CHANNEL_YOUTUBE_INSUFFICIENTPERMISSIONS_LIVEPERMISSIONBLOCKED",
                    "msgKey": "Live.Check.LiveInfo.Youtube.block.permisson.28005",
                    "msgText": "You are currently restricted from YouTube live streaming.\nThis may be due to a violation of community guidelines or platform policies. For more information, please click the [View Help] button.",
                    "alertType": "Error_Blog_Link"
                },
                "alert": {
                    "error": {
                        "blogText": "Live.Button.View.Help",
                        "blogLink": "https://support.google.com/youtube/answer/2853834",
                        "thirdLink": "https://www.youtube.com/features"
                    }
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "403",
                    "reason": "liveStreamingNotEnabled"
                },
                "err": {
                    "prismCode": 28006,
                    "prismName": "CHANNEL_YOUTUBE_INSUFFICIENTPERMISSIONS_LIVESTREAMINGNOTENABLED",
                    "msgKey": "Live.Check.LiveInfo.Youtube.block.permisson.28006",
                    "msgText": "You cannot live stream on YouTube because streaming permissions haven’t been enabled.\nSome permissions may take up to 24 hours to activate after application or verification. For more information, please click the [View Help] button.",
                    "alertType": "Normal_Code_Blog"
                },
                "alert": {
                    "normal": {
                        "blogLink": "https://guide.prismlive.com/desktop/guides/error-solution/streaming/how-to-fix-youtube-streaming-permission-errors"
                    }
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "403",
                    "reason": "madeForKidsModificationNotAllowed"
                },
                "err": {
                    "prismCode": 28007,
                    "prismName": "CHANNEL_YOUTUBE_403_MADEFORKIDSMODIFICATIONNOTALLOWED",
                    "msgKey": "LiveInfo.latency.will.call.api.failed",
                    "msgText": "Cannot change the YouTube stream latency settings for YouTube Kids. Please use the default settings."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "403",
                    "reason": "redundantTransition"
                },
                "err": {
                    "prismCode": 28008,
                    "prismName": "CHANNEL_YOUTUBE_FORBIDDEN_403_REDUNDANTTRANSITION",
                    "msgKey": "broadcast.no.longer.valid",
                    "msgText": "This live broadcast is no longer valid. Please check and try again."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "reason": "videoNotFound"
                },
                "err": {
                    "prismCode": 28009,
                    "prismName": "CHANNEL_YOUTUBE_VIDEONOTFOUND",
                    "msgKey": "Live.Check.LiveInfo.Broadcast.Error.Delete",
                    "msgText": "This scheduled live is no longer valid. Please choose a different option."
                }
            },
            {
                "phase": "channel",
                "err": {
                    "prismCode": 28010,
                    "prismName": "CHANNEL_YOUTUBE_CUSTOM_REMOTEINVALID",
                    "msgKey": "LiveInfo.live.error.remote.have.lived",
                    "msgText": "%1 channel is already taken or invalid. Please check and try again."
                }
            },
            {
                "phase": "channel",
                "err": {
                    "prismCode": 28011,
                    "prismName": "CHANNEL_YOUTUBE_CUSTOM_BROADCASTTYPENOTSUPPORT",
                    "msgKey": "LiveInfo.live.broadcast.type.not.support",
                    "msgText": "Scheduled Streams created from the Webcam menu of the %1 Live Dashboard are not supported. Please create Scheduled Stream by selecting Streaming Software from the Manage menu."
                }
            },
            {
                "phase": "channel",
                "err": {
                    "prismCode": 28012,
                    "prismName": "CHANNEL_YOUTUBE_CUSTOM_LATENCYCHANGEFAILED",
                    "msgKey": "Live.Check.LiveInfo.latency.change.failed",
                    "buttons": "[{\"button\":\"Close\"},{\"button\":\"Open\",\"tr\":\"Live.Check.youtube.gotoPage\",\"action\":\"open.https://studio.youtube.com/video/{{youtubeLiveId}}/livestreaming\"}]",
                    "msgText": "Cannot edit stream latency. Configure your settings on %1 Studio."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "reason": "liveStreamNotFound"
                },
                "err": {
                    "prismCode": 28013,
                    "prismName": "CHANNEL_YOUTUBE_LIVESTREAMNOTFOUND",
                    "msgKey": "Live.Check.LiveInfo.Broadcast.Error.Delete",
                    "msgText": "this scheduled live is no longer valid. Please choose a different option."
                }
            },
            {
                "phase": "channel",
                "err": {
                    "prismCode": 10005,
                    "title": "Channels.Confirm",
                    "prismName": "COMMON_CHANNEL_EMPTYCHANNEL",
                    "msgKey": "Channels.GotoYoutubetoSet",
                    "buttons": "[{\"button\":\"Cancel\"},{\"button\":\"Yes\",\"tr\":\"Channels.GotoYoutubeOk\",\"action\":\"open.https://www.youtube.com/live_dashboard\"}]",
                    "msgText": "You have not finished creating your channel. \nWould you like to continue the channel verification process on YouTube?"
                }
            },
            {
                "phase": "channel",
                "api": {
                    "reason": "authenticatedUserAccountSuspended"
                },
                "err": {
                    "prismCode": 28014,
                    "prismName": "CHANNEL_YOUTUBE_AUTHENTICATEDUSERACCOUNTSUSPENDED",
                    "msgKey": "Live.Check.LiveInfo.authenticatedUserAccountSuspended",
                    "msgText": "There’s an issue with your YouTube account. Please check your account status using the link below.",
                    "alertType": "Error_Link"
                },
                "alert": {
                    "error": {
                        "thirdLink": "https://www.youtube.com/features"
                    }
                }
            },
            {
                "phase": "channel",
                "api": {
                    "reason": "backendError"
                },
                "err": {
                    "prismCode": 28015,
                    "prismName": "CHANNEL_YOUTUBE_BACKENDERROR",
                    "msgKey": "Live.Check.LiveInfo.backendError",
                    "msgText": "A temporary error occurred on the YouTube server. Please try again in a moment."
                }
            }
        ],
        "extra": {
            "path": {
                "reason": [
                    "error.errors.[].reason",
                    "error"
                ],
                "helpUrl": [
                    "error.errors.[].extendedHelp"
                ],
                "helpMsg": [
                    "error.errors.[].message"
                ]
            },
            "logAppend": [
                "reason: {{reason}}",
                "helpUrl: {{helpUrl}}"
            ]
        }
    },
    "NAVER TV": {
        "data": [
            {
                "phase": "channel",
                "api": {
                    "code": "10002"
                },
                "err": {
                    "prismCode": 32000,
                    "prismName": "CHANNEL_NAVERTV_LIVENOTFOUND",
                    "msgKey": "broadcast.invalid.schedule",
                    "msgText": "This scheduled live is no longer valid."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "code": "10003"
                },
                "err": {
                    "prismCode": 32001,
                    "prismName": "CHANNEL_NAVERTV_PERMITEXCEPTION",
                    "msgKey": "main.message.error.navertv.service.10003",
                    "msgText": "You can no longer broadcast to this channel as you do not have permission. Please check the Creator Studio."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "code": "10006"
                },
                "err": {
                    "prismCode": 32002,
                    "prismName": "CHANNEL_NAVERTV_LIVESTATUSEXCEPTION",
                    "msgKey": "broadcast.no.longer.valid",
                    "msgText": "This live broadcast is no longer valid. Please check and try again."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "code": "10007"
                },
                "err": {
                    "prismCode": 32003,
                    "prismName": "CHANNEL_NAVERTV_START30MINEXCEPTION",
                    "msgKey": "main.message.error.navertv.service.10007",
                    "msgText": "You can only begin broadcasting 30 minutes before the scheduled time.\""
                }
            },
            {
                "phase": "channel",
                "api": {
                    "code": "10008"
                },
                "err": {
                    "prismCode": 32004,
                    "prismName": "CHANNEL_NAVERTV_ALREADYONAIR",
                    "msgKey": "main.message.error.navertv.service.10008",
                    "msgText": "This channel is already broadcasting."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "code": "10010"
                },
                "err": {
                    "prismCode": 32005,
                    "prismName": "CHANNEL_NAVERTV_PAIDSPONSORSHIPINFO",
                    "msgKey": "main.message.error.navertv.service.10010",
                    "msgText": "Cannot start sponsored live stream on NAVER TV. Please check to see whether paid sponsorship information is registered on the NAVER sponsorship platform."
                }
            },
            {
                "api": {
                    "$statusCode": "401"
                },
                "err": {
                    "prismCode": 10001,
                    "prismName": "COMMON_UNKNOWN_ERROR",
                    "msgKey": "Common.Unknown.Error",
                    "msgText": "An unknown error occurred. \nPlease try again later."
                }
            },
            {
                "api": {
                    "$statusCode": "401",
                    "code": "10001"
                },
                "err": {
                    "prismCode": 10002,
                    "prismName": "COMMON_TOKEN_EXPIRED_ERROR",
                    "alertType": "Normal_Code",
                    "errorType": "TokenExpired",
                    "msgKey": "Live.Check.LiveInfo.Refresh.Expired",
                    "msgText": "Your %1 channel verification information has expired."
                }
            },
            {
                "api": {
                    "code": "/.+/",
                    "message": "/.+/",
                    "type": "auth"
                },
                "err": {
                    "prismCode": 32006,
                    "prismName": "CHANNEL_NAVERTV_AUTH_FAILED",
                    "msgKey": "Common.Unknown.Error",
                    "msgText": "An unknown error occurred. \nPlease try again later."
                }
            }
        ],
        "extra": {
            "path": {
                "code": [
                    "code",
                    "errorCode",
                    "rtn_cd",
                    "header.code"
                ],
                "message": [
                    "message",
                    "errorMessage",
                    "rtn_msg",
                    "header.message"
                ]
            },
            "inherit": [
                "PRISM"
            ]
        }
    },
    "Facebook": {
        "data": [
            {
                "phase": "channel",
                "api": {
                    "code": "200",
                    "error_subcode": "1363120"
                },
                "err": {
                    "prismCode": 29001,
                    "prismName": "CHANNEL_FACEBOOK_DECLINED_60DAYS",
                    "msgKey": "facebook.living.permissions.60Days",
                    "buttons": "[{\"button\":\"Ok\"},{\"button\":\"Help\",\"tr\":\"facebook.living.permissions.help\",\"action\":\"open.facebook.living.permissions.60Days.url\"}]",
                    "msgText": "You’re not eligible to go live. Your profile needs to be at least 60 days old before you can go live on Facebook."
                }
            },
            {
                "api": {
                    "code": "200",
                    "error_subcode": "1363144"
                },
                "err": {
                    "prismCode": 29002,
                    "prismName": "CHANNEL_FACEBOOK_DECLINED_100FOLLOWERS",
                    "msgKey": "facebook.living.permissions.100Followers",
                    "buttons": "[{\"button\":\"Ok\"},{\"button\":\"Help\",\"tr\":\"facebook.living.permissions.help\",\"action\":\"open.facebook.living.permissions.100Followers.url\"}]",
                    "msgText": "You’re not eligible to go live. You need at least 100 followers before you can go live from your profile."
                }
            },
            {
                "api": {
                    "code": "200"
                },
                "err": {
                    "prismCode": 29000,
                    "prismName": "CHANNEL_FACEBOOK_DECLINED",
                    "msgKey": "facebook.liveinfo.request.permission.refused",
                    "msgText": "You can no longer broadcast to this channel as you do not have permission. Please check the Facebook service page."
                }
            },
            {
                "api": {
                    "code": "200",
                    "requestType": "StartLiving"
                },
                "err": {
                    "prismCode": 29000,
                    "prismName": "CHANNEL_FACEBOOK_DECLINED",
                    "msgKey": "facebook.liveinfo.living.permission.refused",
                    "msgText": "Facebook streaming permission has been removed. Log in with a different account, or check your group/page settings."
                }
            },
            {
                "api": {
                    "code": "200",
                    "requestType": "UpdatLiving"
                },
                "err": {
                    "prismCode": 29000,
                    "prismName": "CHANNEL_FACEBOOK_DECLINED",
                    "msgKey": "facebook.living.no.living.permissions",
                    "msgText": "Failed to update live information.\nAdd PRISM via Facebook app and website settings, and try again."
                }
            },
            {
                "api": {
                    "code": "190",
                    "requestType": "StartLiving"
                },
                "err": {
                    "prismCode": 29004,
                    "prismName": "CHANNEL_FACEBOOK_OBJECTNOTEXIST",
                    "msgKey": "facebook.liveinfo.living.permission.refused",
                    "msgText": "Facebook streaming permission has been removed. Log in with a different account, or check your group/page settings."
                }
            },
            {
                "api": {
                    "code": "190"
                },
                "err": {
                    "errorType": "TokenExpired",
                    "prismCode": 29003,
                    "alertType": "Normal_Code",
                    "prismName": "CHANNEL_FACEBOOK_INVALIDACCESSTOKEN",
                    "msgKey": "facebook.liveinfo.login.token.expired",
                    "msgText": "Your Facebook channel authentication has expired. Your login session may have ended, or the necessary permissions may have been revoked. Please reconnect your channel."
                }
            },
            {
                "api": {
                    "code": "100",
                    "requestType": "StartLiving"
                },
                "err": {
                    "prismCode": 29004,
                    "prismName": "CHANNEL_FACEBOOK_OBJECTNOTEXIST",
                    "msgKey": "facebook.liveinfo.living.permission.refused",
                    "msgText": "Facebook streaming permission has been removed. Log in with a different account, or check your group/page settings."
                }
            },
            {
                "api": {
                    "code": "100",
                    "requestType": "UpdatLiving"
                },
                "err": {
                    "prismCode": 29004,
                    "prismName": "CHANNEL_FACEBOOK_OBJECTNOTEXIST",
                    "msgKey": "facebook.living.no.living.permissions",
                    "msgText": "Failed to update live information.\nAdd PRISM via Facebook app and website settings, and try again."
                }
            }
        ],
        "extra": {
            "path": {
                "code": [
                    "code",
                    "error.code"
                ],
                "message": [
                    "message",
                    "error.message"
                ],
                "type": [
                    "type",
                    "error.type"
                ],
                "error_subcode": [
                    "error_subcode",
                    "error.error_subcode"
                ]
            }
        }
    },
    "PRISM": {
        "data": [
            {
                "api": {
                    "$statusCode": "401",
                    "code": "3000"
                },
                "err": {
                    "prismCode": 11001,
                    "prismName": "PRISM_API_TOKEN_EXPIRED",
                    "msgKey": "main.message.prism.login.session.expired",
                    "msgText": "Your account verification information has expired. You will be transferred to the login page."
                }
            },
            {
                "api": {
                    "$statusCode": "403",
                    "errorCode": "025"
                },
                "err": {
                    "prismCode": 11002,
                    "prismName": "PRISM_API_SYSTEM_TIME_ERROR",
                    "msgKey": "Prism.Login.Systemtime.Error",
                    "msgText": "The app cannot run normally due to an incorrect system time setting. Please change the setting to the current time and try again.",
                    "alertType": "Error_Blog"
                },
                "alert": {
                    "error": {
                        "blogLink": "https://guide.prismlive.com/desktop/guides/error-solution/others/handling-incorrect-system-time-issue"
                    }
                }
            },
            {
                "api": {
                    "code": "104"
                },
                "err": {
                    "prismCode": 11501,
                    "prismName": "PRISM_API_COUNTRY_FAILED",
                    "msgKey": "Live.Check.message.mutilive.failed.country",
                    "msgText": "Streaming is not supported for the selected channels in this region."
                }
            },
            {
                "api": {
                    "code": "106"
                },
                "err": {
                    "prismCode": 11502,
                    "prismName": "PRISM_API_NO_LONGER_VALID",
                    "msgKey": "broadcast.no.longer.valid",
                    "msgText": "This live broadcast is no longer valid. Please check and try again."
                }
            },
            {
                "api": {
                    "code": "152"
                },
                "err": {
                    "prismCode": 11503,
                    "prismName": "PRISM_API_INVALID_PLATFORM",
                    "msgKey": "broadcast.no.valid.platform",
                    "msgText": "The Custom URL or stream key is incorrect or expired. Check and try again."
                }
            },
            {
                "api": {
                    "$statusCode": "406"
                },
                "err": {
                    "prismCode": 11504,
                    "prismName": "PRISM_API_TERM_OF_AGREE",
                    "msgKey": "Prism.Login.Term.Of.Agree",
                    "msgText": "prism sns login need show term"
                }
            },
            {
                "api": {
                    "$statusCode": "202",
                    "code": "10000"
                },
                "err": {
                    "prismCode": 11504,
                    "prismName": "PRISM_API_TERM_OF_AGREE",
                    "msgKey": "Prism.Login.Term.Of.Agree",
                    "msgText": "prism b2b login need show term"
                }
            },
            {
                "api": {
                    "$statusCode": "404",
                    "code": "1002"
                },
                "err": {
                    "prismCode": 11505,
                    "prismName": "PRISM_API_NO_APP_UPDATE",
                    "msgKey": "Update.Lastest.Version.Title",
                    "msgText": "request appversion api no update available"
                }
            },
            {
                "api": {
                    "reason": "UserNotExistException",
                    "code": "9010"
                },
                "err": {
                    "prismCode": 11506,
                    "prismName": "PRISM_API_NO_EXIST_USER",
                    "msgKey": "setting.account.user.not.exist",
                    "msgText": "This account does not exist. You will be logged out after pressing OK.",
                    "alertType": "Normal"
                }
            }
        ],
        "extra": {
            "path": {
                "errorCode": [
                    "errorCode"
                ],
                "code": [
                    "code"
                ],
                "reason": [
                    "exception"
                ]
            }
        }
    },
    "mqtt": {
        "data": [
            {
                "api": {
                    "platform": "NAVER Cloud B2B",
                    "code": "DUPLICATED"
                },
                "err": {
                    "prismCode": 12000,
                    "prismName": "MQTT_DUPLICATED",
                    "msgKey": "Ncpb2b.MQTT.Interrupt.Duplicated",
                    "msgText": "The current broadcast has stopped as a new live streaming started using the same channel."
                }
            },
            {
                "api": {
                    "platform": "NAVER Cloud B2B",
                    "code": "NOTICE_LONG_BROADCAST"
                },
                "err": {
                    "prismCode": 12001,
                    "prismName": "MQTT_NOTICE_LONG_BROADCAST",
                    "msgKey": "MQTT.Max.Live.Time.Band.NaverShopping.End.Live",
                    "msgText": "The broadcast automatically ended as it has exceeded the %1 time limit."
                }
            },
            {
                "api": {
                    "platform": "NAVER Cloud B2B",
                    "code": "PARTNER_SERVICE_DISABLED"
                },
                "err": {
                    "prismCode": 12002,
                    "prismName": "MQTT_PARTNER_SERVICE_DISABLED",
                    "msgKey": "Ncpb2b.MQTT.Interrupt.Service.Disabled",
                    "msgText": "Live streaming has been suspended by the service operator."
                }
            }
        ],
        "extra": {
            "path": {
                "code": [
                    "code"
                ]
            }
        }
    },
    "Custom RTMP": {
        "data": [
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "401",
                    "errorCode": "3000"
                },
                "err": {
                    "prismCode": 11001,
                    "prismName": "CHANNEL_CUSTOM_RTMP_TOKEN_EXPIRED",
                    "msgKey": "main.message.prism.login.session.expired",
                    "alertType": "Normal_Code",
                    "msgText": "Your account verification information has expired. You will be transferred to the login page."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "403",
                    "errorCode": "025"
                },
                "err": {
                    "prismCode": 11002,
                    "prismName": "CHANNEL_CUSTOM_RTMP_SYSTEMTIMEERROR",
                    "msgKey": "Prism.Login.Systemtime.Error",
                    "alertType": "Error",
                    "msgText": "The app cannot run normally due to an incorrect system time setting. Please change the setting to the current time and try again."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "404",
                    "errorCode": "9000"
                },
                "err": {
                    "prismCode": 56002,
                    "prismName": "CHANNEL_CUSTOM_RTMP_NOTEXIST",
                    "msgKey": "Channels.rtmp.notexist",
                    "alertType": "Error",
                    "msgText": "The Custom channel you added does not exist. Refresh the channel or add the Custom channel again."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "500",
                    "errorCode": "-1"
                },
                "err": {
                    "prismCode": 56001,
                    "prismName": "CHANNEL_CUSTOM_RTMP_RUNTIMEEXCEPTION",
                    "msgKey": "server.unknown.error",
                    "alertType": "Error",
                    "msgText": "An unknown error has occurred."
                }
            }
        ],
        "extra": {
            "path": {
                "errorCode": [
                    "code",
                    "errorCode"
                ]
            },
            "inherit": [
                "PRISM"
            ]
        }
    },
    "NAVER Cloud B2B": {
        "data": [
            {
                "phase": "channel",
                "api": {
                    "subCode": "1022"
                },
                "err": {
                    "prismCode": 26000,
                    "prismName": "CHANNEL_NCP_B2B_1022_SERVICE_DELETED",
                    "msgKey": "Ncb2b.Living.Service.Deleted",
                    "msgText": "This service has been deleted. Live streaming cannot start."
                }
            },
            {
                "phase": "login,dashBoard",
                "api": {
                    "subCode": "1022"
                },
                "err": {
                    "prismCode": 19001,
                    "prismName": "PRISM_LOGIN_NCP_B2B_SERVICE_DELETED",
                    "msgKey": "Ncb2b.Login.Service.Deleted",
                    "msgText": "This service has been deleted."
                }
            },
            {
                "phase": "login,channel",
                "api": {
                    "subCode": "1101"
                },
                "err": {
                    "prismCode": 26001,
                    "prismName": "CHANNEL_NCP_B2B_1101_SERVICE_DISABLED",
                    "msgKey": "Ncb2b.Living.Service.Disable",
                    "msgText": "This service has been disabled. Live streaming cannot start."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "subCode": "1102"
                },
                "err": {
                    "prismCode": 26002,
                    "prismName": "CHANNEL_NCP_B2B_1102_CHANNEL_DISABLED",
                    "msgKey": "Ncb2b.Living.Service.Channel.Disable",
                    "msgText": "This channel has been disabled. Live streaming cannot start."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "subCode": "1103"
                },
                "err": {
                    "prismCode": 26003,
                    "prismName": "CHANNEL_NCP_B2B_1103_PARTNERCHANNELDISABLEDBYTRIAL",
                    "msgKey": "ncpb2b.channel.exceeded.trial.limit",
                    "msgText": "Unable to start the live stream as it exceeds the maximum number of channel usage. (Trial mode allows up to 3.)"
                }
            },
            {
                "phase": "channel",
                "api": {
                    "subCode": "1104"
                },
                "err": {
                    "prismCode": 26004,
                    "prismName": "CHANNEL_NCP_B2B_1104_RESOURCE_NOT_FOUND",
                    "msgKey": "Ncb2b.Living.Service.No.Found",
                    "msgText": "Live streaming is not available for the current user account. Please re-log in to the app and try again."
                }
            },
            {
                "phase": "login,dashBoard",
                "api": {
                    "subCode": "1104"
                },
                "err": {
                    "prismCode": 19000,
                    "prismName": "PRISM_LOGIN_NCP_B2B_SERVICE_NOT_FOUND",
                    "msgKey": "Ncb2b.Login.Service.No.Found",
                    "msgText": "Please check the name of your service."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "401",
                    "str_isPrepareLive": "1"
                },
                "err": {
                    "prismCode": 26005,
                    "prismName": "CHANNEL_NCP_B2B_401_PREPARELIVE",
                    "msgKey": "Ncb2b.Token.Expired",
                    "errorType": "TokenExpired",
                    "msgText": "Your %1 account verification information has expired. \nYou will be transferred to the login page.",
                    "alertType": "Normal_Code"
                }
            },
            {
                "phase": "login",
                "api": {
                    "subCode": "1110"
                },
                "err": {
                    "prismCode": 19002,
                    "prismName": "PRISM_LOGIN_NCP_B2B_USERINFO_NO_EXIT",
                    "msgKey": "Prism.Ncb2b.No.Exist",
                    "msgText": "The account does not exist.",
                    "alertType": "Normal_Code"
                }
            }
        ],
        "extra": {
            "path": {
                "subCode": [
                    "code"
                ],
                "message": [
                    "message"
                ],
                "exception": [
                    "exception"
                ]
            },
            "logAppend": [
                "subCode: {{subCode}}",
                "message: {{message}}",
                "exception: {{exception}}"
            ],
            "inherit": [
                "PRISM"
            ]
        }
    },
    "afreecaTV": {
        "data": [
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "515"
                },
                "err": {
                    "prismCode": 10002,
                    "alertType": "Normal_Code",
                    "prismName": "CHANNEL_AFREECATV_API_EXPIRED",
                    "msgKey": "Live.Check.LiveInfo.Refresh.Expired",
                    "arg": "SOOP",
                    "msgText": "Your %1 channel verification information has expired."
                }
            },
            {
                "phase": "login",
                "api": {
                    "$statusCode": "515"
                },
                "err": {
                    "prismCode": 10003,
                    "alertType": "Normal_Code",
                    "prismName": "CHANNEL_AFREECATV_LOGIN_EXPIRED",
                    "msgKey": "Channels.expiredQuestion",
                    "arg": "SOOP",
                    "msgText": "Your %1 account verification information has expired. You will be transferred to the login page."
                }
            },
            {
                "phase": "login",
                "api": {
                    "$statusCode": "403"
                },
                "err": {
                    "prismCode": 10004,
                    "prismName": "COMMON_CHANNEL_LOGIN_FAIL",
                    "msgKey": "server.unknown.error",
                    "msgText": "An unknown error has occurred."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "result": "-10"
                },
                "err": {
                    "prismCode": 10002,
                    "alertType": "Normal_Code",
                    "prismName": "CHANNEL_AFREECATV_API_EXPIRED",
                    "msgKey": "Live.Check.LiveInfo.Refresh.Expired",
                    "arg": "SOOP",
                    "msgText": "Your %1 channel verification information has expired."
                }
            }
        ],
        "extra": {
            "path": {
                "result": [
                    "result"
                ],
                "message": [
                    "data.message"
                ]
            },
            "logAppend": [
                "result: {{result}}",
                "message: {{message}}"
            ]
        }
    },
    "BAND": {
        "data": [
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "200",
                    "code": "60903"
                },
                "err": {
                    "prismCode": 33004,
                    "prismName": "CHANNEL_BAND_ALEARD_BOARDCAST",
                    "msgKey": "Live.Check.Band.Have.Broardcast",
                    "msgText": "BAND channel is already broadcasting."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "200",
                    "code": "60106"
                },
                "err": {
                    "prismCode": 33003,
                    "prismName": "CHANNEL_BAND_NO_PERMISSION_ERROR",
                    "msgKey": "Live.Check.LiveInfo.Band.Have.No.Perssion",
                    "msgText": "You can no longer broadcast to this channel as you do not have permission. Please check the BAND."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "403"
                },
                "err": {
                    "prismCode": 33002,
                    "prismName": "CHANNEL_BAND_FORBIDDEN_ERROR",
                    "msgKey": "Live.Check.LiveInfo.Refresh.Expired",
                    "arg": "Band",
                    "msgText": "Your %1 channel verification information has expired."
                }
            },
            {
                "phase": "channel",
                "api": {
                    "$statusCode": "200"
                },
                "err": {
                    "prismCode": 33005,
                    "prismName": "CHANNEL_BAND_OTHER_ERROR",
                    "msgKey": "Live.Check.Band.Other.Error",
                    "msgText": "Cannot start live because the BAND stream aborted due to a connection error."
                }
            }
        ],
        "extra": {
            "path": {
                "code": [
                    "result_code"
                ],
                "message": [
                    "result_data.message"
                ]
            },
            "logAppend": [
                "subCode: {{code}}",
                "message: {{message}}"
            ]
        }
    },
    "Email": {
        "data": [
            {
                "phase": "login",
                "api": {
                    "code": "1110"
                },
                "err": {
                    "prismCode": 25000,
                    "prismName": "PRISM_LOGIN_EMAIL_NOT_EXIST_USER",
                    "msgKey": "login.prism.user.not.exist",
                    "msgText": "The Email does not exist.",
                    "alertType": "Normal_Code"
                }
            },
            {
                "phase": "login",
                "api": {
                    "code": "1120"
                },
                "err": {
                    "prismCode": 25001,
                    "prismName": "PRISM_LOGIN_EMAIL_RESTRICT_USER",
                    "msgKey": "login.account.block",
                    "msgText": "This account is blocked. Please contact us at prismlive@navercorp.com",
                    "alertType": "Normal_Code"
                }
            },
            {
                "phase": "login",
                "api": {
                    "code": "1210"
                },
                "err": {
                    "prismCode": 25002,
                    "prismName": "PRISM_LOGIN_EMAIL_PW_FAIL",
                    "msgKey": "login.error.idpassnotmatch",
                    "msgText": "The Email and password do not match.",
                    "alertType": "Normal_Code"
                }
            },
            {
                "phase": "login",
                "api": {
                    "code": "1220"
                },
                "err": {
                    "prismCode": 25003,
                    "prismName": "PRISM_LOGIN_EMAIL_RETRY_EXCEED",
                    "msgKey": "login.password.retry.exceed",
                    "msgText": "You have entered the password incorrectly\n5 times. Please try again in an hour.",
                    "alertType": "Normal_Code"
                }
            },
            {
                "phase": "login",
                "api": {
                    "$statusCode": "501",
                    "code": "-1"
                },
                "err": {
                    "prismCode": 25004,
                    "prismName": "PRISM_LOGIN_EMAIL_UNSUPPORTED_METHOD",
                    "msgKey": "login.unsupported.method",
                    "msgText": "This is an unsupported login method.",
                    "alertType": "Normal_Code"
                }
            },
            {
                "phase": "login",
                "api": {
                    "code": "2120"
                },
                "err": {
                    "prismCode": 25005,
                    "prismName": "PRISM_LOGIN_EMAIL_SIGN_USER_EXIST",
                    "msgKey": "login.prism.already.sign.up",
                    "buttons": "[{\"button\":\"Ok\"},{\"button\":\"Cancel\"}]",
                    "msgText": "An account already exists for this email.\nWould you like to login?",
                    "alertType": "Normal_Code"
                }
            },
            {
                "phase": "login",
                "api": {
                    "code": "2400"
                },
                "err": {
                    "prismCode": 25006,
                    "prismName": "PRISM_LOGIN_EMAIL_SIGN_NVALID_PASSWORD",
                    "msgKey": "login.prism.error.invalid.password",
                    "msgText": "Passwords must contain letters, numbers, and a special character, and be between 8-20 characters.",
                    "alertType": "Normal_Code"
                }
            },
            {
                "api": {
                    "code": "9010"
                },
                "err": {
                    "prismCode": 25007,
                    "prismName": "PRISM_LOGIN_EMAIL_RESET_PWD_NOT_FOUND_EMAIL",
                    "msgKey": "login.can.not.find.email",
                    "msgText": "Email address is not found.",
                    "alertType": "Normal_Code"
                }
            },
            {
                "api": {
                    "$statusCode": "400",
                    "code": "5060"
                },
                "err": {
                    "prismCode": 25008,
                    "prismName": "PRISM_LOGIN_EMAIL_CHANGE_PWD_SAME",
                    "msgKey": "login.same.as.exist.password",
                    "msgText": "The new password cannot be the same\nas your old password.",
                    "alertType": "Normal_Code"
                }
            },
            {
                "api": {
                    "$statusCode": "400",
                    "code": "5050"
                },
                "err": {
                    "prismCode": 25009,
                    "prismName": "PRISM_LOGIN_EMAIL_CHANGE_PWD_NOT_MATCH",
                    "msgKey": "login.exist.password.not.match",
                    "msgText": "Your current password is incorrect.",
                    "alertType": "Normal_Code"
                }
            }
        ],
        "extra": {
            "path": {
                "code": [
                    "code"
                ]
            },
            "inherit": [
                "PRISM"
            ]
        }
    },
    "OutputStream": {
        "data": [
            {
                "api": {
                    "errorCode": "-1"
                },
                "err": {
                    "prismCode": 57999,
                    "prismName": "PRISM_OUTPUT_BAD_PATH",
                    "msgKey": "Output.ConnectFail.BadPath",
                    "title": "Output.ConnectFail.Title",
                    "msgText": "Invalid Path or Connection URL. Please check your settings to confirm that they are valid."
                }
            },
            {
                "api": {
                    "errorCode": "-2"
                },
                "err": {
                    "prismCode": 57998,
                    "prismName": "PRISM_OUTPUT_CONNECT_FAILED",
                    "msgKey": "Output.ConnectFail.ConnectFailed",
                    "title": "Output.ConnectFail.Title",
                    "msgText": "Failed to connect to server",
                    "alertType": "Normal_Code_Blog"
                },
                "alert": {
                    "normal": {
                        "blogText": "Live.Button.View.Help",
                        "blogLink": "https://guide.prismlive.com/desktop/guides/error-solution/streaming/failed-to-connect-to-the-server"
                    }
                }
            },
            {
                "api": {
                    "errorCode": "-3"
                },
                "err": {
                    "prismCode": 57997,
                    "prismName": "PRISM_OUTPUT_INVALID_STREAM",
                    "msgKey": "Output.ConnectFail.InvalidStream",
                    "title": "Output.ConnectFail.Title",
                    "msgText": "Could not access the specified channel or stream key, please double-check your stream key. If it is correct, there may be a problem connecting to the server.",
                    "alertType": "Normal_Code_Blog"
                },
                "alert": {
                    "normal": {
                        "blogText": "Live.Button.View.Help",
                        "blogLink": "https://guide.prismlive.com/desktop/guides/error-solution/streaming/how-to-fix-rtmp-streaming-errors"
                    }
                }
            },
            {
                "api": {
                    "errorCode": "-4"
                },
                "err": {
                    "prismCode": 57996,
                    "prismName": "PRISM_OUTPUT_ERROR",
                    "msgKey": "Output.ConnectFail.Error",
                    "title": "Output.ConnectFail.Title",
                    "msgText": "An unexpected error occurred when trying to connect to the server. More information in the log file."
                }
            },
            {
                "api": {
                    "errorCode": "-5"
                },
                "err": {
                    "prismCode": 57995,
                    "prismName": "PRISM_OUTPUT_DISCONNECTED",
                    "msgKey": "Output.ConnectFail.Disconnected",
                    "title": "Output.ConnectFail.Title",
                    "msgText": "Disconnected from server.",
                    "alertType": "Normal_Code_Blog"
                },
                "alert": {
                    "normal": {
                        "blogText": "Live.Button.View.Help",
                        "blogLink": "https://guide.prismlive.com/desktop/guides/error-solution/streaming/disconnected-from-server"
                    }
                }
            },
            {
                "api": {
                    "errorCode": "-6"
                },
                "err": {
                    "prismCode": 57994,
                    "prismName": "PRISM_OUTPUT_UNSUPPORTED",
                    "msgKey": "Output.RecordFail.Unsupported",
                    "title": "Output.RecordFail.Title",
                    "msgText": "The output format is either unsupported or does not support more than one audio track. Please check your settings and try again."
                }
            },
            {
                "api": {
                    "errorCode": "-7"
                },
                "err": {
                    "prismCode": 57993,
                    "prismName": "PRISM_OUTPUT_NO_SPACE",
                    "msgKey": "Output.RecordNoSpace.Msg",
                    "title": "Output.RecordNoSpace.Title",
                    "msgText": "There is not sufficient disk space to continue recording."
                }
            },
            {
                "api": {
                    "errorCode": "-8"
                },
                "err": {
                    "prismCode": 57992,
                    "prismName": "PRISM_OUTPUT_ENCODE_ERROR",
                    "msgKey": "Output.StreamEncodeError.Msg",
                    "title": "Output.StreamEncodeError.Title",
                    "msgText": "An encoder error occurred while streaming"
                }
            },
            {
                "api": {
                    "errorCode": "-8",
                    "hasErrorCode": "1"
                },
                "err": {
                    "prismCode": 57992,
                    "prismName": "PRISM_OUTPUT_ENCODE_ERROR",
                    "msgKey": "Output.StreamEncodeError.Msg.LastError",
                    "arg": "{{arg_lastError}}",
                    "title": "Output.StreamEncodeError.Title",
                    "msgText": "An encoder error occurred while streaming:%1"
                }
            },
            {
                "api": {
                    "errorCode": "-9"
                },
                "err": {
                    "prismCode": 57991,
                    "prismName": "PRISM_OUTPUT_HDR_DISABLED",
                    "msgKey": "Output.ConnectFail.HdrDisabled",
                    "title": "Output.ConnectFail.Title",
                    "msgText": "HDR output is currently disabled for this output."
                }
            }
        ],
        "extra": {
            "append": [
                "{{lastError}}"
            ]
        }
    },
    "OutputRecord": {
        "data": [
            {
                "api": {
                    "errorCode": "-6"
                },
                "err": {
                    "prismCode": 57994,
                    "prismName": "PRISM_OUTPUT_UNSUPPORTED",
                    "msgKey": "Output.RecordFail.Unsupported",
                    "title": "Output.RecordFail.Title",
                    "msgText": "The output format is either unsupported or does not support more than one audio track. Please check your settings and try again."
                }
            },
            {
                "api": {
                    "errorCode": "-7"
                },
                "err": {
                    "prismCode": 57993,
                    "prismName": "PRISM_OUTPUT_NO_SPACE",
                    "msgKey": "Output.RecordNoSpace.Msg",
                    "title": "Output.RecordNoSpace.Title",
                    "msgText": "There is not sufficient disk space to continue recording."
                }
            },
            {
                "api": {
                    "errorCode": "-8"
                },
                "err": {
                    "prismCode": 57992,
                    "prismName": "PRISM_OUTPUT_ENCODE_ERROR",
                    "msgKey": "Output.RecordError.EncodeErrorMsg",
                    "title": "Output.RecordError.Title",
                    "msgText": "An encoder error occurred while recording"
                }
            },
            {
                "api": {
                    "errorCode": "-8",
                    "hasErrorCode": "1"
                },
                "err": {
                    "prismCode": 57992,
                    "prismName": "PRISM_OUTPUT_ENCODE_ERROR",
                    "msgKey": "Output.RecordError.EncodeErrorMsg.LastError",
                    "arg": "{{arg_lastError}}",
                    "title": "Output.RecordError.Title",
                    "msgText": "An encoder error occurred while recording:%1"
                }
            }
        ],
        "extra": {
            "append": [
                "\n\n{{lastError}}"
            ]
        }
    },
    "version": 1769661890
}