(function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-row{display:flex;flex-wrap:wrap;position:relative;box-sizing:border-box;width:100%}.tk-col{display:flex;flex-wrap:wrap;position:relative;box-sizing:border-box}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-loading_dot-container{display:flex;justify-content:space-between;align-items:center;height:100%}.tk-loading_dot-container .tk-loading_dot:nth-child(1){opacity:0;animation-duration:.8s;animation-delay:0s;animation-play-state:running}.tk-loading_dot-container .tk-loading_dot:nth-child(2){opacity:.083;animation-duration:.8s;animation-delay:.2666666667s;animation-play-state:running}.tk-loading_dot-container .tk-loading_dot:nth-child(3){opacity:.1667;animation-duration:.8s;animation-delay:.5333333333s;animation-play-state:running}.tk-loading_dot-container .tk-loading_dot{width:20%;height:20%;border-radius:50%;background-color:#fff;animation-duration:1.8s;animation-name:dotting;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both}@keyframes dotting{0%{opacity:.15}1%{opacity:.8}33%{opacity:.8}34%{opacity:.15}to{opacity:.15}}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-loading_circle-container{height:100%;border:2px solid;border-radius:50%;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#fff;border-left-color:#fff;background:0 0;vertical-align:middle;box-sizing:border-box;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-loading{display:flex;align-items:center;flex-direction:column}.tk-loading .tk-loading_text{margin:10px}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-image{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;vertical-align:middle;width:300px;height:225px}.tk-image .tk-image_inner{width:100%;height:100%}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-button{display:inline-flex;align-items:center;justify-content:center}.tk-button.tk-button--small{height:24px}.tk-button.tk-button--middle{height:32px}.tk-button.tk-button--large{height:40px}.tk-button .tk-button--content{color:#606266;font-size:14px;font-weight:500}.tk-button.tk-circle.tk-button--small{width:24px}.tk-button.tk-circle.tk-button--default{width:32px}.tk-button.tk-circle.tk-button--large{width:40px}.btn-content[data-v-71774dda],.btn-content[data-v-224de994]{display:flex;flex-direction:column;align-items:center}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-text{display:inline-block;overflow:hidden;text-align:center;line-height:normal;white-space:nowrap;font-weight:400;font-size:14px;color:#303133}.tk-text.tk-text--line-clamp{display:-webkit-inline-box;-webkit-box-orient:vertical;white-space:normal}.btn-content[data-v-234c87f7]{display:flex;flex-direction:column;align-items:center}.top-bar-container[data-v-2bcaf4e1]{position:absolute;z-index:2;width:100%;height:5.8%;display:flex;align-items:center}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-overlay{position:fixed;left:0;top:0;bottom:0;width:100%}.tk-overlay .tk-overlay_mask-container{width:100%;height:100%;z-index:0;position:absolute}.tk-overlay .tk-overlay_mask{position:absolute;left:0;top:0;right:0;bottom:0;background-color:#00000080;z-index:1}.tk-overlay .tk-overlay_slot{position:absolute;left:0;right:0;top:0;bottom:0;z-index:1;display:flex;justify-content:center}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-avatar{display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#c0c4cc;width:40px;height:40px;font-size:14px}.tk-avatar.tk-avatar--square{border-radius:4px}.tk-avatar.tk-avatar--circle{border-radius:100%}.tk-avatar .tk-avatar_img,.tk-avatar .tk-avatar_image{width:100%;height:100%}.mic-container[data-v-3cbc030b]{position:relative;width:24px;height:24px}.mic-container .mic-level-container[data-v-3cbc030b]{position:absolute;left:6px;width:8px;height:14px;display:flex;flex-wrap:wrap;border-radius:4px;overflow:hidden;flex-direction:column-reverse;justify-content:space-between}.mic-container .mic-level-container .mic-level[data-v-3cbc030b]{width:100%;background-color:#27c39f;transition:height .2s}.overlay-stream-container.mobile .overlay-stream-content-container[data-v-01ddfaf4]{width:100%;top:26%;position:absolute;display:flex;justify-content:center;flex-direction:column}.overlay-stream-container.mobile .overlay-stream-content-container .overlay-stream-content[data-v-01ddfaf4]{display:flex;flex-direction:column;align-items:center}.overlay-stream-container.mobile .overlay-stream-content-container .overlay-stream-content .overlay-stream-avatar[data-v-01ddfaf4]{margin-bottom:12px}.overlay-stream-container.mobile .overlay-stream-content-container .overlay-stream-content .overlay-stream-info[data-v-01ddfaf4]{display:flex;align-items:center}.overlay-stream-container.mobile .overlay-stream-content-container .overlay-stream-content .overlay-stream-tip[data-v-01ddfaf4]{margin-top:12px;color:#fff}.overlay-stream-container.pc .overlay-stream-content-container[data-v-01ddfaf4]{display:flex;height:100%;align-items:center;justify-content:center}.overlay-stream-container.pc .overlay-stream-content-container .overlay-stream-content[data-v-01ddfaf4]{display:flex;flex-direction:column;align-items:center}.overlay-stream-container.pc .overlay-stream-content-container .overlay-stream-content .overlay-stream-info[data-v-01ddfaf4]{display:flex;align-items:center}.overlay-stream-container[data-v-01ddfaf4]{position:absolute;display:flex;height:100%;width:100%;flex-direction:column;justify-content:center;align-items:center}.waiting-container[data-v-a1a05f80]{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1}.groupcall-info[data-v-a1a05f80]{display:flex;flex-direction:column;align-items:center;margin-top:24px;z-index:1;color:#fff;width:100%}.groupcall-info .avatar-group[data-v-a1a05f80]{display:flex;flex-wrap:wrap;margin-top:12px;align-items:center;justify-content:center;max-width:70%}.groupcall-info .avatar-group .avatar-item[data-v-a1a05f80]{width:10vw;height:10vw;margin-left:10px;margin-top:10px}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-toggle-window{height:100%;position:relative}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-toggle-window-item{height:100%;position:absolute}.tk-toggle-window-item.tk-toggle-window-item--big{width:100%;height:100%;z-index:0}.tk-toggle-window-item.mobile.tk-toggle-window-item--small{z-index:1;width:24.3%!important;height:19.7%!important;border-radius:5px;left:98%;top:8%;transform:translate(-100%);overflow:hidden}.tk-toggle-window-item.pc.tk-toggle-window-item--small{top:2%;left:2%;width:22%;height:21%;border-radius:12px;overflow:hidden;z-index:1}.stream-userInfo[data-v-2f962e88]{padding:2px 5px;display:flex;align-items:center;background-color:#000000a6;color:#fff}.stream-userInfo .nickname[data-v-2f962e88]{display:flex}.stream-icon[data-v-68708842]{width:30px;height:30px;background:rgba(34,38,46,.5019607843);border-radius:50%;display:flex;align-items:center;justify-content:center}.switch-camera[data-v-68708842]{margin:0 12px}.pusher-container[data-v-71047565]{width:100%;height:100%;position:relative;background-color:#4c515a}.pusher-container .audio-stream-container[data-v-71047565]{position:absolute;z-index:3;width:100%;height:100%}.pusher-container .stream-info-container[data-v-71047565]{position:absolute;bottom:0;z-index:3;width:100%}.pusher-container .stream-info-container.mobile[data-v-71047565]{margin-bottom:8px}.stream[data-v-34819670]{width:100%;height:100%}.small-view[data-v-34819670]{position:absolute;width:100%;height:100%;background-color:#000}.small-view .stream-box[data-v-34819670],.small-view .stream-box .stream[data-v-34819670]{width:100%;height:100%}.large-view[data-v-34819670]{width:100%;height:100%;background-color:#000}.large-view .stream-box[data-v-34819670],.large-view .stream-box .stream[data-v-34819670]{width:100%;height:100%}.player-container[data-v-91fc5e7a]{width:100%;height:100%;position:relative;background-color:#4c515a}.player-container .audio-stream-container[data-v-91fc5e7a]{position:absolute;z-index:1;width:100%;height:100%}.player-container .stream-info-container[data-v-91fc5e7a]{position:absolute;bottom:0;z-index:1;width:100%}.player-container .stream-info-container.mobile[data-v-91fc5e7a]{margin-bottom:8px}.float-control-panel[data-v-4df5fc21]{width:168px;height:56px;background:white;z-index:13;display:flex;flex-wrap:nowrap;justify-content:center;border-radius:40px;box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.float-control-item-icon[data-v-4df5fc21]{display:flex;flex-direction:row;justify-content:center;align-items:center;width:56px;height:56px;position:relative}.float-control-item-icon-container[data-v-4df5fc21]{border-radius:40px;width:40px;height:40px;margin:.5rem;cursor:pointer;display:flex;flex-direction:row;justify-content:center;align-items:center}.float-control-item-icon-container[data-v-4df5fc21]:hover{background:rgba(218,218,218,.3)}.singlecall-video-float[data-v-73a848fe]{width:110px;height:196px;display:flex;z-index:99;flex-direction:column;align-items:center;background:#000;border-radius:12px;box-shadow:0 0 10px #35394166;overflow:hidden}.singlecall-video-float .singlecall-video-float-content[data-v-73a848fe]{width:100%;height:100%;display:flex;justify-content:center;flex-direction:column;align-items:center}.singlecall-video-float .float-window-tip-container[data-v-73a848fe]{position:absolute;bottom:8px}.singlecall-audio-float[data-v-73a848fe]{width:72px;height:72px;display:flex;z-index:99;flex-direction:column;align-items:center;background:#FFF;border-radius:12px;box-shadow:0 0 10px #35394166}.singlecall-audio-float .singlecall-audio-float-content[data-v-73a848fe]{width:100%;height:100%;display:flex;justify-content:center;flex-direction:column;align-items:center}.click-container[data-v-04a48581]{position:absolute;width:100%;height:100%;z-index:2}.groupcall-video-float.float[data-v-04a48581]{width:72px;height:90px;display:flex;z-index:99;flex-direction:column;align-items:center;border-radius:12px;background:#FFF;box-shadow:0 0 10px #35394166;box-sizing:border-box;overflow:hidden}.groupcall-video-float.float .stream-container[data-v-04a48581]{position:relative;width:72px;height:70px}.groupcall-video-float.float .video[data-v-04a48581]{width:72px;height:70px;position:absolute}.groupcall-video-float.float .audio[data-v-04a48581]{position:absolute;width:100%;height:70px;padding-top:10px;background-color:#fff;display:flex;flex-direction:column;align-items:center}.groupcall-video-float.float .device-status[data-v-04a48581]{width:100%;height:20px;background-color:#f9f6f4;display:flex;position:relative;justify-content:space-around}.groupcall-video-float.not-float[data-v-04a48581]{width:100%;height:100%}.groupcall-video-float.not-float .stream-container[data-v-04a48581],.groupcall-video-float.not-float .stream-container .video[data-v-04a48581]{height:100%}.float-window-container.not-float[data-v-59a0c3c2]{width:100%;height:100%}.float-window-container.float[data-v-59a0c3c2]{position:absolute}.float-window-container.float.pc[data-v-59a0c3c2]{top:50px;left:50%;transform:translate(-50%)}.float-window-container.float.mobile[data-v-59a0c3c2]{top:150px;right:0}.singlecall-media-container[data-v-5ca72ad0]{width:100%;height:100%;position:absolute;z-index:0}.singlecall-media-container.float[data-v-5ca72ad0]{position:relative}.singlecall-media-container.pc[data-v-5ca72ad0]{border-radius:12px;overflow:hidden}.roggle-btn[data-v-5ca72ad0]{position:absolute;left:100px;z-index:100;top:0}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-message{position:fixed;left:50%;transform:translate(-50%);padding:10px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;z-index:9999;color:#000;border-color:#e9e9eb;background-color:#f4f4f5}.tk-message .tk-message_icon{margin-right:5px}.tk-message .tk-message_close{cursor:pointer;margin-left:5px}.tk-message--info{color:#909399;border-color:#e9e9eb;background-color:#f4f4f5}.tk-message--success{color:#67c23a;border-color:#e1f3d8;background-color:#f0f9eb}.tk-message--warning{color:#e6a23c;border-color:#faecd8;background-color:#fdf6ec}.tk-message--error{color:#f56c6c;border-color:#fde2e2;background-color:#fef0f0}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-grid-item{display:flex;justify-content:center}.tk-grid-item.h5{transition-property:width,height,left,top;transition-duration:.3s;transition-timing-function:ease-in}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-popover{position:relative}.tk-popover .tk-popover_content{display:inline-block;vertical-align:middle;min-width:120px;position:absolute;background:#FFFFFF;border-radius:4px;font-size:14px;box-shadow:0 0 12px #0000001f;overflow-wrap:break-word;box-sizing:border-box;text-align:center}.tk-popover .tk-popover_arrow{position:absolute;transform:translate(-50%);width:0;height:0}.tk-popover .tk-popover_trigger{display:inline-block;position:relative;vertical-align:middle}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-popover{position:relative}.tk-popover .tk-popover_content{display:inline-block;vertical-align:middle;min-width:120px;position:absolute;background:#FFFFFF;border-radius:4px;font-size:14px;box-shadow:0 0 12px #0000001f;overflow-wrap:break-word;box-sizing:border-box;text-align:center}.tk-popover .tk-popover_arrow{position:absolute;transform:translate(-50%);width:0;height:0}.tk-popover .tk-popover_trigger{display:inline-block;position:relative;vertical-align:middle}.device-selector-container[data-v-a65fe216]{width:180px;display:flex;flex-direction:column;align-items:center;padding:6px;font-weight:500}.device-selector-container .device-item[data-v-a65fe216]{overflow:hidden;padding:5px 3px;text-align:left;line-height:16px;cursor:pointer}.device-selector-container .device-item[data-v-a65fe216]:hover{border-radius:5px;background:rgba(255,255,255,.3215686275)}.device-selector-container .device-item.select[data-v-a65fe216]{background-color:#0f101433;border-radius:3px}.device-selector-container .control-item[data-v-a65fe216]{width:100%;height:1px;background-color:#fff3}.scroll-container[data-v-a65fe216]{width:100%;overflow:hidden}.scroll-container .scroll-content[data-v-a65fe216]{max-height:60px;margin-right:-26px;overflow:hidden auto;padding-right:20px}.btn-content[data-v-d26f6462],.btn-content[data-v-954e61cc],.btn-content[data-v-1ec25bac],.btn-content[data-v-b3b557d8],.btn-content[data-v-f6fe7678],.btn-content[data-v-1553de06],.btn-content[data-v-b9be9094],.btn-content[data-v-6288f616],.btn-content[data-v-dd0c1858]{display:flex;flex-direction:column;align-items:center}.button-panel-container[data-v-26c8cb08]{position:absolute;z-index:1}.button-panel-container.pc[data-v-26c8cb08]{width:60%;height:63px;margin:0 auto;bottom:6%;left:50%;z-index:2;transform:translate(-50%)}.button-panel-container.mobile[data-v-26c8cb08]{display:flex;justify-content:center;height:27%;bottom:0;width:100%}.button-panel-container.mobile.h5[data-v-26c8cb08]{transition-property:width,height,left,top;transition-duration:.3s;transition-timing-function:ease-in}.button-panel-container.mobile.groupCall.showBackGround[data-v-26c8cb08]{background-color:#4f586b}.button-panel-container.mobile .button-group[data-v-26c8cb08]{position:absolute;width:72%;top:2vh;height:80%}.button-panel-container.mobile.close[data-v-26c8cb08]{height:14%;align-items:center}.button-panel-container.mobile.close .button-group[data-v-26c8cb08]{position:absolute;width:72%;right:6.2vw;height:40px;top:auto;bottom:auto}.button-panel-container .button-group[data-v-26c8cb08]{position:relative;height:100%}.button-panel-container .toggle-button-container[data-v-26c8cb08]{display:flex;align-items:center;position:absolute;left:8.2vw}.button-panel-container .toggle-button-container.h5[data-v-26c8cb08]{transition-property:width,height,left,top;transition-duration:.3s;transition-timing-function:ease-in}.button-panel-container.open .toggle-button-container[data-v-26c8cb08]{bottom:6vh}.singlecall-container[data-v-221760b8]{height:100%}.stream-loading-container[data-v-b3ff0e0c]{width:100%;height:100%;position:absolute;z-index:1;display:flex;align-items:center;justify-content:center}.groupcall-media-container[data-v-4c7859ad]{width:100%;height:100%;position:absolute;z-index:1}.groupcall-media-container.pc[data-v-4c7859ad]{border-radius:12px;overflow:hidden}.groupcall-media-container.pc.two-layout[data-v-4c7859ad]{margin-top:20%}.groupcall-media-container.pc .tk-toggle-window-item--small[data-v-4c7859ad]{top:2%;left:2%;width:22%;height:21%;border-radius:12px;overflow:hidden}.groupcall-media-container.mobile[data-v-4c7859ad]{margin-top:5.5vh}.groupcall-media-container.mobile.float[data-v-4c7859ad]{margin-top:0}.groupcall-media-container.mobile.two-layout[data-v-4c7859ad]{margin-top:15vh}.groupcall-media-container.mobile.two-layout.float[data-v-4c7859ad]{margin-top:0}.dialog[data-v-5c01d70e]{background:rgba(0,0,0,.3)}.dialog-main[data-v-5c01d70e]{background:#FFFFFF}.dialog-main-header[data-v-5c01d70e]{font-weight:500;color:#333}.dialog-main-title[data-v-5c01d70e]{font-family:PingFangSC-Medium;font-weight:500;color:#333}.dialog-main-back[data-v-5c01d70e]{background:none}.dialog-main-content[data-v-5c01d70e]{font-weight:400;color:#333}.btn[data-v-5c01d70e]{font-weight:400;color:#fff;letter-spacing:0}.btn-cancel[data-v-5c01d70e]{border:1px solid #dddddd;color:#666}.btn-default[data-v-5c01d70e]{background:#006EFF;border:1px solid #006EFF}.dialog[data-v-5c01d70e]{position:absolute;width:100%;height:100%;left:0;top:0;z-index:6;display:flex;justify-content:center;align-items:center}.dialog-main[data-v-5c01d70e]{min-width:368px;border-radius:10px;padding:20px 30px}.dialog-main-header[data-v-5c01d70e]{display:flex;justify-content:space-between;align-items:center;font-size:16px;line-height:30px}.dialog-main-title[data-v-5c01d70e]{font-size:16px;line-height:30px}.dialog-main-content[data-v-5c01d70e]{font-size:14px}.dialog-main-footer[data-v-5c01d70e]{display:flex;justify-content:flex-end}.btn[data-v-5c01d70e]{padding:8px 20px;margin:0 6px;border-radius:4px;border:none;font-size:14px;text-align:center;line-height:20px}.btn[data-v-5c01d70e]:disabled{opacity:.3}.btn[data-v-5c01d70e]:last-child{margin-right:0}.dialog-h5[data-v-5c01d70e]{height:100%;top:0;align-items:inherit}.dialog-h5 .dialog-main[data-v-5c01d70e]{border-radius:0;padding:0;display:flex;flex-direction:column;overflow:hidden;width:100%;min-height:80px;min-width:120px}.dialog-h5 .dialog-main-content[data-v-5c01d70e]{flex:1;min-width:0;min-height:0;text-align:center}.dialog-h5 .dialog-main-content-uniapp[data-v-5c01d70e]{padding:40px 0}.dialog-h5 .dialog-main-footer[data-v-5c01d70e]{border-top:1px solid #DDDDDD}.dialog-h5 .dialog-main-footer .btn[data-v-5c01d70e]{flex:1;margin:0;background:none;border-right:1px solid #DDDDDD}.dialog-h5 .dialog-main-footer .btn-default[data-v-5c01d70e]{color:#ff584c;border:none}.center[data-v-5c01d70e]{align-items:center;padding:20px;box-sizing:border-box}.icon[data-v-c4142a3c]{display:inline-flex;justify-content:center;align-items:center;margin:0}.main[data-v-f41767b6]{background:#FFFFFF;border:1px solid #E0E0E0;box-shadow:0 -4px 12px #0000000f}.main .left[data-v-f41767b6]{border-right:1px solid #E8E8E9}.main .transfer-header[data-v-f41767b6]{font-weight:500;color:#000;letter-spacing:0}.main .transfer-header input[data-v-f41767b6]{background:#FFFFFF;border:1px solid #DEE0E3;font-weight:500;color:#8f959e;letter-spacing:0}.main .transfer-list .transfer-text[data-v-f41767b6]{font-weight:500;color:#8f959e;letter-spacing:0}.main .transfer-list-item .disabled[data-v-f41767b6]{background:#eeeeee}.btn[data-v-f41767b6]{background:#3370FF;border:0 solid #2F80ED;font-weight:400;color:#fff}.btn-cancel[data-v-f41767b6]{background:#FFFFFF;border:1px solid #DDDDDD;color:#828282}.btn-no[data-v-f41767b6]{background:#e8e8e9;border:1px solid #DDDDDD;font-weight:400;color:#fff}.transfer-h5-header[data-v-f41767b6]{background:#FFFFFF}.transfer-h5-header .title[data-v-f41767b6]{font-family:PingFangSC-Medium;font-weight:500;color:#000;letter-spacing:0}.main[data-v-f41767b6]{box-sizing:border-box;width:541px;height:390px;display:flex;border-radius:8px;padding:20px 0}.main .right[data-v-f41767b6]{padding:0 20px;flex:1}.main .right .transfer-list[data-v-f41767b6]{padding-right:20px}.main .left[data-v-f41767b6]{flex:1;overflow-y:hidden;display:flex;flex-direction:column}.main .left .transfer-header[data-v-f41767b6]{padding:0 20px}.main .left .transfer-left-main[data-v-f41767b6]{flex:1;overflow-y:auto;padding:0 13px}.main .right[data-v-f41767b6]{display:flex;flex-direction:column;text-align:left}.main .right .transfer-right-footer[data-v-f41767b6]{align-self:flex-end}.main .right .transfer-right-footer .btn-cancel[data-v-f41767b6]{margin-right:12px}.main .right .transfer-list[data-v-f41767b6]{overflow-y:auto}.main .transfer-header[data-v-f41767b6]{font-size:14px;line-height:14px;padding-bottom:20px}.main .transfer-header input[data-v-f41767b6]{box-sizing:border-box;width:100%;border-radius:30px;font-size:10px;line-height:14px;padding:9px 12px}.main .transfer-list[data-v-f41767b6]{flex:1;display:flex;flex-direction:column}.main .transfer-list .transfer-text[data-v-f41767b6]{font-size:10px;line-height:14px}.main .transfer-list-item[data-v-f41767b6]{padding:6px 0;display:flex;align-items:center;font-size:14px;text-align:left}.main .transfer-list-item-content[data-v-f41767b6]{flex:1;display:flex;align-items:center}.main .transfer-list-item .avatar[data-v-f41767b6]{margin:0 5px 0 8px;border-radius:50%}.main .transfer-list-item .name[data-v-f41767b6]{width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.avatar[data-v-f41767b6]{width:36px;height:36px;border-radius:5px;font-size:12px;display:flex;justify-content:center;align-items:center}.btn[data-v-f41767b6],.btn-no[data-v-f41767b6]{padding:4px 28px;font-size:12px;line-height:24px;border-radius:4px}.space-between[data-v-f41767b6]{justify-content:space-between}.select-all[data-v-f41767b6]{padding-left:8px;font-size:14px}.more[data-v-f41767b6]{display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:14px}.transfer-h5[data-v-f41767b6]{width:100vw;height:100vh;display:flex;flex-direction:column}.transfer-h5-header[data-v-f41767b6]{position:relative;display:flex;justify-content:space-between;align-items:center;font-size:18px;padding:16px 18px}.transfer-h5-header .space[data-v-f41767b6],.transfer-h5-header .icon[data-v-f41767b6]{width:18px;height:18px}.transfer-h5 .main[data-v-f41767b6]{flex-direction:column;width:auto;height:550px;border-radius:0;border:none;box-shadow:none;max-height:calc(100% - 50px);padding:0}.transfer-h5 .main .avatar[data-v-f41767b6]{border-radius:5px}.transfer-h5 .main .left[data-v-f41767b6]{padding:0;flex:1;border:none;display:flex;flex-direction:column}.transfer-h5 .main .left .transfer-header[data-v-f41767b6]{position:sticky;top:0;padding:0 18px}.transfer-h5 .main .left .transfer-header input[data-v-f41767b6]{border-radius:5px;font-size:14px}.transfer-h5 .main .left-uniapp-input[data-v-f41767b6]{height:36px}.transfer-h5 .main .right[data-v-f41767b6]{flex:0;flex-direction:row;align-items:center;box-shadow:inset 0 1px #eee;padding:8px 18px}.transfer-h5 .main .right .transfer-list[data-v-f41767b6]{flex-direction:row;width:0}.transfer-h5 .main .right .transfer-list-item-content[data-v-f41767b6]{flex:none}.transfer-h5 .main .right .transfer-right-footer[data-v-f41767b6]{padding:6px 0;display:flex;align-items:center}.transfer-h5 .main .right .transfer-right-footer .btn[data-v-f41767b6]{font-size:14px}ul[data-v-f41767b6],ol[data-v-f41767b6],li[data-v-f41767b6]{margin:0;padding:0}.icon-unselected[data-v-f41767b6]{width:18px;height:18px;background:#FFFFFF;border:1px solid #DDDDDD;border-radius:11px;box-sizing:border-box}.groupcall-container[data-v-487ae8a3]{height:100%}.card[data-v-ee5a0fe8]{box-sizing:border-box;border-radius:4px;border:1px solid #EBEEF5;background-color:#fff;overflow:hidden;color:#303133;transition:.3s;box-shadow:0 2px 12px #0000001a}.card .card-body[data-v-ee5a0fe8]{padding:20px}.card-wrapper[data-v-ee5a0fe8]{display:flex;flex-direction:column;align-items:center;width:500px;position:relative}.card-wrapper .button[data-v-ee5a0fe8]{box-sizing:border-box;background-color:#104ef5;color:#fff;font-size:12px;height:37px;border-radius:4px;padding:10px}.card-wrapper .image-wrapper[data-v-ee5a0fe8]{box-sizing:border-box}.title[data-v-ee5a0fe8]{padding:10px 0;font-size:16px;font-weight:500;line-height:22px}.desc[data-v-ee5a0fe8]{font-size:12px;margin-bottom:10px}.button[data-v-ee5a0fe8]{background-color:#104ef5;color:#fff;font-size:12px;height:37px;border-radius:4px;padding:10px}.allow[data-v-ee5a0fe8]{font-size:12px;color:#666;padding:10px 0 20px}.image[data-v-ee5a0fe8]{width:100%;border-radius:10px}.close[data-v-ee5a0fe8]{position:absolute;z-index:999;display:flex;justify-content:center;align-items:center;font-size:20px;right:20px;cursor:pointer;width:20px;height:20px}.tips[data-v-ff1df20c]{width:100%;height:100%}.card[data-v-ff1df20c]{position:fixed;right:0;bottom:0;box-shadow:0 2px 12px #0000001a;border-radius:4px;border:1px solid #EBEEF5;background-color:#fff;overflow:hidden;color:#303133;transition:.3s}.tag[data-v-ff1df20c]{position:fixed;left:0;top:0;width:320px;text-align:left}.toast-container[data-v-1a36ce82]{position:fixed;display:flex;align-items:center;z-index:1002;justify-content:space-between;left:50%;transform:translate(-50%);padding:15px 15px 15px 20px;background-color:#000;color:#fff;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid}.toast-container .toast-content[data-v-1a36ce82]{margin-right:16px}.toast-container .toast-close-icon[data-v-1a36ce82]{width:16px;line-height:16px;cursor:pointer}.toast-container .toast-close-icon[data-v-1a36ce82]:before{font-style:normal;content:url(data:image/svg+xml;base64,PHN2ZyB0PSIxNjg4OTk4OTI4NDQ1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE2MDkiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHBhdGggZD0iTTUxMiA0NjYuNzUyTDg2LjY1NiA0MS4zNDRhMzIgMzIgMCAwIDAtNDUuMzEyIDQ1LjMxMkw0NjYuNzUyIDUxMiA0MS4zNDQgOTM3LjM0NGEzMiAzMiAwIDAgMCA0NS4zMTIgNDUuMzEyTDUxMiA1NTcuMjQ4bDQyNS4zNDQgNDI1LjQwOGEzMiAzMiAwIDAgMCA0NS4zMTItNDUuMzEyTDU1Ny4yNDggNTEybDQyNS40MDgtNDI1LjM0NGEzMiAzMiAwIDAgMC00NS4zMTItNDUuMzEyTDUxMiA0NjYuNzUyeiIgZmlsbD0iIzcwNzA3MCIgcC1pZD0iMTYxMCI+PC9wYXRoPjwvc3ZnPg==)}.info[data-v-1a36ce82]{border-color:#ebeef5;color:#909399;background-color:#edf2fc}.success[data-v-1a36ce82]{color:#67c23a;background-color:#f0f9eb;border-color:#e1f3d8}.waring[data-v-1a36ce82]{color:#e6a23c;background-color:#fdf6ec;border-color:#faecd8}.error[data-v-1a36ce82]{color:#f56c6c;background-color:#fef0f0;border-color:#fde2e2}.slide-up-enter-active[data-v-1a36ce82],.slide-up-leave-active[data-v-1a36ce82]{transition:all .5s ease-out}.slide-up-enter-from[data-v-1a36ce82]{opacity:0;transform:translate(-50%,20px)}.slide-up-leave-to[data-v-1a36ce82]{opacity:0;transform:translate(-50%,-20px)}.fade-enter-from[data-v-1a36ce82],.fade-leave-to[data-v-1a36ce82]{opacity:0;transform:translate(-50%,-100%)}.TUICallKit-mobile,.TUICallKit-mobile .singCall{width:100%;height:100%}.transition-animation{transform:translateY(-100%);animation:slideInDown .5s ease forwards}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.TUICallKit-desktop{margin:0 auto;position:relative;border-radius:inherit;width:100%;height:100%;color:#fff;display:flex;flex-direction:column;justify-content:center;overflow:hidden;z-index:12;border-radius:16px}.TUICallKit-desktop .singCall{width:100%;height:100%}.mobile-audio{background-color:#fff}.miniMized{width:168px!important;height:56px!important;overflow:visible!important}.miniMized-mobile-audio{width:72px;height:72px;position:fixed;top:40px;right:40px}.miniMized-mobile-video{width:40%;height:30%;position:fixed;top:40px;right:40px}.banner-pc{position:relative;cursor:pointer}.banner-pc .top{height:24px;padding-right:10px;border-radius:4px;background:#F4F5F9;display:inline-flex;align-items:center}.banner-pc .top .call-icon{margin:4px 4px 4px 8px}.banner-pc .top .text{font-weight:400;font-size:12px;line-height:16px;color:#666}.banner-pc .content{width:220px;margin-top:8px;padding:10px 18px 6px;box-shadow:0 0 24px #161e2733;background-color:#fff;border-radius:10px;position:absolute;z-index:10;display:flex;display:-webkit-flex;flex-direction:column;align-items:center}.banner-pc .content .content-arrows{width:12px;height:12px;border-radius:2px;background-color:#fff;transform:rotate(45deg);position:absolute;top:-5px;left:80px}.banner-pc .content .avatar-box{display:flex;justify-content:center;flex-wrap:wrap}.banner-pc .content .avatar{margin:6px;display:flex;border-radius:4px}.banner-pc .content .btn{margin:10px 0;width:97px;height:30px;background:#F2F5FC;border-radius:4px;display:flex;justify-content:center;align-items:center;font-size:12px;color:#1c66e5;cursor:pointer}.banner-h5{padding:0 16px;position:relative}.banner-h5 .top{height:36px;background:#FFFFFF;border-radius:4px;display:flex;display:-webkit-flex;justify-content:space-between;align-items:center}.banner-h5 .top .left{display:flex;align-items:center}.banner-h5 .top .left .text{font-weight:400;font-size:12px;color:#666}.banner-h5 .content-box{box-sizing:border-box;width:100%;padding:0 16px 10px;background:#FFFFFF;box-shadow:0 3px 3px 1px #b4b4b440;border-radius:0 0 8px 8px;position:absolute;left:0px;z-index:10}.banner-h5 .content-box .content{background:#EEF0F2;border-radius:6px}.banner-h5 .content-box .content .avatar-box{padding:30px 6px;border-bottom:1px solid rgba(112,112,112,.1058823529);display:flex;display:-webkit-flex;justify-content:center;flex-wrap:wrap}.banner-h5 .content-box .content .btn{padding:10px;font-weight:600;font-size:14px;text-align:center;color:#333;cursor:pointer}")),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); import { TUICallEvent as f, TUICallEngine as wl } from "tuicall-engine-webrtc"; import { TUICore as HA, TUIConstants as H, TUILogin as Ol } from "@tencentcloud/tui-core"; import ma from "@tencentcloud/chat"; import Xt from "vue"; import { inject as NA, ref as I, onMounted as aA, onUnmounted as tA, toRefs as z, watch as J, computed as p, provide as gA, watchEffect as QA, toRef as wt, unref as xl, nextTick as Vl, reactive as Ye } from "@vue/composition-api"; var c = /* @__PURE__ */ ((A) => (A.CALL = "call", A.CUSTOM = "custom", A))(c || {}), F = /* @__PURE__ */ ((A) => (A[A.UNKNOWN = 0] = "UNKNOWN", A[A.AUDIO = 1] = "AUDIO", A[A.VIDEO = 2] = "VIDEO", A))(F || {}), K = /* @__PURE__ */ ((A) => (A.UNKNOWN = "unknown", A.CALLEE = "callee", A.CALLER = "caller", A))(K || {}), U = /* @__PURE__ */ ((A) => (A.IDLE = "idle", A.CALLING = "calling", A.CONNECTED = "connected", A))(U || {}), ne = /* @__PURE__ */ ((A) => (A.CONTAIN = "contain", A.COVER = "cover", A.FILL = "fill", A))(ne || {}), oe = /* @__PURE__ */ ((A) => (A.RESOLUTION_480P = "480p", A.RESOLUTION_720P = "720p", A.RESOLUTION_1080P = "1080p", A))(oe || {}), lo = /* @__PURE__ */ ((A) => (A.EN = "en", A["ZH-CN"] = "zh-cn", A.JA_JP = "ja_JP", A))(lo || {}); const nA = { IDLE: "idle", BE_INVITED: "be-invited", DIALING_C2C: "dialing-c2c", DIALING_GROUP: "dialing-group", CALLING_C2C_AUDIO: "calling-c2c-audio", CALLING_C2C_VIDEO: "calling-c2c-video", CALLING_GROUP_AUDIO: "calling-group-audio", CALLING_GROUP_VIDEO: "calling-group-video" }, bl = { unknown: 0, audio: 1, video: 2 }; var Ae = /* @__PURE__ */ ((A) => (A.EAR = "ear", A.SPEAKER = "speaker", A))(Ae || {}), oA = /* @__PURE__ */ ((A) => (A.MICROPHONE = "microphone", A.CAMERA = "camera", A.SPEAKER = "speaker", A))(oA || {}), le = /* @__PURE__ */ ((A) => (A[A.FRONT = 0] = "FRONT", A[A.BACK = 1] = "BACK", A))(le || {}), zA = /* @__PURE__ */ ((A) => (A.Camera = "camera", A.Microphone = "microphone", A.SwitchCamera = "switchCamera", A.InviteUser = "inviteUser", A))(zA || {}), JA = /* @__PURE__ */ ((A) => (A.Open = "open", A.Close = "close", A))(JA || {}), At = /* @__PURE__ */ ((A) => (A.LOCAL = "local", A.REMOTE = "remote", A))(At || {}), et = /* @__PURE__ */ ((A) => (A.LocalInLargeView = "local", A.RemoteInLargeView = "remote", A))(et || {}), XA = /* @__PURE__ */ ((A) => (A[A.INVITE = 1] = "INVITE", A[A.CANCEL_INVITE = 2] = "CANCEL_INVITE", A[A.ACCEPT_INVITE = 3] = "ACCEPT_INVITE", A[A.REJECT_INVITE = 4] = "REJECT_INVITE", A[A.INVITE_TIMEOUT = 5] = "INVITE_TIMEOUT", A))(XA || {}); const ja = { SWITCH_TO_AUDIO_CALL_FAILED: 60001, SWITCH_TO_VIDEO_CALL_FAILED: 60002, MICROPHONE_UNAVAILABLE: 60003, CAMERA_UNAVAILABLE: 60004, BAN_DEVICE: 60005, NOT_SUPPORTED_WEBRTC: 60006, ERROR_BLACKLIST: 20007 }, Bl = { SWITCH_TO_AUDIO_CALL_FAILED: "switchToAudioCall-call-failed", SWITCH_TO_VIDEO_CALL_FAILED: "switchToVideoCall-call-failed", MICROPHONE_UNAVAILABLE: "microphone-unavailable", CAMERA_UNAVAILABLE: "camera-unavailable", BAN_DEVICE: "ban-device", NOT_SUPPORTED_WEBRTC: "not-supported-webrtc", ERROR_BLACKLIST: "blacklist-user-tips" }; var io = /* @__PURE__ */ ((A) => (A[A.NORMAL = 0] = "NORMAL", A[A.RELEASE = 1] = "RELEASE", A[A.WARNING = 2] = "WARNING", A[A.ERROR = 3] = "ERROR", A[A.NONE = 4] = "NONE", A))(io || {}); const Ke = { CALL_STATUS: "callStatus", CALL_ROLE: "callRole", CALL_MEDIA_TYPE: "callMediaType", LOCAL_USER_INFO: "localUserInfo", LOCAL_USER_INFO_EXCLUDE_VOLUMN: "localUserInfoExcludeVolume", REMOTE_USER_INFO_LIST: "remoteUserInfoList", REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST: "remoteUserInfoExcludeVolumeList", CALLER_USER_INFO: "callerUserInfo", IS_GROUP: "isGroup", CALL_DURATION: "callDuration", CALL_TIPS: "callTips", TOAST_INFO: "toastInfo", IS_MINIMIZED: "isMinimized", ENABLE_FLOAT_WINDOW: "enableFloatWindow", BIG_SCREEN_USER_ID: "bigScreenUserId", LANGUAGE: "language", IS_CLICKABLE: "isClickable", DISPLAY_MODE: "displayMode", VIDEO_RESOLUTION: "videoResolution", PUSHER: "pusher", PLAYER: "player", IS_EAR_PHONE: "isEarPhone", IS_MUTE_SPEAKER: "isMuteSpeaker", SHOW_PERMISSION_TIP: "SHOW_PERMISSION_TIP", NETWORK_STATUS: "NetWorkStatus", GROUP_ID: "groupID", ROOM_ID: "roomID", ROOM_ID_TYPE: "roomIdType", SHOW_SELECT_USER: "showSelectUser", IS_SHOW_ENABLE_VIRTUAL_BACKGROUND: "isShowEnableVirtualBackground", ENABLE_VIRTUAL_BACKGROUND: "enableVirtualBackground", GROUP_CALL_MEMBERS: "groupCallMembers", PUSHER_ID: "pusherId" }, Fl = { INNER_ATTR_KIT_INFO: "inner_attr_kit_info" }, Rl = { INITIAL_PUSHER: "initialPusher", NEW_PUSHER: "newPusher" }, o = { PREFIX: "\u3010CallService\u3011", AUDIO: "audio", VIDEO: "video", LOCAL_VIDEO: "localVideo", ERROR: "error", TIMEOUT: "timeout", RAF: "raf", INTERVAL: "interval", DEFAULT: "default", BOOLEAN: "boolean", STRING: "string", NUMBER: "number", OBJECT: "object", ARRAY: "array", FUNCTION: "function", UNDEFINED: "undefined", UNKNOWN: "unknown", ALL: "all", MYSELF: "myself", DEVICE_LIST: "deviceList", CAMERA_POSITION: "cameraPosition", CUSTOM_UI_CONFIG: "customUIConfig", ...Rl, ...Ke, ...Fl }, kl = "https://web.sdk.qcloud.com/component/TUIKit/assets/call.png", Pl = "https://web.sdk.qcloud.com/component/TUIKit/assets/call-video-reverse.svg", va = 2147483647, Wl = 3, Gl = 4; var Rt = /* @__PURE__ */ ((A) => (A.MAC = "mac", A.WIN = "win", A))(Rt || {}), _t = /* @__PURE__ */ ((A) => (A[A.TUI_CALL_KIT = 14] = "TUI_CALL_KIT", A[A.TIM_CALL_KIT = 15] = "TIM_CALL_KIT", A))(_t || {}), kt = /* @__PURE__ */ ((A) => (A[A.NUMBER_ROOM_ID = 1] = "NUMBER_ROOM_ID", A[A.STRING_ROOM_ID = 2] = "STRING_ROOM_ID", A))(kt || {}); async function Ql(A) { if (!A) return !1; try { const t = await new Promise((e, a) => { const n = new XMLHttpRequest(); n.open("HEAD", A, !0), n.onload = () => e(n), n.onerror = () => a(n), n.send(); }); return t.status === 200 && t.getResponseHeader("Content-Type") === "audio/mpeg"; } catch (t) { return console.warn(t), !1; } } function tt(A) { if (typeof A != "object" || A === null) return A; let t = Array.isArray(A) ? [] : {}; for (let e in A) A.hasOwnProperty(e) && (t[e] = tt(A[e])); return t; } const Zl = { hangup: "Hang up", reject: "Decline", accept: "Accept", camera: "Camera", microphone: "Microphone", speaker: "speaker", "open camera": "Open Camera", "close camera": "Close Camera", "open microphone": "Open Microphone", "close microphone": "Close Microphone", "video-to-audio": "Switch to audio", "virtual-background": "Blur Background", "other side reject call": "other side reject call", "reject call": "Reject Call", cancel: "Cancel Call", "other side line busy": "other side line busy", "in busy": "in busy", "call timeout": "call timeout", "no response from the other side": "no response from the other side", "end call": "end call", "caller calling message": "Awaiting response", "callee calling video message": "invites you to a video call", "callee calling audio message": "invites you to a voice call", "no microphone access": "no microphone access", "no camera access": "no camera access", "invite member": "Invite Member", "Invited group call": "invites you to a group call", waiting: "Calling...", me: "(me)", "browser-authorization": "Browser authorization", "mac-privacy": "System Preferences -> Security and Privacy -> Privacy", "win-privacy": "Setting -> Privacy and Security -> App permissions", "mac-preferences": "Open System Preferences", "win-preferences": "Open Setting", "Please enter userID": "Please enter userID", "View more": "View more", "people selected": "people selected", "Select all": "Select all", Cancel: "Cancel", Done: "Done", "exist group call": "A group call already exists in the current group", "camera enabled": "Camera On", "camera disabled": "Camera Off", "microphone enabled": "Unmuted", "microphone disabled": "Muted", "speaker enabled": "Speaker On", "speaker disabled": "Speaker Off", "open speaker": "Turn on speaker", "close speaker": "Turn off speaker", "wait to be called": "Waiting", answered: "Connected", "people in the call": " other(s) in the call", "failed to obtain speakers": "failed to obtain speakers", "you have a new call": "You have a new call", "switch camera": "Switch", join: "Join", "people on the call": "people on the call", "Supports a maximum of 9 people for simultaneous calls": "Supports a maximum of 9 people for simultaneous calls", you: "(you)", "The network is poor during your current call": "The network is poor during your current call", "The other user network is poor during the current call": "The other party's network is poor during the current call", "TUICallKit init is not complete": "TUICallKit init is not complete. You need to use this API after the init API is finished.", "Video call": "Video call", "Voice call": "Voice call", "Call End": "Call End", "Switch voice call": "Switch voice call", "Switch video call": "Switch video call", "Call duration": "Duration", "Call Cancel": "Canceled", "Other Side Cancel": "Call canceled by caller", Decline: "Declined", "Other Side Decline": "Call declined by user", "No answer": "Call not answered", "Other Side No Answer": "Call wasn't answered", Answered: "Answered", "Other Side Line Busy": "Line busy", "Line Busy": "Line busy. Call not received.", "Those involved": "Those involved in the call are", call: "call", "video-call": "video call", "audio-call": "audio call", search: "search", "search-result": "search result", "no-user": "user not found", "member-not-added": "member not added", "input-phone-userID": "phone number or userID", "not-login": "not logged in", "login-status-expire": "login status is invalid, please refresh the page and try again", "experience-multi-call": "experience multi-person calls, please download the full-featured demo: ", "not-support-multi-call": "multi-person call interface is not open", userID: "userID", "already-enter": "entered the call", "camera-opened": "Camera on", "camera-closed": "Camera off", "microphone-opened": "Mic on", "microphone-closed": "Mic off", timeout: "timeout", "kick out": "kick out", "image-resolution": "Resolution", "default-image-resolution": "Default", "invited-person": "Invite", "be-rejected": "Call declined, ", "be-no-response": "No response, ", "be-line-busy": "Line busy, ", "be-canceled": "The call is canceled, ", "voice-call-end": "Voice call ended", "video-call-end": "Video call ended", "method-call-failed": "Failed to sync the operation", "failed-to-obtain-permission": "Failed to obtain permissions", "environment-detection-failed": "Failed to check the environment", "switchToAudioCall-call-failed": "switch to audio call method failed", "switchToVideoCall-call-failed": "switch to video call method failed", "microphone-unavailable": "No mic found", "camera-unavailable": "No camera found", "ban-device": "Device access denied", "not-supported-webrtc": "Your current environment does not support WebRTC", "blacklist-user-tips": "The identifier is in blacklist. Failed to send this message!", "is-already-calling": "TUICallKit is already on a call", "need-init": "Before initiating a call with TUICallKit, ensure that the TUICallKitServer.init() method has executed successfully. ", "can't call yourself": "Can't call yourself", "Use-phone-and-computer": "Use your mobile phone and computer to experience video calls", "Wechat scan right QR code": "Wechat scan right QR code", "Scan the QR code above": "Scan the QR code above", "accept-error": "Accept failed", "accept-device-error": "Accept failed, unable to auth calling device", "call-error": "Start call failed" }, Yl = { hangup: "\u6302\u65AD", reject: "\u62D2\u7EDD", accept: "\u63A5\u53D7", camera: "\u6444\u50CF\u5934", microphone: "\u9EA6\u514B\u98CE", speaker: "\u626C\u58F0\u5668", "open camera": "\u6253\u5F00\u6444\u50CF\u5934", "close camera": "\u5173\u95ED\u6444\u50CF\u5934", "open microphone": "\u6253\u5F00\u9EA6\u514B\u98CE", "close microphone": "\u5173\u95ED\u9EA6\u514B\u98CE", "video-to-audio": "\u8F6C\u8BED\u97F3\u901A\u8BDD", "virtual-background": "\u6A21\u7CCA\u80CC\u666F", "other side reject call": "\u5BF9\u65B9\u5DF2\u62D2\u7EDD", "reject call": "\u62D2\u7EDD\u901A\u8BDD", cancel: "\u53D6\u6D88\u901A\u8BDD", "other side line busy": "\u5BF9\u65B9\u5FD9\u7EBF", "in busy": "\u6B63\u5728\u5FD9", "call timeout": "\u547C\u53EB\u8D85\u65F6", "end call": "\u7ED3\u675F\u901A\u8BDD", "caller calling message": "\u7B49\u5F85\u5BF9\u65B9\u63A5\u53D7\u9080\u8BF7", "callee calling video message": "\u9080\u8BF7\u4F60\u89C6\u9891\u901A\u8BDD", "callee calling audio message": "\u9080\u8BF7\u4F60\u8BED\u97F3\u901A\u8BDD", "no microphone access": "\u6CA1\u6709\u9EA6\u514B\u98CE\u6743\u9650", "no camera access": "\u6CA1\u6709\u6444\u50CF\u5934\u6743\u9650", "invite member": "\u9080\u8BF7\u6210\u5458", "Invited group call": "\u9080\u8BF7\u4F60\u52A0\u5165\u591A\u4EBA\u901A\u8BDD", "Those involved": "\u53C2\u4E0E\u901A\u8BDD\u7684\u6709\uFF1A", waiting: "\u7B49\u5F85\u63A5\u542C...", me: "(\u6211)", "browser-authorization": "\u6D4F\u89C8\u5668\u6388\u6743", "mac-privacy": "\u7CFB\u7EDF\u504F\u597D\u8BBE\u7F6E -> \u5B89\u5168\u4E0E\u9690\u79C1 -> \u9690\u79C1", "win-privacy": "\u8BBE\u7F6E -> \u9690\u79C1\u548C\u5B89\u5168\u6027 -> \u5E94\u7528\u6743\u9650", "mac-preferences": "\u6253\u5F00\u7CFB\u7EDF\u504F\u597D\u8BBE\u7F6E", "win-preferences": "\u6253\u5F00\u7CFB\u7EDF\u8BBE\u7F6E", "Please enter userID": "\u8BF7\u8F93\u5165 userID", "View more": "\u67E5\u770B\u66F4\u591A", "people selected": "\u4EBA\u5DF2\u9009\u4E2D", "Select all": "\u5168\u9009", Cancel: "\u53D6\u6D88", Done: "\u5B8C\u6210", "exist group call": "\u5F53\u524D\u7FA4\u7EC4\u4E2D\u5DF2\u7ECF\u5B58\u5728\u7FA4\u7EC4\u901A\u8BDD", "camera enabled": "\u6444\u50CF\u5934\u5DF2\u5F00", "camera disabled": "\u6444\u50CF\u5934\u5DF2\u5173", "microphone enabled": "\u9EA6\u514B\u98CE\u5DF2\u5F00", "microphone disabled": "\u9EA6\u514B\u98CE\u5DF2\u5173", "speaker enabled": "\u626C\u58F0\u5668\u5DF2\u5F00", "speaker disabled": "\u626C\u58F0\u5668\u5DF2\u5173", "open speaker": "\u5F00\u542F\u626C\u58F0\u5668", "close speaker": "\u5173\u95ED\u626C\u58F0\u5668", "wait to be called": "\u7B49\u5F85\u63A5\u542C", answered: "\u5DF2\u63A5\u901A", "people in the call": "\u4EBA\u53C2\u4E0E\u901A\u8BDD", "failed to obtain speakers": "\u65E0\u6CD5\u83B7\u53D6\u626C\u58F0\u5668", "you have a new call": "\u60A8\u6709\u4E00\u4E2A\u65B0\u7684\u901A\u8BDD", "switch camera": "\u7FFB\u8F6C", join: "\u52A0\u5165", "people on the call": "\u4EBA\u6B63\u5728\u901A\u8BDD", "Supports a maximum of 9 people for simultaneous calls": "\u6700\u591A\u652F\u63019\u4EBA\u540C\u65F6\u901A\u8BDD", you: "(\u4F60)", "The network is poor during your current call": "\u5F53\u524D\u901A\u8BDD\u4F60\u7684\u7F51\u7EDC\u4E0D\u4F73", "The other user network is poor during the current call": "\u5F53\u524D\u901A\u8BDD\u5BF9\u65B9\u7F51\u7EDC\u4E0D\u4F73", "TUICallKit init is not complete": "TUICallKit \u521D\u59CB\u5316\u767B\u5F55\u672A\u5B8C\u6210\uFF0C\u9700\u8981\u5728 init \u5B8C\u6210\u540E\u4F7F\u7528\u6B64 API", "Video call": "\u53D1\u8D77\u89C6\u9891\u901A\u8BDD", "Voice call": "\u53D1\u8D77\u8BED\u97F3\u901A\u8BDD", "Call End": "\u901A\u8BDD\u7ED3\u675F", "Switch voice call": "\u5207\u6362\u8BED\u97F3\u901A\u8BDD", "Switch video call": "\u5207\u6362\u89C6\u9891\u901A\u8BDD", "Call duration": "\u901A\u8BDD\u65F6\u957F", "Call Cancel": "\u5DF2\u53D6\u6D88", "Other Side Cancel": "\u5BF9\u65B9\u5DF2\u53D6\u6D88", Decline: "\u5DF2\u62D2\u7EDD", "Other Side Decline": "\u5BF9\u65B9\u5DF2\u62D2\u7EDD", "No answer": "\u8D85\u65F6\u65E0\u5E94\u7B54", "Other Side No Answer": "\u5BF9\u65B9\u65E0\u5E94\u7B54", Answered: "\u5DF2\u63A5\u542C", "Other Side Line Busy": "\u5BF9\u65B9\u5FD9\u7EBF\u4E2D", "Line Busy": "\u5FD9\u7EBF\u65E0\u5E94\u7B54", timeout: "\u8D85\u65F6", "kick out": "\u88AB\u8E22", call: "\u901A\u8BDD", "video-call": "\u89C6\u9891\u901A\u8BDD", "audio-call": "\u97F3\u9891\u901A\u8BDD", search: "\u641C\u7D22", "search-result": "\u641C\u7D22\u7ED3\u679C", "Wechat scan right QR code": "\u5FAE\u4FE1\u626B\u53F3\u4E8C\u7EF4\u7801", "Use-phone-and-computer": "\u7528\u624B\u673A\u4E0E\u7535\u8111\u4E92\u6253\u4F53\u9A8C\u89C6\u9891\u901A\u8BDD", "Scan the QR code above": "\u626B\u63CF\u4E0A\u65B9\u4E8C\u7EF4\u7801", "no-user": "\u672A\u641C\u7D22\u5230\u7528\u6237", "member-not-added": "\u672A\u6DFB\u52A0\u6210\u5458", "not-login": "\u672A\u767B\u5F55", "login-status-expire": "\u767B\u5F55\u72B6\u6001\u5DF2\u5931\u6548\uFF0C\u8BF7\u5237\u65B0\u7F51\u9875\u91CD\u8BD5", "experience-multi-call": "\u4F53\u9A8C\u591A\u4EBA\u901A\u8BDD\u8BF7\u4E0B\u8F7D\u5168\u529F\u80FDdemo:", "not-support-multi-call": "\u591A\u4EBA\u901A\u8BDD\u63A5\u53E3\u672A\u5F00\u653E", "input-phone-userID": "\u8BF7\u8F93\u5165\u624B\u673A\u53F7/\u7528\u6237ID", userID: "\u7528\u6237ID", "already-enter": "\u5DF2\u7ECF\u8FDB\u5165\u5F53\u524D\u901A\u8BDD", "image-resolution": "\u5206\u8FA8\u7387", "default-image-resolution": "\u9ED8\u8BA4\u5206\u8FA8\u7387", "invited-person": "\u6DFB\u52A0\u6210\u5458", "be-rejected": "\u5BF9\u65B9\u5DF2\u62D2\u7EDD\uFF0C", "be-no-response": "\u5BF9\u65B9\u65E0\u5E94\u7B54\uFF0C", "be-line-busy": "\u5BF9\u65B9\u5FD9\u7EBF\u4E2D\uFF0C", "be-canceled": "\u5BF9\u65B9\u5DF2\u53D6\u6D88", "voice-call-end": "\u8BED\u97F3\u901A\u8BDD\u7ED3\u675F", "video-call-end": "\u89C6\u9891\u901A\u8BDD\u7ED3\u675F", "method-call-failed": "\u540C\u6B65\u64CD\u4F5C\u5931\u8D25", "failed-to-obtain-permission": "\u6743\u9650\u83B7\u53D6\u5931\u8D25", "environment-detection-failed": "\u73AF\u5883\u68C0\u6D4B\u5931\u8D25", "switchToAudioCall-call-failed": "\u5207\u8BED\u97F3\u8C03\u7528\u5931\u8D25", "switchToVideoCall-call-failed": "\u5207\u89C6\u9891\u8C03\u7528\u5931\u8D25", "microphone-unavailable": "\u6CA1\u6709\u53EF\u7528\u7684\u9EA6\u514B\u98CE\u8BBE\u5907", "camera-unavailable": "\u6CA1\u6709\u53EF\u7528\u7684\u6444\u50CF\u5934\u8BBE\u5907", "ban-device": "\u7528\u6237\u7981\u6B62\u4F7F\u7528\u8BBE\u5907", "not-supported-webrtc": "\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301 WebRTC", "blacklist-user-tips": "\u53D1\u8D77\u901A\u8BDD\u5931\u8D25\uFF0C\u88AB\u5BF9\u65B9\u62C9\u5165\u9ED1\u540D\u5355\uFF0C\u7981\u6B62\u53D1\u8D77\uFF01", "is-already-calling": "TUICallKit \u5DF2\u5728\u901A\u8BDD\u72B6\u6001", "need-init": "TUICallKit \u53D1\u8D77\u901A\u8BDD\u524D\u9700\u4FDD\u8BC1 TUICallKitServer.init() \u65B9\u6CD5\u6267\u884C\u6210\u529F", "can't call yourself": "\u4E0D\u80FD\u547C\u53EB\u81EA\u5DF1", "accept-error": "\u63A5\u901A\u5931\u8D25", "accept-device-error": "\u63A5\u901A\u5931\u8D25\uFF0C\u901A\u8BDD\u8BBE\u5907\u83B7\u53D6\u5931\u8D25", "call-error": "\u53D1\u8D77\u901A\u8BDD\u5931\u8D25" }, Xl = { hangup: "\u901A\u8A71\u7D42\u4E86", reject: "\u62D2\u5426", accept: "\u5FDC\u7B54", camera: "\u30AB\u30E1\u30E9", microphone: "\u30DE\u30A4\u30AF", speaker: "\u30B9\u30D4\u30FC\u30AB\u30FC", "virtual-background": "\u30DC\u30B1\u80CC\u666F", "other side reject call": "\u901A\u8A71\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F", "reject call": "\u901A\u8A71\u62D2\u5426", cancel: "\u901A\u8A71\u3092\u30AD\u30E3\u30F3\u30BB\u30EB", "other side line busy": "\u76F8\u624B\u304C\u901A\u8A71\u4E2D\u3067\u3059", "in busy": "\u901A\u8A71\u4E2D", "call timeout": "\u547C\u3073\u51FA\u3057\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8", "end call": "\u901A\u8A71\u7D42\u4E86", "caller calling message": "\u5FDC\u7B54\u3092\u5F85\u3063\u3066\u3044\u307E\u3059", "callee calling video message": "\u30D3\u30C7\u30AA\u901A\u8A71\u306B\u62DB\u5F85\u3055\u308C\u307E\u3057\u305F", "callee calling audio message": "\u97F3\u58F0\u901A\u8A71\u306B\u62DB\u5F85\u3055\u308C\u307E\u3057\u305F", "no microphone access": "\u30DE\u30A4\u30AF\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093", "no camera access": "\u30AB\u30E1\u30E9\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093", "invite member": "\u30E1\u30F3\u30D0\u30FC\u3092\u62DB\u5F85\u3059\u308B", "browser-authorization": "\u30D6\u30E9\u30A6\u30B6\u8A8D\u8A3C", "mac-privacy": "\u30B7\u30B9\u30C6\u30E0\u74B0\u5883\u8A2D\u5B9A -> \u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u3068\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC ->\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC", "win-privacy": "\u8A2D\u5B9A -> \u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u3068\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC ->\u30A2\u30D7\u30EA\u306E\u30A2\u30AF\u30BB\u30B9\u8A31\u53EF", "mac-preferences": "\u30B7\u30B9\u30C6\u30E0\u74B0\u5883\u8A2D\u5B9A\u3092\u958B\u304F", "win-preferences": "\u30B7\u30B9\u30C6\u30E0\u8A2D\u5B9A\u3092\u958B\u304F", "Please enter userID": "\u30E6\u30FC\u30B6\u30FCID\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044", "View more": "\u3082\u3063\u3068\u898B\u308B", "people selected": "\u4EBA\u304C\u9078\u629E\u3055\u308C\u307E\u3057\u305F", "Select all": "\u3059\u3079\u3066\u9078\u629E", Cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB", Done: "\u5B8C\u4E86", "exist group call": "\u73FE\u5728\u306E\u30B0\u30EB\u30FC\u30D7\u306B\u306F\u65E2\u306B\u30B0\u30EB\u30FC\u30D7\u901A\u8A71\u304C\u5B58\u5728\u3057\u3066\u3044\u307E\u3059", "Video call": "\u30D3\u30C7\u30AA\u901A\u8A71\u3092\u958B\u59CB", "Voice call": "\u97F3\u58F0\u901A\u8A71\u3092\u958B\u59CB", "Call End": "\u901A\u8A71\u7D42\u4E86", "Switch audio call": "\u97F3\u58F0\u901A\u8A71\u306B\u5207\u308A\u66FF\u3048\u308B", "Switch video call": "\u30D3\u30C7\u30AA\u901A\u8A71\u306B\u5207\u308A\u66FF\u3048\u308B", "Call duration": "\u901A\u8A71\u6642\u9593", "Call Cancel": "\u901A\u8A71\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3059\u308B", "Other Side Cancel": "\u76F8\u624B\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F", Decline: "\u901A\u8A71\u3092\u62D2\u5426\u3059\u308B", "Other Side Decline": "\u76F8\u624B\u304C\u62D2\u5426\u3057\u307E\u3057\u305F", "No answer": "\u7121\u5FDC\u7B54", "Other Side No Answer": "\u76F8\u624B\u304B\u3089\u306E\u8FD4\u7B54\u306F\u3042\u308A\u307E\u305B\u3093", Answered: "\u5FDC\u7B54\u3057\u307E\u3057\u305F", "Other Side Line Busy": "\u76F8\u624B\u306F\u73FE\u5728\u5FD9\u3057\u304F\u3066\u5BFE\u5FDC\u3067\u304D\u307E\u305B\u3093", "Line Busy": "\u5FD9\u3057\u3044\u306E\u3067\u5FDC\u7B54\u3067\u304D\u307E\u305B\u3093", "open camera": "\u30AA\u30FC\u30D7\u30F3\u30AB\u30E1\u30E9", "close camera": "\u30AB\u30E1\u30E9\u3092\u9589\u3058\u308B", "open microphone": "\u30AA\u30FC\u30D7\u30F3\u30DE\u30A4\u30AF", "close microphone": "\u30DE\u30A4\u30AF\u3092\u9589\u3058\u308B", "camera enabled": "\u30AB\u30E1\u30E9\u30AA\u30F3", "camera disabled": "\u30AB\u30E1\u30E9\u30AA\u30D5", "microphone enabled": "\u30DE\u30A4\u30AF\u30AA\u30F3", "microphone disabled": "\u30DE\u30A4\u30AF\u30AA\u30D5", "speaker enabled": "\u30B9\u30D4\u30FC\u30AB\u30FC\u30AA\u30F3", "speaker disabled": "\u30B9\u30D4\u30FC\u30AB\u30FC\u30AA\u30D5", "open speaker": "\u30B9\u30D4\u30FC\u30AB\u30FC\u3092\u30AA\u30F3\u306B\u3059\u308B", "close speaker": "\u30B9\u30D4\u30FC\u30AB\u30FC\u306E\u96FB\u6E90\u3092\u5207\u308A\u307E\u3059", "wait to be called": "\u5F85\u6A5F\u4E2D", answered: "\u63A5\u7D9A\u6E08\u307F", "people in the call": "\u901A\u8A71\u306B\u53C2\u52A0\u3057\u3066\u3044\u308B\u4EBA\u305F\u3061", "failed to obtain speakers": "\u30B9\u30D4\u30FC\u30AB\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093", "you have a new call": "\u65B0\u3057\u3044\u901A\u8A71\u304C\u3042\u308A\u307E\u3059", "switch camera": "\u5207\u308A\u66FF\u3048", join: "\u53C2\u52A0\u3059\u308B", "people on the call": "\u4EBA\u304C\u901A\u8A71\u4E2D\u3067\u3059", "Supports a maximum of 9 people for simultaneous calls": "\u6700\u5927\u30679\u4EBA\u307E\u3067\u540C\u6642\u901A\u8A71\u304C\u53EF\u80FD\u3067\u3059", you: "(\u3042\u306A\u305F)", "The network is poor during your current call": "\u73FE\u5728\u306E\u901A\u8A71\u3067\u3001\u3042\u306A\u305F\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306F\u4E0D\u826F\u3067\u3059", "The other user network is poor during the current call": "\u73FE\u5728\u306E\u901A\u8A71\u3067\u3001\u76F8\u624B\u5074\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u304C\u4E0D\u826F\u3067\u3059", "TUICallKit init is not complete": "TUICallKit\u306E\u521D\u671F\u5316\u30ED\u30B0\u30A4\u30F3\u304C\u5B8C\u4E86\u3057\u3066\u3044\u307E\u305B\u3093\u3002init \u304C\u5B8C\u4E86\u3057\u305F\u5F8C\u306B\u3053\u306EAPI\u3092\u4F7F\u7528\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002", timeout: "\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8", "kick out": "\u30AD\u30C3\u30AF\u30A2\u30A6\u30C8\u3055\u308C\u307E\u3057\u305F", "Invited group call": "\u30B0\u30EB\u30FC\u30D7\u901A\u8A71\u306B\u62DB\u5F85\u3055\u308C\u307E\u3057\u305F\u3002", "Those involved": "\u53C2\u52A0\u8005\uFF1A", call: "\u901A\u8A71", "video-call": "\u30D3\u30C7\u30AA\u901A\u8A71", "audio-call": "\u97F3\u58F0\u901A\u8A71", search: "\u691C\u7D22", "search-result": "\u691C\u7D22\u7D50\u679C", "Wechat scan right QR code": "WeChat\u3067\u53F3\u5074\u306B\u3042\u308BQR\u30B3\u30FC\u30C9\u3092\u8AAD\u307F\u53D6\u308A\u307E\u3059\u3002", "Use-phone-and-computer": "\u643A\u5E2F\u96FB\u8A71\u3068\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u3092\u4F7F\u7528\u3057\u3066\u30D3\u30C7\u30AA\u901A\u8A71\u3092\u4F53\u9A13\u3057\u3066\u304F\u3060\u3055\u3044", "Scan the QR code above": "\u4E0A\u306EQR\u30B3\u30FC\u30C9\u3092\u8AAD\u307F\u53D6\u308A\u307E\u3059\u3002", "no-user": "\u30E6\u30FC\u30B6\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F", "member-not-added": "\u30E1\u30F3\u30D0\u30FC\u304C\u8FFD\u52A0\u3055\u308C\u3066\u3044\u307E\u305B\u3093", "not-login": "\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u307E\u305B\u3093", "login-status-expire": "\u30ED\u30B0\u30A4\u30F3\u306E\u6709\u52B9\u671F\u9650\u304C\u904E\u304E\u3066\u3044\u307E\u3059\u3002\u30DA\u30FC\u30B8\u3092\u66F4\u65B0\u3057\u3066\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044", "experience-multi-call": "\u8907\u6570\u4EBA\u3067\u540C\u6642\u306B\u97F3\u58F0\u901A\u8A71\u3067\u304D\u308B\u30B0\u30EB\u30FC\u30D7\u901A\u8A71\u6A5F\u80FD\u3092\u4F53\u9A13\u3059\u308B\u306B\u306F\u3001\u5168\u6A5F\u80FD\u306E\u30C7\u30E2\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044", "not-support-multi-call": "\u30B0\u30EB\u30FC\u30D7\u901A\u8A71\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u304C\u958B\u3044\u3066\u3044\u307E\u305B\u3093", "input-phone-userID": "\u643A\u5E2F\u96FB\u8A71\u756A\u53F7/\u30E6\u30FC\u30B6\u30FCID\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044", userID: "\u30E6\u30FC\u30B6\u30FCID", "already-enter": "\u3059\u3067\u306B\u901A\u8A71\u306B\u53C2\u52A0\u3057\u3066\u3044\u307E\u3059", waiting: "\u5FDC\u7B54\u3092\u5F85\u3063\u3066\u3044\u307E\u3059...", "camera-opened": "\u30AB\u30E1\u30E9\u304C\u30AA\u30F3\u306B\u306A\u3063\u3066\u3044\u307E\u3059", "camera-closed": "\u30AB\u30E1\u30E9\u304C\u30AA\u30D5\u306B\u306A\u3063\u3066\u3044\u307E\u3059", "microphone-opened": "\u30DE\u30A4\u30AF\u304C\u30AA\u30F3\u306B\u306A\u3063\u3066\u3044\u307E\u3059", "microphone-closed": "\u30DE\u30A4\u30AF\u304C\u30AA\u30D5\u306B\u306A\u3063\u3066\u3044\u307E\u3059", "image-resolution": "\u89E3\u50CF\u5EA6", "default-image-resolution": "\u30C7\u30D5\u30A9\u30EB\u30C8\u89E3\u50CF\u5EA6", "invited-person": "\u30E1\u30F3\u30D0\u30FC\u3092\u62DB\u5F85", "video-to-audio": "\u97F3\u58F0\u901A\u8A71\u306B\u5207\u308A\u66FF\u3048\u307E\u3059", me: "(\u81EA\u5206)", "be-rejected": "\u901A\u8A71\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F, ", "be-no-response": "\u5FDC\u7B54\u306A\u3057, ", "be-line-busy": "\u76F8\u624B\u304C\u901A\u8A71\u4E2D\u3067\u3059, ", "be-canceled": "\u76F8\u624B\u304C\u901A\u8A71\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F", "voice-call-end": "\u97F3\u58F0\u901A\u8A71\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F", "video-call-end": "\u30D3\u30C7\u30AA\u901A\u8A71\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F", "method-call-failed": "\u64CD\u4F5C\u306E\u540C\u671F\u306B\u5931\u6557\u3057\u307E\u3057\u305F", "failed-to-obtain-permission": "\u6A29\u9650\u306E\u53D6\u5F97\u306B\u5931\u6557\u3057\u307E\u3057\u305F", "environment-detection-failed": "\u74B0\u5883\u306E\u691C\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F", "switchToAudioCall-call-failed": "\u97F3\u58F0\u901A\u8A71\u306B\u5207\u308A\u66FF\u3048\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093", "switchToVideoCall-call-failed": "\u30D3\u30C7\u30AA\u901A\u8A71\u306B\u5207\u308A\u66FF\u3048\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093", "microphone-unavailable": "\u4F7F\u7528\u3067\u304D\u308B\u30DE\u30A4\u30AF\u304C\u3042\u308A\u307E\u305B\u3093", "camera-unavailable": "\u4F7F\u7528\u3067\u304D\u308B\u30AB\u30E1\u30E9\u304C\u3042\u308A\u307E\u305B\u3093", "ban-device": "\u30C7\u30D0\u30A4\u30B9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F", "not-supported-webrtc": "\u73FE\u5728\u306E\u74B0\u5883\u306FWebRTC\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093", "blacklist-user-tips": "\u30E6\u30FC\u30B6\u30FC\u306F\u30D6\u30E9\u30C3\u30AF\u30EA\u30B9\u30C8\u306B\u767B\u9332\u3055\u308C\u3001\u901A\u8A71\u304C\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F", "is-already-calling": "TUICallKit \u306F\u3059\u3067\u306B\u901A\u8A71\u4E2D\u3067\u3059", "need-init": "TUICallKit\u3067\u901A\u8A71\u3092\u958B\u59CB\u3059\u308B\u524D\u306B\u3001TUICallKitServer.init() \u30E1\u30BD\u30C3\u30C9\u304C\u6B63\u5E38\u306B\u5B9F\u884C\u3055\u308C\u305F\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002", "can't call yourself": "\u81EA\u5206\u306B\u96FB\u8A71\u3092\u304B\u3051\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093", "accept-error": "\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F", "accept-device-error": "\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u767A\u4FE1\u5074\u30C7\u30D0\u30A4\u30B9\u3092\u8A8D\u8A3C\u3067\u304D\u307E\u305B\u3093", "call-error": "\u901A\u8A71\u304C\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F" }, sA = { OTHER_SIDE: "other side", CANCEL: "cancel", OTHER_SIDE_REJECT_CALL: "other side reject call", REJECT_CALL: "reject call", OTHER_SIDE_LINE_BUSY: "other side line busy", IN_BUSY: "in busy", CALL_TIMEOUT: "call timeout", END_CALL: "end call", TIMEOUT: "timeout", KICK_OUT: "kick out", CALLER_CALLING_MSG: "caller calling message", CALLER_GROUP_CALLING_MSG: "wait to be called", CALLEE_CALLING_VIDEO_MSG: "callee calling video message", CALLEE_CALLING_AUDIO_MSG: "callee calling audio message", NO_MICROPHONE_DEVICE_PERMISSION: "no microphone access", NO_CAMERA_DEVICE_PERMISSION: "no camera access", EXIST_GROUP_CALL: "exist group call", LOCAL_NETWORK_IS_POOR: "The network is poor during your current call", REMOTE_NETWORK_IS_POOR: "The other user network is poor during the current call" }, fa = { en: Zl, "zh-cn": Yl, ja_JP: Xl }; function v(A) { var a; const t = d.getData(c.CALL, o.LANGUAGE); for (const n in fa) if (n === t) { const l = fa[n]; for (const i in l) if (i === A) return l[i]; } const e = (a = A.en) == null ? void 0 : a.key; return console.error(`${o.PREFIX}translation is not found: ${A}.`), e; } const at = typeof wx < "u" && typeof wx.getSystemInfoSync == "function" && Boolean(wx.getSystemInfoSync().fontSizeSetting), so = typeof uni < "u" && typeof uni > "u", La = at || so, uo = typeof uni < "u", co = function() { return (typeof uni < "u" || typeof window < "u") && !La; }(), _l = function() { return at ? wx : uo ? uni : window; }(), wA = co && window && window.navigator && window.navigator.userAgent || "", ql = /Android/i.test(wA), Jl = /(?:Windows Phone)/.test(wA), Hl = /(?:SymbianOS)/.test(wA), Kl = /iPad/i.test(wA) || /iPhone/i.test(wA) || /iPod/i.test(wA), ro = ql || Jl || Hl || Kl, qt = co && !ro, $l = qt && wA.includes("Windows NT"), Ai = qt && wA.includes("Mac"); class kA { constructor() { this.global = _l, this.isPC = !1, this.isH5 = !1, this.isWeChat = !1, this.isApp = !1, this.isUniPlatform = !1, this.isOfficial = !1, this.isWIN = !1, this.isMAC = !1, this.initEnv(); } static getInstance() { return kA.instance || (kA.instance = new kA()), kA.instance; } initEnv() { this.isPC = qt, this.isH5 = ro, this.isWeChat = at, this.isApp = so && !at, this.isUniPlatform = uo, this.isWIN = $l, this.isMAC = Ai; } initOfficial(t) { this.isOfficial = t === 1400187352 || t === 1400188366; } } const Et = function(A) { return typeof A === o.UNDEFINED; }, Mo = function(A) { if (typeof A !== o.OBJECT || A === null) return !1; const t = Object.getPrototypeOf(A); if (t === null) return !0; let e = t; for (; Object.getPrototypeOf(e) !== null; ) e = Object.getPrototypeOf(e); return t === e; }, Io = function(A) { return typeof Array.isArray === o.FUNCTION ? Array.isArray(A) : Object.prototype.toString.call(A).match(/^\[object (.*)\]$/)[1].toLowerCase() === o.ARRAY; }, Pt = function(A) { return typeof A === o.STRING; }, ei = function(A) { return typeof A === o.BOOLEAN; }, go = function(A) { return A !== null && (typeof A === o.NUMBER && !isNaN(A - 0) || typeof A === o.OBJECT && A.constructor === Number); }; function No(A) { const t = Math.floor(A / 3600), e = Math.floor(A % 3600 / 60), a = Math.floor(A % 60); let n = t > 9 ? `${t}` : `0${t}`; return n += e > 9 ? `:${e}` : `:0${e}`, n += a > 9 ? `:${a}` : `:0${a}`, n; } function ti(A) { if (typeof A === o.STRING) try { return !!JSON.parse(A); } catch (t) { return console.debug(t), !1; } return !1; } const Xe = function(A) { return !A || !ti(A) ? A : JSON.parse(A); }; function Ua(A) { return (A == null ? void 0 : A.message.indexOf("is ongoing, please avoid repeated calls")) !== -1; } function ai(A) { const { message: t } = A; return t.indexOf("NotAllowedError: Permission denied") !== -1; } function Ot() { return Date.now(); } const $e = function(A) { return typeof A === o.FUNCTION; }, ni = () => { if (kA.getInstance().isWeChat) return "zh-cn"; const A = ((navigator == null ? void 0 : navigator.language) || (navigator == null ? void 0 : navigator.userLanguage) || "").substr(0, 2); let t = "en"; switch (A) { case "zh": t = "zh-cn"; break; case "ja": t = "ja_JP"; break; default: t = "en"; } return t; }, oi = function(A) { return Object.prototype.toString.call(A).match(/^\[object (.*)\]$/)[1].toLowerCase(); }; function li(A, t, e) { if (!A.hasOwnProperty(t)) return A; const a = {}; return Object.keys(A).forEach((n) => { n === t ? a[e] = A[n] : a[n] = A[n]; }), a; } const ii = "data:audio/mpeg;base64,SUQzAwAAAAAAGFRYWFgAAAAOAAAAVFhYWABpc29taXNvMv/zNGQAAqwAvnihCAADQAF4CUAQAFYAg3Lh8u+XUD5///wx//wQOAhKAgb/////xOoH4g8Hz4Pq8RoAbdTgMsMt9hcb990EP//zNGQQBPDjEgDItAAFWcIoAYoQAN9P/03QQ//umn//91SXL5uXP+pf8WYTvzgJPAQ+p/7f///1//6f///WH///F4BtJhNFkP/zNGQGA/jjNADHiAAEQDJcAYkQAGWrn6vw6ljfPtj/////////9Pv9sL/mL/QezSepgwrimv07//////y3u602OiyhOYb+LP/zNGQIBKTBKADoCACDoCZMAckAAKHKCUIAFsqGZXtSZ/////////Sn/Vy3nVUOJBqSX2UAkQxBddzv//////yq3lcgaTmTQ//zNGQHA9SrJgA8AliD4C5IAApYAKh3FKlMunKHm8H/2//77vkdqB2xfsXaHiDKBGtFKqONF3/////Z9VXClT5ND+syHkjBq//zNGQLBITJIAA8AmQEiDI4AAjSAGa1Vffm3ff/1/0//11tvZpAaIw3dBiIrjJgHQrGVWmdBU1f/////oDqEKrV1OpBUTjQtv/zNGQHAsjDKAAwAl4D0Co8AAmCBHIQNtld6fm0+/VigZzuMnGZlkAMLMJFv/////33UIWeFQkKsaceBsangecHzYXKI//////zNGQUA4QjKAA3CAID8CpEABMCBPfuStx4FQVHYMgKcO6jIJh//////9uIlspQkGQ2YyZscAV83Bv/////ncL6BEiWHyA2K//zNEQbAogfJgAx5hAEwDJcCAsEBtICgF3/////WJaIuuqMCCVGucgkrtwiwBO//////pW4YFRWQhaRRhZZnVwGhf////+ocv/zNEQmApgVJAANjwAFkC5YCApeAolD4kQb+EQJYNKwLWGmc6sqMBwJvf////6tDEOWDgFJk1VywKMGoM2f////+N1JmgJuPv/zNGQuA4AbJAAl5hIDwC48AAIGBEho7wTL5b6kSO7IUAA5uDABYNNjGDBSJEN//////xtQsszVy27IcWBbQkLgzv7YmZYW///zNGQ2AqzFNAgcA1+D8CZIAAhMAP/3/rozCAsBjIqCY/DBWMfQZp1f/////0F6phXSNisgAJjo6icT2vpvM/Vf9v///97eu//z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", za = "data:audio/mpeg;base64,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//BP/+hwIa///Nf///wqXf/1IwFkb//wi3/1Pf/7FEQGAABjEVkFKKAADSOrIKOcAAKAUWQYooAAUpGswwRwAF//QA7//6iH/7//E1CP66uDpoqjowL/6/GGwzFQx/T3Vp/9XC73/yvuUKYdmmN6evmjf5L5ZKr/8hlL/f/7FGQCgAB5FF2GBKAADYOrUMEIAAGod2YcVoAANI6rg4pQAEZrqH8GxT/UqjT/+aDlf/6dvj/r/4+rR//UH//+wTMuo///86//9QGR//+wCCxv//+MCD//BP//oAIP///7FGQFAABgEdsNFKAAC2I68KOcAAMggWoYVQAAP46tAwQgAMzq//QwCv//4WM/+a0//YWHBbCL/5Hi/IAIkheLBSvsvr6F98kyv/4Zg7A3/0+pcfN//8bL5ar/+8wV/v/7FGQCgACDFF0GFKAADkQLYMCIAAGod2occoAANg7rw4pQAKbXi7oTBez1IPl9X/4G2b//1b7/r6/a/Gy//6HAX//+gDAv///nHf/xoBf//hF////ILP0V//lQuP//qP/7FGQDj/BVHVmBQC2QC6O6wDQHsgGEd2gUI4AAMA7sAopQAE8l+F//2DK3//y4f+Bj5j/+oX//8FpP///x0n//GAf//8Kf///xIcrp/ZHCA4SBM2nH8U7C55TDl+3X6P/7FGQKAADZI1uGFOAAEoRrMMKUAAGQd24cUQAANQ7sQ44gAHOZwyYabiX/9COkKb/T6rj9/09fUt+LGTgn/8YALf/+g43///kFf/zgX///UK////hxPTX/+4Sz//+sR//7FGQEA7BbHdmBoC2QDSEL3gADCQGgAXyUIQAAMw7rwpRwAK/hAeAAAAdAAAAAHQz///6wB/xxxyrjsayv6H/+r/+aBD//+Nm///8QulX+1VhmOIUu/+2UD0jR2CVfp//7FGQIgADVI1uGCOACD+RrYMCIAAGcd2ocE4AAMw7sQ4RQAGP+f8eIEjMMke//iRoP//tvp+v/Unyv4pqf/5n//84CQx///0FRv/+K///C3///6gKLdKr//EJ//9QHx//7FGQED/BSHdkBQBWQC4PKwCgHsgFYR2wUI4AANA7sAopQAD5hv/6Br//+SDvyge2n/+gP//8ISf/w9t//oDv//8K///8ggL6a+nTBTVf043E0UOgZIIdw1v/9FHfE3//7FGQLAADO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"; class si { constructor() { this._bellContext = null, this._isMuteBell = !1, this._calleeBellFilePath = za, this._callRole = K.UNKNOWN, this._callStatus = U.IDLE, this._bellContext = new Audio(), this._bellContext.loop = !0; } setBellSrc() { try { let t = ii; this._callRole === K.CALLEE && (t = this._calleeBellFilePath || za), this._bellContext.src = t; } catch (t) { console.warn(`${o.PREFIX}Failed to setBellSrc, ${t}`); } } setBellProperties(t) { this._callRole = t.callRole || this._callRole, this._callStatus = t.callStatus || this._callStatus, this._calleeBellFilePath = t.calleeBellFilePath || this._calleeBellFilePath, this._isMuteBell = Et(t.isMuteBell) ? this._isMuteBell : t.isMuteBell; } async play() { try { if (this._callStatus !== U.CALLING) return; this.setBellSrc(), this._callRole === K.CALLEE && !this._isMuteBell && await this._bellContext.play(), this._callRole === K.CALLER && await this._bellContext.play(); } catch (t) { console.warn(`${o.PREFIX}Failed to play audio file, ${t}`); } } async stop() { try { await this._bellContext.pause(); } catch (t) { console.warn(`${o.PREFIX}Failed to stop audio file, ${t}`); } } async setBellMute(t) { this._callStatus !== U.CALLING && this._callRole !== K.CALLEE || (t ? await this.stop() : await this.play()); } destroy() { try { this._isMuteBell = !1, this._calleeBellFilePath = "", this._callRole = K.UNKNOWN, this._callStatus = U.IDLE, this._bellContext.pause(), this._bellContext = null; } catch (t) { console.warn(`${o.PREFIX}Failed to destroy, ${t}`); } } } function $() { return function(A, t, e) { const a = e.value, n = /* @__PURE__ */ new Set(); return e.value = async function(...l) { var i, u; if (n.has(this)) { console.warn(`${o.PREFIX}previous ${t}() is ongoing, please avoid repeated calls`), (u = (i = this == null ? void 0 : this.getTUICallEngineInstance()) == null ? void 0 : i.reportLog) == null || u.call(i, { name: "TUICallKit.avoidRepeatedCall.fail", data: { name: t }, error: `previous ${t}() is ongoing` }); return; } try { n.add(this); const s = await a.apply(this, l); return n.delete(this), s; } catch (s) { throw n.delete(this), s; } }, e; }; } const KA = o.PREFIX + "API"; function cA(A) { return function(t, e, a) { let n = a.value; return a.value = function(...l) { return ui.call(this, A, l, e), n.apply(this, l); }, a; }; } function ui(A, t, e) { try { if (t[0].SDKAppID || (A = li(A, "SDKAppID", "sdkAppID")), Io(A)) for (let a = 0; a < A.length; a++) wa.call(this, { ...A[a], value: t[a], name: e }); else for (const a in A) A.hasOwnProperty(a) && wa.call(this, { ...A[a], value: t[0][a], name: e, key: a }); } catch (a) { throw console.error(a), a; } } function wa({ required: A, rules: t, range: e, value: a, allowEmpty: n, name: l, key: i }) { if (Et(a)) { if (A) throw new Error(`${KA}<${l}>: ${i} is required.`); return; } const u = t.some((r) => r === oi(a)); let s = ""; if (!u) { for (let r = 0; r < t.length; r++) { let M = t[r]; M = M.replace(M[0], M[0].toUpperCase()), s += `${M}/`; } throw s = s.substring(0, s.length - 1), new Error(`${KA}<${l}>: ${i} must be ${s}, current ${i} is ${typeof a}.`); } if (n === !1 && Pt(a) && a.trim() === "") throw new Error(`${KA}<${l}>: ${i} is blank.`); if (Io(e) && e && e.indexOf(a) === -1) throw new Error(`${KA}<${l}>: ${i} error, only be ${e}, current ${i} is ${a}.`); if (Pt(e) && e.indexOf("~") !== -1) { const r = e.split("~"); if (a < +r[0] || a > +r[1] || go(a) && Number.isNaN(a)) throw new Error(`${KA}<${l}>: ${i} error, only be ${e}, current ${i} is ${a}.`); } } const rA = { init: { SDKAppID: { required: !0, rules: [o.NUMBER], allowEmpty: !1 }, userID: { required: !0, rules: [o.STRING], allowEmpty: !1 }, userSig: { required: !0, rules: [o.STRING], allowEmpty: !1 }, tim: { required: !1, rules: [o.OBJECT] } }, call: { userID: { required: !0, rules: [o.STRING], allowEmpty: !1 }, type: { required: !0, rules: [o.NUMBER], range: [1, 2], allowEmpty: !1 }, roomID: { required: !1, rules: [o.NUMBER], range: `0~${va}`, allowEmpty: !1 }, strRoomID: { required: !1, rules: [o.STRING], allowEmpty: !0 }, userData: { required: !1, rules: [o.STRING], allowEmpty: !1 }, timeout: { required: !1, rules: [o.NUMBER], allowEmpty: !1 } }, groupCall: { userIDList: { required: !0, rules: [o.ARRAY], allowEmpty: !1 }, type: { required: !0, rules: [o.NUMBER], range: [1, 2], allowEmpty: !1 }, groupID: { required: !0, rules: [o.STRING], allowEmpty: !1 }, roomID: { required: !1, rules: [o.NUMBER], range: `0~${va}`, allowEmpty: !1 }, strRoomID: { required: !1, rules: [o.STRING], allowEmpty: !0 }, timeout: { required: !1, rules: [o.NUMBER], allowEmpty: !1 }, userData: { required: !1, rules: [o.STRING], allowEmpty: !1 }, offlinePushInfo: { required: !1, rules: [o.OBJECT], allowEmpty: !1 } }, joinInGroupCall: { type: { required: !0, rules: [o.NUMBER], range: [1, 2], allowEmpty: !1 }, groupID: { required: !0, rules: [o.STRING], allowEmpty: !1 }, roomID: { required: !0, rules: [o.NUMBER], allowEmpty: !1 }, strRoomID: { required: !1, rules: [o.STRING], allowEmpty: !0 } }, inviteUser: { userIDList: { required: !0, rules: [o.ARRAY], allowEmpty: !1 } }, setSelfInfo: { nickName: { required: !1, rules: [o.STRING], allowEmpty: !1 }, avatar: { required: !1, rules: [o.STRING], allowEmpty: !1 } }, enableFloatWindow: [ { key: "enable", required: !1, rules: [o.BOOLEAN], allowEmpty: !1 } ], enableAIVoice: [ { key: "enable", required: !0, rules: [o.BOOLEAN], allowEmpty: !1 } ], enableMuteMode: [ { key: "enable", required: !0, rules: [o.BOOLEAN], allowEmpty: !1 } ], setCallingBell: [ { key: "filePath", required: !1, rules: [o.STRING], allowEmpty: !0 } ], setLanguage: [ { key: "language", required: !0, rules: [o.STRING], allowEmpty: !1 } ], setVideoDisplayMode: [ { key: "displayMode", required: !0, rules: [o.STRING], range: [ne.CONTAIN, ne.COVER, ne.FILL], allowEmpty: !1 } ], setVideoResolution: [ { key: "resolution", required: !0, rules: [o.STRING], range: [oe.RESOLUTION_1080P, oe.RESOLUTION_480P, oe.RESOLUTION_720P], allowEmpty: !1 } ] }; function ht(A) { return function(t, e, a) { let n = a.value; return a.value = function(...l) { return ci.call(this, A, l, e), n.apply(this, l); }, a; }; } function ci(A) { if ((A == null ? void 0 : A.engineInstance) && !this._tuiCallEngine) { const t = `${o.PREFIX} ${v("TUICallKit init is not complete")}`; throw console.error(t), t; } } class ri { constructor() { this.defaultStore = { callStatus: U.IDLE, callRole: K.UNKNOWN, callMediaType: F.UNKNOWN, localUserInfo: { userId: "" }, localUserInfoExcludeVolume: { userId: "" }, remoteUserInfoList: [], remoteUserInfoExcludeVolumeList: [], callerUserInfo: { userId: "" }, isGroup: !1, callDuration: "00:00:00", callTips: "", toastInfo: { text: "" }, isMinimized: !1, enableFloatWindow: !1, bigScreenUserId: "", language: ni(), isClickable: !1, deviceList: { cameraList: [], microphoneList: [], currentCamera: {}, currentMicrophone: {} }, showPermissionTip: !1, netWorkQualityList: [], isMuteSpeaker: !1, groupID: "", roomID: 0, roomIdType: 0, cameraPosition: le.FRONT, groupCallMembers: [], displayMode: ne.COVER, videoResolution: oe.RESOLUTION_480P, showSelectUser: !1, pusher: {}, player: [], isEarPhone: !1, pusherId: o.INITIAL_PUSHER, isShowEnableVirtualBackground: !1, enableVirtualBackground: !1, customUIConfig: { button: {}, viewBackground: {}, layoutMode: et.RemoteInLargeView } }, this.store = tt(this.defaultStore), this.prevStore = tt(this.defaultStore); } update(t, e) { switch (t) { case o.CALL_TIPS: const a = this.getData(t); this.prevStore[t] = a; default: this.store[t] = e; } } getPrevData(t) { return t ? this.prevStore[t] : this.prevStore; } getData(t) { return t ? this.store[t] : this.store; } reset(t = []) { t.length === 0 && (t = Object.keys(this.store)); const e = t.reduce((a, n) => ({ ...a, [n]: this.defaultStore[n] }), {}); this.store = { ...this.defaultStore, ...this.store, ...e }; } } class yA { constructor() { this.timerId = -1, this.storeMap = { [c.CALL]: new ri() }, this.task = {}; } static getInstance() { return yA.instance || (yA.instance = new yA()), yA.instance; } watch(t, e, a) { this.task[t] || (this.task[t] = {}); const n = this.task[t]; Object.keys(e).forEach((l) => { const i = e[l]; n[l] || (n[l] = /* @__PURE__ */ new Map()), n[l].set(i, 1); const { notifyRangeWhenWatch: u } = a || {}; if (u === o.ALL && this.notify(t, l), u === o.MYSELF) { const s = this.getData(t, l); i.call(this, s); } }); } unwatch(t, e) { if (!this.task[t]) return; const a = this.task[t]; Object.keys(e).forEach((n) => { a[n].delete(e[n]); }); } update(t, e, a) { var n; (Pt(a) || go(a) || ei(a)) && this.storeMap[t].store[e] === a || ((n = this.storeMap[t]) == null || n.update(e, a), this.notify(t, e)); } getPrevData(t, e) { var a; return (a = this.storeMap[t]) == null ? void 0 : a.getPrevData(e); } getData(t, e) { var a; return (a = this.storeMap[t]) == null ? void 0 : a.getData(e); } notify(t, e) { if (!this.task[t]) return; const a = this.task[t]; if (a[e]) { const n = a[e], l = this.getData(t, e); for (const [i] of n.entries()) i.call(this, l); } } reset(t, e = [], a = !1) { if (t in this.storeMap) { const n = this.storeMap[t]; e.length === 0 && (e = Object.keys(n == null ? void 0 : n.store)), n.reset(e), a && e.forEach((l) => { this.notify(t, l); }); } } updateStore(t, e) { const a = e || c.CALL; Object.keys(t).forEach((n) => { this.update(a, n, t[n]); }); } } const W = yA.getInstance(); function Wt(A, t) { const e = { userId: A, nick: "", avatar: "", remark: "", displayUserInfo: "", isAudioAvailable: !1, isVideoAvailable: !1, isEnter: !1, domId: t || A }; return t ? e : { ...e, isEnter: !1 }; } async function Mi(A, t) { var a, n, l, i, u; let e = Wt(A, o.LOCAL_VIDEO); try { if (!t) return e; const s = await t.getMyProfile(), r = W == null ? void 0 : W.getData(c.CALL, o.LOCAL_USER_INFO); return (s == null ? void 0 : s.code) === 0 && (e = { ...e, ...r, userId: (a = s == null ? void 0 : s.data) == null ? void 0 : a.userID, nick: (n = s == null ? void 0 : s.data) == null ? void 0 : n.nick, avatar: (l = s == null ? void 0 : s.data) == null ? void 0 : l.avatar, displayUserInfo: ((i = s == null ? void 0 : s.data) == null ? void 0 : i.nick) || ((u = s == null ? void 0 : s.data) == null ? void 0 : u.userID) }), e; } catch (s) { return console.error(`${o.PREFIX}getMyProfile failed, error: ${s}.`), e; } } async function ie(A, t) { let e = A.map((a) => Wt(a)); try { if (!t) return e; const a = await t.getFriendProfile({ userIDList: A }); if (a.code === 0) { const { friendList: n = [], failureUserIDList: l = [] } = a.data; let i = l.map((M) => M.userID); if (l.length > 0) { const M = await t.getUserProfile({ userIDList: l.map((D) => D.userID) }); (M == null ? void 0 : M.code) === 0 && (i = (M == null ? void 0 : M.data) || []); } const u = W == null ? void 0 : W.getData(c.CALL, o.REMOTE_USER_INFO_LIST), s = n.map((M) => M.userID), r = i.map((M) => M.userID); e = A.map((M) => { var L, m, k, _, Z, b, P; const D = Wt(M), g = s.indexOf(M), N = r.indexOf(M); let y = "", T = "", C = "", E = ""; g !== -1 && (y = ((L = n[g]) == null ? void 0 : L.remark) || "", T = ((k = (m = n[g]) == null ? void 0 : m.profile) == null ? void 0 : k.nick) || "", C = y || T || D.userId || "", E = ((Z = (_ = n[g]) == null ? void 0 : _.profile) == null ? void 0 : Z.avatar) || ""), N !== -1 && (T = ((b = i[N]) == null ? void 0 : b.nick) || "", C = T || D.userId || "", E = ((P = i[N]) == null ? void 0 : P.avatar) || ""); const w = u.find((AA) => AA.userId === M) || {}; return { ...D, ...w, remark: y, nick: T, displayUserInfo: C, avatar: E }; }); } return e; } catch (a) { return console.error(`${o.PREFIX}getRemoteUserProfile failed, error: ${a}.`), e; } } function vA(A, t, e) { const a = W.getData(c.CALL, o.IS_GROUP); let n = `${v(A)}`; return a && (n = t ? `${t} ${n}` : n, n = e ? `${n} ${e}` : n), n; } function _e() { const A = W.getData(c.CALL, o.CALL_STATUS); if (A === U.IDLE) return nA.IDLE; const t = W.getData(c.CALL, o.IS_GROUP); if (A === U.CALLING) return t ? nA.DIALING_GROUP : nA.DIALING_C2C; const e = W.getData(c.CALL, o.CALL_MEDIA_TYPE); return t ? e === F.AUDIO ? nA.CALLING_GROUP_AUDIO : nA.CALLING_GROUP_VIDEO : e === F.AUDIO ? nA.CALLING_C2C_AUDIO : nA.CALLING_C2C_VIDEO; } async function di(A, t, e, a) { let n = []; try { const l = await t.getGroupMemberList({ groupID: A, count: e, offset: a }); if (l.code === 0) return l.data.memberList || n; } catch (l) { return console.error(`${o.PREFIX}getGroupMember failed, error: ${l}.`), n; } } async function Ii(A, t) { let e = {}; try { return (await t.getGroupProfile({ groupID: A })).data.group || e; } catch (a) { return console.warn(`${o.PREFIX}getGroupProfile failed, error: ${a}.`), e; } } function po(A, t) { A === 0 && t ? (W.update(c.CALL, o.ROOM_ID, t), W.update(c.CALL, o.ROOM_ID_TYPE, kt.STRING_ROOM_ID)) : (W.update(c.CALL, o.ROOM_ID, A), W.update(c.CALL, o.ROOM_ID_TYPE, kt.NUMBER_ROOM_ID)); } function DA(A) { return A || {}; } function xt(A) { if (A.length === 0) return; let t = W.getData(c.CALL, o.REMOTE_USER_INFO_LIST); A.forEach((e) => { t = t.filter((a) => a.userId !== e); }), W.update(c.CALL, o.REMOTE_USER_INFO_LIST, t), W.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, t); } function Vt(A) { A == null || A.getDeviceList("speaker").then((e) => { const a = W.getData(c.CALL, o.DEVICE_LIST), n = (e == null ? void 0 : e[0]) || {}; W.update( c.CALL, o.DEVICE_LIST, { ...a, speakerList: e, currentSpeaker: n } ); }).catch((e) => { console.error(`${o.PREFIX}updateSpeakerList failed, error: ${JSON.stringify(e)}.`); }), W.getData(c.CALL, o.CALL_MEDIA_TYPE) === F.VIDEO && (A == null || A.getDeviceList("camera").then((e) => { const a = W.getData(c.CALL, o.DEVICE_LIST), n = (e == null ? void 0 : e[0]) || {}; W.update( c.CALL, o.DEVICE_LIST, { ...a, cameraList: e, currentCamera: n } ); }).catch((e) => { console.error(`${o.PREFIX}updateCameraList failed, error: ${e}.`); })), A == null || A.getDeviceList("microphones").then((e) => { const a = W.getData(c.CALL, o.DEVICE_LIST), n = (e == null ? void 0 : e[0]) || {}; W.update( c.CALL, o.DEVICE_LIST, { ...a, microphoneList: e, currentMicrophone: n } ); }).catch((e) => { console.error(`${o.PREFIX}updateMicrophoneList failed, error: ${e}.`); }); } function bt(A, t, e) { if (ai(A)) { let a = ""; t === F.AUDIO && (a = vA(sA.NO_MICROPHONE_DEVICE_PERMISSION)), t === F.VIDEO && (a = vA(sA.NO_CAMERA_DEVICE_PERMISSION)); const n = e == null ? void 0 : e.getDevicePermission(); n != null && n.audio || W.update(c.CALL, o.SHOW_PERMISSION_TIP, !0), a && W.update(c.CALL, o.TOAST_INFO, { text: a, type: o.ERROR }), console.error(`${o.PREFIX}call failed, error: ${A.message}.`); } } function FA(A, t) { let e = W.getData(c.CALL, o.LOCAL_USER_INFO); t === o.AUDIO && (e = { ...e, isAudioAvailable: A }), t === o.VIDEO && (e = { ...e, isVideoAvailable: A }), W.update(c.CALL, o.LOCAL_USER_INFO, e), W.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, e); } class nt { static generateTaskID() { return this.currentTaskID++; } static run(t = o.TIMEOUT, e, a) { t === o.INTERVAL ? a = { delay: 2e3, count: 0, backgroundTask: !0, ...a } : a = { delay: 2e3, count: 0, backgroundTask: !0, ...a }, Mo(e) && (a = { ...a, ...e }), $e(t) && (e = t, t = o.TIMEOUT); const n = { taskID: this.generateTaskID(), loopCount: 0, intervalID: null, timeoutID: null, taskName: t, callback: e, ...a }; return this.taskMap.set(n.taskID, n), t === o.INTERNAL ? this.interval(n) : this.timeout(n), n.taskID; } static interval(t) { const e = () => { t.callback(), t.loopCount += 1, this.isBreakLoop(t); }; return t.intervalID = setInterval(e, t.delay); } static timeout(t) { const e = () => { if (t.callback(), t.loopCount += 1, !this.isBreakLoop(t)) return t.timeoutID = setTimeout(e, t.delay); }; return t.timeoutID = setTimeout(e, t.delay); } static hasTask(t) { return this.taskMap.has(t); } static clearTask(t) { if (!this.taskMap.has(t)) return !0; const { intervalID: e, timeoutID: a, onVisibilitychange: n } = this.taskMap.get(t); return e && clearInterval(e), a && clearTimeout(a), n && document.removeEventListener("visibilitychange", n), this.taskMap.delete(t), !0; } static isBreakLoop(t) { return this.taskMap.has(t.taskID) ? t.count !== 0 && t.loopCount >= t.count ? (this.clearTask(t.taskID), !0) : !1 : !0; } } nt.taskMap = /* @__PURE__ */ new Map(); nt.currentTaskID = 1; const gi = function(A) { if (A === null || typeof A > "u") return !0; if (typeof A == "boolean") return !1; if (typeof A == "number") return A === 0; if (typeof A == "string" || typeof A == "function" || Array.isArray(A)) return A.length === 0; if (A instanceof Error) return A.message === ""; if (Mo(A)) { for (const t in A) if (Object.prototype.hasOwnProperty.call(A, t)) return !1; return !0; } return !1; }, Bt = "_local_user_id"; class PA { constructor() { this._viewConfig = { viewBackground: { local: {}, remote: {} } }, this._isSetViewBackgroundConfig = { remote: !1, local: !1 }, this._tuiCallEngine = null, this._tuiStore = null; } static getInstance() { return PA.instance || (PA.instance = new PA()), PA.instance; } _updateViewBackground() { var a, n, l; const t = (a = this._tuiStore) == null ? void 0 : a.getData(c.CALL, o.CUSTOM_UI_CONFIG), { userId: e } = (n = this._tuiStore) == null ? void 0 : n.getData(c.CALL, o.LOCAL_USER_INFO); Object.keys(this._viewConfig.viewBackground.remote).includes(e) && delete this._viewConfig.viewBackground.remote[e], (l = this._tuiStore) == null || l.update( c.CALL, o.CUSTOM_UI_CONFIG, { ...t, viewBackground: { ...this._viewConfig.viewBackground.remote, ...this._viewConfig.viewBackground.local } } ); } setEngineInstance(t) { this._tuiCallEngine = t; } setTUIStore(t) { this._tuiStore = t; } updateViewBackgroundUserId(t) { var e, a; if (t === "local") { const { userId: n } = (e = this._tuiStore) == null ? void 0 : e.getData(c.CALL, o.LOCAL_USER_INFO); if (Object.keys(this._viewConfig.viewBackground.remote).includes(n) && (delete this._viewConfig.viewBackground.remote[n], this._updateViewBackground()), !this._isSetViewBackgroundConfig.local) return; const l = this._viewConfig.viewBackground.local, i = l[n] || l[Bt]; l[n] = l[Bt], this._viewConfig.viewBackground.local = { [n]: i }, this._updateViewBackground(); } else { let n = this._viewConfig.viewBackground.remote; this._isSetViewBackgroundConfig.remote && Object.keys(n).includes("*") && (((a = this._tuiStore) == null ? void 0 : a.getData(c.CALL, o.REMOTE_USER_INFO_LIST)).map((u) => u.userId).forEach((u) => { Object.keys(n).includes(u) || (n[u] = n["*"]); }), this._viewConfig.viewBackground.remote = n, this._updateViewBackground()); } } hideFeatureButton(t) { var a, n, l, i, u; (n = (a = this._tuiCallEngine) == null ? void 0 : a.reportLog) == null || n.call(a, { name: "TUICallKit.hideFeatureButton.start", data: { buttonName: t } }); const e = (l = this._tuiStore) == null ? void 0 : l.getData(c.CALL, o.CUSTOM_UI_CONFIG); (u = this._tuiStore) == null || u.update( c.CALL, o.CUSTOM_UI_CONFIG, { ...e, button: { ...e.button, [t]: { ...((i = e.button) == null ? void 0 : i[t]) || {}, show: !1 } } } ); } setLocalViewBackgroundImage(t) { var a, n, l; (n = (a = this._tuiCallEngine) == null ? void 0 : a.reportLog) == null || n.call(a, { name: "TUICallKit.setLocalViewBackgroundImage.start", data: { url: t } }), this._isSetViewBackgroundConfig.local = !0; let { userId: e } = (l = this._tuiStore) == null ? void 0 : l.getData(c.CALL, o.LOCAL_USER_INFO); gi(e) && (e = Bt), this._viewConfig.viewBackground.local = { [e]: t }, this._updateViewBackground(); } setRemoteViewBackgroundImage(t, e) { var a, n; (n = (a = this._tuiCallEngine) == null ? void 0 : a.reportLog) == null || n.call(a, { name: "TUICallKit.setRemoteViewBackgroundImage.start", data: { userId: t, url: e } }), this._isSetViewBackgroundConfig.remote = !0, t === "*" && (this._viewConfig.viewBackground.remote = {}), this._viewConfig.viewBackground.remote[t] = e, this._updateViewBackground(); } setLayoutMode(t) { var a, n; (n = (a = this._tuiCallEngine) == null ? void 0 : a.reportLog) == null || n.call(a, { name: "TUICallKit.setLayoutMode.start", data: { layoutMode: t } }); const e = this._tuiStore.getData(c.CALL, o.CUSTOM_UI_CONFIG); this._tuiStore.update( c.CALL, o.CUSTOM_UI_CONFIG, { ...e, layoutMode: t } ); } setCameraDefaultState(t) { var a, n; (n = (a = this._tuiCallEngine) == null ? void 0 : a.reportLog) == null || n.call(a, { name: "TUICallKit.setCameraDefaultState.start", data: { isOpen: t } }); const e = tt(this._tuiStore.getData(c.CALL, o.CUSTOM_UI_CONFIG)); Object.keys(e.button).includes(zA.Camera) || (e.button[zA.Camera] = {}), e.button[zA.Camera].state = t ? JA.Open : JA.Close, this._tuiStore.update(c.CALL, o.CUSTOM_UI_CONFIG, e); } } const qe = yA.getInstance(), TA = { audioCall: () => v("Voice call"), videoCall: () => v("Video call"), switchToAudio: () => v("Switch audio call"), switchToVideo: () => v("Switch video call"), hangup: ({ callDuration: A }) => `${v("Call duration")}\uFF1A${A}` }; class qA { constructor(t) { var e, a, n; this._callService = t.callService, HA.registerEvent(H.TUILogin.EVENT.LOGIN_STATE_CHANGED, H.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS, this), (e = H.TUIChat) != null && e.EVENT && HA.registerEvent((a = H.TUIChat.EVENT) == null ? void 0 : a.CHAT_STATE_CHANGED, (n = H.TUIChat.EVENT_SUB_KEY) == null ? void 0 : n.CHAT_OPENED, this), HA.registerService(H.TUICalling.SERVICE.NAME, this), HA.registerExtension(H.TUIChat.EXTENSION.INPUT_MORE.EXT_ID, this); } static getInstance(t) { return qA.instance || (qA.instance = new qA(t)), qA.instance; } callTUIService(t) { const { message: e } = t || {}; HA.callService({ serviceName: H.TUIChat.SERVICE.NAME, method: H.TUIChat.SERVICE.METHOD.UPDATE_MESSAGE_LIST, params: { message: e } }); } onGetExtension(t, e) { var a, n; if (t === H.TUIChat.EXTENSION.INPUT_MORE.EXT_ID) { if ((n = (a = this._callService.getTUICallEngineInstance()) == null ? void 0 : a.reportLog) == null || n.call(a, { name: "TUICallKit.onGetExtension", data: { extensionID: t, params: e } }), Et(e)) return []; if ([H.TUIChat.TYPE.ROOM, H.TUIChat.TYPE.CUSTOMER_SERVICE].includes(e.chatType)) return []; let l = []; const i = { weight: 1e3, text: "\u8BED\u97F3\u901A\u8BDD", icon: kl, data: { name: "voiceCall" }, listener: { onClicked: async (s) => await this._handleTUICoreOnClick(s, s.type || F.AUDIO) } }, u = { weight: 900, text: "\u89C6\u9891\u901A\u8BDD", icon: Pl, data: { name: "videoCall" }, listener: { onClicked: async (s) => await this._handleTUICoreOnClick(s, s.type || F.VIDEO) } }; return e != null && e.chatType ? l = [i, u] : (!(e != null && e.filterVoice) && l.push(i), !(e != null && e.filterVideo) && l.push(u)), l; } } async onCall(t, e) { t === H.TUICalling.SERVICE.METHOD.START_CALL && await this._handleTUICoreOnClick(e, e.type); } async onNotifyEvent(t, e, a) { var n, l, i, u, s, r, M, D; try { if (t === H.TUILogin.EVENT.LOGIN_STATE_CHANGED) if (e === H.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS) { const { chat: g, userID: N, userSig: y, SDKAppID: T } = Ol.getContext(); await ((n = this._callService) == null ? void 0 : n.init({ tim: g, userID: N, userSig: y, sdkAppID: T, isFromChat: !0, component: _t.TIM_CALL_KIT })), (l = this._callService) == null || l.setIsFromChat(!0), (i = this._callService) == null || i.setLogLevel(io.NORMAL), this._addListenChatEvent(); } else e === H.TUILogin.EVENT_SUB_KEY.USER_LOGOUT_SUCCESS && (this._removeListenChatEvent(), await ((u = this._callService) == null ? void 0 : u.destroyed())); if (((s = H.TUIChat) == null ? void 0 : s.EVENT) && t === H.TUIChat.EVENT.CHAT_STATE_CHANGED && e === H.TUIChat.EVENT_SUB_KEY.CHAT_OPENED) { if ((r = this._callService) == null || r.setCurrentGroupId((a == null ? void 0 : a.groupID) || ""), qe.getData(c.CALL, o.CALL_STATUS) !== U.IDLE) return; const g = (M = this._callService) == null ? void 0 : M.getCurrentGroupId(), N = g ? await this.getGroupAttributes((D = this._callService) == null ? void 0 : D.getTim(), g) : {}; await this.updateStoreBasedOnGroupAttributes(N); } } catch (g) { console.error(`${o.PREFIX}TUICore onNotifyEvent failed, error: ${g}.`); } } async updateStoreBasedOnGroupAttributes(t) { var e, a, n, l; (n = (a = (e = this._callService) == null ? void 0 : e.getTUICallEngineInstance()) == null ? void 0 : a.reportLog) == null || n.call(a, { name: "TUICallKit.getJoinGroupCallInfo.success", data: { groupAttributes: t } }); try { const { group_id: i = "", room_id: u = 0, room_id_type: s = 0, call_media_type: r = o.UNKNOWN, user_list: M } = t[o.INNER_ATTR_KIT_INFO] ? JSON.parse(t[o.INNER_ATTR_KIT_INFO]) : {}; let D = (M || []).map((N) => N.userid); D = D.length && await ie(D, (l = this._callService) == null ? void 0 : l.getTim()); const g = { [o.GROUP_ID]: i, [o.GROUP_CALL_MEMBERS]: D, [o.ROOM_ID]: u, [o.CALL_MEDIA_TYPE]: bl[r], [o.ROOM_ID_TYPE]: s }; qe.updateStore(g, c.CALL); } catch (i) { console.warn(`${o.PREFIX}updateStoreBasedOnGroupAttributes fail, error: ${i}`); } } async getGroupAttributes(t, e) { if (!e) return {}; try { const { data: a } = await t.getGroupAttributes({ groupID: e, keyList: [] }); return (a == null ? void 0 : a.groupAttributes) || {}; } catch (a) { return console.warn(`${o.PREFIX}getGroupAttributes fail: ${a}`), {}; } } isLineBusy(t) { var n; const e = Xe(t.payload.data), a = Xe(e == null ? void 0 : e.data); return (a == null ? void 0 : a.line_busy) === "line_busy" || (a == null ? void 0 : a.line_busy) === "" || ((n = a == null ? void 0 : a.data) == null ? void 0 : n.message) === "lineBusy"; } async getCallKitMessage(t, e) { var g, N, y, T; const a = Xe(t.payload.data); if ((a == null ? void 0 : a.businessID) !== 1) return {}; let n = ""; const l = Xe(a == null ? void 0 : a.data), i = l.call_type, u = a.inviteeList, s = (g = l == null ? void 0 : l.data) == null ? void 0 : g.inviter, r = qe.getData(c.CALL, o.LOCAL_USER_INFO).userId, M = s === r, D = (N = l == null ? void 0 : l.data) == null ? void 0 : N.cmd; switch (a == null ? void 0 : a.actionType) { case XA.INVITE: { n = TA[D]({ callDuration: No(l == null ? void 0 : l.call_end) }); break; } case XA.CANCEL_INVITE: n = v(M ? "Call Cancel" : "Other Side Cancel"); break; case XA.ACCEPT_INVITE: ["switchToAudio", "switchToVideo"].includes(D) ? n = (y = TA == null ? void 0 : TA[D]) == null ? void 0 : y.call(TA) : n = v("Answered"); break; case XA.REJECT_INVITE: this.isLineBusy(t) ? n = v(M ? "Line Busy" : "Other Side Line Busy") : n = v(M ? "Other Side Decline" : "Decline"); break; case XA.INVITE_TIMEOUT: ["switchToAudio", "switchToVideo"].includes(D) ? n = (T = TA == null ? void 0 : TA[D]) == null ? void 0 : T.call(TA) : n = v(M ? "Other Side No Answer" : "No answer"); break; } return { messageCardContent: n, callMediaType: i, inviteeList: u }; } _addListenChatEvent() { var t, e; if (!((t = this._callService) != null && t.getTim())) { console.warn(`${o.PREFIX}add tim event listener failed, tim is empty.`); return; } (e = this._callService) == null || e.getTim().on(ma.EVENT.GROUP_ATTRIBUTES_UPDATED, this._handleGroupAttributesUpdated, this); } _removeListenChatEvent() { var t, e; if (!((t = this._callService) != null && t.getTim())) { console.warn(`${o.PREFIX}remove tim event listener failed, tim is empty.`); return; } (e = this._callService) == null || e.getTim().off(ma.EVENT.GROUP_ATTRIBUTES_UPDATED, this._handleGroupAttributesUpdated, this); } async _handleTUICoreOnClick(t, e) { var a, n; try { const { groupID: l, userIDList: i = [], ...u } = t; l ? await ((a = this._callService) == null ? void 0 : a.groupCall({ groupID: l, userIDList: i, type: e, ...u })) : i.length === 1 && await ((n = this._callService) == null ? void 0 : n.call({ userID: i[0], type: e, ...u })); } catch (l) { console.debug(l); } } async _handleGroupAttributesUpdated(t) { var l; if (qe.getData(c.CALL, o.CALL_STATUS) !== U.IDLE) return; const e = (t == null ? void 0 : t.data) || {}, { groupID: a = "", groupAttributes: n = {} } = e; a === ((l = this._callService) == null ? void 0 : l.getCurrentGroupId()) && await this.updateStoreBasedOnGroupAttributes(n); } } const Ni = 0, pi = 1, Oa = 2; function Di({ retryFunction: A, settings: t, onError: e, onRetrying: a, onRetryFailed: n, context: l }) { return function(...i) { const u = t.retries || 5; let s = 0, r = -1, M = Ni; const D = async (g, N) => { const y = l || this; try { const T = await A.apply(y, i); s = 0, g(T); } catch (T) { const C = () => { clearTimeout(r), s = 0, M = Oa, N(T); }, E = () => { M !== Oa && s < u ? (s++, M = pi, $e(a) && a.call(y, s, C), r = setTimeout( () => { r = -1, D(g, N); }, Et(t.timeout) ? 1e3 : t.timeout )) : (C(), $e(n) && n.call(y, T)); }; $e(e) ? e.call(y, T, E, N, i) : E(); } }; return new Promise(D); }; } function Ti(A) { return function(t, e, a) { const { retries: n = 5, timeout: l = 2e3, onError: i, onRetrying: u, onRetryFailed: s } = A, r = Di({ retryFunction: a.value, settings: { retries: n, timeout: l }, onError: i, onRetrying: u, onRetryFailed: s, context: null }); return a.value = function(...M) { return r.apply(this, M); }, a; }; } var Ci = Object.defineProperty, yi = Object.getOwnPropertyDescriptor, Si = (A, t, e, a) => { for (var n = a > 1 ? void 0 : a ? yi(t, e) : t, l = A.length - 1, i; l >= 0; l--) (i = A[l]) && (n = (a ? i(t, e, n) : i(n)) || n); return a && n && Ci(t, e, n), n; }; const V = yA.getInstance(), Ei = PA.getInstance(), ee = class { constructor(A) { this._callService = A.callService; } static getInstance(A) { return ee.instance || (ee.instance = new ee(A)), ee.instance; } addListenTuiCallEngineEvent() { var t; const A = (t = this._callService) == null ? void 0 : t.getTUICallEngineInstance(); if (!A) { console.warn(`${o.PREFIX}add engine event listener failed, engine is empty.`); return; } A.on(f.ERROR, this._handleError, this), A.on(f.INVITED, this._handleNewInvitationReceived, this), A.on(f.USER_ACCEPT, this._handleUserAccept, this), A.on(f.USER_ENTER, this._handleUserEnter, this), A.on(f.USER_LEAVE, this._handleUserLeave, this), A.on(f.REJECT, this._handleInviteeReject, this), A.on(f.NO_RESP, this._handleNoResponse, this), A.on(f.LINE_BUSY, this._handleLineBusy, this), A.on(f.CALLING_CANCEL, this._handleCallingCancel, this), A.on(f.SDK_READY, this._handleSDKReady, this), A.on(f.KICKED_OUT, this._handleKickedOut, this), A.on(f.MESSAGE_SENT_BY_ME, this._messageSentByMe, this), f.CALL_MESSAGE && A.on(f.CALL_MESSAGE, this._handleCallMessage, this), f.ON_USER_NETWORK_QUALITY_CHANGED && A.on(f.ON_USER_NETWORK_QUALITY_CHANGED, this._handleNetworkQuality, this), A.on(f.CALLING_END, this._handleCallingEnd, this), A.on(f.CALL_TYPE_CHANGED, this._handleCallTypeChange, this), A.on(f.USER_VIDEO_AVAILABLE, this._handleUserVideoAvailable, this), A.on(f.USER_AUDIO_AVAILABLE, this._handleUserAudioAvailable, this), A.on(f.USER_VOICE_VOLUME, this._handleUserVoiceVolume, this), A.on(f.DEVICED_UPDATED, this._handleDeviceUpdate, this); } removeListenTuiCallEngineEvent() { var t; const A = (t = this._callService) == null ? void 0 : t.getTUICallEngineInstance(); A.off(f.ERROR, this._handleError, this), A.off(f.INVITED, this._handleNewInvitationReceived, this), A.off(f.USER_ACCEPT, this._handleUserAccept, this), A.off(f.USER_ENTER, this._handleUserEnter, this), A.off(f.USER_LEAVE, this._handleUserLeave, this), A.off(f.REJECT, this._handleInviteeReject, this), A.off(f.NO_RESP, this._handleNoResponse, this), A.off(f.LINE_BUSY, this._handleLineBusy, this), A.off(f.CALLING_CANCEL, this._handleCallingCancel, this), A.off(f.SDK_READY, this._handleSDKReady, this), A.off(f.KICKED_OUT, this._handleKickedOut, this), A.off(f.MESSAGE_SENT_BY_ME, this._messageSentByMe, this), f.ON_USER_NETWORK_QUALITY_CHANGED && A.off(f.ON_USER_NETWORK_QUALITY_CHANGED, this._handleNetworkQuality, this), A.off(f.CALLING_END, this._handleCallingEnd, this), A.off(f.CALL_TYPE_CHANGED, this._handleCallTypeChange, this), A.off(f.USER_VIDEO_AVAILABLE, this._handleUserVideoAvailable, this), A.off(f.USER_AUDIO_AVAILABLE, this._handleUserAudioAvailable, this), A.off(f.USER_VOICE_VOLUME, this._handleUserVoiceVolume, this), A.off(f.DEVICED_UPDATED, this._handleDeviceUpdate, this); } _callerChangeToConnected() { var e; const A = V.getData(c.CALL, o.CALL_ROLE); V.getData(c.CALL, o.CALL_STATUS) === U.CALLING && A === K.CALLER && (V.update(c.CALL, o.CALL_STATUS, U.CONNECTED), (e = this._callService) == null || e.startTimer()); } _unNormalEventsManager(A, t) { var n; console.log(`${o.PREFIX}${t} event data: ${JSON.stringify(A)}.`); const e = V.getData(c.CALL, o.IS_GROUP), a = V.getData(c.CALL, o.REMOTE_USER_INFO_LIST); switch (t) { case f.REJECT: case f.LINE_BUSY: { const { userID: l } = DA(A); let i = t === f.REJECT ? sA.OTHER_SIDE_REJECT_CALL : sA.OTHER_SIDE_LINE_BUSY, u = vA(i); if (e) { const s = (a.find((r) => r.userId === l) || {}).displayUserInfo || l; i = t === f.REJECT ? sA.REJECT_CALL : sA.IN_BUSY, u = vA(i, s); } V.update(c.CALL, o.TOAST_INFO, { text: u }), l && xt([l]); break; } case f.NO_RESP: { const { userIDList: l = [] } = DA(A), i = e ? sA.TIMEOUT : sA.CALL_TIMEOUT, u = l.map((r) => (a.find((D) => D.userId === r) || {}).displayUserInfo || r), s = e ? vA(i, u.join()) : vA(i); V.update(c.CALL, o.TOAST_INFO, { text: s }), l.length > 0 && xt(l); break; } case f.CALLING_CANCEL: { (n = this._callService) == null || n._resetCallStore(); break; } } } _handleError(A) { var l; const { code: t, message: e } = A || {}, a = Object.values(ja).indexOf(t); let n = ""; if (a !== -1) { const i = Object.keys(ja)[a]; n = v(Bl[i]), n && V.update(c.CALL, o.TOAST_INFO, { text: n, type: o.ERROR }); } (l = this._callService) == null || l.executeExternalAfterCalling(), console.error(`${o.PREFIX}_handleError, errorCode: ${t}; errorMessage: ${n || e}.`); } async _handleNewInvitationReceived(A) { var C, E, w, L; console.log(`${o.PREFIX}onCallReceived event data: ${JSON.stringify(A)}.`); const { sponsor: t = "", isFromGroup: e, callMediaType: a, inviteData: n = {}, calleeIdList: l = [], groupID: i = "", roomID: u, strRoomID: s } = DA(A), r = V.getData(c.CALL, o.LOCAL_USER_INFO), M = [t, ...l.filter((m) => m !== r.userId)], D = a || n.callType, g = D === F.AUDIO ? sA.CALLEE_CALLING_AUDIO_MSG : sA.CALLEE_CALLING_VIDEO_MSG; let N = { [o.CALL_ROLE]: K.CALLEE, [o.IS_GROUP]: e, [o.CALL_STATUS]: U.CALLING, [o.CALL_MEDIA_TYPE]: D, [o.CALL_TIPS]: v(g), [o.CALLER_USER_INFO]: { userId: t }, [o.GROUP_ID]: i }; po(u, s), V.updateStore(N, c.CALL), (C = this._callService) == null || C.executeExternalBeforeCalling(), (E = this._callService) != null && E.statusChanged && ((w = this._callService) == null || w.statusChanged({ oldStatus: nA.IDLE, newStatus: nA.BE_INVITED })); const y = await ie(M, (L = this._callService) == null ? void 0 : L.getTim()), [T] = y.filter((m) => m.userId === t); y.length > 0 && V.updateStore({ [o.REMOTE_USER_INFO_LIST]: y, [o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST]: y, [o.CALLER_USER_INFO]: { userId: t, nick: (T == null ? void 0 : T.nick) || "", avatar: (T == null ? void 0 : T.avatar) || "", displayUserInfo: (T == null ? void 0 : T.remark) || (T == null ? void 0 : T.nick) || t } }, c.CALL); } _handleUserAccept(A) { this._callerChangeToConnected(), V.update(c.CALL, o.TOAST_INFO, v("answered")), console.log(`${o.PREFIX}accept event data: ${JSON.stringify(A)}.`); } async _handleUserEnter(A) { var l; this._callerChangeToConnected(); const { userID: t, data: e } = DA(A); let a = V.getData(c.CALL, o.REMOTE_USER_INFO_LIST); if (!a.find((i) => (i == null ? void 0 : i.userId) === t)) { a.push({ userId: t }), a.length > 0 && (V.update(c.CALL, o.REMOTE_USER_INFO_LIST, a), V.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, a)); const [i] = await ie([t], (l = this._callService) == null ? void 0 : l.getTim()); a = V.getData(c.CALL, o.REMOTE_USER_INFO_LIST), a.forEach((u) => { (u == null ? void 0 : u.userId) === t && (u = Object.assign(u, i)); }); } a = a.map((i) => (i.userId === t && (i.isEnter = !0), i)), a.length > 0 && (V.update(c.CALL, o.REMOTE_USER_INFO_LIST, a), V.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, a), Ei.updateViewBackgroundUserId("remote")), console.log(`${o.PREFIX}userEnter event data: ${JSON.stringify(A)}.`); } _handleUserLeave(A) { console.log(`${o.PREFIX}userLeave event data: ${JSON.stringify(A)}.`); const { data: t, userID: e } = DA(A); if (V.getData(c.CALL, o.IS_GROUP)) { const n = (V.getData(c.CALL, o.REMOTE_USER_INFO_LIST).find((i) => i.userId === e) || {}).displayUserInfo || e, l = vA(sA.END_CALL, n); V.update(c.CALL, o.TOAST_INFO, { text: l }); } e && xt([e]); } _handleInviteeReject(A) { this._unNormalEventsManager(A, f.REJECT); } _handleNoResponse(A) { this._unNormalEventsManager(A, f.NO_RESP); } _handleLineBusy(A) { this._unNormalEventsManager(A, f.LINE_BUSY); } _handleCallingCancel(A) { var t; (t = this._callService) == null || t.executeExternalAfterCalling(), this._unNormalEventsManager(A, f.CALLING_CANCEL); } _handleCallingEnd(A) { var t, e; console.log(`${o.PREFIX}callEnd event data: ${JSON.stringify(A)}.`), (t = this._callService) == null || t.executeExternalAfterCalling(), (e = this._callService) == null || e._resetCallStore(); } async _handleSDKReady(A) { var e, a, n; let t = V.getData(c.CALL, o.LOCAL_USER_INFO); t = await Mi(t.userId, (e = this._callService) == null ? void 0 : e.getTim()), (n = this._callService) == null || n.setDefaultOfflinePushInfo({ ...(a = this._callService) == null ? void 0 : a.getDefaultOfflinePushInfo(), title: t == null ? void 0 : t.displayUserInfo }), V.update(c.CALL, o.LOCAL_USER_INFO, t), V.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, t); } _handleKickedOut(A) { var t, e, a; console.log(`${o.PREFIX}kickOut event data: ${JSON.stringify(A)}.`), (t = this._callService) != null && t.kickedOut && ((e = this._callService) == null || e.kickedOut(A)), V.update(c.CALL, o.CALL_TIPS, vA(sA.KICK_OUT)), (a = this._callService) == null || a._resetCallStore(); } _messageSentByMe(A) { var e, a; const t = A == null ? void 0 : A.data; (e = this._callService) != null && e.onMessageSentByMe && ((a = this._callService) == null || a.onMessageSentByMe(t)); } _handleCallMessage(A) { const t = DA(A); this._callService._chatCombine.callTUIService({ message: t }); } _handleCallTypeChange(A) { const { newCallType: t, type: e } = DA(A); V.update(c.CALL, o.CALL_MEDIA_TYPE, t || e); } _handleNetworkQuality(A) { const { networkQualityList: t = [] } = DA(A); V.update(c.CALL, o.NETWORK_STATUS, t); const e = V.getData(c.CALL, o.IS_GROUP), a = V.getData(c.CALL, o.LOCAL_USER_INFO); if (V.getData(c.CALL, o.REMOTE_USER_INFO_LIST), !e && t.find((l) => (a == null ? void 0 : a.userId) === (l == null ? void 0 : l.userId) && (l == null ? void 0 : l.quality) >= Gl)) { V.update(c.CALL, o.CALL_TIPS, v(sA.LOCAL_NETWORK_IS_POOR)); return; } } async _startRemoteView(A) { var t; if (!A) { console.warn(`${o.PREFIX}_startRemoteView userID is empty`); return; } if (!document.getElementById(A)) return console.warn(`${o.PREFIX}_startRemoteView can't find HTMLElement sid: ${A}`), Promise.reject(); try { const e = V.getData(c.CALL, o.DISPLAY_MODE); await ((t = this._callService) == null ? void 0 : t.getTUICallEngineInstance().startRemoteView({ userID: A, videoViewDomID: A, options: { objectFit: e } })); } catch (e) { return console.error(`${o.PREFIX}_startRemoteView error: ${e}.`), Promise.reject(e); } } _setRemoteUserInfoAudioVideoAvailable(A, t, e) { let a = V.getData(c.CALL, o.REMOTE_USER_INFO_LIST); a = a.map((n) => { if (n.userId === e) { if (t === o.AUDIO) return { ...n, isAudioAvailable: A }; if (t === o.VIDEO) return { ...n, isVideoAvailable: A }; } return n; }), a.length > 0 && (V.update(c.CALL, o.REMOTE_USER_INFO_LIST, a), V.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, a)); } async _handleUserVideoAvailable(A) { const { userID: t, isVideoAvailable: e } = DA(A); console.log(`${o.PREFIX}_handleUserVideoAvailable event data: ${JSON.stringify(A)}.`); try { e && await this._startRemoteView(t); } catch (a) { console.error(`${o.PREFIX}_startRemoteView failed, error: ${a}.`); } this._setRemoteUserInfoAudioVideoAvailable(e, o.VIDEO, t); } _handleUserAudioAvailable(A) { const { userID: t, isAudioAvailable: e } = DA(A); console.log(`${o.PREFIX}_handleUserAudioAvailable event data: ${JSON.stringify(A)}.`), this._setRemoteUserInfoAudioVideoAvailable(e, o.AUDIO, t); } _handleUserVoiceVolume(A) { try { const { volumeMap: t } = DA(A); if ((t || []).length === 0) return; const e = V.getData(c.CALL, o.LOCAL_USER_INFO); let a = V.getData(c.CALL, o.REMOTE_USER_INFO_LIST); const [n] = t.filter((u) => u.userId === e.userId), l = t.reduce((u, s) => s.userId !== e.userId ? { ...u, [s.userId]: s.audioVolume } : u, {}); e.volume = n.audioVolume, a = a.map((u) => ({ ...u, volume: l[u.userId] })); const i = { [o.LOCAL_USER_INFO]: e, [o.REMOTE_USER_INFO_LIST]: a }; V.updateStore(i, c.CALL); } catch (t) { console.debug(t); } } _handleDeviceUpdate(A) { const { cameraList: t, microphoneList: e, speakerList: a, currentCamera: n, currentMicrophone: l, currentSpeaker: i } = A; V.update(c.CALL, o.DEVICE_LIST, { cameraList: t, microphoneList: e, speakerList: a, currentCamera: n, currentMicrophone: l, currentSpeaker: i }); } }; let Do = ee; Si([ Ti({ retries: 5, timeout: 200, onRetrying(A) { console.warn(`${o.PREFIX}_startRemoteView, retrying [${A}]`); } }) ], Do.prototype, "_startRemoteView", 1); var hi = Object.defineProperty, mi = Object.getOwnPropertyDescriptor, Q = (A, t, e, a) => { for (var n = a > 1 ? void 0 : a ? mi(t, e) : t, l = A.length - 1, i; l >= 0; l--) (i = A[l]) && (n = (a ? i(t, e, n) : i(n)) || n); return a && n && hi(t, e, n), n; }; const j = kA.getInstance(), d = yA.getInstance(), mA = PA.getInstance(); mA.setTUIStore(d); const xa = "3.3.7", ji = "vue2.6", te = class { constructor() { this._tim = null, this._TUICore = null, this._timerId = -1, this._startTimeStamp = Ot(), this._bellContext = null, this._isFromChat = !1, this._currentGroupId = "", this._defaultOfflinePushInfo = { title: "", description: v("you have a new call") }, this._permissionCheckTimer = null, this._chatCombine = null, this._engineEventHandler = null, this._handleCallStatusChange = async (A) => { var t, e, a, n; try { const l = { callRole: d.getData(c.CALL, o.CALL_ROLE), callStatus: d.getData(c.CALL, o.CALL_STATUS) }; if (this._bellContext.setBellProperties(l), A === U.CALLING) await ((t = this == null ? void 0 : this._bellContext) == null ? void 0 : t.play()); else { if (A === U.CONNECTED) { const i = d.getData(c.CALL, o.IS_GROUP), u = d.getData(c.CALL, o.CALL_MEDIA_TYPE), s = d.getData(c.CALL, o.REMOTE_USER_INFO_LIST), r = i ? nA.DIALING_GROUP : nA.DIALING_C2C; d.update(c.CALL, o.CALL_TIPS, ""), this.statusChanged && this.statusChanged({ oldStatus: r, newStatus: _e() }), !i && u === F.VIDEO && this.switchScreen(s[0].domId); } if (A === U.IDLE && this._isFromChat) { const i = this._currentGroupId ? await ((e = this._chatCombine) == null ? void 0 : e.getGroupAttributes(this._tim, this._currentGroupId)) : {}; await ((a = this._chatCombine) == null ? void 0 : a.updateStoreBasedOnGroupAttributes(i, d, this)); } await ((n = this == null ? void 0 : this._bellContext) == null ? void 0 : n.stop()); } } catch (l) { console.warn(`${o.PREFIX}handleCallStatusChange, ${l}.`); } }, console.log(`${o.PREFIX}version: ${xa}`), this._watchTUIStore(), this._engineEventHandler = Do.getInstance({ callService: this }), this._chatCombine = qA.getInstance({ callService: this }); } static getInstance() { return te.instance || (te.instance = new te()), te.instance; } async init(A) { var t, e; try { if (this._tuiCallEngine) return; let { userID: a, tim: n, userSig: l, sdkAppID: i, SDKAppID: u, isFromChat: s, component: r = _t.TUI_CALL_KIT } = A; this._TUICore && (i = this._TUICore.SDKAppID, n = this._TUICore.tim), this._tim = n, console.log(`${o.PREFIX}init sdkAppId: ${i || u}, userId: ${a}`), this._tuiCallEngine = wl.createInstance({ tim: n, SDKAppID: i || u, frameWork: ji, language: 5, callkitVersion: xa, chat: s || !1, component: r }), mA.setEngineInstance(this._tuiCallEngine), this._addListenTuiCallEngineEvent(), this._bellContext = new si(), d.update(c.CALL, o.LOCAL_USER_INFO, { userId: a }), d.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, { userId: a }), mA.updateViewBackgroundUserId("local"), await this._tuiCallEngine.login({ userID: a, userSig: l, assetsPath: "" }); const M = d.getData(c.CALL, o.CUSTOM_UI_CONFIG); (e = (t = this._tuiCallEngine) == null ? void 0 : t.reportLog) == null || e.call(t, { name: "TUICallkit.init", data: { uiConfig: M } }); } catch (a) { throw console.error(`${o.PREFIX}init failed, error: ${a}.`), a; } } async destroyed() { var A; try { const t = d.getData(c.CALL, o.CALL_STATUS); if (t !== U.IDLE) throw new Error(`please destroyed when status is idle, current status: ${t}`); this._tuiCallEngine && (this._removeListenTuiCallEngineEvent(), await this._tuiCallEngine.destroyInstance(), this._tuiCallEngine = null), (A = this._bellContext) == null || A.destroy(), this._bellContext = null; } catch (t) { throw console.error(`${o.PREFIX}destroyed failed, error: ${t}.`), t; } } async call(A) { if (d.getData(c.CALL, o.CALL_STATUS) === U.IDLE) try { const { type: t, userID: e, offlinePushInfo: a } = A; if (d.getData(c.CALL, o.CALL_STATUS) !== U.IDLE) return; await this._updateCallStoreBeforeCall(t, [{ userId: e }]), this.executeExternalBeforeCalling(), A.offlinePushInfo = { ...this._defaultOfflinePushInfo, ...a }; const n = await this._tuiCallEngine.call(A); await this._updateCallStoreAfterCall([e], n); } catch (t) { this._handleCallError(t, "call"); } } async groupCall(A) { if (d.getData(c.CALL, o.CALL_STATUS) === U.IDLE) try { const { userIDList: t, type: e, groupID: a, offlinePushInfo: n } = A; if (d.getData(c.CALL, o.CALL_STATUS) !== U.IDLE) return; const l = t.map((u) => ({ userId: u })); await this._updateCallStoreBeforeCall(e, l, a), this.executeExternalBeforeCalling(), A.offlinePushInfo = { ...this._defaultOfflinePushInfo, ...n }; const i = await this._tuiCallEngine.groupCall(A); await this._updateCallStoreAfterCall(t, i); } catch (t) { this._handleCallError(t, "groupCall"); } } async inviteUser(A) { if (d.getData(c.CALL, o.CALL_STATUS) !== U.IDLE) try { const { userIDList: t } = A; let e = await ie(t, this.getTim()); const a = d.getData(c.CALL, o.REMOTE_USER_INFO_LIST); d.update(c.CALL, o.REMOTE_USER_INFO_LIST, [...a, ...e]), d.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, [...a, ...e]), this._tuiCallEngine && await this._tuiCallEngine.inviteUser(A); } catch (t) { throw console.error(`${o.PREFIX}inviteUser failed, error: ${t}.`), this._resetCallStore(), t; } } async joinInGroupCall(A) { if (d.getData(c.CALL, o.CALL_STATUS) !== U.CONNECTED) try { const t = { [o.CALL_ROLE]: K.CALLEE, [o.IS_GROUP]: !0, [o.CALL_STATUS]: U.CONNECTED, [o.CALL_MEDIA_TYPE]: A.type, [o.GROUP_ID]: A.groupID, [o.ROOM_ID]: A.roomID }; d.updateStore(t, c.CALL); const e = await this._tuiCallEngine.joinInGroupCall(A), a = this._getFeatureButtonDefaultState(zA.Camera) === JA.Close; A.type === F.VIDEO && !a && await this.openCamera(o.LOCAL_VIDEO), d.update(c.CALL, o.IS_CLICKABLE, !0), this.startTimer(), Vt(this._tuiCallEngine), await this._tuiCallEngine.setVideoQuality(d.getData(c.CALL, o.VIDEO_RESOLUTION)); const n = d.getData(c.CALL, o.LOCAL_USER_INFO); d.update(c.CALL, o.LOCAL_USER_INFO, { ...n, isEnter: !0 }), d.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, { ...n, isEnter: !0 }), FA(!0, o.AUDIO); } catch (t) { this._handleCallError(t, "joinInGroupCall"); } } getTUICallEngineInstance() { return (this == null ? void 0 : this._tuiCallEngine) || null; } setLogLevel(A) { var t; (t = this == null ? void 0 : this._tuiCallEngine) == null || t.setLogLevel(A); } setLanguage(A) { A && Object.values(lo).includes(A) && d.update(c.CALL, o.LANGUAGE, A); } enableFloatWindow(A) { d.update(c.CALL, o.ENABLE_FLOAT_WINDOW, A); } async setSelfInfo(A) { const { nickName: t, avatar: e } = A; try { await this._tuiCallEngine.setSelfInfo({ nickName: t, avatar: e }); } catch (a) { console.error(`${o.PREFIX}setSelfInfo failed, error: ${a}.`); } } async enableVirtualBackground(A) { d.update(c.CALL, o.IS_SHOW_ENABLE_VIRTUAL_BACKGROUND, A); } async enableAIVoice(A) { try { await this._tuiCallEngine.enableAIVoice(A), console.log(`${o.PREFIX}enableAIVoice: ${A}.`); } catch (t) { throw console.error(`${o.PREFIX}enableAIVoice failed, error: ${t}.`), t; } } async setCallingBell(A) { let t = !0; if (t = await Ql(A), !t) { console.warn(`${o.PREFIX}setCallingBell failed, filePath: ${A}.`); return; } const e = { calleeBellFilePath: A }; this._bellContext.setBellProperties(e); } async enableMuteMode(A) { try { const t = { isMuteBell: A }; this._bellContext.setBellProperties(t), await this._bellContext.setBellMute(A); } catch (t) { console.warn(`${o.PREFIX}enableMuteMode failed, error: ${t}.`); } } hideFeatureButton(A) { mA.hideFeatureButton(A); } setLocalViewBackgroundImage(A) { mA.setLocalViewBackgroundImage(A); } setRemoteViewBackgroundImage(A, t) { mA.setRemoteViewBackgroundImage(A, t); } setLayoutMode(A) { mA.setLayoutMode(A); } setCameraDefaultState(A) { mA.setCameraDefaultState(A); } async accept() { var t, e, a, n, l, i; const A = d.getData(c.CALL, o.CALL_STATUS); if ((e = (t = this._tuiCallEngine) == null ? void 0 : t.reportLog) == null || e.call(t, { name: "TUICallKit.accept.start", data: { callStatus: A } }), A !== U.CONNECTED) try { d.update(c.CALL, o.CALL_STATUS, U.CONNECTED), Vt(this._tuiCallEngine); const u = await this._tuiCallEngine.accept(); if (u) { (n = this._chatCombine) == null || n.callTUIService({ message: (a = u == null ? void 0 : u.data) == null ? void 0 : a.message }), d.update(c.CALL, o.IS_CLICKABLE, !0), this.startTimer(); const s = d.getData(c.CALL, o.CALL_MEDIA_TYPE), r = this._getFeatureButtonDefaultState(zA.Camera) === JA.Close; s === F.VIDEO && !r && await this.openCamera(o.LOCAL_VIDEO), await this._tuiCallEngine.setVideoQuality(d.getData(c.CALL, o.VIDEO_RESOLUTION)); const M = d.getData(c.CALL, o.LOCAL_USER_INFO); d.update(c.CALL, o.LOCAL_USER_INFO, { ...M, isEnter: !0 }), d.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, { ...M, isEnter: !0 }), FA(!0, o.AUDIO); } } catch (u) { if ((i = (l = this._tuiCallEngine) == null ? void 0 : l.reportLog) == null || i.call(l, { name: "TUICallKit.accept.fail", level: "error", error: u }), Ua(u)) return; bt(u, F.AUDIO, this._tuiCallEngine), this._resetCallStore(); } } async hangup() { if (d.getData(c.CALL, o.CALL_STATUS) !== U.IDLE) { try { const A = await this._tuiCallEngine.hangup(); A == null || A.forEach((t) => { var e, a; (t == null ? void 0 : t.code) === 0 && ((a = this._chatCombine) == null || a.callTUIService({ message: (e = t == null ? void 0 : t.data) == null ? void 0 : e.message })); }); } catch (A) { console.debug(A); } this._resetCallStore(); } } async reject() { var A, t; if (d.getData(c.CALL, o.CALL_STATUS) !== U.IDLE) { try { const e = await this._tuiCallEngine.reject(); (e == null ? void 0 : e.code) === 0 && ((t = this._chatCombine) == null || t.callTUIService({ message: (A = e == null ? void 0 : e.data) == null ? void 0 : A.message })); } catch (e) { console.debug(e); } this._resetCallStore(); } } async openCamera(A) { try { await this._tuiCallEngine.openCamera(A), FA(!0, o.VIDEO); } catch (t) { bt(t, F.VIDEO, this._tuiCallEngine), console.error(`${o.PREFIX}openCamera error: ${t}.`); } } async closeCamera() { try { await this._tuiCallEngine.closeCamera(), FA(!1, o.VIDEO); } catch (A) { console.error(`${o.PREFIX}closeCamera error: ${A}.`); } } async openMicrophone() { try { await this._tuiCallEngine.openMicrophone(), FA(!0, o.AUDIO); } catch (A) { console.error(`${o.PREFIX}openMicrophone failed, error: ${A}.`); } } async closeMicrophone() { try { await this._tuiCallEngine.closeMicrophone(), FA(!1, o.AUDIO); } catch (A) { console.error(`${o.PREFIX}closeMicrophone failed, error: ${A}.`); } } unMuteSpeaker() { var A, t; try { const e = (t = (A = this._tuiCallEngine) == null ? void 0 : A.getTRTCCloudInstance) == null ? void 0 : t.call(A); e && (e.muteAllRemoteAudio(!1), d.update(c.CALL, o.IS_MUTE_SPEAKER, !1)); } catch (e) { console.error(`${o.PREFIX}unMuteSpeaker failed, error: ${e}.`); } } muteSpeaker() { var A, t; try { const e = (t = (A = this._tuiCallEngine) == null ? void 0 : A.getTRTCCloudInstance) == null ? void 0 : t.call(A); e && (e.muteAllRemoteAudio(!0), d.update(c.CALL, o.IS_MUTE_SPEAKER, !0)); } catch (e) { console.error(`${o.PREFIX}muteSpeaker failed, error: ${e}.`); } } switchScreen(A) { !A || d.update(c.CALL, o.BIG_SCREEN_USER_ID, A); } async switchCallMediaType() { var A, t; try { const e = d.getData(c.CALL, o.CALL_MEDIA_TYPE); if (e === F.AUDIO) { console.warn(`${o.PREFIX}switchCallMediaType failed, ${e} not support.`); return; } const a = await this._tuiCallEngine.switchCallMediaType(F.AUDIO); (a == null ? void 0 : a.code) === 0 && ((t = this._chatCombine) == null || t.callTUIService({ message: (A = a == null ? void 0 : a.data) == null ? void 0 : A.message })), d.update(c.CALL, o.CALL_MEDIA_TYPE, F.AUDIO); const l = d.getData(c.CALL, o.IS_GROUP) ? nA.CALLING_GROUP_VIDEO : nA.CALLING_C2C_VIDEO, i = _e(); this.statusChanged && this.statusChanged({ oldStatus: l, newStatus: i }); } catch (e) { console.error(`${o.PREFIX}switchCallMediaType failed, error: ${e}.`); } } async switchCamera() { const t = d.getData(c.CALL, o.CAMERA_POSITION) === le.BACK ? le.FRONT : le.BACK; try { await this._tuiCallEngine.switchCamera(t), d.update(c.CALL, o.CAMERA_POSITION, t); } catch (e) { console.error(`${o.PREFIX}_switchCamera failed, error: ${e}.`); } } async setBlurBackground(A) { try { await this._tuiCallEngine.setBlurBackground(A ? Wl : 0), d.update(c.CALL, o.ENABLE_VIRTUAL_BACKGROUND, A); } catch (t) { console.error(`${o.PREFIX}_setBlurBackground failed, error: ${t}.`); } } async switchDevice(A) { try { await this._tuiCallEngine.switchDevice(A); } catch (t) { console.error(`${o.PREFIX}_switchDevice failed, error: ${t}.`); } } async getDeviceList(A) { try { return await this._tuiCallEngine.getDeviceList(A); } catch (t) { this._handleCallError(t, "call"); } } _addListenTuiCallEngineEvent() { this._engineEventHandler.addListenTuiCallEngineEvent(); } _removeListenTuiCallEngineEvent() { this._engineEventHandler.removeListenTuiCallEngineEvent(); } setCallback(A) { const { beforeCalling: t, afterCalling: e, onMinimized: a, onMessageSentByMe: n, kickedOut: l, statusChanged: i } = A; t && (this.beforeCalling = t), e && (this.afterCalling = e), a && (this.onMinimized = a), n && (this.onMessageSentByMe = n), l && (this.kickedOut = l), i && (this.statusChanged = i); } toggleMinimize() { const A = d.getData(c.CALL, o.IS_MINIMIZED); d.update(c.CALL, o.IS_MINIMIZED, !A), console.log(`${o.PREFIX}toggleMinimize: ${A} -> ${!A}.`), this.onMinimized && this.onMinimized(A, !A); } executeExternalBeforeCalling() { this.beforeCalling && this.beforeCalling(); } executeExternalAfterCalling() { this.afterCalling && this.afterCalling(); } setVideoDisplayMode(A) { d.update(c.CALL, o.DISPLAY_MODE, A); } async setVideoResolution(A) { var t; try { if (!A) return; d.update(c.CALL, o.VIDEO_RESOLUTION, A), await ((t = this._tuiCallEngine) == null ? void 0 : t.setVideoQuality(A)); } catch (e) { console.warn(`${o.PREFIX}setVideoResolution failed, error: ${e}.`); } } startTimer() { this._timerId === -1 && (this._startTimeStamp = Ot(), this._timerId = nt.run(o.TIMEOUT, this._updateCallDuration.bind(this), { delay: 1e3 })); } _handleCallError(A, t) { if (this._permissionCheckTimer && clearInterval(this._permissionCheckTimer), !Ua(A)) throw bt(A, F.AUDIO, this._tuiCallEngine), console.error(`${o.PREFIX}${t} failed, error: ${A}.`), this._resetCallStore(), A; } async _updateCallStoreBeforeCall(A, t, e) { const a = e || d.getData(c.CALL, o.IS_MINIMIZED) ? sA.CALLER_GROUP_CALLING_MSG : sA.CALLER_CALLING_MSG; let n = { [o.CALL_MEDIA_TYPE]: A, [o.CALL_ROLE]: K.CALLER, [o.REMOTE_USER_INFO_LIST]: t, [o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST]: t, [o.IS_GROUP]: !!e, [o.CALL_TIPS]: v(a), [o.GROUP_ID]: e }; d.updateStore({ ...n, [o.CALL_STATUS]: U.CALLING }, c.CALL), this.statusChanged && this.statusChanged({ oldStatus: nA.IDLE, newStatus: e ? nA.DIALING_GROUP : nA.DIALING_C2C }), Vt(this._tuiCallEngine); const l = await ie(t.map((i) => i.userId), this.getTim()); l.length > 0 && (d.update(c.CALL, o.REMOTE_USER_INFO_LIST, l), d.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, l)); } async _updateCallStoreAfterCall(A, t) { var e, a; if (t) { d.update(c.CALL, o.IS_CLICKABLE, !0), po(t == null ? void 0 : t.roomID, t == null ? void 0 : t.strRoomID); const n = d.getData(c.CALL, o.CALL_MEDIA_TYPE); if (t.code === 0) { (a = this._chatCombine) == null || a.callTUIService({ message: (e = t == null ? void 0 : t.data) == null ? void 0 : e.message }); try { await this._tuiCallEngine.setVideoQuality(d.getData(c.CALL, o.VIDEO_RESOLUTION)); } catch (u) { console.warn(`${o.PREFIX}setVideoQuality failed, error: ${u}.`); } } else { this._resetCallStore(); return; } const l = this._getFeatureButtonDefaultState(zA.Camera) === JA.Close; n === F.VIDEO && !l && await this.openCamera(o.LOCAL_VIDEO); const i = d.getData(c.CALL, o.LOCAL_USER_INFO); d.update(c.CALL, o.LOCAL_USER_INFO, { ...i, isEnter: !0 }), d.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, { ...i, isEnter: !0 }), FA(!0, o.AUDIO); } else this._permissionCheckTimer && clearInterval(this._permissionCheckTimer), this._permissionCheckTimer = null, this._resetCallStore(); } _getFeatureButtonDefaultState(A) { var e; const { button: t } = d.getData(c.CALL, o.CUSTOM_UI_CONFIG); return (e = t == null ? void 0 : t[A]) == null ? void 0 : e.state; } _updateCallDuration() { const A = Math.round((Ot() - this._startTimeStamp) / 1e3), t = No(A); d.update(c.CALL, o.CALL_DURATION, t); } _stopTimer() { this._timerId !== -1 && (nt.clearTask(this._timerId), this._timerId = -1); } _resetCallStore() { const A = _e(); this._stopTimer(); let t = Object.keys(Ke).filter((n) => { switch (Ke[n]) { case o.CALL_STATUS: case o.LANGUAGE: case o.IS_GROUP: case o.DISPLAY_MODE: case o.VIDEO_RESOLUTION: case o.ENABLE_FLOAT_WINDOW: case o.LOCAL_USER_INFO: case o.IS_SHOW_ENABLE_VIRTUAL_BACKGROUND: case o.LOCAL_USER_INFO_EXCLUDE_VOLUMN: return !1; default: return !0; } }); t = t.map((n) => Ke[n]), d.reset(c.CALL, t), d.getData(c.CALL, o.CALL_STATUS) !== U.IDLE && d.reset(c.CALL, [o.CALL_STATUS], !0), d.reset(c.CALL, [o.IS_MINIMIZED], !0), d.reset(c.CALL, [o.IS_EAR_PHONE], !0), d.reset(c.CALL, [o.ENABLE_VIRTUAL_BACKGROUND], !0), d.reset(c.CALL, [o.IS_MUTE_SPEAKER], !0), d.update(c.CALL, o.LOCAL_USER_INFO, { ...d.getData(c.CALL, o.LOCAL_USER_INFO), isVideoAvailable: !1, isAudioAvailable: !1 }), d.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, { ...d.getData(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN), isVideoAvailable: !1, isAudioAvailable: !1 }), d.update(c.CALL, o.REMOTE_USER_INFO_LIST, []), d.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, []); const a = _e(); A !== a && this.statusChanged && this.statusChanged({ oldStatus: A, newStatus: a }); } async getGroupMemberList(A, t) { const e = d.getData(c.CALL, o.GROUP_ID); return await di(e, this.getTim(), A, t); } async getGroupProfile() { const A = d.getData(c.CALL, o.GROUP_ID); return await Ii(A, this.getTim()); } _watchTUIStore() { d == null || d.watch(c.CALL, { [o.CALL_STATUS]: this._handleCallStatusChange }); } _unwatchTUIStore() { d == null || d.unwatch(c.CALL, { [o.CALL_STATUS]: this._handleCallStatusChange }); } bindTUICore(A) { this._TUICore = A; } getTim() { var A, t; return this._tim ? this._tim : this._tuiCallEngine ? ((A = this._tuiCallEngine) == null ? void 0 : A.tim) || ((t = this._tuiCallEngine) == null ? void 0 : t.getTim()) : (console.warn(`${o.PREFIX}getTim warning: _tuiCallEngine Instance is not available.`), null); } setIsFromChat(A) { this._isFromChat = A; } setCurrentGroupId(A) { this._currentGroupId = A; } getCurrentGroupId() { return this._currentGroupId; } setDefaultOfflinePushInfo(A) { this._defaultOfflinePushInfo = A; } getDefaultOfflinePushInfo() { return this._defaultOfflinePushInfo; } async getCallMessage(A) { return await this._chatCombine.getCallKitMessage(A, this.getTim()); } }; let G = te; Q([ $(), cA(rA.init) ], G.prototype, "init", 1); Q([ $(), cA(rA.call), ht({ engineInstance: !0 }) ], G.prototype, "call", 1); Q([ $(), cA(rA.groupCall), ht({ engineInstance: !0 }) ], G.prototype, "groupCall", 1); Q([ $(), cA(rA.inviteUser), ht({ engineInstance: !0 }) ], G.prototype, "inviteUser", 1); Q([ $(), cA(rA.joinInGroupCall), ht({ engineInstance: !0 }) ], G.prototype, "joinInGroupCall", 1); Q([ cA(rA.setLanguage) ], G.prototype, "setLanguage", 1); Q([ cA(rA.enableFloatWindow) ], G.prototype, "enableFloatWindow", 1); Q([ cA(rA.setSelfInfo) ], G.prototype, "setSelfInfo", 1); Q([ cA(rA.enableAIVoice) ], G.prototype, "enableAIVoice", 1); Q([ cA(rA.setCallingBell) ], G.prototype, "setCallingBell", 1); Q([ cA(rA.enableMuteMode) ], G.prototype, "enableMuteMode", 1); Q([ $() ], G.prototype, "accept", 1); Q([ $() ], G.prototype, "hangup", 1); Q([ $() ], G.prototype, "reject", 1); Q([ $() ], G.prototype, "openCamera", 1); Q([ $() ], G.prototype, "closeCamera", 1); Q([ $() ], G.prototype, "openMicrophone", 1); Q([ $() ], G.prototype, "closeMicrophone", 1); Q([ $() ], G.prototype, "unMuteSpeaker", 1); Q([ $() ], G.prototype, "muteSpeaker", 1); Q([ $() ], G.prototype, "switchScreen", 1); Q([ $() ], G.prototype, "switchCallMediaType", 1); Q([ $() ], G.prototype, "switchCamera", 1); Q([ $() ], G.prototype, "setBlurBackground", 1); Q([ $() ], G.prototype, "switchDevice", 1); Q([ cA(rA.setVideoDisplayMode) ], G.prototype, "setVideoDisplayMode", 1); Q([ cA(rA.setVideoResolution) ], G.prototype, "setVideoResolution", 1); const O = G.getInstance(), Ft = Xt.version, To = "CallInfoContextKey", Co = "CallerUserInfoContextKey", yo = "UserInfoExcludeVolumeContextKey", So = "FocusContextKey", Eo = "ButtonPanelContextKey", ho = "FloatWindowContextKey", mo = "IsClickableContextKey", jo = "PopoverContextKey", vo = "CustomUIConfigContextKey"; function vi() { return NA(Co); } function q() { return NA(To); } function mt(A) { const t = I([]), e = I(""), a = (l) => { var i, u, s; switch (A) { case oA.CAMERA: t.value = (l == null ? void 0 : l.cameraList) || [], e.value = ((i = l == null ? void 0 : l.currentCamera) == null ? void 0 : i.deviceId) || ""; break; case oA.MICROPHONE: t.value = (l == null ? void 0 : l.microphoneList) || [], e.value = ((u = l == null ? void 0 : l.currentMicrophone) == null ? void 0 : u.deviceId) || ""; break; case oA.SPEAKER: t.value = (l == null ? void 0 : l.speakerList) || [], e.value = ((s = l == null ? void 0 : l.currentSpeaker) == null ? void 0 : s.deviceId) || ""; break; } }, n = (l) => { e.value = l; }; return aA(() => { d.watch( c.CALL, { [o.DEVICE_LIST]: a }, { notifyRangeWhenWatch: o.MYSELF } ); }), tA(() => { d.unwatch(c.CALL, { [o.DEVICE_LIST]: a }); }), [{ deviceList: t, currentDeviceId: e }, { updateCurrentDeviceId: n }]; } const Va = (A) => typeof A == "object" && A !== null, fo = (A, t) => { if (!Va(A) || !Va(t)) return A === t; if (A === t) return !0; const e = Object.keys(A), a = Object.keys(t); if (e.length !== a.length) return !1; for (let n in A) if (!fo(A[n], t[n])) return !1; return !0; }; function fi(A) { const t = document.getElementById(A); !document.fullscreenElement && t ? t.requestFullscreen().catch((e) => { console.error(`Error attempting to enable fullscreen mode: ${e.message} (${e.name})`); }) : document.exitFullscreen(); } function jt(A) { if (typeof A != "object" || A === null) return A; let t = Array.isArray(A) ? [] : {}; for (let e in A) A.hasOwnProperty(e) && (t[e] = jt(A[e])); return t; } const Li = 500; function Jt(A, t) { if (typeof A != "function" || t != null && typeof t != "function") throw new TypeError("Expected a function"); const e = function(...a) { const n = t ? t.apply(this, a) : a[0], l = e.cache; if (l.has(n)) return l.get(n); const i = A.apply(this, a); return e.cache = l.set(n, i) || l, i; }; return e.cache = new (Jt.Cache || Map)(), e; } Jt.Cache = Map; function Ui(A) { const t = Jt(A, (e) => { const { cache: a } = t; return a.size === Li && a.clear(), e; }); return t; } const zi = ".".charCodeAt(0), wi = /\\(\\)?/g, Oi = RegExp( `[^.[\\]]+|\\[(?:([^"'][^[]*)|(["'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))`, "g" ), Lo = Ui((A) => { const t = []; return A.charCodeAt(0) === zi && t.push(""), A.replace(Oi, (e, a, n, l) => { let i = e; n ? i = l.replace(wi, "$1") : a && (i = a.trim()), t.push(i); }), t; }); function RA(A, t, e) { if (typeof A != "object" || !t) return; const a = Lo(t); let n = A; for (let l = 0; l < a.length; l++) { if (n == null) return; const i = a[l]; l !== a.length - 1 ? n = n == null ? void 0 : n[i] : Object.assign(n, { [i]: e }); } } function $A(A, t, e) { if (typeof A != "object") return; const a = Lo(t); let n = A; for (let l = 0; l < a.length; l++) { if (n == null) return; const i = a[l]; l !== a.length - 1 ? n = n == null ? void 0 : n[i] : Array.isArray(n) && n.splice(i, 0, e); } } function xi(A) { return A == null || typeof A == "string" && A.trim().length === 0 ? !0 : Array.isArray(A) || typeof A == "object" ? Object.keys(A).length === 0 : !1; } function Gt(A, t, e, a, n) { Object.keys(A).forEach((l) => { const i = A[l], u = xi(e) ? l : `${e}.${l}`; if (typeof i == "object") if (Array.isArray(i)) for (let s = 0; s < i.length; s++) { const r = `${u}.${s}`; Gt(i[s], t, r, a, n); } else Gt(i, t, u, a, n); else if (t(i)) { const s = typeof n == "function" ? n({ key: i, value: u }) : u; a.push(s); } }); } function Uo() { const A = I(), t = I(d.getData(c.CALL, o.REMOTE_USER_INFO_LIST)), e = (l) => { (j.isWeChat ? l.enableMic : l.isAudioAvailable) && (A.value = { ...A.value, localVideo: l.volume }); }, a = (l) => { const i = {}; (l.length !== t.value.length || !fo(l, t.value)) && (t.value = l, t.value.forEach((u) => { if (j.isWeChat ? u.hasAudio : u.isAudioAvailable) { const r = j.isWeChat ? u.userID : u.domId; i[r] = u.volume; } }), A.value = { ...A.value, ...i }); }; let n = { [o.LOCAL_USER_INFO]: e, [o.REMOTE_USER_INFO_LIST]: a }; return j.isUniPlatform && (n = { [o.PUSHER]: e, [o.PLAYER]: a }), aA(() => { d.watch( c.CALL, n, { notifyRangeWhenWatch: o.MYSELF } ); }), tA(() => { d.unwatch(c.CALL, n); }), A; } function Vi() { const A = I(""), t = I(!0), e = I(0), a = (l) => { e.value = 0, A.value = l; }, n = (l) => { let i = l; typeof i == "object" && (i = l == null ? void 0 : l.text), i && (e.value = 2e3, A.value = i); }; return aA(() => { d.watch( c.CALL, { [o.CALL_TIPS]: a }, { notifyRangeWhenWatch: o.MYSELF } ), d.watch( c.CALL, { [o.TOAST_INFO]: n } ); }), tA(() => { d.unwatch( c.CALL, { [o.CALL_TIPS]: a, [o.TOAST_INFO]: n } ); }), { tip: A, show: t, duration: e }; } function bi() { const A = I(d.getData(c.CALL, o.NETWORK_STATUS)), t = (e) => { A.value = e; }; return aA(() => { d.watch( c.CALL, { [o.NETWORK_STATUS]: t }, { notifyRangeWhenWatch: o.MYSELF } ); }), tA(() => { d.unwatch(c.CALL, { [o.NETWORK_STATUS]: t }); }), { netWorkQualityList: A }; } function zo() { const A = I(d.getData(c.CALL, o.PLAYER)), t = (a) => { A.value = a == null ? void 0 : a.map((n) => { const { userID: l, hasVideo: i, hasAudio: u } = n; return { userID: l, hasVideo: i, hasAudio: u }; }); }, e = { [o.PLAYER]: t }; return aA(() => { d.watch( c.CALL, e, { notifyRangeWhenWatch: o.MYSELF } ); }), tA(() => { d.unwatch(c.CALL, e); }), A; } function MA() { return NA(yo); } function Ht() { const A = I(d.getData(c.CALL, o.CALL_DURATION)), t = (e) => { A.value = e; }; return aA(() => { d.watch( c.CALL, { [o.CALL_DURATION]: t }, { notifyRangeWhenWatch: o.MYSELF } ); }), tA(() => { d.unwatch( c.CALL, { [o.CALL_DURATION]: t } ); }), { callDuration: A }; } function We() { return NA(Eo, { status: I("open") }); } function wo() { return NA(So, I("open")); } function CA() { return NA(ho); } function Bi() { return NA(mo); } function vt() { return NA(jo); } const Fi = (A, t) => { const e = [{ i: 0, x: 0, y: 0, w: t, h: t }]; for (let a = 1; a < A; a++) { const n = e[a - 1].x + t === 12; e[a] = { i: a, x: e[a - 1].x + t === 12 ? 0 : e[a - 1].x + t, y: e[a - 1].y + (n ? t : 0), w: t, h: t }; } return A === 3 && (e[A - 1].x += 3), A > 3 && j.isPC && A % 3 === 2 && (e[A - 1].x += 2, e[A - 2].x += 2), e; }; function Ri(A, t) { const { isFloatWindow: e } = z(CA()), a = I(); return J([A, t, e], () => { if (e.value) { const r = []; for (let M = 0; M < t.value; M++) r[M] = { i: M, x: 0, y: 0, w: 12, h: 12 }; a.value = r; return; } const n = Object.keys(Array.from({ length: t.value })), l = t.value <= 4 ? 6 : 4, i = Fi(t.value, l); a.value = i; let u, s; if (A.value !== null) { if (n.length < 5) { const r = n.concat(); r.splice(A.value, 1), r.unshift(A.value); } else s = A.value % 3, u = Math.floor(A.value / 3); if (n.length < 5) { const r = i.findIndex((M) => M.i === A.value); if (r !== -1) { const M = i[0]; i[0] = i[r], i[r] = M; for (let D = 0; D < i.length; D++) { const g = i[D]; D === 0 ? (g.w += 6, g.h += 6, g.x = 0, g.y = 0) : (g.x = (D - 1) * 4, g.y = 12, g.w = 4, g.h = 4); } } } else { let r; s === 0 ? (i[A.value + 1] && (i[A.value + 1].x += 4), i[A.value + 2] && (i[A.value + 2].y += 4), r = { i: A.value, x: 0, y: u * 4, w: 8, h: 8 }) : s === 2 ? (r = { i: A.value, x: 4, y: u * 4, w: 8, h: 8 }, i[A.value - 1].x = 0, i[A.value - 1].y += 4) : s === 1 && (r = { i: A.value, x: 4, y: u * 4, w: 8, h: 8 }, i[A.value + 1] && (i[A.value + 1].x = 0, i[A.value + 1].y += 4)); const M = 3 - s; for (let D = A.value + M; D < i.length; D++) { const g = i[D]; g.y += 4; } i[A.value] = r; } a.value = i; } }, { immediate: !0 }), a; } function Ge() { return NA(vo); } const ki = { calling: [[ { name: "switchCamera", customStyle: { justifyContent: "flex-start" }, props: {} }, { name: "virtualBackground" }, { name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} } ], [ {}, { name: "hangup", customStyle: { paddingTop: "6vh" } }, {} ]], accept: [[ { name: "switchCamera", customStyle: { justifyContent: "flex-start" }, props: {} }, { name: "virtualBackground" }, { name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} } ], [ { name: "reject", customStyle: { paddingTop: "6vh", justifyContent: "center" } }, {}, { name: "accept", customStyle: { paddingTop: "6vh", justifyContent: "center" } } ]], connected: [[ { name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} }, { name: "speaker" }, { name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} } ], [ { name: "virtualBackground", customStyle: { justifyContent: "center", paddingTop: "6vh" }, props: {} }, { name: "hangup", customStyle: { paddingTop: "6vh" } }, { name: "switchCamera", customStyle: { justifyContent: "center", paddingTop: "6vh" }, props: {} } ]] }, Pi = { singleCall: { video: { calling: [ [], [ {}, { name: "hangup" }, {} ] ], accept: [ [], [ { name: "reject", customStyle: { justifyContent: "flex-end" } }, {}, { name: "accept", customStyle: { justifyContent: "flex-start" } } ] ], connected: [ [ { name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} }, { name: "speaker" }, { name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} } ], [ {}, { name: "hangup", customStyle: { paddingTop: "6vh" } }, { name: "switchCamera", customStyle: { justifyContent: "center", paddingTop: "6vh" }, props: {} } ] ] }, audio: { calling: [ [], [ {}, { name: "hangup" }, {} ] ], accept: [ [], [ { name: "reject", customStyle: { justifyContent: "flex-end" } }, {}, { name: "accept", customStyle: { justifyContent: "flex-start" } } ] ], connected: [ [], [ { name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} }, { name: "hangup" }, { name: "speaker", customStyle: { justifyContent: "flex-end" } } ] ] } }, groupCall: { video: { calling: [[ { name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} }, { name: "speaker" }, { name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} } ], [ {}, { name: "hangup", customStyle: { paddingTop: "6vh" } }, {} ]], accept: [ [], [ { name: "reject" }, { name: "accept" } ] ], connected: [ [ { name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} }, { name: "speaker" }, { name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} } ], [ {}, { name: "hangup", customStyle: { paddingTop: "6vh" } }, {} ] ], close_calling: [ [ { name: "microphone", props: {} }, { name: "speaker" }, { name: "camera", props: {} }, { name: "hangup" } ] ], close_connected: [ [ { name: "microphone", props: {} }, { name: "speaker" }, { name: "camera", props: {} }, { name: "hangup" } ] ] }, audio: { calling: [[ { name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} }, { name: "speaker" }, { name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} } ], [ {}, { name: "hangup", customStyle: { paddingTop: "6vh" } }, {} ]], accept: [ [], [ { name: "reject" }, { name: "accept" } ] ], connected: [ [ { name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} }, { name: "speaker" }, { name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} } ], [ {}, { name: "hangup", customStyle: { paddingTop: "6vh" } }, {} ] ], close_calling: [ [ { name: "microphone", props: {} }, { name: "speaker" }, { name: "camera", props: {} }, { name: "hangup" } ] ], close_connected: [ [ { name: "microphone", props: {} }, { name: "speaker" }, { name: "camera", props: {} }, { name: "hangup" } ] ] } } }, Wi = { singleCall: { video: { calling: [ [ { name: "camera", props: {} }, { name: "microphone", props: {} }, { name: "hangup" } ] ], accept: [ [ { name: "camera", props: {} }, { name: "reject" }, { name: "accept" } ] ], connected: [ [ { name: "camera", props: {} }, { name: "microphone", props: {} }, { name: "speaker" }, { name: "hangup" } ] ] }, audio: { calling: [ [ { name: "microphone", props: {} }, { name: "hangup" } ] ], accept: [ [ { name: "reject" }, { name: "accept" } ] ], connected: [ [ { name: "microphone", props: {} }, { name: "speaker" }, { name: "hangup" } ] ] } }, groupCall: { video: { calling: [[ { name: "camera", props: {} }, { name: "microphone", props: {} }, { name: "inviteUser", props: {} }, { name: "hangup" } ]], accept: [ [ { name: "reject" }, { name: "accept" } ] ], connected: [ [ { name: "camera", props: {} }, { name: "microphone", props: {} }, { name: "speaker" }, { name: "inviteUser", props: {} }, { name: "hangup" } ] ] }, audio: { calling: [ [ { name: "microphone", props: {} }, { name: "hangup" } ] ], accept: [ [ { name: "reject" }, { name: "accept" } ] ], connected: [ [ { name: "microphone", props: {} }, { name: "speaker" }, { name: "inviteUser", props: {} }, { name: "hangup" } ] ] } } }, ba = { pc: Wi, mobile: Pi }; function Oo(A) { const t = jt(A); return RA(t, "mobile.singleCall.video", ki), $A(t, "pc.singleCall.video.calling[0][2]", { name: "virtualBackground", props: {} }), $A(t, "pc.singleCall.video.accept[0][1]", { name: "virtualBackground", props: {} }), $A(t, "pc.singleCall.video.connected[0][3]", { name: "virtualBackground", props: {} }), $A(t, "pc.groupCall.video.calling[0][3]", { name: "virtualBackground", props: {} }), $A(t, "pc.groupCall.video.connected[0][4]", { name: "virtualBackground", props: {} }), t; } function Gi(A, t, e) { let a = jt(A); return t ? (RA(a, "mobile.singleCall.video.connected[1][2].props.show", !0), e && Oo(a)) : (RA(a, "mobile.singleCall.video.connected[1][2].props.show", !1), e && (RA(a, "mobile.singleCall.video.connected[1][0].props.show", !1), RA(a, "pc.singleCall.video.connected[0][3].props.show", !1), RA(a, "pc.groupCall.video.connected[0][4].props.show", !1))), a; } function Qi() { const { isShowEnableVirtualBackground: A, callStatus: t } = z(q()), e = Ge(), { localUserInfoExcludeVolume: a } = z(MA()), n = p(() => (a == null ? void 0 : a.value.isVideoAvailable) || !1), l = p(() => A.value && !j.isH5), i = I([]); return J([e, A, n], () => { let u = jt(ba); l.value && (u = Oo(ba)), t.value === U.CONNECTED && (u = Gi(u, n.value, l.value)); const { button: s } = e.value, r = []; function M(g) { return Object.keys(s).includes(g); } function D({ key: g, value: N }) { var w; const y = N.split("."); let T = y.slice(0, y.length - 1); const C = y.slice(0, y.length - 2); if (C[C.length - 1] === "0") for (let L = 0; L < 3; L++) { let m = C.slice(); m.push(L), m.push("customStyle"), m.push("justifyContent"), m = m.join("."), r.push({ path: m, value: "center" }); } return T.push("props"), T.push("show"), T = T.join("."), { path: T, value: (w = s == null ? void 0 : s[g]) == null ? void 0 : w.show }; } Gt(u, M, "", r, D), r == null || r.forEach((g) => { RA(u, g.path, g.value); }), i.value = u; }, { immediate: !0 }), i; } function xo() { const A = Ge(), t = I(A.value.viewBackground); return J(A, () => { t.value = A.value.viewBackground; }), t; } function Zi() { const A = I(d.getData(c.CALL, o.ROOM_ID)), t = I(d.getData(c.CALL, o.ROOM_ID_TYPE)), e = I(d.getData(c.CALL, o.GROUP_ID)), a = I(d.getData(c.CALL, o.CALL_MEDIA_TYPE)), n = I(d.getData(c.CALL, o.GROUP_CALL_MEMBERS)), l = I(d.getData(c.CALL, o.CALL_STATUS)), i = (N) => { A.value = N; }, u = (N) => { e.value = N; }, s = (N) => { a.value = N; }, r = (N) => { n.value = N; }, M = (N) => { l.value = N; }, D = (N) => { t.value = N; }, g = { [o.ROOM_ID]: i, [o.GROUP_ID]: u, [o.CALL_MEDIA_TYPE]: s, [o.GROUP_CALL_MEMBERS]: r, [o.CALL_STATUS]: M, [o.ROOM_ID_TYPE]: D }; return aA(() => { d.watch( c.CALL, g, { notifyRangeWhenWatch: o.MYSELF } ); }), tA(() => { d.unwatch(c.CALL, g); }), { roomId: A, roomIdType: t, groupId: e, callMediaType: a, groupCallMembers: n, callStatus: l }; } const Yi = { customStyle: { type: Object }, customClass: { type: String } }, Xi = ["start", "center", "end", "space-around", "space-between", "space-evenly"], _i = ["top", "middle", "bottom"], qi = { gutter: { type: Number, default: 0 }, justify: { type: String, values: Xi, default: "start" }, align: { type: String, values: _i, default: "top" }, customStyle: { type: Object, default: () => { } } }; function X(...A) { const t = [], e = {}.hasOwnProperty; for (let a = 0; a < A.length; a++) { const n = A[a]; if (!n) continue; const l = typeof n; if (l === "string" || l === "number") t.push(n); else if (Array.isArray(n)) { if (n.length) { const i = X.apply(null, n); i && t.push(i); } } else if (l === "object") { if (n.toString !== Object.prototype.toString && !n.toString.toString().includes("[native code]")) { t.push(n.toString()); continue; } for (const i in n) e.call(n, i) && n[i] && t.push(i); } } return t.join(" "); } const se = typeof wx < "u" && typeof wx.getSystemInfoSync == "function" && Boolean(wx.getSystemInfoSync().fontSizeSetting), Ji = typeof uni < "u" && typeof uni > "u", Qt = se || Ji, Hi = typeof uni < "u", Vo = function() { return (typeof uni < "u" || typeof window < "u") && !Qt; }(); (function() { return se ? wx : Hi ? uni : window; })(); const OA = Vo && window && window.navigator && window.navigator.userAgent || "", Ki = /Android/i.test(OA), $i = /(?:Windows Phone)/.test(OA), As = /(?:SymbianOS)/.test(OA), es = /iPad/i.test(OA) || /iPhone/i.test(OA) || /iPod/i.test(OA), bo = Ki || $i || As || es, WA = Vo && !bo; WA && OA.includes("Windows NT"); WA && OA.includes("Mac"); function ot(A) { const t = {}; for (const e in A) Object.prototype.hasOwnProperty.call(A, e) && A[e] !== void 0 && (t[e] = A[e]); return t; } function ts() { let A = "unknow"; return typeof Ft == "string" && (A = Ft.split(".")[0]), { version: Ft, majorVersion: A }; } function Ba(A, t) { const { key: e, value: a } = t; return A.find((n) => n[e] === a); } const Bo = "RowContextKey", x = "tk", ae = { SUCCESS: "success", INFO: "info", WARNING: "warning", ERROR: "error" }, Kt = { options: { virtualHost: !0 } }; Kt.props = qi; Kt.setup = (A, t) => { const e = A, a = p(() => e.gutter); return gA(Bo, { gutter: a }), { classname: X([`${x}-row`, `${x}-justify-${e.justify}`, `${x}-align-${e.align}`]) }; }; var as = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.classname, style: [A.customStyle] }, [A._t("default")], 2); }, ns = []; function S(A, t, e, a, n, l, i, u) { var s = typeof A == "function" ? A.options : A; t && (s.render = t, s.staticRenderFns = e, s._compiled = !0), a && (s.functional = !0), l && (s._scopeId = "data-v-" + l); var r; if (i ? (r = function(g) { g = g || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !g && typeof __VUE_SSR_CONTEXT__ < "u" && (g = __VUE_SSR_CONTEXT__), n && n.call(this, g), g && g._registeredComponents && g._registeredComponents.add(i); }, s._ssrRegister = r) : n && (r = u ? function() { n.call( this, (s.functional ? this.parent : this).$root.$options.shadowRoot ); } : n), r) if (s.functional) { s._injectStyles = r; var M = s.render; s.render = function(N, y) { return r.call(y), M(N, y); }; } else { var D = s.beforeCreate; s.beforeCreate = D ? [].concat(D, r) : [r]; } return { exports: A, options: s }; } const Fa = {}; var os = /* @__PURE__ */ S( Kt, as, ns, !1, ls, null, null, null ); function ls(A) { for (let t in Fa) this[t] = Fa[t]; } const $t = /* @__PURE__ */ function() { return os.exports; }(), is = ["start", "center", "end", "space-around", "space-between", "space-evenly"], ss = ["top", "middle", "bottom"], us = { span: { type: Number, default: 24 }, justify: { type: String, values: is, default: "start" }, align: { type: String, values: ss, default: "middle" }, offset: { type: Number, default: 0 } }, Aa = { options: { virtualHost: !0 } }; Aa.props = us; Aa.setup = (A, t) => { const e = A, { gutter: a } = NA(Bo, { gutter: p(() => 0) }), n = X([`${x}-col`, `${x}-justify-${e.justify}`, `${x}-align-${e.align}`]), l = p(() => `${e.span / 24 * 100}%`), i = p(() => `${e.offset / 24 * 100}%`), u = p(() => `${a.value / 2}px`); return { classname: n, width: l, marginLeft: i, paddingLeft: u, paddingRight: u }; }; var cs = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.classname, style: { width: A.width, marginLeft: A.marginLeft, paddingLeft: A.paddingLeft, paddingRight: A.paddingRight } }, [A._t("default")], 2); }, rs = []; const Ra = {}; var Ms = /* @__PURE__ */ S( Aa, cs, rs, !1, ds, null, null, null ); function ds(A) { for (let t in Ra) this[t] = Ra[t]; } const ea = /* @__PURE__ */ function() { return Ms.exports; }(), Is = { width: { type: String, default: "40px" }, height: { type: String, default: "40px" }, color: { type: String } }, ta = { options: { virtualHost: !0 } }; ta.props = Is; ta.setup = (A, t) => { const e = A, a = `${x}-loading_dot-container`, n = `${x}-loading_dot`, l = p(() => ({ width: e.width, height: e.height })), i = p(() => { const u = {}; return e.color && (u.backgroundColor = e.color), u; }); return { dotContainerClassName: a, dotClassName: n, dotContainerStyle: l, dotStyle: i }; }; var gs = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.dotContainerClassName, style: [A.dotContainerStyle] }, [e("div", { class: A.dotClassName, style: [A.dotStyle] }), e("div", { class: A.dotClassName, style: [A.dotStyle] }), e("div", { class: A.dotClassName, style: [A.dotStyle] })]); }, Ns = []; const ka = {}; var ps = /* @__PURE__ */ S( ta, gs, Ns, !1, Ds, null, null, null ); function Ds(A) { for (let t in ka) this[t] = ka[t]; } const Ts = /* @__PURE__ */ function() { return ps.exports; }(), Cs = { width: { type: String, default: "40px" }, height: { type: String, default: "40px" }, color: { type: String } }, aa = { options: { virtualHost: !0 } }; aa.props = Cs; aa.setup = (A, t) => { const e = A, a = p(() => { const l = { width: e.width, height: e.height }; return e.color && (l["--tk-loading-primary-color"] = e.color), l; }), n = `${x}-loading_circle-container`; return { circleContainerStyle: a, circleContainerClassName: n }; }; var ys = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.circleContainerClassName, style: [A.circleContainerStyle] }); }, Ss = []; const Pa = {}; var Es = /* @__PURE__ */ S( aa, ys, Ss, !1, hs, null, null, null ); function hs(A) { for (let t in Pa) this[t] = Pa[t]; } const ms = /* @__PURE__ */ function() { return Es.exports; }(), js = ["circle", "dot"], vs = ["row", "column"], fs = { mode: { type: String, values: js, default: "circle" }, loadingWidth: { type: String, default: "40px" }, loadingHeight: { type: String, default: "40px" }, color: { type: String }, text: { type: String }, layout: { type: String, values: vs, default: "column" } }, ue = { options: { virtualHost: !0 } }; ue.props = fs; ue.setup = (A, t) => { const e = A, a = `${x}-loading ${x}-loading--${e.mode}`, n = `${x}-loading_text`, l = p(() => ({ flexDirection: e.layout })); return { loadingContainerClassName: a, loadingTextClassName: n, loadingContainerStyle: l }; }; ue.components = Object.assign({ LoadingDot: Ts, LoadingCircle: ms }, ue.components); var Ls = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.loadingContainerClassName, style: [A.loadingContainerStyle] }, [A.mode === "dot" ? e("LoadingDot", { attrs: { width: A.loadingWidth, height: A.loadingHeight, color: A.color } }) : e("LoadingCircle", { attrs: { width: A.loadingWidth, height: A.loadingHeight, color: A.color } }), A.text ? e("div", { class: A.loadingTextClassName }, [A._v(A._s(A.text))]) : A._e()], 1); }, Us = []; const Wa = {}; var zs = /* @__PURE__ */ S( ue, Ls, Us, !1, ws, null, null, null ); function ws(A) { for (let t in Wa) this[t] = Wa[t]; } const na = /* @__PURE__ */ function() { return zs.exports; }(), Os = { src: { type: String }, size: { type: Number, default: 20 } }, xs = ["fill", "contain", "cover"], Ga = { fill: "scaleToFill", contain: "aspectFit", cover: "aspectFill" }, Vs = { width: { type: String, default: "320px" }, height: { type: String, default: "240px" }, src: { type: String }, fit: { type: String, values: xs, default: "fill" }, customStyle: { type: Object }, defaultSrc: { type: String } }, oa = { options: { virtualHost: !0 } }; oa.props = Vs; oa.setup = (A, t) => { const e = A, a = t.emit, n = I(!1), l = I(e.src); J(() => e.src, () => { n.value = !1, l.value = e.src; }); const i = p(() => X([`${x}-image`])), u = p(() => ({ width: e.width, height: e.height, ...e.customStyle })), s = p(() => X([`${x}-image_inner`])), r = p(() => se ? Ga[e.fit] || Ga.cover : e.fit); function M(D) { n.value = !0, l.value = e.defaultSrc, a("error", D); } return { IN_WX_MINI_APP: se, hasLoadError: n, imgSrc: l, classname: i, imgStyle: u, imageClassName: s, objectFit: r, handleError: M }; }; var bs = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.classname, style: [A.imgStyle] }, [A.hasLoadError && !A.defaultSrc ? [A._t("error")] : [A.IN_WX_MINI_APP ? A._e() : e("img", { class: A.imageClassName, style: { objectFit: A.objectFit }, attrs: { src: A.imgSrc }, on: { error: A.handleError } }), A.IN_WX_MINI_APP ? e("image", { class: A.imageClassName, attrs: { src: A.imgSrc, mode: A.objectFit }, on: { error: A.handleError } }) : A._e()]], 2); }, Bs = []; const Qa = {}; var Fs = /* @__PURE__ */ S( oa, bs, Bs, !1, Rs, null, null, null ); function Rs(A) { for (let t in Qa) this[t] = Qa[t]; } const SA = /* @__PURE__ */ function() { return Fs.exports; }(), ce = { options: { virtualHost: !0 } }; ce.props = Os; ce.setup = (A, t) => { const e = A, a = p(() => `${e.size}px`), n = p(() => `${e.size}px`); return { width: a, height: n }; }; ce.components = Object.assign({ TKImage: SA }, ce.components); var ks = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("TKImage", { attrs: { src: A.src, width: A.width, height: A.height } }); }, Ps = []; const Za = {}; var Ws = /* @__PURE__ */ S( ce, ks, Ps, !1, Gs, null, null, null ); function Gs(A) { for (let t in Za) this[t] = Za[t]; } const ft = /* @__PURE__ */ function() { return Ws.exports; }(), Qs = ["small", "middle", "large"], Zs = ["row", "column"], Ys = ["circle", "round"], Xs = { iconSrc: { type: String }, iconSize: { type: Number }, text: { type: String }, loading: { type: Boolean, default: !1 }, loadingColor: { type: String, default: "#fff" }, loadingWidth: { type: String, default: "40px" }, loadingHeight: { type: String, default: "40px" }, size: { type: String, values: Qs, default: "middle" }, width: { type: String }, height: { type: String }, color: { type: String }, direction: { type: String, values: Zs, default: "row" }, shape: { type: String, values: Ys }, buttonStyle: { type: Object }, buttonTextStyle: { type: Object } }, re = { options: { virtualHost: !0 } }; re.props = Xs; re.setup = (A, t) => { const e = A, a = `${x}-button--content`, n = p(() => ({ width: e.width, height: e.height, backgroundColor: e.color, flexDirection: e.direction, cursor: WA ? "pointer" : "auto", ...e.buttonStyle })), l = X([`${x}-button`, { [`${x}-${e.shape}`]: e.shape }, `${x}-button--${e.size}`]), i = t.emit; return { buttonTextClassName: a, style: n, buttonClassName: l, handleClick: (s) => { !e.loading && i("click", s); } }; }; re.components = Object.assign({ Loading: na, Icon: ft }, re.components); var _s = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.buttonClassName, style: [A.style], on: { click: A.handleClick } }, [A.loading ? e("Loading", { attrs: { loadingWidth: A.loadingWidth, loadingHeight: A.loadingHeight, color: A.loadingColor } }) : A._e(), A.iconSrc && !A.loading ? e("Icon", { attrs: { size: A.iconSize, src: A.iconSrc } }) : A._e(), A.text ? e("div", { class: A.buttonTextClassName, style: [A.buttonTextStyle] }, [A._v(" " + A._s(A.text) + " ")]) : A._e()], 1); }, qs = []; const Ya = {}; var Js = /* @__PURE__ */ S( re, _s, qs, !1, Hs, null, null, null ); function Hs(A) { for (let t in Ya) this[t] = Ya[t]; } const pA = /* @__PURE__ */ function() { return Js.exports; }(), Zt = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMwIDE2LjA1MDlDMzAgMTMuODE0NiAyOC43NzIyIDExLjcxOTQgMjYuNjg1NSAxMC45MTVDMjMuMDU5MSA5LjUxNzI2IDE5LjExOSA4Ljc1MDk4IDE1IDguNzUwOThDMTAuODgwOSA4Ljc1MDk4IDYuOTQwODYgOS41MTcyNiAzLjMxNDUzIDEwLjkxNUMxLjIyNzg0IDExLjcxOTQgMCAxMy44MTQ2IDAgMTYuMDUwOVYxOS42NDc2QzAgMjAuNTE1MyAwLjczNDAwMyAyMS4yMDIgMS41OTk3OCAyMS4xNDQzTDcuOTc0NzggMjAuNzE5M0M4Ljc2MjcyIDIwLjY2NjggOS4zNzUgMjAuMDEyMyA5LjM3NSAxOS4yMjI2VjE2LjIwOUM5LjM3NSAxNS44NTY0IDkuNjIwMzQgMTUuNTUwMyA5Ljk2NjQ0IDE1LjQ4MzFDMTEuNTk1NSAxNS4xNjY3IDEzLjI3ODQgMTUuMDAxIDE1IDE1LjAwMUMxNi43MjE2IDE1LjAwMSAxOC40MDQ1IDE1LjE2NjcgMjAuMDMzNiAxNS40ODMxQzIwLjM3OTcgMTUuNTUwMyAyMC42MjUgMTUuODU2NCAyMC42MjUgMTYuMjA5VjE5LjIyMjZDMjAuNjI1IDIwLjAxMjMgMjEuMjM3MyAyMC42NjY4IDIyLjAyNTIgMjAuNzE5M0wyOC40MDAyIDIxLjE0NDNDMjkuMjY2IDIxLjIwMiAzMCAyMC41MTUzIDMwIDE5LjY0NzZWMTYuMDUwOVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=", Fo = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNiAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguOTE2NSA4LjE5OTc4SDkuNzY2NVY3LjM0OTc4VjUuNjQ5NzhWNC43OTk3OEg4LjkxNjVINC44MzMxN0gzLjk4MzE3VjUuNjQ5NzhWNy4zNDk3OFY4LjE5OTc4SDQuODMzMTdIOC45MTY1Wk0xLjAxNjUgMS42NjY2MkMxLjAxNjUgMS41ODM3OCAxLjA4MzY2IDEuNTE2NjMgMS4xNjY1IDEuNTE2NjNIMTcuODMzMkMxNy45MTYgMS41MTY2MyAxNy45ODMyIDEuNTgzNzggMTcuOTgzMiAxLjY2NjYzVjE4LjMzMzNDMTcuOTgzMiAxOC40MTYxIDE3LjkxNiAxOC40ODMzIDE3LjgzMzIgMTguNDgzM0gxLjE2NjVDMS4wODM2NiAxOC40ODMzIDEuMDE2NSAxOC40MTYxIDEuMDE2NSAxOC4zMzMzVjEuNjY2NjJaTTIxLjIxNDMgNS4wMjIyNEMyMS4yMTQzIDQuOTYzOTYgMjEuMjQ4IDQuOTEwOTYgMjEuMzAwOCA0Ljg4NjMxTDI0Ljc2OTYgMy4yNjc1NkMyNC44NjkgMy4yMjExNSAyNC45ODMgMy4yOTM3NSAyNC45ODMgMy40MDM0OUwyNC45ODMgMTYuNTk2NEMyNC45ODMgMTYuNzA2MiAyNC44NjkgMTYuNzc4OCAyNC43Njk2IDE2LjczMjRMMjEuMzAwOCAxNS4xMTM2QzIxLjI0OCAxNS4wODkgMjEuMjE0MyAxNS4wMzYgMjEuMjE0MyAxNC45Nzc3TDIxLjIxNDMgNS4wMjIyNFoiIGZpbGw9IiMyMjI2MkUiIHN0cm9rZT0iIzIyMjYyRSIgc3Ryb2tlLXdpZHRoPSIxLjciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K", Ro = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV8yODdfOSIgZmlsbD0id2hpdGUiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTkuOTUxOTEgMjMuMzMzN0gxOC44MzMyQzE5LjM4NTUgMjMuMzMzNyAxOS44MzMyIDIyLjg4NTkgMTkuODMzMiAyMi4zMzM3VjExLjQyOThMOS45NTE5MSAyMy4zMzM3Wk0yMS4zNjQ0IDkuNTg1MTJMMjIuOTg5NiA3LjYyNzM1TDI1LjQxMDMgNi40OTc2N0MyNi4wNzMzIDYuMTg4MjggMjYuODMzMiA2LjY3MjI0IDI2LjgzMzIgNy40MDM4NUwyNi44MzMyIDIwLjU5NjhDMjYuODMzMiAyMS4zMjg0IDI2LjA3MzMgMjEuODEyNCAyNS40MTAzIDIxLjUwM0wyMi40NTgyIDIwLjEyNTNMMjEuOTQxNiAxOS44ODQyQzIxLjU4OTUgMTkuNzE5OSAyMS4zNjQ0IDE5LjM2NjYgMjEuMzY0NCAxOC45NzhMMjEuMzY0NCA5LjU4NTEyWk0xNy44NjMxIDQuNjY2OTlMMi4zNjgxMSAyMy4zMzM3SDIuMTY2NUMxLjYxNDIyIDIzLjMzMzcgMS4xNjY1IDIyLjg4NTkgMS4xNjY1IDIyLjMzMzdWNS42NjY5OUMxLjE2NjUgNS4xMTQ3MSAxLjYxNDIyIDQuNjY2OTkgMi4xNjY1IDQuNjY2OTlIMTcuODYzMVpNNS44MzMxNyAxMS4zNTAxSDkuOTE2NVY5LjY1MDE1SDUuODMzMTdWMTEuMzUwMVoiLz4KPC9tYXNrPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTkuOTUxOTEgMjMuMzMzN0gxOC44MzMyQzE5LjM4NTUgMjMuMzMzNyAxOS44MzMyIDIyLjg4NTkgMTkuODMzMiAyMi4zMzM3VjExLjQyOThMOS45NTE5MSAyMy4zMzM3Wk0yMS4zNjQ0IDkuNTg1MTJMMjIuOTg5NiA3LjYyNzM1TDI1LjQxMDMgNi40OTc2N0MyNi4wNzMzIDYuMTg4MjggMjYuODMzMiA2LjY3MjI0IDI2LjgzMzIgNy40MDM4NUwyNi44MzMyIDIwLjU5NjhDMjYuODMzMiAyMS4zMjg0IDI2LjA3MzMgMjEuODEyNCAyNS40MTAzIDIxLjUwM0wyMi40NTgyIDIwLjEyNTNMMjEuOTQxNiAxOS44ODQyQzIxLjU4OTUgMTkuNzE5OSAyMS4zNjQ0IDE5LjM2NjYgMjEuMzY0NCAxOC45NzhMMjEuMzY0NCA5LjU4NTEyWk0xNy44NjMxIDQuNjY2OTlMMi4zNjgxMSAyMy4zMzM3SDIuMTY2NUMxLjYxNDIyIDIzLjMzMzcgMS4xNjY1IDIyLjg4NTkgMS4xNjY1IDIyLjMzMzdWNS42NjY5OUMxLjE2NjUgNS4xMTQ3MSAxLjYxNDIyIDQuNjY2OTkgMi4xNjY1IDQuNjY2OTlIMTcuODYzMVpNNS44MzMxNyAxMS4zNTAxSDkuOTE2NVY5LjY1MDE1SDUuODMzMTdWMTEuMzUwMVoiIGZpbGw9IndoaXRlIiBzdHlsZT0iZmlsbDp3aGl0ZTtmaWxsOndoaXRlO2ZpbGwtb3BhY2l0eToxOyIvPgo8cGF0aCBkPSJNOS45NTE5MSAyMy4zMzM3TDguNjQzODUgMjIuMjQ3OUw2LjMzMTM4IDI1LjAzMzdIOS45NTE5MVYyMy4zMzM3Wk0xOS44MzMyIDExLjQyOThIMjEuNTMzMlY2LjcyMDI0TDE4LjUyNTEgMTAuMzQ0TDE5LjgzMzIgMTEuNDI5OFpNMjIuOTg5NiA3LjYyNzM1TDIyLjI3MDcgNi4wODY4NEwyMS45MjUxIDYuMjQ4MTFMMjEuNjgxNSA2LjU0MTU0TDIyLjk4OTYgNy42MjczNVpNMjEuMzY0NCA5LjU4NTEyTDIwLjA1NjQgOC40OTkzMUwxOS42NjQ0IDguOTcxNDhMMTkuNjY0NCA5LjU4NTEyTDIxLjM2NDQgOS41ODUxMlpNMjUuNDEwMyA2LjQ5NzY3TDI2LjEyOTIgOC4wMzgxOEwyNi4xMjkyIDguMDM4MThMMjUuNDEwMyA2LjQ5NzY3Wk0yNi44MzMyIDcuNDAzODVMMjguNTMzMiA3LjQwMzg1VjcuNDAzODVIMjYuODMzMlpNMjYuODMzMiAyMC41OTY4TDI1LjEzMzIgMjAuNTk2OFYyMC41OTY4SDI2LjgzMzJaTTI1LjQxMDMgMjEuNTAzTDI0LjY5MTQgMjMuMDQzNUwyNC42OTE0IDIzLjA0MzVMMjUuNDEwMyAyMS41MDNaTTIyLjQ1ODIgMjAuMTI1M0wyMy4xNzcxIDE4LjU4NDhMMjMuMTc3MSAxOC41ODQ4TDIyLjQ1ODIgMjAuMTI1M1pNMjEuOTQxNiAxOS44ODQyTDIxLjIyMjYgMjEuNDI0N0wyMS4yMjI3IDIxLjQyNDdMMjEuOTQxNiAxOS44ODQyWk0yMS4zNjQ0IDE4Ljk3OEwxOS42NjQ0IDE4Ljk3OFYxOC45NzhIMjEuMzY0NFpNMi4zNjgxMSAyMy4zMzM3VjI1LjAzMzdIMy4xNjYzM0wzLjY3NjE3IDI0LjQxOTVMMi4zNjgxMSAyMy4zMzM3Wk0xNy44NjMxIDQuNjY2OTlMMTkuMTcxMiA1Ljc1MjhMMjEuNDgzNyAyLjk2Njk5SDE3Ljg2MzFWNC42NjY5OVpNOS45MTY1IDExLjM1MDFWMTMuMDUwMUgxMS42MTY1VjExLjM1MDFIOS45MTY1Wk01LjgzMzE3IDExLjM1MDFINC4xMzMxN1YxMy4wNTAxSDUuODMzMTdWMTEuMzUwMVpNOS45MTY1IDkuNjUwMTVIMTEuNjE2NVY3Ljk1MDE1SDkuOTE2NVY5LjY1MDE1Wk01LjgzMzE3IDkuNjUwMTVWNy45NTAxNUg0LjEzMzE3VjkuNjUwMTVINS44MzMxN1pNMTguODMzMiAyMS42MzM3SDkuOTUxOTFWMjUuMDMzN0gxOC44MzMyVjIxLjYzMzdaTTE4LjEzMzIgMjIuMzMzN0MxOC4xMzMyIDIxLjk0NzEgMTguNDQ2NiAyMS42MzM3IDE4LjgzMzIgMjEuNjMzN1YyNS4wMzM3QzIwLjMyNDMgMjUuMDMzNyAyMS41MzMyIDIzLjgyNDggMjEuNTMzMiAyMi4zMzM3SDE4LjEzMzJaTTE4LjEzMzIgMTEuNDI5OFYyMi4zMzM3SDIxLjUzMzJWMTEuNDI5OEgxOC4xMzMyWk0xOC41MjUxIDEwLjM0NEw4LjY0Mzg1IDIyLjI0NzlMMTEuMjYgMjQuNDE5NUwyMS4xNDEyIDEyLjUxNTZMMTguNTI1MSAxMC4zNDRaTTIxLjY4MTUgNi41NDE1NEwyMC4wNTY0IDguNDk5MzFMMjIuNjcyNSAxMC42NzA5TDI0LjI5NzYgOC43MTMxNkwyMS42ODE1IDYuNTQxNTRaTTI0LjY5MTQgNC45NTcxNkwyMi4yNzA3IDYuMDg2ODRMMjMuNzA4NSA5LjE2Nzg2TDI2LjEyOTIgOC4wMzgxOEwyNC42OTE0IDQuOTU3MTZaTTI4LjUzMzIgNy40MDM4NUMyOC41MzMyIDUuNDI4NDggMjYuNDgxNSA0LjEyMTggMjQuNjkxNCA0Ljk1NzE2TDI2LjEyOTIgOC4wMzgxOEMyNS42NjUxIDguMjU0NzYgMjUuMTMzMiA3LjkxNTk5IDI1LjEzMzIgNy40MDM4NUgyOC41MzMyWk0yOC41MzMyIDIwLjU5NjhMMjguNTMzMiA3LjQwMzg1TDI1LjEzMzIgNy40MDM4NUwyNS4xMzMyIDIwLjU5NjhMMjguNTMzMiAyMC41OTY4Wk0yNC42OTE0IDIzLjA0MzVDMjYuNDgxNCAyMy44Nzg4IDI4LjUzMzIgMjIuNTcyMiAyOC41MzMyIDIwLjU5NjhIMjUuMTMzMkMyNS4xMzMyIDIwLjA4NDcgMjUuNjY1MSAxOS43NDU5IDI2LjEyOTIgMTkuOTYyNUwyNC42OTE0IDIzLjA0MzVaTTIxLjczOTMgMjEuNjY1OEwyNC42OTE0IDIzLjA0MzVMMjYuMTI5MiAxOS45NjI1TDIzLjE3NzEgMTguNTg0OEwyMS43MzkzIDIxLjY2NThaTTIxLjIyMjcgMjEuNDI0N0wyMS43MzkzIDIxLjY2NThMMjMuMTc3MSAxOC41ODQ4TDIyLjY2MDUgMTguMzQzN0wyMS4yMjI3IDIxLjQyNDdaTTE5LjY2NDQgMTguOTc4QzE5LjY2NDQgMjAuMDI3MSAyMC4yNzIgMjAuOTgxMSAyMS4yMjI2IDIxLjQyNDdMMjIuNjYwNSAxOC4zNDM3QzIyLjkwNjkgMTguNDU4NyAyMy4wNjQ0IDE4LjcwNjEgMjMuMDY0NCAxOC45NzhIMTkuNjY0NFpNMTkuNjY0NCA5LjU4NTEyTDE5LjY2NDQgMTguOTc4TDIzLjA2NDQgMTguOTc4TDIzLjA2NDQgOS41ODUxMkwxOS42NjQ0IDkuNTg1MTJaTTMuNjc2MTcgMjQuNDE5NUwxOS4xNzEyIDUuNzUyOEwxNi41NTUxIDMuNTgxMThMMS4wNjAwNSAyMi4yNDc5TDMuNjc2MTcgMjQuNDE5NVpNMi4zNjgxMSAyMS42MzM3SDIuMTY2NVYyNS4wMzM3SDIuMzY4MTFWMjEuNjMzN1pNMi4xNjY1IDIxLjYzMzdDMi41NTMxMSAyMS42MzM3IDIuODY2NSAyMS45NDcxIDIuODY2NSAyMi4zMzM3SC0wLjUzMzQ5NkMtMC41MzM0OTYgMjMuODI0OCAwLjY3NTMyOSAyNS4wMzM3IDIuMTY2NSAyNS4wMzM3VjIxLjYzMzdaTTIuODY2NSAyMi4zMzM3VjUuNjY2OTlILTAuNTMzNDk2VjIyLjMzMzdIMi44NjY1Wk0yLjg2NjUgNS42NjY5OUMyLjg2NjUgNi4wNTM1OSAyLjU1MzEgNi4zNjY5OSAyLjE2NjUgNi4zNjY5OVYyLjk2Njk5QzAuNjc1MzM5IDIuOTY2OTkgLTAuNTMzNDk2IDQuMTc1ODIgLTAuNTMzNDk2IDUuNjY2OTlIMi44NjY1Wk0yLjE2NjUgNi4zNjY5OUgxNy44NjMxVjIuOTY2OTlIMi4xNjY1VjYuMzY2OTlaTTkuOTE2NSA5LjY1MDE1SDUuODMzMTdWMTMuMDUwMUg5LjkxNjVWOS42NTAxNVpNOC4yMTY1IDkuNjUwMTVWMTEuMzUwMUgxMS42MTY1VjkuNjUwMTVIOC4yMTY1Wk01LjgzMzE3IDExLjM1MDFIOS45MTY1VjcuOTUwMTVINS44MzMxN1YxMS4zNTAxWk03LjUzMzE3IDExLjM1MDFWOS42NTAxNUg0LjEzMzE3VjExLjM1MDFINy41MzMxN1oiIGZpbGw9IndoaXRlIiBzdHlsZT0iZmlsbDp3aGl0ZTtmaWxsOndoaXRlO2ZpbGwtb3BhY2l0eToxOyIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfMjg3XzkpIi8+CjxwYXRoIGQ9Ik00LjU2MzQ4IDI1LjI2ODZMMjIuMTQwNSA0LjA4Mzg5IiBzdHJva2U9IndoaXRlIiBzdHlsZT0ic3Ryb2tlOndoaXRlO3N0cm9rZTp3aGl0ZTtzdHJva2Utb3BhY2l0eToxOyIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=", ko = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDE1LjYyNVYxMy43NUg2VjE1LjYyNUM2IDIwLjU5NTYgMTAuMDI5NCAyNC42MjUgMTUgMjQuNjI1QzE5Ljk3MDYgMjQuNjI1IDI0IDIwLjU5NTYgMjQgMTUuNjI1VjEzLjc1SDI2VjE1LjYyNUMyNiAyMS4zNjMgMjEuNjA2NSAyNi4wNzQ5IDE2IDI2LjU4MDJWMzBIMTRWMjYuNTgwMkM4LjM5MzUgMjYuMDc0OSA0IDIxLjM2MyA0IDE1LjYyNVoiIGZpbGw9IiMyMjI2MkUiLz4KPHJlY3QgeD0iOC43NSIgeT0iMS4yNSIgd2lkdGg9IjEyLjUiIGhlaWdodD0iMjAuNjI1IiByeD0iNi4yNSIgZmlsbD0iIzIyMjYyRSIvPgo8L3N2Zz4K", Po = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04Ljc1IDcuNUM4Ljc1IDQuMDQ4MjIgMTEuNTQ4MiAxLjI1IDE1IDEuMjVDMTYuOTc1OCAxLjI1IDE4LjczNzYgMi4xNjY4NiAxOS44ODI5IDMuNTk4MzRMOC44NzI0OCAxNi44NjI0QzguNzkyMTUgMTYuNDYyNCA4Ljc1IDE2LjA0ODYgOC43NSAxNS42MjVWNy41Wk02LjgwNTY3IDE5LjM1MjNDNi4yODgyNSAxOC4yMTY2IDYgMTYuOTU0NCA2IDE1LjYyNVYxMy43NUg0VjE1LjYyNUM0IDE3LjU4ODIgNC41MTQzMSAxOS40MzEzIDUuNDE1NTUgMjEuMDI2OUw2LjgwNTY3IDE5LjM1MjNaTTkuMjExNzcgMjQuOTgwN0wxMC41MDQ0IDIzLjQyMzVDMTEuODI3MiAyNC4xODc3IDEzLjM2MjUgMjQuNjI1IDE1IDI0LjYyNUMxOS45NzA2IDI0LjYyNSAyNCAyMC41OTU2IDI0IDE1LjYyNVYxMy43NUgyNlYxNS42MjVDMjYgMjEuMzYzIDIxLjYwNjUgMjYuMDc0OSAxNiAyNi41ODAyVjMwSDE0VjI2LjU4MDJDMTIuMjU0MyAyNi40MjI4IDEwLjYyNjIgMjUuODU3NyA5LjIxMTc3IDI0Ljk4MDdaTTEyLjI5ODMgMjEuMjYyNUwyMS4yNSAxMC40Nzg0VjE1LjYyNUMyMS4yNSAxOS4wNzY4IDE4LjQ1MTggMjEuODc1IDE1IDIxLjg3NUMxNC4wMzIzIDIxLjg3NSAxMy4xMTYgMjEuNjU1MSAxMi4yOTgzIDIxLjI2MjVaIiBmaWxsPSJ3aGl0ZSIgc3R5bGU9ImZpbGw6d2hpdGU7ZmlsbDp3aGl0ZTtmaWxsLW9wYWNpdHk6MTsiLz4KPHBhdGggZD0iTTYuNDE4OTUgMjQuMDg0TDIyLjA5MzkgNS4yMDkzOCIgc3Ryb2tlPSJ3aGl0ZSIgc3R5bGU9InN0cm9rZTp3aGl0ZTtzdHJva2U6d2hpdGU7c3Ryb2tlLW9wYWNpdHk6MTsiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K", Wo = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAyOCAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC4xMzUxIDAuMzcyODY0TDIxLjAwMDcgMC44NzM1OUMyNS4xODI3IDMuMjkyNzUgMjggNy44MTY3OSAyOCAxM0MyOCAxOC4xODMzIDI1LjE4MjcgMjIuNzA3MyAyMS4wMDA3IDI1LjEyNjVMMjAuMTM1MSAyNS42MjcyTDE5LjEzMzYgMjMuODk2TDE5Ljk5OTIgMjMuMzk1M0MyMy41ODg3IDIxLjMxODkgMjYgMTcuNDQwNSAyNiAxM0MyNiA4LjU1OTU5IDIzLjU4ODcgNC42ODExNyAxOS45OTkyIDIuNjA0OEwxOS4xMzM2IDIuMTA0MDhMMjAuMTM1MSAwLjM3Mjg2NFpNMTMuNjQ0OCAxLjM4ODkzQzE0LjM1MTcgMC44NjMyNyAxNS4zNTU2IDEuMzY3NzkgMTUuMzU1NiAyLjI0ODY5VjIzLjc1MTRDMTUuMzU1NiAyNC42MzIzIDE0LjM1MTcgMjUuMTM2OCAxMy42NDQ4IDI0LjYxMTFMNi45OTU3IDE5LjY2NjVDNi44MTA4NyAxOS41MjkgNi41ODY2NyAxOS40NTQ4IDYuMzU2MzQgMTkuNDU0OEgxLjI1MTZDMC42NTk4NzEgMTkuNDU0OCAwLjE4MDE3NiAxOC45NzUxIDAuMTgwMTc2IDE4LjM4MzRWNy42MzQxMUMwLjE4MDE3NiA3LjA0MzcxIDAuNjU3NzkgNi41NjQ1NyAxLjI0ODE5IDYuNTYyNjlMNi4zNTgyNCA2LjU0NjM5QzYuNTg3NCA2LjU0NTY2IDYuODEwMjkgNi40NzE0NyA2Ljk5NDE4IDYuMzM0NzJMMTMuNjQ0OCAxLjM4ODkzWk0xOS41NTUzIDYuMTY4NEwxOC43MjM3IDUuNjEzMDRMMTcuNjEzIDcuMjc2MjZMMTguNDQ0NiA3LjgzMTYyQzE5LjkzNjggOC44MjgxNSAyMSAxMC43NDExIDIxIDEzQzIxIDE1LjI1ODkgMTkuOTM2OCAxNy4xNzE5IDE4LjQ0NDYgMTguMTY4NEwxNy42MTMgMTguNzIzOEwxOC43MjM3IDIwLjM4N0wxOS41NTUzIDE5LjgzMTZDMjEuNjQ5OSAxOC40MzI4IDIzIDE1Ljg2ODggMjMgMTNDMjMgMTAuMTMxMiAyMS42NDk5IDcuNTY3MTcgMTkuNTU1MyA2LjE2ODRaIiBmaWxsPSIjMkUzMzNEIi8+Cjwvc3ZnPgo=", Go = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4zNjAyIDIyLjg0MTZMMTQuNTk0NyAyNi40MDI1QzE1LjI5MTYgMjYuOTg4NiAxNi4zNTU3IDI2LjQ5MzEgMTYuMzU1NyAyNS41ODI1VjE1LjYxOUwxMC4zNjAyIDIyLjg0MTZaTTIzLjcxNjIgNi43NTE4N0wyNS4wMDE0IDUuMjAzNjRDMjcuNDc0MSA3LjcyNzkxIDI5IDExLjE4NTUgMjkgMTVDMjkgMjAuMTgzMyAyNi4xODI3IDI0LjcwNzMgMjIuMDAwNyAyNy4xMjY1TDIxLjEzNTEgMjcuNjI3MkwyMC4xMzM3IDI1Ljg5NkwyMC45OTkzIDI1LjM5NTNDMjQuNTg4NyAyMy4zMTg5IDI3IDE5LjQ0MDUgMjcgMTVDMjcgMTEuODA2IDI1Ljc1MjQgOC45MDI4MiAyMy43MTYyIDYuNzUxODdaTTIwLjQzNzcgMTAuNzAxNEwyMS43MjYyIDkuMTQ5MTdDMjMuMTM5MyAxMC42MTMyIDI0IDEyLjcwOTQgMjQgMTVDMjQgMTcuODY4OSAyMi42NSAyMC40MzI5IDIwLjU1NTQgMjEuODMxNkwxOS43MjM4IDIyLjM4N0wxOC42MTMxIDIwLjcyMzhMMTkuNDQ0NyAyMC4xNjg0QzIwLjkzNjkgMTkuMTcxOSAyMiAxNy4yNTg5IDIyIDE1QzIyIDEzLjI4NDIgMjEuMzg2NiAxMS43NjggMjAuNDM3NyAxMC43MDE0Wk0xNi4zNTU3IDYuNDgyODhMMy45Mjc1OSAyMS40NTQ4SDIuMjUxNjdDMS42NTk5MyAyMS40NTQ4IDEuMTgwMjQgMjAuOTc1MSAxLjE4MDI0IDIwLjM4MzRWOS42MzQ1OUMxLjE4MDI0IDkuMDQ0MDEgMS42NTgxMyA4LjU2NDc5IDIuMjQ4NyA4LjU2MzE2TDguMzIyMTggOC41NDYzNkM4LjU3MzQ1IDguNTQ1NjcgOC44MTY0OSA4LjQ1NjY4IDkuMDA4OCA4LjI5NDk2TDE0LjU5NDcgMy41OTc2MUMxNS4yOTE2IDMuMDExNTEgMTYuMzU1NyAzLjUwNjk5IDE2LjM1NTcgNC40MTc2M1Y2LjQ4Mjg4WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTQuNTYzNzIgMjUuMjY4M0wyMi4xNDA3IDQuMDgzNjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K", Ks = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBvcGFjaXR5PSIwLjUiIGN4PSIxNSIgY3k9IjE1IiByPSIxNSIgZmlsbD0iIzIyMjYyRSIgc3R5bGU9ImZpbGw6IzIyMjYyRTtmaWxsOmNvbG9yKGRpc3BsYXktcDMgMC4xMzMzIDAuMTQ5MCAwLjE4MDQpO2ZpbGwtb3BhY2l0eToxOyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIwLjUxNiAxNy40NTE2QzIwLjY2ODIgMTcuNjExOCAyMC42NjE3IDE3Ljg2NSAyMC41MDE1IDE4LjAxNzFMMTkuNjMxNSAxOC44NDM2QzE5LjQ3MTMgMTguOTk1OCAxOS4yMTgyIDE4Ljk4OTMgMTkuMDY2IDE4LjgyOTFMMTQuOTk5OSAxNC41NDlMMTAuOTMzOSAxOC44MjkxQzEwLjc4MTggMTguOTg5MyAxMC41Mjg2IDE4Ljk5NTggMTAuMzY4NCAxOC44NDM2TDkuNDk4NDIgMTguMDE3MkM5LjMzODI2IDE3Ljg2NSA5LjMzMTc2IDE3LjYxMTggOS40ODM5MSAxNy40NTE3TDE0LjUxNjUgMTIuMTUzOUMxNC43NzkzIDExLjg3NzMgMTUuMjIwMyAxMS44NzcyIDE1LjQ4MzIgMTIuMTUzOUwyMC41MTYgMTcuNDUxNloiIGZpbGw9IndoaXRlIiBzdHlsZT0iZmlsbDp3aGl0ZTtmaWxsOndoaXRlO2ZpbGwtb3BhY2l0eToxOyIvPgo8L3N2Zz4K", $s = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyXzE2OTcpIj4KPHBhdGggZD0iTTQuMTYxODIgNS42NzY5OUMyLjU4MDQ5IDcuMjU4MzIgMS45NjcxOCA5LjYwODA1IDIuODczOTUgMTEuNjUyM0M0LjQ0OTc3IDE1LjIwNDkgNi42OTM5OSAxOC41MzI4IDkuNjA2NiAyMS40NDU0QzEyLjUxOTIgMjQuMzU4IDE1Ljg0NzEgMjYuNjAyMiAxOS4zOTk3IDI4LjE3ODFDMjEuNDQ0IDI5LjA4NDggMjMuNzkzNyAyOC40NzE1IDI1LjM3NSAyNi44OTAyTDI3LjkxODMgMjQuMzQ2OUMyOC41MzE5IDIzLjczMzMgMjguNDk4NCAyMi43Mjg4IDI3Ljg0NTQgMjIuMTU3NEwyMy4wMzcxIDE3Ljk1MDFDMjIuNDQyOCAxNy40MzAxIDIxLjU0NzEgMTcuNDU5OSAyMC45ODg3IDE4LjAxODNMMTguODU3NyAyMC4xNDkzQzE4LjYwODQgMjAuMzk4NiAxOC4yMTg0IDIwLjQ0MTUgMTcuOTI2MiAyMC4yNDQzQzE2LjU1MDUgMTkuMzE2MSAxNS4yNDM0IDE4LjI0MzMgMTQuMDI2IDE3LjAyNkMxMi44MDg3IDE1LjgwODYgMTEuNzM1OSAxNC41MDE1IDEwLjgwNzcgMTMuMTI1OEMxMC42MTA1IDEyLjgzMzYgMTAuNjUzNCAxMi40NDM2IDEwLjkwMjcgMTIuMTk0M0wxMy4wMzM3IDEwLjA2MzNDMTMuNTkyMSA5LjUwNDk0IDEzLjYyMTkgOC42MDkyMyAxMy4xMDE5IDguMDE0OTNMOC44OTQ2NCAzLjIwNjZDOC4zMjMyNSAyLjU1MzU5IDcuMzE4NjcgMi41MjAxNCA2LjcwNTExIDMuMTMzN0w0LjE2MTgyIDUuNjc2OTlaIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzIyXzE2OTciPgo8cmVjdCB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==", UA = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDJDMSAxLjQ0NzcyIDEuNDQ3NzIgMSAyIDFIMjZDMjYuNTUyMyAxIDI3IDEuNDQ3NzIgMjcgMlYyNkMyNyAyNi41NTIzIDI2LjU1MjMgMjcgMjYgMjdIMkMxLjQ0NzcyIDI3IDEgMjYuNTUyMyAxIDI2VjJaTTE1LjY1MjggMTYuODAxM0MxNy4xMzg1IDE2LjE2MDggMTguMTc4NiAxNC42ODMgMTguMTc4NiAxMi45NjI0QzE4LjE3ODYgMTAuNjU0NiAxNi4zMDc4IDguNzgzOCAxNCA4Ljc4MzhDMTEuNjkyMiA4Ljc4MzggOS44MjE0MyAxMC42NTQ2IDkuODIxNDMgMTIuOTYyNEM5LjgyMTQzIDE0LjY4MyAxMC44NjE1IDE2LjE2MDggMTIuMzQ3MiAxNi44MDEzSDEyLjE0MjlDOS4wNjU4NCAxNi44MDEzIDYuNTcxNDMgMTkuMjk1NyA2LjU3MTQzIDIyLjM3MjhWMjQuNjIyOEM2LjU3MTQzIDI1LjE3NSA3LjAxOTE0IDI1LjYyMjggNy41NzE0MyAyNS42MjI4SDIwLjQyODZDMjAuOTgwOSAyNS42MjI4IDIxLjQyODYgMjUuMTc1IDIxLjQyODYgMjQuNjIyOFYyMi4zNzI4QzIxLjQyODYgMTkuMjk1NyAxOC45MzQyIDE2LjgwMTMgMTUuODU3MSAxNi44MDEzSDE1LjY1MjhaTTIuMzkyODYgNy42MjA5NEw3LjYyMDk0IDIuMzkyODZIOS44NTMzN0wyLjM5Mjg2IDkuODUzMzdWNy42MjA5NFpNMi4zOTI4NiAxNS43NTFWMTMuNTE4NUwxMy41MTg1IDIuMzkyODZIMTUuNzUxTDIuMzkyODYgMTUuNzUxWk0yLjM5Mjg2IDIxLjY0ODZWMTkuNDE2MUw3Ljg1MTg1IDEzLjk1NzFDNy45MTM5NCAxNC41ODMgOC4wNjk0IDE1LjE4MTEgOC4zMDM5NiAxNS43Mzc1TDIuMzkyODYgMjEuNjQ4NlpNMTYuMzk3OCA3LjY0MzYzQzE1Ljg0MTIgNy40MDkwNCAxNS4yNDMgNy4yNTM2NSAxNC42MTc0IDcuMTkxNTdMMTkuNDE2MSAyLjM5Mjg2SDIxLjY0ODZMMTYuMzk3OCA3LjY0MzYzWk0yLjgzOTUxIDI0Ljg2NzFMNC41NzEzOSAyMy4xMzUyVjI1LjAwMDFDNC41NzEzOSAyNS4xMTc2IDQuNTc4MTUgMjUuMjMzNiA0LjU5MTMxIDI1LjM0NzdMNC4zMzI3NCAyNS42MDYzQzMuNzMwMTQgMjUuNTg4NSAzLjE5NDQ1IDI1LjMwNDEgMi44Mzk1MSAyNC44NjcxWk0xOC41NDg1IDkuMTU4MDZDMTguOTA5OSA5LjU1MDk0IDE5LjIyMSA5Ljk5MDc1IDE5LjQ3MTcgMTAuNDY3M0wyNS42MDYzIDQuMzMyNzRDMjUuNTg4NSAzLjczMDE0IDI1LjMwNDEgMy4xOTQ0NSAyNC44NjcxIDIuODM5NTFMMTguNTQ4NSA5LjE1ODA2Wk0xOS41MTg0IDE2LjEyMTJDMTkuNTYwNiAxNi4xNDQ1IDE5LjYwMjUgMTYuMTY4MiAxOS42NDQyIDE2LjE5MjRMMjUuNjA3MSAxMC4yMjk0VjcuOTk3TDIwLjE3NzkgMTMuNDI2MkMyMC4xNjQ2IDE0LjM5NTIgMTkuOTI4MyAxNS4zMDk3IDE5LjUxODQgMTYuMTIxMlpNMjEuNjM5NiAxNy44NjIxQzIxLjk4NTIgMTguMjcwNiAyMi4yODgzIDE4LjcxNjIgMjIuNTQyMSAxOS4xOTJMMjUuNjA3MSAxNi4xMjdWMTMuODk0NkwyMS42Mzk2IDE3Ljg2MjFaTTIzLjQyODUgMjIuNzUwMVYyNC4yMDMyTDI1LjYwNzEgMjIuMDI0NlYxOS43OTIyTDIzLjM5MjUgMjIuMDA2OEMyMy40MTYzIDIyLjI1MTMgMjMuNDI4NSAyMi40OTkzIDIzLjQyODUgMjIuNzUwMVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=", Yt = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAyNiAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wIDFDMCAwLjQ0NzcxNiAwLjQ0NzcxNSAwIDEgMEgyNUMyNS41NTIzIDAgMjYgMC40NDc3MTUgMjYgMVYyNUMyNiAyNS41NTIzIDI1LjU1MjMgMjYgMjUgMjZIMUMwLjQ0NzcxNiAyNiAwIDI1LjU1MjMgMCAyNVYxWk0xMyAxNEMxNS4zMDc4IDE0IDE3LjE3ODYgMTIuMTI5MiAxNy4xNzg2IDkuODIxNDNDMTcuMTc4NiA3LjUxMzY3IDE1LjMwNzggNS42NDI4NiAxMyA1LjY0Mjg2QzEwLjY5MjIgNS42NDI4NiA4LjgyMTQzIDcuNTEzNjcgOC44MjE0MyA5LjgyMTQzQzguODIxNDMgMTIuMTI5MiAxMC42OTIyIDE0IDEzIDE0Wk0xMS4xNDI5IDE1LjM0NTlDOC4wNjU4NCAxNS4zNDU5IDUuNTcxNDMgMTcuODQwMyA1LjU3MTQzIDIwLjkxNzRWMjMuMTY3NEM1LjU3MTQzIDIzLjcxOTYgNi4wMTkxNCAyNC4xNjc0IDYuNTcxNDMgMjQuMTY3NEgxOS40Mjg2QzE5Ljk4MDkgMjQuMTY3NCAyMC40Mjg2IDIzLjcxOTYgMjAuNDI4NiAyMy4xNjc0VjIwLjkxNzRDMjAuNDI4NiAxNy44NDAzIDE3LjkzNDIgMTUuMzQ1OSAxNC44NTcxIDE1LjM0NTlMMTMgMTguMDE5M0wxMS4xNDI5IDE1LjM0NTlaTTEuMzkyODYgOC4wMzU1M0w4LjAzNTUzIDEuMzkyODZIMTAuMjY4TDEuMzkyODYgMTAuMjY4VjguMDM1NTNaTTEuMzkyODYgMjAuMjY4VjE4LjAzNTVMOC4wMzQ2NiAxMS4zOTM3TDkuMTUwODggMTIuNTA5OUwxLjM5Mjg2IDIwLjI2OFpNMjQuNjA3MSAxNC44MjEyVjE3LjA1MzdMMjIuMTM0IDE5LjUyNjlMMjEuMDE3NyAxOC40MTA2TDI0LjYwNzEgMTQuODIxMlpNMjQuNjA3MSA0LjgyMTI5VjcuMDUzNzNMMTcuNTE0OSAxNC4xNDZMMTYuMzk4NyAxMy4wMjk4TDI0LjYwNzEgNC44MjEyOVpNMjAuMjY4IDEuMzkyODZMMTYuMzcyNiA1LjI4ODIxTDE1LjI1NjQgNC4xNzE5OUwxOC4wMzU1IDEuMzkyODZIMjAuMjY4WiIgZmlsbD0iYmxhY2siIHN0eWxlPSJmaWxsOmJsYWNrO2ZpbGwtb3BhY2l0eToxOyIvPgo8L3N2Zz4K", Au = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjY2NjgzIDkuMzMzMzdIMy4zMzM1VjQuMDAwMDRDMy4zMzM1IDMuNjMxODUgMy42MzE5NyAzLjMzMzM3IDQuMDAwMTYgMy4zMzMzN0w5LjMzMzUgMy4zMzMzN1Y0LjY2NjcxSDUuNjA5NjNMOS44MDQ5IDguODYxOTlMOC44NjIwOSA5LjgwNDhMNC42NjY4MyA1LjYwOTUyVjkuMzMzMzdaTTE1LjMzMzMgMTAuNjY2N0gxNi42NjY3VjE2QzE2LjY2NjcgMTYuMzY4MiAxNi4zNjgyIDE2LjY2NjcgMTYgMTYuNjY2N0wxMC42NjY3IDE2LjY2NjdMMTAuNjY2NyAxNS4zMzMzSDE0LjM5MDVMMTAuMTk1MyAxMS4xMzhMMTEuMTM4MSAxMC4xOTUyTDE1LjMzMzMgMTQuMzkwNVYxMC42NjY3WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTAuNjY2NjY3IDEuMzMzMzNDMC42NjY2NjcgMC45NjUxNDQgMC45NjUxNDQgMC42NjY2NjcgMS4zMzMzMyAwLjY2NjY2N0gxOC42NjY3QzE5LjAzNDkgMC42NjY2NjcgMTkuMzMzMyAwLjk2NTE0NCAxOS4zMzMzIDEuMzMzMzNWMTguNjY2N0MxOS4zMzMzIDE5LjAzNDkgMTkuMDM0OSAxOS4zMzMzIDE4LjY2NjcgMTkuMzMzM0gxLjMzMzMzQzAuOTY1MTQzIDE5LjMzMzMgMC42NjY2NjcgMTkuMDM0OSAwLjY2NjY2NyAxOC42NjY3VjEuMzMzMzNaIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuMzMzMzMiLz4KPC9zdmc+", eu = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHg9IjAuNzY5MjMxIiB5PSIwLjc2OTIzMSIgd2lkdGg9IjE4LjQ2MTUiIGhlaWdodD0iMTguNDYxNSIgcng9IjAuNzY5MjMxIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuNTM4NDYiLz4KICAgIDxwYXRoIGQ9Ik0xMS41Mzg1IDEyLjMwNzdDMTEuNTM4NSAxMS44ODI5IDExLjg4MjkgMTEuNTM4NSAxMi4zMDc3IDExLjUzODVIMTkuMjMwOFYxOC40NjE1QzE5LjIzMDggMTguODg2NCAxOC44ODY0IDE5LjIzMDggMTguNDYxNiAxOS4yMzA4SDExLjUzODVWMTIuMzA3N1oiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41Mzg0NiIvPgogICAgPHBhdGggZD0iTTAuNzY5Mjg3IDAuNzY5MjI2TDguOTcyMyA4LjkyNDEyIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuNTM4NDYiLz4KICAgIDxwYXRoIGQ9Ik05LjQ5NjcgNC43MTcxNlY5LjQ0ODZINC43NDE0NiIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUzODQ2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICA8L3N2Zz4=", tu = "data:image/svg+xml;base64,PHN2ZyB0PSIxNzA4NDAwODQ5NTMxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjgyNjciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxLjUxIDQ2MC4xNWg3NzkuNjR2MTAwLjZIMTIxLjUxeiIgcC1pZD0iODI2OCIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjxwYXRoIGQ9Ik00NjEuMDM1IDkwMC4yNzF2LTc3OS42NGgxMDAuNnY3NzkuNjR6IiBwLWlkPSI4MjY5IiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+", au = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguNDk5OTEgNEgyLjk5OTkxQzIuNDQ3NjIgNCAxLjk5OTkxIDQuNDQ3NzIgMS45OTk5MSA1VjE3QzEuOTk5OTEgMTcuNTUyMyAyLjQ0NzYyIDE4IDIuOTk5OTEgMThIMTQuOTk5OUMxNS41NTIyIDE4IDE1Ljk5OTkgMTcuNTUyMyAxNS45OTk5IDE3VjExLjUiIHN0cm9rZT0iI0Q1RTBGMiIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS40OTk5IDMuNVY4LjVIMTYuNDk5OVYzLjVIMTEuNDk5OVpNMTAuOTk5OSAyQzEwLjQ0NzYgMiA5Ljk5OTkxIDIuNDQ3NzIgOS45OTk5MSAzVjlDOS45OTk5MSA5LjU1MjI4IDEwLjQ0NzYgMTAgMTAuOTk5OSAxMEgxNi45OTk5QzE3LjU1MjIgMTAgMTcuOTk5OSA5LjU1MjI4IDE3Ljk5OTkgOVYzQzE3Ljk5OTkgMi40NDc3MiAxNy41NTIyIDIgMTYuOTk5OSAySDEwLjk5OTlaIiBmaWxsPSIjRDVFMEYyIi8+Cjwvc3ZnPgo=", fA = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNS4wMTg0IDUuNzYzMzZDMjYuMTIyOSA1Ljc2MzM2IDI3LjAxODQgNi42NTg3OSAyNy4wMTg0IDcuNzYzMzZWMjMuMjkwOUMyNy4wMTg0IDI0LjM5NTUgMjYuMTIyOSAyNS4yOTA5IDI1LjAxODQgMjUuMjkwOUgyLjk4MTYzQzEuODc3MDYgMjUuMjkwOSAwLjk4MTYyOCAyNC4zOTU1IDAuOTgxNjI4IDIzLjI5MDlWNy43NjMzNkMwLjk4MTYyOCA2LjY1ODc5IDEuODc3MDYgNS43NjMzNiAyLjk4MTYzIDUuNzYzMzZINy4yNDM2QzcuODE0ODggNS43NjMzNiA4LjM1ODg4IDUuNTE5MDcgOC43Mzg0MiA1LjA5MjA5TDEwLjE0ODcgMy41MDU1QzEwLjUyODMgMy4wNzg1MiAxMS4wNzIzIDIuODM0MjMgMTEuNjQzNSAyLjgzNDIzSDE0SDE2LjM1NjVDMTYuOTI3NyAyLjgzNDIzIDE3LjQ3MTcgMy4wNzg1MiAxNy44NTEzIDMuNTA1NUwxOS4yNjE2IDUuMDkyMDlDMTkuNjQxMSA1LjUxOTA3IDIwLjE4NTEgNS43NjMzNiAyMC43NTY0IDUuNzYzMzZIMjUuMDE4NFpNMTEuNzIyOSA5LjU4NDk1QzEyLjM5OTQgOS4zMTYwMiAxMy4xMzc3IDkuMTY4NDYgMTMuOTA5MSA5LjE2ODQ2QzE1LjYyNzcgOS4xNjg0NiAxNy4xNzg4IDkuOTAxMzIgMTguMjUgMTEuMDcxVjkuOTE4NDZIMTkuNzVWMTQuOTEzOEwxOS43NSAxNC45MTg1SDE4LjI1TDE4LjI1IDE0LjkxNDRDMTguMjQ3OCAxMi41ODE3IDE2LjMxNzkgMTAuNjY4NSAxMy45MDkxIDEwLjY2ODVDMTMuMzMwMiAxMC42Njg1IDEyLjc3OTcgMTAuNzc5IDEyLjI3NzEgMTAuOTc4OEwxMS43MjI5IDkuNTg0OTVaTTguMjUgMTkuOTE4NVYxNC45MTg1SDkuNzVDOS43NSAxNy4yNTMgMTEuNjgwNyAxOS4xNjg1IDE0LjA5MDkgMTkuMTY4NUMxNC42Njk4IDE5LjE2ODUgMTUuMjIwMyAxOS4wNTc5IDE1LjcyMjkgMTguODU4MUwxNi4yNzcxIDIwLjI1MkMxNS42MDA2IDIwLjUyMDkgMTQuODYyMyAyMC42Njg1IDE0LjA5MDkgMjAuNjY4NUMxMi4zNzIzIDIwLjY2ODUgMTAuODIxMiAxOS45MzU2IDkuNzUgMTguNzY2VjE5LjkxODVIOC4yNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=", nu = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfYl8yNTg0XzIzNikiPgo8bWFzayBpZD0icGF0aC0xLWluc2lkZS0xXzI1ODRfMjM2IiBmaWxsPSJ3aGl0ZSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNSAxMS4wNTA1QzEyLjk4NTMgMTEuMDUwNSAxNSA5LjAzNTgyIDE1IDYuNTUwNTRDMTUgNC4wNjUyNiAxMi45ODUzIDIuMDUwNTQgMTAuNSAyLjA1MDU0QzguMDE0NzIgMi4wNTA1NCA2IDQuMDY1MjYgNiA2LjU1MDU0QzYgOS4wMzU4MiA4LjAxNDcyIDExLjA1MDUgMTAuNSAxMS4wNTA1Wk04LjUgMTIuNTAwMUM1LjE4NjI5IDEyLjUwMDEgMi41IDE1LjE4NjQgMi41IDE4LjUwMDFWMjEuMDAwMUMyLjUgMjEuNTUyMyAyLjk0NzcyIDIyLjAwMDEgMy41IDIyLjAwMDFIMTcuNUMxOC4wNTIzIDIyLjAwMDEgMTguNSAyMS41NTIzIDE4LjUgMjEuMDAwMVYxOC41MDAxQzE4LjUgMTUuMTg2NCAxNS44MTM3IDEyLjUwMDEgMTIuNSAxMi41MDAxTDEwLjUgMTUuMzc5MUw4LjUgMTIuNTAwMVoiLz4KPC9tYXNrPgo8cGF0aCBkPSJNOC41IDEyLjUwMDFMOS44OTYxNyAxMS41MzAyTDkuMzg4OTkgMTAuODAwMUg4LjVWMTIuNTAwMVpNMTIuNSAxMi41MDAxVjEwLjgwMDFIMTEuNjExTDExLjEwMzggMTEuNTMwMkwxMi41IDEyLjUwMDFaTTEwLjUgMTUuMzc5MUw5LjEwMzgzIDE2LjM0OUwxMC41IDE4LjM1ODhMMTEuODk2MiAxNi4zNDlMMTAuNSAxNS4zNzkxWk0xMy4zIDYuNTUwNTRDMTMuMyA4LjA5NjkzIDEyLjA0NjQgOS4zNTA1NCAxMC41IDkuMzUwNTRWMTIuNzUwNUMxMy45MjQyIDEyLjc1MDUgMTYuNyA5Ljk3NDcgMTYuNyA2LjU1MDU0SDEzLjNaTTEwLjUgMy43NTA1NEMxMi4wNDY0IDMuNzUwNTQgMTMuMyA1LjAwNDE0IDEzLjMgNi41NTA1NEgxNi43QzE2LjcgMy4xMjYzNyAxMy45MjQyIDAuMzUwNTM3IDEwLjUgMC4zNTA1MzdWMy43NTA1NFpNNy43IDYuNTUwNTRDNy43IDUuMDA0MTQgOC45NTM2IDMuNzUwNTQgMTAuNSAzLjc1MDU0VjAuMzUwNTM3QzcuMDc1ODMgMC4zNTA1MzcgNC4zIDMuMTI2MzcgNC4zIDYuNTUwNTRINy43Wk0xMC41IDkuMzUwNTRDOC45NTM2IDkuMzUwNTQgNy43IDguMDk2OTMgNy43IDYuNTUwNTRINC4zQzQuMyA5Ljk3NDcgNy4wNzU4MyAxMi43NTA1IDEwLjUgMTIuNzUwNVY5LjM1MDU0Wk00LjIgMTguNTAwMUM0LjIgMTYuMTI1MiA2LjEyNTE4IDE0LjIwMDEgOC41IDE0LjIwMDFWMTAuODAwMUM0LjI0NzQxIDEwLjgwMDEgMC44IDE0LjI0NzUgMC44IDE4LjUwMDFINC4yWk00LjIgMjEuMDAwMVYxOC41MDAxSDAuOFYyMS4wMDAxSDQuMlpNMy41IDIwLjMwMDFDMy44ODY2IDIwLjMwMDEgNC4yIDIwLjYxMzUgNC4yIDIxLjAwMDFIMC44QzAuOCAyMi40OTEyIDIuMDA4ODMgMjMuNzAwMSAzLjUgMjMuNzAwMVYyMC4zMDAxWk0xNy41IDIwLjMwMDFIMy41VjIzLjcwMDFIMTcuNVYyMC4zMDAxWk0xNi44IDIxLjAwMDFDMTYuOCAyMC42MTM1IDE3LjExMzQgMjAuMzAwMSAxNy41IDIwLjMwMDFWMjMuNzAwMUMxOC45OTEyIDIzLjcwMDEgMjAuMiAyMi40OTEyIDIwLjIgMjEuMDAwMUgxNi44Wk0xNi44IDE4LjUwMDFWMjEuMDAwMUgyMC4yVjE4LjUwMDFIMTYuOFpNMTIuNSAxNC4yMDAxQzE0Ljg3NDggMTQuMjAwMSAxNi44IDE2LjEyNTIgMTYuOCAxOC41MDAxSDIwLjJDMjAuMiAxNC4yNDc1IDE2Ljc1MjYgMTAuODAwMSAxMi41IDEwLjgwMDFWMTQuMjAwMVpNMTEuODk2MiAxNi4zNDlMMTMuODk2MiAxMy40N0wxMS4xMDM4IDExLjUzMDJMOS4xMDM4MyAxNC40MDkyTDExLjg5NjIgMTYuMzQ5Wk03LjEwMzgzIDEzLjQ3TDkuMTAzODMgMTYuMzQ5TDExLjg5NjIgMTQuNDA5Mkw5Ljg5NjE3IDExLjUzMDJMNy4xMDM4MyAxMy40N1oiIGZpbGw9IiNENUUwRjIiIG1hc2s9InVybCgjcGF0aC0xLWluc2lkZS0xXzI1ODRfMjM2KSIvPgo8L2c+CjxwYXRoIGQ9Ik0xNiAxMUgyM00xOS41IDcuNVYxNC41IiBzdHJva2U9IiNENUUwRjIiIHN0cm9rZS13aWR0aD0iMS43Ii8+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2JfMjU4NF8yMzYiIHg9Ii01LjUiIHk9Ii01Ljk0OTQ2IiB3aWR0aD0iMzIiIGhlaWdodD0iMzUuOTQ5NSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgo8ZmVHYXVzc2lhbkJsdXIgaW49IkJhY2tncm91bmRJbWFnZUZpeCIgc3RkRGV2aWF0aW9uPSI0Ii8+CjxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iaW4iIHJlc3VsdD0iZWZmZWN0MV9iYWNrZ3JvdW5kQmx1cl8yNTg0XzIzNiIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfYmFja2dyb3VuZEJsdXJfMjU4NF8yMzYiIHJlc3VsdD0ic2hhcGUiLz4KPC9maWx0ZXI+CjwvZGVmcz4KPC9zdmc+Cg==", ou = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBvcGFjaXR5PSIwLjUiIGN4PSIxNSIgY3k9IjE1IiByPSIxNSIgZmlsbD0iIzIyMjYyRSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTkuNDgzNzUgMTQuMzEzM0M5LjMzMTYgMTQuMTUzMSA5LjMzODA5IDEzLjg5OTkgOS40OTgyNSAxMy43NDc4TDEwLjM2ODMgMTIuOTIxM0MxMC41Mjg0IDEyLjc2OTEgMTAuNzgxNiAxMi43NzU2IDEwLjkzMzggMTIuOTM1OEwxNC45OTk5IDE3LjIxNTlMMTkuMDY1OCAxMi45MzU4QzE5LjIxOCAxMi43NzU2IDE5LjQ3MTEgMTIuNzY5MSAxOS42MzEzIDEyLjkyMTNMMjAuNTAxMyAxMy43NDc3QzIwLjY2MTUgMTMuODk5OSAyMC42NjggMTQuMTUzMSAyMC41MTU4IDE0LjMxMzJMMTUuNDgzMyAxOS42MTFDMTUuMjIwNCAxOS44ODc2IDE0Ljc3OTQgMTkuODg3NiAxNC41MTY2IDE5LjYxMUw5LjQ4Mzc1IDE0LjMxMzNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K", eA = !j.isPC; let Qo = au, Zo = nu; eA || (Qo = eu, Zo = tu); const R = { width: eA ? "60px" : "40px", height: eA ? "60px" : "40px", shape: "circle", iconSize: eA ? 30 : 20, showText: !0, textColor: "#D5E0F2", textSize: "12px", textStyle: { marginTop: "5px" } }, h = { accept: { basicConfig: { ...R, color: "#51C271", iconSrc: $s }, loadingConfig: { ...R, color: "#51C271", loadingWidth: eA ? "30px" : "20px", loadingHeight: eA ? "30px" : "20px" } }, hangup: { basicConfig: { ...R, color: "#ED4651", iconSrc: Zt }, loadingConfig: { ...R, color: "#ED4651", loadingWidth: eA ? "30px" : "20px", loadingHeight: eA ? "30px" : "20px" } }, reject: { basicConfig: { ...R, color: "#ED4651", iconSrc: Zt } }, camera: { basicConfig: { ...R, color: "#FFFFFF", iconSrc: Fo, shape: "circle" }, closedConfig: { ...R, color: "#6b758a4d", iconSrc: Ro }, loadingConfig: { ...R, color: "#6b758a4d", loadingWidth: eA ? "30px" : "20px", loadingHeight: eA ? "30px" : "20px" } }, microphone: { basicConfig: { ...R, color: "#FFFFFF", iconSrc: ko }, closedConfig: { ...R, color: "#6b758a4d", iconSrc: Po } }, speaker: { basicConfig: { ...R, color: "#FFFFFF", iconSrc: Wo }, closedConfig: { ...R, color: "#6b758a4d", iconSrc: Go } }, fullScreen: { basicConfig: { iconSize: 20, iconSrc: Au } }, minimize: { basicConfig: { iconSize: eA ? 24 : 20, iconSrc: Qo } }, switchCamera: { basicConfig: { ...R, color: "transparent", iconSrc: fA, shape: "circle" } }, inviteUser: { basicConfig: { ...R, color: eA ? "" : "#6b758a4d", width: eA ? "24px" : "40px", height: eA ? "24px" : "40px", shape: eA ? "" : "circle", iconSize: eA ? 24 : 20, iconSrc: Zo } }, toggleButtonPanel: { basicConfig: { color: "transparent", width: "40px", height: "40px", shape: "circle", iconSize: 40, iconSrc: ou } }, virtualBackground: { basicConfig: { ...R, color: "#6b758a4d", iconSrc: UA, shape: "circle" }, closedConfig: { ...R, color: "#FFFFFF", iconSrc: Yt }, loadingConfig: { ...R, color: "#6b758a4d", loadingWidth: eA ? "30px" : "20px", loadingHeight: eA ? "30px" : "20px" }, disableConfig: { ...R, color: "#6b758a4d", iconSrc: UA, buttonStyle: { opacity: 0.6 } } } }, jA = { singleCall: { video: { calling: { ...h, switchCamera: { basicConfig: { ...R, color: "#6b758a4d", iconSrc: fA, shape: "circle", showText: !0 }, disableConfig: { ...R, color: "#6b758a4d", iconSrc: fA, shape: "circle", showText: !0, buttonStyle: { opacity: 0.6 } } }, hangup: { basicConfig: { ...h.hangup.basicConfig }, loadingConfig: { ...h.hangup.loadingConfig } }, reject: { basicConfig: { ...h.reject.basicConfig, showText: !1 } } }, accept: { ...h, switchCamera: { basicConfig: { ...R, color: "#6b758a4d", iconSrc: fA, shape: "circle" }, disableConfig: { ...R, color: "#6b758a4d", iconSrc: fA, shape: "circle", showText: !0, buttonStyle: { opacity: 0.6 } } }, accept: { basicConfig: { ...h.accept.basicConfig, showText: !1 }, loadingConfig: { ...h.accept.loadingConfig, showText: !1 } }, reject: { basicConfig: { ...h.reject.basicConfig, showText: !1 } } }, connected: { ...h, virtualBackground: { basicConfig: { ...R, color: "transparent", iconSrc: UA, shape: "circle", showText: !1 }, closedConfig: { ...R, color: "transparent", iconSrc: UA, showText: !1 }, disableConfig: { ...R, color: "transparent", iconSrc: UA, showText: !1, buttonStyle: { opacity: 0.6 } } }, hangup: { basicConfig: { ...h.hangup.basicConfig, showText: !1 }, loadingConfig: { ...h.hangup.loadingConfig, showText: !1 } }, switchCamera: { basicConfig: { ...h.switchCamera.basicConfig, showText: !1 }, disableConfig: { ...h.switchCamera.basicConfig, showText: !1, buttonStyle: { opacity: 0.6 } } } } }, audio: { calling: h, accept: h, connected: h } }, groupCall: { video: { calling: { ...h, switchCamera: { basicConfig: { ...R, color: "#6b758a4d", iconSrc: fA, shape: "circle" } }, hangup: { basicConfig: { ...h.hangup.basicConfig, showText: !1 }, loadingConfig: { ...h.hangup.loadingConfig, showText: !1 } }, accept: { basicConfig: { ...h.accept.basicConfig, showText: !1 }, loadingConfig: { ...h.accept.loadingConfig, showText: !1 } }, reject: { basicConfig: { ...h.reject.basicConfig, showText: !1 } } }, accept: { ...h, hangup: { basicConfig: { ...h.hangup.basicConfig, showText: !1 }, loadingConfig: { ...h.hangup.loadingConfig, showText: !1 } }, accept: { basicConfig: { ...h.accept.basicConfig, showText: !1 }, loadingConfig: { ...h.accept.loadingConfig, showText: !1 } }, reject: { basicConfig: { ...h.reject.basicConfig, showText: !1 } } }, connected: { ...h, virtualBackground: { basicConfig: { ...R, color: "transparent", iconSrc: UA, shape: "circle", showText: !1 }, closedConfig: { ...R, color: "transparent", iconSrc: Yt, showText: !1 } }, hangup: { basicConfig: { ...h.hangup.basicConfig, showText: !1 }, loadingConfig: { ...h.hangup.loadingConfig, showText: !1 } } } }, audio: { calling: { ...h, switchCamera: { basicConfig: { ...R, color: "#6b758a4d", iconSrc: fA, shape: "circle" } }, hangup: { basicConfig: { ...h.hangup.basicConfig, showText: !1 }, loadingConfig: { ...h.hangup.loadingConfig, showText: !1 } }, accept: { basicConfig: { ...h.accept.basicConfig, showText: !1 }, loadingConfig: { ...h.accept.loadingConfig, showText: !1 } }, reject: { basicConfig: { ...h.reject.basicConfig, showText: !1 } } }, accept: { ...h, hangup: { basicConfig: { ...h.hangup.basicConfig, showText: !1 }, loadingConfig: { ...h.hangup.loadingConfig, showText: !1 } }, accept: { basicConfig: { ...h.accept.basicConfig, showText: !1 }, loadingConfig: { ...h.accept.loadingConfig, showText: !1 } }, reject: { basicConfig: { ...h.reject.basicConfig, showText: !1 } } }, connected: { ...h, hangup: { basicConfig: { ...h.hangup.basicConfig, showText: !1 }, loadingConfig: { ...h.hangup.loadingConfig, showText: !1 } }, virtualBackground: { basicConfig: { ...R, color: "transparent", iconSrc: UA, shape: "circle" }, closedConfig: { ...R, color: "transparent", iconSrc: Yt } } } } } }, lu = { singleCall: { video: { calling: h, accept: h, connected: h }, audio: { calling: h, accept: h, connected: h } }, groupCall: { video: { calling: h, accept: h, connected: h }, audio: { calling: h, accept: h, connected: h } } }, iu = { pc: lu, mobile: jA }, hA = { width: "40px", height: "40px", shape: "circle", iconSize: 20, textColor: "#D5E0F2" }, Je = { microphone: { basicConfig: { ...hA, color: "#FFFFFF", iconSrc: ko }, closedConfig: { ...hA, color: "#6b758a4d", iconSrc: Po } }, speaker: { basicConfig: { ...hA, color: "#FFFFFF", iconSrc: Wo }, closedConfig: { ...hA, color: "#6b758a4d", iconSrc: Go } }, camera: { basicConfig: { ...hA, color: "#FFFFFF", iconSrc: Fo }, closedConfig: { ...hA, color: "#6b758a4d", iconSrc: Ro } }, hangup: { basicConfig: { ...hA, color: "#ED4651", iconSrc: Zt }, loadingConfig: { ...hA, color: "#ED4651", loadingWidth: "20px", loadingHeight: "20px" } }, toggleButtonPanel: { basicConfig: { color: "transparent", width: "40px", height: "40px", shape: "circle", iconSize: 40, iconSrc: Ks } } }, su = { mobile: { ...jA, groupCall: { video: { ...jA.groupCall.video, calling: { ...jA.groupCall.video.calling, ...Je }, connected: { ...jA.groupCall.video.connected, ...Je } }, audio: { ...jA.groupCall.audio, calling: { ...jA.groupCall.audio.calling, ...Je }, connected: { ...jA.groupCall.audio.connected, ...Je } } } } }, uA = (A, t) => { var r; const e = j.isPC ? "pc" : "mobile", { status: a } = We(), { callStatus: n, callRole: l, isGroupCall: i, callType: u } = z(q()), s = I((r = h == null ? void 0 : h[A]) == null ? void 0 : r[t.value]); return J( [t, a, n, i, u], () => { var y, T, C, E, w; const M = i.value ? "groupCall" : "singleCall", D = u.value === F.AUDIO ? "audio" : "video"; let g = ""; n.value === U.CALLING ? g = l.value === K.CALLER ? "calling" : "accept" : n.value === U.CONNECTED && (g = "connected"); let N = iu; a.value === "close" && (N = su), s.value = ((w = (E = (C = (T = (y = N == null ? void 0 : N[e]) == null ? void 0 : y[M]) == null ? void 0 : T[D]) == null ? void 0 : C[g]) == null ? void 0 : E[A]) == null ? void 0 : w[t.value]) || {}; }, { immediate: !0 } ), s; }, lt = { options: { virtualHost: !0 } }; lt.setup = (A, t) => ({ config: uA("minimize", I("basicConfig")), handleClick: async () => { if (document != null && document.fullscreenElement) try { document == null || document.exitFullscreen(); } catch (n) { console.debug(n); } await O.toggleMinimize(); } }); lt.components = Object.assign({ Button: pA }, lt.components); var uu = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("Button", { attrs: { iconSrc: A.config.iconSrc, iconSize: A.config.iconSize }, on: { click: A.handleClick } }); }, cu = []; const Xa = {}; var ru = /* @__PURE__ */ S( lt, uu, cu, !1, Mu, "71774dda", null, null ); function Mu(A) { for (let t in Xa) this[t] = Xa[t]; } const du = /* @__PURE__ */ function() { return ru.exports; }(), it = { options: { virtualHost: !0 } }; it.setup = (A, t) => ({ config: uA("fullScreen", I("basicConfig")), handleClick: async () => { await fi("tuicallkit-id"); } }); it.components = Object.assign({ Button: pA }, it.components); var Iu = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("Button", { attrs: { iconSrc: A.config.iconSrc, iconSize: A.config.iconSize }, on: { click: A.handleClick } }); }, gu = []; const _a = {}; var Nu = /* @__PURE__ */ S( it, Iu, gu, !1, pu, "224de994", null, null ); function pu(A) { for (let t in _a) this[t] = _a[t]; } const Du = /* @__PURE__ */ function() { return Nu.exports; }(), Tu = { width: { type: String }, color: { type: String }, size: { type: String }, weight: { type: Number }, truncated: { type: Boolean, default: !1 }, lineClamp: { type: Number }, textStyle: { type: Object } }, la = { options: { virtualHost: !0 } }; la.props = Tu; la.setup = (A, t) => { const e = A, a = t.emit, n = X([`${x}-text`, { [`${x}-text--line-clamp`]: e.lineClamp }]), l = p(() => ot({ maxWidth: e.width, fontSize: e.size, fontWeight: e.weight, color: e.color, textOverflow: e.truncated ? "ellipsis" : "auto", "-webkit-line-clamp": e.lineClamp, ...e.textStyle })); return { textClassName: n, style: l, handleClick: () => { a("click"); } }; }; var Cu = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("span", { class: A.textClassName, style: [A.style], on: { click: A.handleClick } }, [A._t("default")], 2); }, yu = []; const qa = {}; var Su = /* @__PURE__ */ S( la, Cu, yu, !1, Eu, null, null, null ); function Eu(A) { for (let t in qa) this[t] = qa[t]; } const lA = /* @__PURE__ */ function() { return Su.exports; }(), EA = { width: { type: String }, height: { type: String }, showText: { type: Boolean, default: !0 }, iconSize: { type: String } }, Me = { options: { virtualHost: !0 } }; Me.props = EA; Me.setup = (A, t) => { const e = A, a = uA("inviteUser", I("basicConfig")); return { t: v, props: e, config: a, handleClick: async () => { d.update(c.CALL, o.SHOW_SELECT_USER, !0); } }; }; Me.components = Object.assign({ Button: pA, TKText: lA }, Me.components); var hu = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "btn-content" }, [e("Button", { attrs: { iconSrc: A.config.iconSrc, color: A.config.color, iconSize: A.config.iconSize, width: A.props.width || A.config.width, height: A.props.height || A.config.height, shape: A.config.shape }, on: { click: A.handleClick } }), A.showText ? e("TKText", { attrs: { textStyle: A.config.textStyle, color: A.config.textColor, size: A.config.textSize } }, [A._v(" " + A._s(A.t("invite member")) + " ")]) : A._e()], 1); }, mu = []; const Ja = {}; var ju = /* @__PURE__ */ S( Me, hu, mu, !1, vu, "234c87f7", null, null ); function vu(A) { for (let t in Ja) this[t] = Ja[t]; } const Yo = /* @__PURE__ */ function() { return ju.exports; }(), fu = { color: { type: String, default: "#FFF" }, callDuration: { type: String, default: "" }, fontSize: { type: String, default: "16px" } }, ia = { options: { virtualHost: !0 } }; ia.props = fu; ia.setup = (A, t) => { const e = A; return { timerStyle: p(() => ({ color: e.color, fontSize: e.fontSize })) }; }; var Lu = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("span", { style: [A.timerStyle] }, [A._v(A._s(A.callDuration))]); }, Uu = []; const Ha = {}; var zu = /* @__PURE__ */ S( ia, Lu, Uu, !1, wu, null, null, null ); function wu(A) { for (let t in Ha) this[t] = Ha[t]; } const sa = /* @__PURE__ */ function() { return zu.exports; }(), de = { options: { virtualHost: !0 } }; de.props = Yi; de.setup = (A, t) => { const e = j.isPC, { callStatus: a, isGroupCall: n, callRole: l, allowedFullScreen: i } = z(q()), { callDuration: u } = Ht(), s = Ge(), r = p(() => a.value === U.CONNECTED), M = I(d.getData(c.CALL, o.ENABLE_FLOAT_WINDOW)), D = p(() => { var y, T; return !n.value || ((T = (y = s.value.button) == null ? void 0 : y[zA.InviteUser]) == null ? void 0 : T.show) === !1 ? !1 : a.value === U.CALLING ? l.value === K.CALLER : !0; }); function g(y) { M.value = y; } const N = { [o.ENABLE_FLOAT_WINDOW]: g }; return aA(() => { d.watch(c.CALL, N, { notifyRangeWhenWatch: o.MYSELF }); }), tA(() => { d.unwatch(c.CALL, { ...N }); }), { isPC: e, allowedFullScreen: i, callDuration: u, showTimer: r, showMinimize: M, showInviteUser: D }; }; de.components = Object.assign({ Row: $t, Col: ea, Timer: sa, Minimize: du, FullScreen: Du, InviteUser: Yo }, de.components); var Ou = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "top-bar-container", style: A.customStyle }, [A.isPC ? e("Row", [e("Col", { attrs: { span: 8 } }), e("Col", { attrs: { span: 8, justify: "center", align: "center" } }, [A.showTimer ? e("Timer", { attrs: { "call-duration": A.callDuration } }) : A._e()], 1), e("Col", { attrs: { span: 8, justify: "end", align: "center" } }, [e("Row", [e("Col", { attrs: { span: 18 } }), e("Col", { attrs: { span: 3, justify: "center" } }, [A.showMinimize ? e("Minimize") : A._e()], 1), e("Col", { attrs: { span: 3, justify: "center" } }, [A.allowedFullScreen ? e("FullScreen") : A._e()], 1)], 1)], 1)], 1) : A._e(), A.isPC ? A._e() : e("Row", [e("Col", { attrs: { span: 8, align: "center" } }, [e("Row", [e("Col", { attrs: { span: 8, justify: "center" } }, [!A.isPC && A.showMinimize ? e("Minimize") : A._e()], 1), e("Col", { attrs: { span: 16 } })], 1)], 1), e("Col", { attrs: { span: 8, justify: "center", align: "center" } }, [A.showTimer ? e("Timer", { attrs: { "call-duration": A.callDuration } }) : A._e()], 1), e("Col", { attrs: { span: 8, justify: "end", align: "center" } }, [e("Row", [e("Col", { attrs: { span: 16 } }), e("Col", { attrs: { span: 8, justify: "center" } }, [A.showInviteUser ? e("InviteUser", { attrs: { "show-text": A.isPC } }) : A._e()], 1)], 1)], 1)], 1)], 1); }, xu = []; const Ka = {}; var Vu = /* @__PURE__ */ S( de, Ou, xu, !1, bu, "2bcaf4e1", null, null ); function bu(A) { for (let t in Ka) this[t] = Ka[t]; } const Xo = /* @__PURE__ */ function() { return Vu.exports; }(), Bu = { show: { type: Boolean, default: !0 }, showMask: { type: Boolean, default: !0 }, showBackgroundImage: { type: Boolean, default: !0 }, blur: { type: Boolean, default: !0 }, bgColor: { type: String }, bgImage: { type: String }, zIndex: { type: Number, default: 11e3 }, customClass: { type: String }, customStyle: { type: Object }, customMaskStyle: { type: Object }, fit: { type: String, default: "cover" }, defaultSrc: { type: String } }, Ie = { options: { virtualHost: !0 } }; Ie.props = Bu; Ie.setup = (A, t) => { const e = A, a = t.emit, n = X([`${x}-overlay`, e.customClass]), l = `${x}-overlay_mask-container`, i = p(() => X([`${x}-overlay_mask`, { [`${x}-blur`]: e.blur }])), u = `${x}-overlay_slot`, s = p(() => ({ zIndex: e.zIndex, ...e.customStyle })), r = p(() => ({ backgroundColor: e.bgColor, ...e.customMaskStyle })); function M() { a("click"); } return { overlayContainerClassName: n, maskContainerClassName: l, maskClassName: i, slotClassName: u, overlayStyle: s, maskStyle: r, handleClick: M, handleError: (g) => { a("error", g); } }; }; Ie.components = Object.assign({ TKImage: SA }, Ie.components); var Fu = function() { var A = this, t = A.$createElement, e = A._self._c || t; return A.show ? e("div", { class: A.overlayContainerClassName, style: [A.overlayStyle], on: { click: A.handleClick } }, [e("div", { class: A.maskContainerClassName }, [A.showMask ? e("div", { class: A.maskClassName, style: [A.maskStyle] }) : A._e(), A.showBackgroundImage ? e("TKImage", { attrs: { fit: A.fit, src: A.bgImage, width: "100%", height: "100%", defaultSrc: A.defaultSrc }, on: { error: A.handleError } }) : A._e()], 1), e("div", { class: A.slotClassName }, [A._t("default")], 2)]) : A._e(); }, Ru = []; const $a = {}; var ku = /* @__PURE__ */ S( Ie, Fu, Ru, !1, Pu, null, null, null ); function Pu(A) { for (let t in $a) this[t] = $a[t]; } const _o = /* @__PURE__ */ function() { return ku.exports; }(), Wu = ["fill", "contain", "cover"], Gu = ["circle", "square"], Qu = { icon: { type: String }, size: { type: [Number, String], default: 100 }, shape: { type: String, values: Gu, default: "square" }, src: { type: String }, defaultSrc: { type: String }, text: { type: String }, fit: { type: String, values: Wu, default: "cover" }, customClass: { type: String } }, ge = { options: { virtualHost: !0 } }; ge.props = Qu; ge.setup = (A, t) => { const e = A, a = I(""); J(() => e.src, () => { a.value = e.src; }, { immediate: !0 }); const n = p(() => X([`${x}-avatar`, `${x}-avatar--${e.shape}`, `${x}-avatar--${e.size}`, e.customClass])), l = p(() => typeof e.size == "number" ? `${e.size}px` : e.size), i = p(() => typeof e.size == "number" ? `${e.size}px` : e.size), u = p(() => ({ width: l.value, height: i.value })); function s(r) { console.error(r), e.defaultSrc && (a.value = e.defaultSrc); } return { avatarSrc: a, classname: n, width: l, height: i, avatarStyle: u, handleError: s }; }; ge.components = Object.assign({ TKImage: SA }, ge.components); var Zu = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.classname, style: [A.avatarStyle] }, [A.avatarSrc ? e("TKImage", { attrs: { fit: A.fit, width: A.width, height: A.height, src: A.avatarSrc }, on: { error: A.handleError } }) : A._t("default")], 2); }, Yu = []; const An = {}; var Xu = /* @__PURE__ */ S( ge, Zu, Yu, !1, _u, null, null, null ); function _u(A) { for (let t in An) this[t] = An[t]; } const qo = /* @__PURE__ */ function() { return Xu.exports; }(), qu = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4KICA8cmVjdCB4PSIxMSIgeT0iMjAiIHdpZHRoPSIyIiBoZWlnaHQ9IjQiIGZpbGw9IiNmZmYiIC8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjE0OTkgMTFWMTIuNUMzLjE0OTkgMTcuMzg3NyA3LjExMjE4IDIxLjM1IDExLjk5OTkgMjEuMzVDMTYuODg3NiAyMS4zNSAyMC44NDk5IDE3LjM4NzcgMjAuODQ5OSAxMi41VjExSDE5LjE0OTlWMTIuNUMxOS4xNDk5IDE2LjQ0ODggMTUuOTQ4NyAxOS42NSAxMS45OTk5IDE5LjY1QzguMDUxMDcgMTkuNjUgNC44NDk5IDE2LjQ0ODggNC44NDk5IDEyLjVWMTFIMy4xNDk5WiIgZmlsbD0iI2ZmZiIvPgogIDxyZWN0IHg9IjcuODUiIHk9IjEuODUiIHdpZHRoPSI4LjMiIGhlaWdodD0iMTQuOCIgcng9IjQuMTUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjciLz4KPC9zdmc+", Ju = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTguNzM3MDggMTIuOTk2M0M4LjcxMjY2IDEyLjgzNDQgOC43IDEyLjY2ODcgOC43IDEyLjVWNkM4LjcgNC4xNzc0NiAxMC4xNzc1IDIuNyAxMiAyLjdDMTMuNTQ4OCAyLjcgMTQuODQ4NCAzLjc2Njk1IDE1LjIwMzggNS4yMDU5MkwxNi40NDU4IDMuNzA5NzRDMTUuNjE1IDIuMTAwMzMgMTMuOTM2IDEgMTIgMUM5LjIzODU4IDEgNyAzLjIzODU4IDcgNlYxMi41QzcgMTMuMjMzMyA3LjE1Nzg2IDEzLjkyOTcgNy40NDE0NSAxNC41NTcyTDguNzM3MDggMTIuOTk2M1pNMTEuMzM4NSAxNS43MzM3TDEwLjE2MTggMTcuMTUxM0MxMC43MzA4IDE3LjM3NjMgMTEuMzUwOSAxNy41IDEyIDE3LjVDMTQuNzYxNCAxNy41IDE3IDE1LjI2MTQgMTcgMTIuNVY4LjkxMzNMMTUuMyAxMC45NjEzVjEyLjVDMTUuMyAxNC4zMjI1IDEzLjgyMjUgMTUuOCAxMiAxNS44QzExLjc3MzQgMTUuOCAxMS41NTIyIDE1Ljc3NzIgMTEuMzM4NSAxNS43MzM3Wk01Ljk2NTE5IDE2LjMzNTZDNS4yNTkzMyAxNS4yMjczIDQuODUwMzkgMTMuOTExNCA0Ljg1MDM5IDEyLjVWMTFIMy4xNTAzOVYxMi41QzMuMTUwMzkgMTQuNDQxNiAzLjc3NTYyIDE2LjIzNzEgNC44MzU3MiAxNy42OTYzTDUuOTY1MTkgMTYuMzM1NlpNNy42MzIxOCAyMC4xOTg2TDguNzM5NCAxOC44NjQ3QzkuNzE3MTggMTkuMzY2NyAxMC44MjU3IDE5LjY1IDEyLjAwMDQgMTkuNjVDMTUuOTQ5MiAxOS42NSAxOS4xNTA0IDE2LjQ0ODggMTkuMTUwNCAxMi41VjExSDIwLjg1MDRWMTIuNUMyMC44NTA0IDE3LjA0OTggMTcuNDE3MSAyMC43OTc2IDEzIDIxLjI5NDJWMjRIMTFWMjEuMjk0MUM5Ljc4NjEzIDIxLjE1NzUgOC42NDY1OCAyMC43NzU0IDcuNjMyMTggMjAuMTk4NloiIGZpbGw9IiNmZmYiIC8+CiAgPHBhdGggZD0iTTUuNzM2ODIgMTkuNTUxM0wxOC4yNjY3IDQuNDYzNzEiIHN0cm9rZT0iI0VENDE0RCIgc3R5bGU9InN0cm9rZTojRUQ0MTREO3N0cm9rZTpjb2xvcihkaXNwbGF5LXAzIDAuOTI5MiAwLjI1NTUgMC4zMDA0KTtzdHJva2Utb3BhY2l0eToxOyIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4KCg==", Hu = { isMuted: { type: Boolean, default: !1 }, volume: { type: Number, default: 0 } }, Ne = { options: { virtualHost: !0 } }; Ne.props = Hu; Ne.setup = (A, t) => { const e = A, a = p(() => e.isMuted ? Ju : qu), n = p(() => e.isMuted || !e.volume ? "" : `height: ${e.volume * 4}%`); return { iconSrc: a, volumeLevelStyle: n }; }; Ne.components = Object.assign({ Icon: ft }, Ne.components); var Ku = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "mic-container" }, [e("div", { staticClass: "mic-level-container" }, [e("div", { staticClass: "mic-level", style: A.volumeLevelStyle })]), e("Icon", { attrs: { src: A.iconSrc } })], 1); }, $u = []; const en = {}; var Ac = /* @__PURE__ */ S( Ne, Ku, $u, !1, ec, "3cbc030b", null, null ); function ec(A) { for (let t in en) this[t] = en[t]; } const Jo = /* @__PURE__ */ function() { return Ac.exports; }(), GA = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9Ii01IiB5PSItNSIgd2lkdGg9IjExMCIgaGVpZ2h0PSIxMTAiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8yOTY0XzE3NTgpIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjQuOTk5OSA3MS41QzI0Ljk5OTkgNjEuMjM1NyAzMi45MzA0IDUyLjgyMzcgNDIuOTk4MyA1Mi4wNTdDNDMuNDkzOSA1Mi4wMTkzIDQzLjk5NDcgNTIgNDQuNDk5OSA1Mkg1Ny40OTk5QzU4LjAwNTEgNTIgNTguNTA1OSA1Mi4wMTkzIDU5LjAwMTQgNTIuMDU3QzY5LjA2OTQgNTIuODIzNyA3Ni45OTk5IDYxLjIzNTcgNzYuOTk5OSA3MS41Vjc4LjI4MjZIMjQuOTk5OUwyNC45OTk5IDcxLjVaIiBmaWxsPSIjRDVFMEYyIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDQuNDk5OSA0NS42MDQ4QzQ0LjQzMTIgNDUuNTcwNyA0NC4zNjI5IDQ1LjUzNiA0NC4yOTQ4IDQ1LjUwMDhDMzkuNTkwNiA0My4wNjk3IDM2LjM3NDkgMzguMTYwNCAzNi4zNzQ5IDMyLjVDMzYuMzc0OSAyNC40MjI4IDQyLjkyMjcgMTcuODc1IDUwLjk5OTkgMTcuODc1QzU5LjA3NyAxNy44NzUgNjUuNjI0OSAyNC40MjI4IDY1LjYyNDkgMzIuNUM2NS42MjQ5IDM4LjE2MDQgNjIuNDA5MiA0My4wNjk3IDU3LjcwNDkgNDUuNTAwOEM1Ny42MzY5IDQ1LjUzNiA1Ny41Njg2IDQ1LjU3MDcgNTcuNDk5OSA0NS42MDQ4QzU1LjU0MTggNDYuNTc3OSA1My4zMzQ3IDQ3LjEyNSA1MC45OTk5IDQ3LjEyNUM0OC42NjUgNDcuMTI1IDQ2LjQ1NzkgNDYuNTc3OSA0NC40OTk5IDQ1LjYwNDhaIiBmaWxsPSIjRDVFMEYyIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjk2NF8xNzU4IiB4MT0iNzMuNSIgeTE9Ii01IiB4Mj0iNSIgeTI9Ijk4LjUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzdDODU5QiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3NDdDOTAiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K", tc = { showOverlayStream: { type: Boolean, default: !0 }, customClass: { type: String }, customStyle: { type: Object }, isSmallWindow: { type: Boolean, default: !1 }, tip: { type: String, default: null }, showOverlay: { type: Boolean, default: !0 }, showMask: { type: Boolean, default: !0 }, showBackgroundImage: { type: Boolean, default: !0 }, blur: { type: Boolean, default: !0 }, bgColor: { type: String }, bgImage: { type: String, default: GA }, overlayZIndex: { type: Number }, customOverlayClass: { type: String }, fit: { type: String }, showLoading: { type: Boolean, default: !1 }, showAvatar: { type: Boolean, default: !0 }, avatar: { type: String, default: GA }, showUserName: { type: Boolean, default: !0 }, username: { type: String }, color: { type: String, default: "#FFF" }, showMicVolume: { type: Boolean, default: !1 }, isMuted: { type: Boolean, default: !1 }, volume: { type: Number, default: 0 }, showTip: { type: Boolean, default: !0 } }, pe = { options: { virtualHost: !0 } }; pe.props = tc; pe.setup = (A, t) => { const e = t.emit, a = A, n = I(100), { isFloatWindow: l } = z(CA()), i = j.isPC ? "40px" : "20px"; J([() => a.isSmallWindow, l], () => { l.value ? n.value = a.isSmallWindow ? 20 : 40 : n.value = a.isSmallWindow ? 40 : 100; }, { immediate: !0 }); const u = p(() => X(["overlay-stream-container", { pc: j.isPC, mobile: !j.isPC, float: l.value }])); return { defaultAvatarSrc: GA, avatarSize: n, fontSize: i, overlayStreamClassName: u, handleError: (r) => { e("error", r); } }; }; pe.components = Object.assign({ Overlay: _o, Loading: na, Avatar: qo, TKText: lA, MicrophoneVolume: Jo }, pe.components); var ac = function() { var A = this, t = A.$createElement, e = A._self._c || t; return A.showOverlayStream ? e("div", { class: A.overlayStreamClassName, style: [A.customStyle] }, [e("Overlay", { attrs: { show: A.showOverlay, "show-background-image": A.showBackgroundImage, "show-mask": A.showMask, blur: A.blur, zIndex: A.overlayZIndex, bgColor: A.bgColor, bgImage: A.bgImage || A.defaultAvatarSrc, fit: A.fit, defaultSrc: A.defaultAvatarSrc, customStyle: { position: "absolute", width: "100%", height: "100%" }, "custom-mask-style": { "backdrop-filter": "blur(12px)", "-webkit-backdrop-filter": "blur(12px)" }, customClass: A.customOverlayClass }, on: { error: A.handleError } }, [e("div", { staticClass: "overlay-stream-content-container" }, [e("div", { staticClass: "overlay-stream-content" }, [A.showLoading ? e("Loading", { attrs: { mode: "dot" } }) : A._e(), e("div", { staticClass: "overlay-stream-avatar" }, [A.showAvatar ? e("Avatar", { attrs: { src: A.avatar || A.defaultAvatarSrc, size: A.avatarSize } }) : A._e()], 1), e("div", { staticClass: "overlay-stream-info" }, [A.showUserName ? e("TKText", { attrs: { truncated: !0, size: A.fontSize, color: A.color, width: "200px", weight: 500 } }, [A._v(" " + A._s(A.username) + " ")]) : A._e(), A.showMicVolume ? e("MicrophoneVolume", { attrs: { isMuted: A.isMuted, volume: A.volume } }) : A._e()], 1), e("div", { staticClass: "overlay-stream-tip" }, [A.showTip && A.tip ? e("div", [A._v(A._s(A.tip))]) : A._e()])], 1), A._t("default")], 2)])], 1) : A._e(); }, nc = []; const tn = {}; var oc = /* @__PURE__ */ S( pe, ac, nc, !1, lc, "01ddfaf4", null, null ); function lc(A) { for (let t in tn) this[t] = tn[t]; } const Ho = /* @__PURE__ */ function() { return oc.exports; }(), st = {}; st.setup = (A, t) => { const { localUserInfoExcludeVolume: e, remoteUserListExcludeVolume: a } = z(MA()), { callerUserInfo: n } = z(vi()), { isGroupCall: l } = z(q()), i = xo(), u = p(() => { var C, E; return l.value ? n.value.displayUserInfo : (E = (C = a.value) == null ? void 0 : C[0]) == null ? void 0 : E.displayUserInfo; }), s = p(() => { var C, E; return l.value ? n.value.avatar : (E = (C = a.value) == null ? void 0 : C[0]) == null ? void 0 : E.avatar; }), r = p(() => l.value ? !0 : !e.value.isVideoAvailable), M = p(() => l.value ? v("Invited group call") : null), D = p(() => { var C, E; return l.value ? i.value[n.value.userId] || s.value : i.value[(E = (C = a.value) == null ? void 0 : C[0]) == null ? void 0 : E.userId] || s.value; }), g = I(!1), N = I("fill"); let y = I(!1); return QA(() => { var C, E, w, L; if (y.value) { g.value = l.value ? !0 : !e.value.isVideoAvailable, N.value = "cover"; return; } l.value ? (g.value = !i.value[n.value.userId], N.value = i.value[n.value.userId] ? "fill" : "cover") : (g.value = !e.value.isVideoAvailable && !i.value[(E = (C = a.value) == null ? void 0 : C[0]) == null ? void 0 : E.userId], N.value = i.value[(L = (w = a.value) == null ? void 0 : w[0]) == null ? void 0 : L.userId] ? "fill" : "cover"); }), { TUIGlobal: j, t: v, defaultAvatarSrc: GA, remoteUserListExcludeVolume: a, isGroupCall: l, username: u, avatar: s, showBackgroundImage: r, tip: M, bgImage: D, showMask: g, fit: N, handleError: () => { y.value = !0; } }; }; st.components = Object.assign({ OverlayStream: Ho, TKText: lA, Avatar: qo }, st.components); var ic = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "waiting-container" }, [e("OverlayStream", { attrs: { username: A.username, avatar: A.avatar, "bg-image": A.bgImage, "show-avatar": !A.TUIGlobal.isPC, "show-loading": !1, "bg-color": "#22262ed9", "show-mask": A.showMask, "show-background-image": A.showBackgroundImage, tip: A.tip, fit: A.fit }, on: { error: A.handleError } }, [!A.TUIGlobal.isPC && A.isGroupCall ? e("div", { staticClass: "groupcall-info" }, [e("div", { staticClass: "tip" }, [e("TKText", { attrs: { color: "#FFF" } }, [A._v(A._s(A.remoteUserListExcludeVolume.length) + A._s(A.t("people in the call")))])], 1), e("div", { staticClass: "avatar-group" }, A._l(A.remoteUserListExcludeVolume, function(a) { return e("div", { staticClass: "avatar-item" }, [e("Avatar", { attrs: { size: "100%", src: a.avatar || A.defaultAvatarSrc } })], 1); }), 0)]) : A._e()])], 1); }, sc = []; const an = {}; var uc = /* @__PURE__ */ S( st, ic, sc, !1, cc, "a1a05f80", null, null ); function cc(A) { for (let t in an) this[t] = an[t]; } const Ko = /* @__PURE__ */ function() { return uc.exports; }(), rc = { bigWindow: { type: String }, showSmallWindow: { type: Boolean, default: !0 }, smallWindowWidth: { type: String, default: "30%" }, smallWindowHeight: { type: String, default: "30%" } }, $o = "ToggleWindowContextKey", ua = { options: { virtualHost: !0 } }; ua.props = rc; ua.setup = (A, t) => { const e = A, a = t.emit, n = I(e.bigWindow), l = `${x}-toggle-window`, i = (u) => { n.value = u, a("toggle", u); }; return J(() => e.bigWindow, () => { n.value = e.bigWindow; }), gA($o, { bigWindow: n, toggleWindow: i, smallWindowWidth: wt(e, "smallWindowWidth"), smallWindowHeight: wt(e, "smallWindowHeight"), showSmallWindow: wt(e, "showSmallWindow") }), { toggleWindowContainerClassName: l }; }; var Mc = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.toggleWindowContainerClassName }, [A._t("default")], 2); }, dc = []; const nn = {}; var Ic = /* @__PURE__ */ S( ua, Mc, dc, !1, gc, null, null, null ); function gc(A) { for (let t in nn) this[t] = nn[t]; } const Nc = /* @__PURE__ */ function() { return Ic.exports; }(), ca = { options: { virtualHost: !0 } }; ca.props = ["disabled"]; ca.setup = (A, t) => ({}); var pc = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("root-portal", { attrs: { enable: !A.disabled } }, [A._t("default")], 2); }, Dc = []; const on = {}; var Tc = /* @__PURE__ */ S( ca, pc, Dc, !1, Cc, null, null, null ); function Cc(A) { for (let t in on) this[t] = on[t]; } const yc = /* @__PURE__ */ function() { return Tc.exports; }(), Sc = { name: "teleport", props: { to: { type: String, required: !0 }, source: { type: String, required: !0 }, disabled: { type: Boolean, required: !0 } }, mounted() { if (this.disabled) return; const A = document.querySelector(this.to); A && A.appendChild(this.$el); }, watch: { disabled: { immediate: !0, handler() { var A, t; this.disabled ? (t = document.querySelector(this.source)) == null || t.appendChild(this.$el) : (A = document.querySelector(this.to)) == null || A.appendChild(this.$el); } } }, destroyed() { const A = document.querySelector(this.to); if (A) try { A.removeChild(this.$el); } catch (t) { console.debug(t); } } }; var Ec = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", [A._t("default")], 2); }, hc = []; const ln = {}; var mc = /* @__PURE__ */ S( Sc, Ec, hc, !1, jc, null, null, null ); function jc(A) { for (let t in ln) this[t] = ln[t]; } const vc = /* @__PURE__ */ function() { return mc.exports; }(), Al = { options: { virtualHost: !0 } }; Al.props = ["disabled", "to"]; var fc = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("Teleport", { attrs: { disabled: A.disabled, to: A.to } }, [A._t("default")], 2); }, Lc = []; const sn = {}; var Uc = /* @__PURE__ */ S( Al, fc, Lc, !1, zc, null, null, null ); function zc(A) { for (let t in sn) this[t] = sn[t]; } const wc = /* @__PURE__ */ function() { return Uc.exports; }(), Oc = { disabled: { type: Boolean, default: !1 }, to: { type: String, default: "body" }, source: { type: String, default: "body" } }, De = {}; De.props = Oc; De.setup = (A, t) => { const { majorVersion: e } = ts(), a = p(() => e === "3"), n = p(() => e === "2"); return { IN_MINI_APP: Qt, isVue3: a, isVue2: n }; }; De.components = Object.assign({ PortalMini: yc, PortalVue2: vc, PortalVue3: wc }, De.components); var xc = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", [A.IN_MINI_APP ? e("PortalMini", { attrs: { disabled: A.disabled } }, [A._t("default")], 2) : A.isVue2 ? e("PortalVue2", { attrs: { disabled: A.disabled, to: A.to, source: A.source } }, [A._t("default")], 2) : e("PortalVue3", { attrs: { disabled: A.disabled, to: A.to } }, [A._t("default")], 2)], 1); }, Vc = []; const un = {}; var bc = /* @__PURE__ */ S( De, xc, Vc, !1, Bc, null, null, null ); function Bc(A) { for (let t in un) this[t] = un[t]; } const el = /* @__PURE__ */ function() { return bc.exports; }(), Fc = { value: { type: String } }, ra = { options: { virtualHost: !0 } }; ra.props = Fc; ra.setup = (A, t) => { const e = A, { bigWindow: a, toggleWindow: n, smallWindowWidth: l, smallWindowHeight: i, showSmallWindow: u } = NA($o), s = p(() => X([`${x}-toggle-window-item`, `${x}-toggle-window-item--${a.value === e.value ? "big" : "small"}`, { pc: WA, mobile: !WA }])), r = p(() => { let M = {}; return a.value !== e.value && (M = { width: l.value, height: i.value }, u.value ? M.visibility = "" : M.visibility = "hidden"), M; }); return { toggleWindow: n, classname: s, windowItemStyle: r }; }; var Rc = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.classname, style: [A.windowItemStyle], on: { click: function() { return A.toggleWindow(A.value); } } }, [A._t("default")], 2); }, kc = []; const cn = {}; var Pc = /* @__PURE__ */ S( ra, Rc, kc, !1, Wc, null, null, null ); function Wc(A) { for (let t in cn) this[t] = cn[t]; } const Gc = /* @__PURE__ */ function() { return Pc.exports; }(), Ma = { nickName: { type: String, default: "" }, isSelf: { type: Boolean, default: !1 }, isMuted: { type: Boolean, default: !1 }, volume: { type: Number, default: 0 }, showNickName: { type: Boolean, default: !1 }, showSwitchCameraButton: { type: Boolean, default: !1 }, showVirtualBackgroundButton: { type: Boolean, default: !1 }, showNetWorkStatus: { type: Boolean, default: !1 } }, tl = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2RfMV8xOSkiPgo8ZWxsaXBzZSBjeD0iMjEuNjE2IiBjeT0iMjEuNTE3IiByeD0iMTkuNjE2IiByeT0iMTkuNTE3IiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxyZWN0IHg9IjciIHk9IjgiIHdpZHRoPSIyOSIgaGVpZ2h0PSIyOSIgZmlsbD0idXJsKCNwYXR0ZXJuMF8xXzE5KSIvPgo8ZGVmcz4KPGZpbHRlciBpZD0iZmlsdGVyMF9kXzFfMTkiIHg9IjAiIHk9IjAiIHdpZHRoPSI0My4yMzIiIGhlaWdodD0iNDMuMDM0IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPgo8ZmVPZmZzZXQvPgo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxIi8+CjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9Im91dCIvPgo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4yNSAwIi8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0iZWZmZWN0MV9kcm9wU2hhZG93XzFfMTkiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfMV8xOSIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPHBhdHRlcm4gaWQ9InBhdHRlcm4wXzFfMTkiIHBhdHRlcm5Db250ZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj4KPHVzZSB4bGluazpocmVmPSIjaW1hZ2UwXzFfMTkiIHRyYW5zZm9ybT0ic2NhbGUoMC4wMDUpIi8+CjwvcGF0dGVybj4KPGltYWdlIGlkPSJpbWFnZTBfMV8xOSIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTWdBQUFESUNBWUFBQUN0V0s2ZUFBQUFBWE5TUjBJQXJzNGM2UUFBSUFCSlJFRlVlRjd0WFhtY0ZOVzEvazUxenpETW9DUzRobTI2ZXJwblJveGJ4Q1VKUnR5QTZRYlhSOXppOG95YXVNU1h1Q1Z4ZVJJMWlVdGNzcWlKaVpyb2N3dFBpVUIzZ3lzdTcwVlJORThEd3ZRNk1CSXhpaUF5dzh4MDEzbmNZVXcwQ3RQVmRhdTZxdWJlMzg4L1pPNVo3bmZ2MTFWMTc3bm5FRlJUQ0NnRXRvb0FLV3dVQWdxQnJTT2dDS0pXaDBKZ0d3Z29ncWpsb1JCUUJGRnJRQ0ZRR1FMcUNWSVpia3BxaUNDZ0NESkVKbG9Oc3pJRUZFRXF3MDFKRFJFRUZFR0d5RVNyWVZhR2dDSklaYmdwcVNHQ2dDTElFSmxvTmN6S0VGQUVxUXczSlRWRUVGQUVHU0lUcllaWkdRS0tJSlhocHFTR0NBS0tJRU5rb3RVd0swTkFFYVF5M0pUVUVFRkFFY1NoaVdiTTBqckhMaDBHZkRDOFoxaGRBOU9tN2RGSDJ4TUNkWUJSUjRFQXNWR3FaUkJybXRiSGhtRXdqRTBBYldMUUppcnhCcW90YlZqWFBlekQrYXZuYlpvRkdBNjVQcVROS0lKSW5QNTBwRzE3WW0wOEd3Z0R4aGZCRkFIeGFJREdBOWlSZ0FZbTFJSVJyTWdzb2NpTUhnSStCT0U5WXF3MndEa05XaHBzWk5oQWUybDR6YXJXRlhNM1ZLUmZDWDBLQVVXUUNoZkZzc2FwWHhnV29BbUdvVTBDNFVBR1dnbjRBb0JoRmFxVUpkWUxvQlBBR3dBdjFraGJyQm44VjcyUWZGdVdnYUdrUnhHa2pObG1nRlkwemdocFZEb1l3QlFpSEVCQUl3T0JNc1NyM29XQUVnTWRSSGlwWk5EQ1dwU2VEUlVXZEJEQVZYZk81UTRvZ214bGd0N2VaVXJEaHZyQVY4SGEwU0NlQ2tBSDRCZThCREVLQUo0eXlKanorYnJ0bnR0NTJld1BYYjVXcStLZVh5WmNDbml2aFk3K1hEMTZwbXBFSndJNEJNRDJVaFM3WDhrR1lqeGhhSGlBTkg0aW1rbDk0SDZYbmZGd3lCTms2WVNadGNPNk5oN0tSTjlrY0p2NGtIWUdldGRhNlNjTEUvOCtNbXJjQWxweVo1OXJQWFhBc1NGTGtHeDRlclRFcGJNQk9ubmc0OW9CdUwxbWdsYUQrVjZVK0hmUlZhbXMxN3lYNGUrUUlzZ3N6TkpPQ2IvY1pyRHhIUUlkN3BXUGJCa1RiVkdIQWZBVG0xODViNDdrVTA4TXBZLzdJVUdRZkdoeVhRa05wekx4ZHdIc1puR3hER2x4Qmxab2pPczR5QTlHTTZrZXY0UGhhNEtzSGoyanZtdFk4UndHTGdSb3ROOG4wOUh4TWQ0aTRsdnFlNEozakY0OXI4dFIydzRhOHlWQm5nbE5yaHVMNGQ4R2FaY0E0aVJiTmJzUVlPQnZ4SHdEZ3JqRGowOFVYeEZFeER0bDlaZStZWUJtMFpaekM5V2NReUMzMmRTc1NINy8rd216ZkJNbjVodUNwUFcyS1FEZEFHQXY1OWFFc3ZRWkNQeUZpUzVwemlXZTlBTTZuaWRJTmp4OXZNSEdqUUMrN29jSjhkRVlaZ2VBUzhMNVpJZVh4K1JaZ3ZEa3ljRk1vZUVpRUY4SmRiam4xalhZQmNZMW5ZV3VueDJDUlVXM09ya3R2enhKa0d3NE50RUEvUWJNWC9JaTZFUE9aNkpYMmVCem13dkpsN3cyZGs4UnBEOHNaTlBHYThDNHlDdUhmQU9SdENLMjZWMEE3d0JZRGRBYUVML0hCdDdYUU4xTTNBMXdONVAyajQvYm9QZ2Y1Z2JXZUJReFJobk1PeERSRGdTTTRTMWg5VHNBMkE2QTVwRkZaNEJ4L2ZvZDFsdzFjY2tTejRTdmVJWWc2Y2JwWDRKbS9BN0FQaTVkRUNKQ2RnMFl5NGl3aEVHdms0WTNBeVYrcTZ1K1llM3V5MmFMZXhyUzJpdjc3bHN6YXUyWVVTWHUwMW1qc0Fic3p3YjJZTUp1Qk96cTRzampONWh4bGxlZUpxNG5pTGlMa1F2Rkx5MlJjUTJCYXFTdE1PdUt4Sy9nTWdEL0E4YmpGQ2krMnBRZHVab3d1MlJkZGVVYS9vaVpnVDFDRzhZRktiQWZ3Sk1KbUdRQUV3Z1YzbUtzM0pXdFNqSlExTUEvaU9SVE45bWdYcXBLVnhNazAzVE16bXhzdWhjZ2NSK2o2bzJBdHhsNEhFQUNBWDRtbWtuOXZlcE9sZUZBcG1uS3pxVlM0Q3NhMFRFTUhPR2k0TXg1Q1BBMzNZeWphd21TYVl3ZlloRGZSNFF4WmF3QjI3cHNmaDE0U3lNOHdvYjJVRVQvOEdWYTVNM2RtSThBRXJ0LzJWWEREMkNEVG1UZ1dCZVFaUlZZT3pWYW1ML0l0a20wb05pVkJNbUVZaGN3NFdaVTcwcHJOeGh6S01CM3JjcDJQK2ZWTGNyQjFvVWdTMjVsM2NFR2EyY0RtQTZnZmpBWm0vNWVBdEhGMFZ6aVZwdjBWNnpXVlFRUnUxUzEzUnR2MjV4MDRNeUtSMlJOc0owWnQ5ZlhEZnV2c2N2bnZHZE5sYmVrbDQ2ZE9xcTJObkFhR0lJc3JWWHkvcTcxbzlhYzQ2WmRMdGNRSkIxcDI0bEw5QWdCQnprL09ieklJTDd4d2R5Q0JVTTkzNVNJWjh0dHVUTnpNVUNUSFo4THdqTkV4Uk1pMmNmRmxualZteXNJc2lJMG8xV2owbU1BbWgxR1pENllmeHd0cEY1MDJLNG56S1ZEYlFlQzZQS0IxeThuZlc0UGN1QW92VEJ2dVpOR1A4dFcxUW1TMCtNSGxjQ1Bpc1Jxam9GQlNCSFJsWkZzWW9sak5qMXNLTk1VMzVjTnZoYkFOQWVIOFc0QU9DNmNUejdub00xUG1hb3FRZEo2Mnd5QUhuTHc0L0JGZzR3clduSUxucW9tNkY2MTNSNk9IMDdNMXdBNDBLRXhiQVRvcEdnK01kY2hlKzRoU0RZY084bGcvQUVPSEdBTm5GOWNHY2tuN3hwSzk2bnRXbFFyOU5ncEdpQ3VGb2dUZTd0YlVTT2MycFJMUG1pM0lkZThZbVZDOGROQXVKdkJkc2NSR1F5K3JZYUgvYWRlK05PNmFnRHNWNXY5ZVlnTnVwb1ozN0U3SG93QWc0SFRvL25rZlU3ajZmZ3JsaUFIRTkvalFLelFhd2EwYjdmazV5OTJHdFNoWks4OUZEdUF3TGVEeU5iSWFnS0pZTWN6SW9XRWVPdHdyRGxLa1BaUTdFUWkvSmVkdnpnaWVuWXplclBXalZwenZadjIweDJiMFNvWWVnYVRnMlBERFZjUzgrVTJSMWtieEh4U3BKQjYyS2xoT2thUWJEZzJ2U1JPcCszOTVuZ3p5UGgzM1lQM0RweWFjRHZ0OUQ5TkNMOEZzSWRkZGtTZ0k0R1BqZVpUOCt5eThYRzlqaEFrRzU0MnlXQnRnYzAzLys1YTN4TzRZS0tQVTlBNHNTQ3MyaEE1eVBxMCtsdUo4UzJydXJZaDMwMGFIUjdKSnY3WFJodjlxbTBuU0RZY2F6WVl6d1BZMlk3QkVOQUY4RG1SZk9wZU8vUXJuWlVoa0E1UFB4bHMzR25qRnY0N3BKVytHc2t1ekZUbVlYbFN0aEtrcy9XWUhicDZlbDRndTJKN21KWnFHcC9ZbEV1K1VkNXdWUzhuRVdnUHhmYldDQSt6WFJFU2hHVjF2YVdEeG5VdVhHdlh1R3dqeURPVEp3ZkhkTlFuQ1RqQ0R1ZUpLVWxhejBsTnVTZlgyNkZmNlpTRHdPdmo0NSt2Qy9DOXRDVmFXSDRqUE5PWjY1cGlWOFMxYlFScDE5dCtReUFSR1dwRG8xOUY4dnY5aDU4U2xOa0FrbXRVemdLMGsvWDR6d0UrM3lhbmJvdm1rN2JvdG9VZzZYRDhYRENMc0hYNWpYQlpOSmY4cVh6RlNxUGRDS1REc1IrQVljdmNFZE8zSW9XRStPYVIycVFUSk4wNC9jdlFqR2NCU0wwL1BwQWQ1TityY1pvcUZmRWhyaXl0eDA3WlhOL3hIdG5uSlF6dUk0TVBqbllzK0xOTWlLVVNwR044L1BNOUFWNWlRMTdjSHNNd1RtenBXREJINXVDVnJ1b2drR21jZm95aEdROFJVQ3ZUQXdieWZYMmxpYnRML0dpWFNwQzBIcDhOOEwvSkhEU0FIaVk2cmptWFNFaldxOVJWRVlIMmNHdzZNZjdiaHJMWnM2UDVwTFEwdE5JSTBoNktmWnNJZDBqR3ZGY2pPclpKa1VNeXJPNVFOMENTUnlENVNRTGdyR2crS1hLb1dXNVNDREp3R1BpcXpKUHkvcGdxVFpzWnljNVhyMVdXcDltOUN0ckRzZU9JOFVmSjhYbGRiTkRFNW83RW0xWkhicGtnNGc1elJsLzhOSUNEclRyemNYa0NuNlpPeDJVaTZsNWQ2WERiR1dDNlM2YUhtMnRRdnRDVVQzek42djBmeXdSSmgyUGZBL2VuNkpIWDFGYXVQQ3c5b2ltanQxM0pvS3RsdXN1Z1M1cnppWjlaMFdtSklEbDlXa3NKMmw4QTFGbHg0aE95ekhkRUM2bHpwZWxUaWp5RGdBMkh5eHU1UkhzMnIweUk2bGNWTlVzRVNlc3hrWVpUWWlnSkw0emtENGlwRS9LSzV0THpRb3laZ2JTK2NRRUJoMHNjelB4b1BqbWpVbjBWRXlTdHg3OEJzTXdya0RtakpuQkFTL3M4VVNaQXRTR0t3S3F4VTBkdHFnbUlORXhSV1JBUTA0bVJRa0lrQnpIZEtpTEk4cFlqdHd2MEZrVm04N0dtTFg2MlFJOUdtTlNVUzc0aVNaOVM0MkVFVm9TbjdhZXg5b0tzN1Y4Q1ZtMC92R0hDenN0bWYyZ1dsb29JMGg2T1hVK01TODBhMjJwL292T2l1Y1R0MHZTNVhOR3FzVE9IcjZ2cDJYNllVUnBGWkl3RUFuVUVvdzdnT2dZeE1mY2lpQjVpM3RESCtBREYyZzNEQWgrc0RSVVc5VmpkbFhFNU5QOXdMeE9LZllzSnY1Ym1MK0c2YUM3NVE3UDZUQk1rMHpRMXdrWmdxU3gyZy9GQXRKQTgyYXpqWHVpL29ubkdqaWoydFdvR1RTU045bUxtRm9ER0FSaEZvRG9UV1YyWWdTNEMzdCtjdUdBbENNdEE5Qm9idkdRamFsZnM0OU9NTGUyaDJBTkVPRkhTWEc5Q2tiOFlYWlhLbXRGbm1pRHBVT3grRUU0eVkyUnJmUW5vNkNyUlBudXVUTHd2UTErMWRZaFl0TjZBTVlrWmJVUWlyeTFIWUgvUkgxSElSOXlxZTBZanBEU2o5Z1cvcERqS2hnOGZhWER0YTVCVTg1NElEMFp5U1ZOcjF4UkJCbksxU295VzVLblJmRXJzaEhtMjVmUWpkekhRZHlSRC9HalFsMjJJTFRLTHpTWUdYaURpQjQxZ2NLN1hOejF5ZXV5STBwYWlSVElhazBiN21VazVhNG9nN1hyOFNRSWZKc1BUelhmVWI0L21rK2RKMHVXb0dyRWRtVzM4Y0FvME9rOVViSkwydWlsL0ZKc0FMR1RDNzk0YTM3WGdFSThXLzhubzhWK3lwTXRXUkVoRmNzbFl1VkNYVFpDQmV4Nnlza2prdXJxS2UrNjE1dkdONVRycWhuNzUwTkdmSzJxOTN3YmpIQURqM2VCVHVUNklVSEFpK29XR25udThkazFaWkhGRWlmNEtRSHkvV1crRzlwVm94L3l5M29US0o0Z2VFMmNlMzdEdUhjQ0VHYzI1NUh3WnVwelFJWkpQZFBmMFhnaXdlT0tOZE1LbWpUYldnWEhIOExwaE4zbXBTRkEySER2TzJCSWVMNlBkRjgwblR5MUhVVmtFRVFHSldYM3hXeXdoV1RFeEhvMFVrc2VWNDF5MSs2d2VQYU4rWTIzeFlpYTZtTGJVSlBkVGV4K0VHK3Q2RzI0ZDF6bTcyd3NEeTRSamM1aHh0QVJmVjBieXlWQTVXK1psRVVTOFd2UlI3OThsWkVYc1JvRDNpR2JNYmJWSkFNUzBDbkUxZFBPM3hVOGtIb2FhOXNFaGdaVk0rR0Z6THZtQVEvWXFOak53eENCZXRZWlZyR1NMWUhkRFQyREgwV1VrR1N5TElLSitYVTFOWUkxVmdoRDR4NUY4NmdxTGc3TlZ2TDB4dnB1bThTODI3d1RKakFleTFXYzV5bm1oUm5SQlV5N1pMa2VmUFZyUzRkaFB3ZmlCUmUzZFhWM0ZuY3I1Qmk2TElLSWFhcWFqZmpXQW5TdzR0bVk5OWJaTWRHa2VLd1lvcThjdll2UlhVckw2QzJVQnBxcUtic0tXcXdhM1ZOV0xiUmdmK0dCUFc4elUyUm5KSjhkTGU4VVMvbVpDOFFRVGw3MDk5cTlqWk1ZNXpZV2t2TkFCaVRPWWFUcHFIQnQ5NHNLT3hNaGtpUTQ2cm9vWGtsWTZLNUo5ZkpYanBzc3dLT0VPMHNQUmZQS0VNa3lWbjVzM3JjZG5BaXl1UnBwdVlvc3gydGpWVEM3Y2gwK0hZa2N4NFc0Q1Jwa2VtTDhGM2dINFRLZXlxSnVCTWgxcEc0WVNpV0Rac0JtNWovcVN4b2RGc2lseEMzYlFWdFlybHREU2Y3VTJ0SGd4Q1BzT3F2VmZPaER6Q1U3V2RDakhQL0ZLbFFuRmZneUM2UUMyY3ZUN3BnL1RWZEZDUXVwTlB4bllER3lpbUU1WVRzQ0NTRDdaVnE0UFpSTkVLRXlQYjV2QUFYcmUxSzh0NDU1b0lYbEd1UTQ1MGUvdFhhWTBiS2dQaWlwWE01Mnc1d01iZnd4eTEybDZZWkU0bVhkTk0zc0RjWE1adHdMM2FaTmFPdWUvVmU0Z1RCRkVLTTJHWXhOTGpOa0VoQVl6d3VBN28va0R6bkhURGNGTTA1U2QyUWlLSEZzVEIvTmYvZjJmQ0lna0NORDZqb3RrSDMvSExiajB2d1hvTVhIbi9NSkJmV0lzWVlPK2J2YjZyV21DOUQ5SnhORy9nY3ZBT0JPZ0hmN0ZPUWI0UmRKd1RTU2JTZzNxdUlNZHN1SHBVWU1OUVE1cHQ5VWNkTC9xcGdob04wclVabmFSMmUxNFRvOTlyUVM2RE9CRFA1WHlscEZsb3A5SEd6ZmVVY2szY0VVRStXakFvcG9RVS8zK1JjWSsvZittb2RNb0JWNXQ3WmlYdHhzVXMvckY2eUVDdExEYUIzOE0vcEJZNjRER2FSSHV6OHp2QU5vYXdGaFBqS0lZRnhPQ3pEUUNSRHRxeEdPWjBRVDAveWR1Y0ZiN1JMOVRJeHpteHZNU2NmOG1VQ3J1U1V5N0dzeTlBWEM3bmwvd1JqbmJ1VnRiVDVZSVluYVJWcXYvd0pORDdGckl1aUpzWmlnckNWZ0VwcWZaTUY0T2F0MjVTdC9sWHhrOW8zNWtzQmdpVGR2UElFTnNTUjlDb05GbW5KSFVkeVVDZktnWElpS3NqdGYzQkJGbkhJYlI5MXc1MzB4V3dmellHM3NHeFBkREM4eStQelB2elZtQUlVLzNQeldKNnJLanczWDdCRGh3UE1ESGNSbmZoYkw4SUNETlcwalNLVXVuRy9YNG1pQ3ZoWTcrWEFQMVBrdkFuZzZBTDBnd0Q2emRHaW5NRnpiWkFadi9NTEVsdytWTElqem1Rb0NtT0ZGL0VzQnJDUERrYUNiMWdaTmpkZEtXYnduU1g3dGJyeGNmNUdLeDJObEVYZmJmYTRRYjNQSmUvbVk0dGtjTjhFTm1pTk5pdStkNFhpU2ZQTXJwSHdRN0ovVGp1dTBHejZseGZNcE9Xby8vMHNhU1gxdnNFZjVFUkZkR3Nna1JZZXE2Sm9wb0V1RUcyME5vR0xkRUM4bkJ0MXBkaDlEZ0R2bVNJQm05N1N3R1NTL0g5YkgzbVN4cjlCOWVxVm1TQ2JVZHpVUWlmN0krK0pLb3JBY3pUbW91SkIrc1ROcTlVcjRqU0RZYzI4TmdMSmFhTC9qajg4ZDB4L3BlN2VLSlpkd2xjTk8wOTBjUERBL2NDQ0p4WGRpTzlrRUF4djdoL0lJVmRpaXZsazVmRWVTVmZmZXRHYmwyRjNGdjNvNVQ4bmNCK21ZMG41aGJyY21TWVZmVTR3RGpUbFBoUW1VYTNsenkrMythOHZ0dkxqa3d5NVpkdXpMZGtOck5Wd1JKaDJJL3NTbjQ4S1VBY0h3NG4reVFpbjZWbE9YMFdHTUplQmpBQWJKZElOQVZrWHppeDdMMVZrdWZid2lTRFUvYnoyQk5KRDNXNUlKSjkzZnl4ak1QY1ZtZ250VXgvdS9ZbWNOM3F1bTYxNGFha3IwR0IvWnFLY3hiYnRWSE44ajdnaUFpYUMydHgvNU0wbjhSNmFab1BuR3hHeWJLRGgrMmhQeTMzV2JEZDhrVDBYelM3dTExT3lENWxFNWZFS1E5RkR1ZENDSjhYV0tqbjBUemljc2xLblN0cW5Rb2RqTUkzNVBwb01GOFFrc2hKVjdqUE4wOFQ1Q2xPMDBlVVR0aStBcklqRW55OGI3KzFsWnJ1eDc3T1FFWHlGdk5sQS95eGdtVnhwM0o4OE9hSnM4VHBGMlBYVUhBTmRaZytLYzBNKzVwZHRrRkwxbGpHMHhQV21KeVFHRnJjMGI2UzV2enlSc0hzK3ZtdjN1YUlKMWpqdG1odTdaSHBMT1hrKzJROFhSbnFHdXFWM1BZV2wxbzR2cENrZXFmQmJDL1ZWMEQ4dThpd0UxZWp0WHlORUV5ZXZ4cUJsOHBhVEk3QXdoT0RPZm5ycEdrejVOcWxqZk8wQU5hNlNXTEtaNytNZmJOdWRTdVhUZHE3TlVUbDl3cHlqUjRybm1XSU85TW1EbGlYZGVIQmFKUDNXaXNaQkpZM0s5b3lTMTRxaEpodjhtazlmaVJBRDhtY1Z5aXl1emZBWFF5OENhQlh0ZUkvMjlUWFVOaDkyV3pleVhha2E3S3N3UkpoK1BuZ3ZrMktZZ3dyb3NXekpmbmttTGJwVXBrbGh6WXhoQkZJdTFYaVRnWjRHQkNkK0haaVNjSjByOS9INDc5Rll3SlZ0Y1hBOHNwd0h0SE02a2VxN3I4SkovV1kxOEhJSUlQSlIrOGJoT2xkZ1k5SEFUZjVaYW9CVThTSkJ1ZU5zbGc3WGtaQ3pJQVRBbm5rMC9JME9VSEhmblFqTlkrS242UFFLSTJZTFh1djVkRS9xcWl3VGUzZHBTWDRNMHU3RDFKa1BaUTdINlNVeWZ4a1dnKytXOTJnZXNsdlN0Q1UxbzFDdjRJZ01ERHlhZkdJRERSbnhsOFZYT1Zmc1E4UjVDL3R4eTUzYnJlb2tqOFpmWFhyWVFTN3hsZG1SSXBMSWRzZTNQTVlUdlVEQnQycmNFNDAycjJmanRCWkNCaHdMaW8xZUZ3ZXM4UlpFVjQybUVhYTA5YW5nd2ZsNTh1RjV1QmkyV2lCc3FPNWNwVXVkOG1nSytKNUVkY1Q1Z3RyanJiM2p4SGtJemVkaEdEUkRZOUs0MFJDT3dSemN3VDlkNkhYRnMrN3NqUndXRHhUZ2JpSGgzOGkwWENhYnM1VU12RWN3UkpoK1BYZ2ZuN0ZpZjI4V2crT2RXaURrK0twL1cyR1FDSlVnOVdhcjFVZmV3aUFaL0cybG1SUXVJaE81M3hIRUhhOWZqRkJMWVkzME5IZWYxbVlDV0xJcVBIcm1DSmNXdVYrQ0JiaGtEWFJQS0ovNVN0OXlOOW5pTklwcW50cTJ6UUN4WUFlYnQzZUVPajIwOXdMWXp2VTZKL3hNekFQdnJHM3dENHBreTlydEhGZEhla1VIKzJIZDhsbmlQSVFEazRFYnBRVWMxc0F2OHNrazlkNHBySnRkbVJwUk5tMWc3YjFQVVFNeDlqczZscXEzOE1BVDVlOW9HdjV3Z2laaUdqeHkvbXlsNnp1a2dydHJxMXRKanNGU2JJVWRQVk5ZY3NsTTZUN1pQTit1YXRIN1htdUlsTGxrZ0xqUFFrUVJnekF4bDlvd2dzUE5nTTRBUzZJSkpQL05LTWpGZjdia2xGdWxpVXpQTkVUWHFKT00rTzVQYy9RVlptRlU4U3BQOHBJZ3JoY0UwS3pGOHFDMXlpcTZPNXhGVmw5ZlZCcDdRZSs5WG1DTnJ6ZkRDVVNvWndXelNmUEw4U3dYK1Y4U3hCeEVERUJaOCtyZjVIeFBnT2dPR2ZCUWdESzRqeC9XZ2hLVE44V3diMnR1bG8xK1BmSWZBdmJEUGdCY1ZFMzR2bUVyZGFkZFhUQlBsbzhPSnBZcFNDeHhEUjRXRFdRZGdFcHRjSlBMZXAwUENFSGJzYlZvSC9TSDcxNkJuMTNYVThwb2ppTGdGREc4RWcxclRTMmtDSk94czd0bi9Ick85aWw4OHdhSkZ6WVNQMEhvQjJ3T2doYUVFR3Ivc3NiQWdZeWNCdVRwM2FFMUF5aUtZMTV4S1dvaTU4UVJCWmk5VXBQUU1uMlNjemNDeUEzYmNTVnliS0o3ekx3R0lDSHRhb2QyNVQ3c24xMi9LeHZ6UmVTVnNDY01TQnNaU1ljZEVIdllIZmxwdUd0Yjk4czRFendDU2Via0c3ZldUZ2I1cFczTnRLWFVWRkVMdG42V1A2MDVHMnNTamlSeUQ2Qm9CYWs2WS9BT2kzUm8xMlhVdjd2SGMvU3phdHgzNjcrZGJlbVNiMVZ0YWRjR0UwbDd5bEVtRW5Yd0daZVU1eklTVitpQ3BxaWlBVndXWmVLSzNIeE1LOUNjRDI1cVUvSWZFK01TNk1GSksvLy9pL3BrUHhxU0JlWUZGM21lTDBYbDFmL2JoeG5iTzd5eFQ0UkRmeDdWaWkrdFVNZkw0UytRcGtUbzNtay9kVklHZDdjWlZLZlBLVnpKWXQ2YTQ3QUQ1TDVzQ1k4ZXRvb2VGODhZM3lUR2h5M1ZpcWZ3MUFxMHdiVzlYRmVEcGFTQjVteFZhN0huK2V3Sk9zNkRBaCsyNWRYNmxsWE9mQ3RTWmsrcnVxSjRoWnhFejBGNmYrMlpYMXM1bHh0QW14OHJzUy9tVDBhdWRydGNhcFlJaXdkVWNhRWMySjVCSVZ2N1lJSnpONmJMNlQwY1JFK0hra2wveXVXWUFVUWN3aVpxSi9KaHgva0psRkdUVGJHZ0V2QTRnNCtMb0NMeEtFd1gzRFNscHI0OHFFQ0ZNcXV5bUNsQTJWdVk1cHZlMHlnSHhUQnVEam8vY2lRZnI5WjdvN1draVlDdGhVQkRHMzdzdnFuV21LNzh2TUw0THQzOG9zeXlISm5UeExFS0NQdEdLVG1WZzhSUkRKaTZmLy9Ub1VlNG9KaDlxZzJoVXFQVXdROGRsdEttdS9Jb2prSlpmVDR3ZVZ3TTlKVnVzcWRWNG1DSU5YOXcwZm9aZDdIMGdSUlBMU1Mrc3hVUk5ESkYzemJmTXlRY1Nra01HeFNFY3FWYzRFS1lLVWcxS1pmWlpPbUR5aXRydCt0WVNVUkdWYXJFNDNyeE1Fd01QUmZMS3MzVVZGRUlscmJDaThYdlgvQW52d0hPU1QwMHp2OVE2dkgxM09hNVlpaUVTQ3BNUHg3NEs1b3Zna2lXN1lyc3I3QkJGYnZ2emxhQ0VsaXI1dXN5bUNESWFRaWIrMzYyMi9JZERaSmtRODJkVWZCS0dyb29YRTFZTk5nQ0xJWUFpWitIdTdIdnR2R2dKWFhQMUFFQVk5MVp4UEhEN1k5Q3FDRElhUWliOW53dkZIaDBEMkVCOThnL1FISWI3ZGxHOFlPOWlGTkVVUUV3UVlyR3RhajkwTDRKVEIrbm45NzM1NGdoRElDRENQMFF2SnQ3YzFING9nRWxlcnBMU29FajJ5UjVVZkNDS1FZY2FCellXa3FNZTQxYVlJSW5FTnJRaE5PMDBqN1JNWG1TU3FkNDBxdnhDRW1FNGNMTGV2SW9qRVpkZmVHTitOTlBaOXZSRy9FQVNFeTZLNTVFL1ZFMFFpQ2JhbFNpUnJ5K3FMY3d3ME9tU3lLbWI4UWhBQy96S1NUMTJnQ09MZ01zcm9iVGN5NkdJSFRUcHV5aThFQWVqK2FENGhFbWlvYnhDblZsRk9qeldXK3ZORW1jNWE0cFNMbHUzNGhTRE1lTFM1a054bWFsYjFEV0o1dVh4YVFidmU5Z3NDaVd5UHZteCtJUWd4SG8wb2dqaS9ScmNrY0tPL0FOQ2R0MjYvUlVVUSt6SDJ2WVYwcU8xZ0VJa005QUcvRGRZdkJBRndYelNmUEZWOWcxUnBoUTVVa2IyelN1WnRNK3NYZ3BTVENraDlnOWkyakxZb1RvZmo1NEpabENMd0U5Ynpvdm5ra1ZhZ1MrdHRDd0NxYWlGVkEzeDVTejYxelh4aWZwbzBLL05scSt4QVpkay93TGxVbTdhT2g4RXZOK2RUKzFzeGt0Wmpyd0xZeDRvT3E3SUcwK2t0aFlTWWw2MDJSUkNyS0pjcHY3eHhpaDRJQkc4RG82MU1rYTExRTRuUHdoWjFXQlh2TFJYNzlOWlZUNGpyeGFiYnF1YnBZemIxbGZLYjg0YlZtQmFXS0ZBeStMRFdqdFRUaWlBU1FiV3FLcTIzVFdGb2x4TDRFQUJhbWZwNkFNdzN5TGcxWUFTYW1QaWVhcit5TWVIMzBWenlEQUpFbVlheUd3T1UyUkwxdk0wRHVySVZXdWhJV3MzNFNQYXhWWW9nRmtDMFN6UWJuajZldVRUVkVFOFVvdDBJMkpIQmRRUmlBcm9NWUEwQnIydUVKRlB4cVk5cVhQQytaOWVrMTNhdUZ2M3Q4czJFM21jTmc2L1hhdkJLMTRaUzE3Yms2a1lPR3g0c0dudVhtQzhsNEFnVE51enErbjd2OElaZEI3dVhybDZ4N0lMZnBONytvcHVSbDJwNmEwZnc3R1d6aTdNQVkyc3EwbnJiTXdCTk5tbkN6dTRsQUlOVmxoV3ZVMjdhOG40Mm1rOE9pcUVpaUozTHhpYmRHVDErTllPdnRFbjlrRkRMd0xYTitlU2dHQ3FDZUhBNURCeENMdktnNis1eG1YbHl0SkI2ZGpDSEZFRUdROGlGZi8rL1hhWTBESzhQL28yQTdWem9uaGRjK3FDaEovQ0YwYXZuYmZPN1NReEVFY1FMMC9rWlBxYjEyRndBTXp6cWZsWGRMaWRJOFNNSEZVR3FPbFdWRzgrRTJvNW5vb2NxMXpCMEpVblRqbzFrNTg4cEJ3RkZrSEpRY21FZkVUSE1KZXBVcjFtbUorZmRJSGVOMHd1TE5wVWpxUWhTRGtvdTdlTm8yV2VYWW1EYUxjWXQwVUx5d25MbEZFSEtSY3FGL2RwRHNiMkpJS3JiVnF1Sk10Q3pBWHBPSS9yYnRweGdMdTBJMEdFTXpBUXd2RW9PbDBnTHRrYXljelBsMmxjRUtSY3BsL1pMaDJKUG9SclZyQmpaRWhueDF2eUNGV2FnV2E1UGE5R2dQVVpBaXhrNUdYMlorS0htWE9wRU03b1VRY3lnNWNLK21hYTJROW5vdjVqbGJDdnpIT0d6bk1ycHNhK1ZnRUhQSUNRUGlEWENYazI1NUJ0bTlDcUNtRUhMcFgzVGVtd2hnQ2xPdWNkQXZqbWZiQkxKQ1N1eE9SQ3dtSFgwU2pMamdXZ2hlYkpaZnhWQnpDTG13djdweHFsZmdoWVE5ZExMalE2Mk5Bb0N2UkRKSnc2eW9xUmRiM3VlUUpPczZEQWgyMVV5QWw5czdaaVhOeUhUMzFVUnhDeGlMdTJmMW1NM0FTaDdkOGJLTUJqSURUeEJLbExUL3dRSng5SmdpS2VRL2EyTURJcGJjMElSeFA3cGNjVEMyN3RNYWRoUUgzemRzY3RVaHZhVmFNZjhQMWN5dUhZOTlqVnk3aHZrdGM1ODEvNkhZRkd4RWw4VlFTcEJ6YVV5N1hyc0NBTEU5NGdUODdxY3ROS01TSFpoMlZ1bUFyWnNPTlpzR0VpQ0hIaDZFSW93K0tCeVNxMnBKNGhMRjdWc3Q5cjF0bXNKZExsc3ZWdlJ0d21nUnd3WXo5SWc1eUF3c0NNUkRnTndMSUI2Si94ajV1ODNGMUkzV0xIbHhDK05GZitVckVrRXhQdDlWby9OWXlCdVV0UlgzWmw1VG5NaEpjaG9xU21DV0lMUG5jTFo4T0VqRGE0VjV3eDd1ZE5EZTcxaTRDL2RYY1ZKZTYxNWZLTlZTNG9nVmhGMHFYdytOQzFVSk8xNUFHTmQ2cUpkYm5VZ3dKT2ltVlNuREFPS0lESlFkS21PRmZyMHZUUVlUd0RZeWFVdXluYnJIUVFDaDBZejg1YktVcXdJSWd0SmwrcEpON2J0QTQyU0FIWjFxWXVTM09KM1lHQmF0Q01sTlhoVEVVVFM5TGhaVFU2ZjFsS0NsbkkwdE1OUlFDakRCbzVzN2tpOEtkdXNJb2hzUkYycWI4WFk2V09veG5pVUFFc3BROTF2UEZoQUFBQUNOMGxFUVZRMlBBS2VEeHFsNDBNZEM3Y1pibCtwMzRvZ2xTTG5RYmw4YUhKZFNhdS9neG1uZTlEOVQ3dk1kRGVDeHJuUlRFcGtuclNsS1lMWUFxdTdsYWIxMkhrRTNNalZ1N2hrRmFBTkFNNkw1cFAzV1ZVMG1Md2l5R0FJK2ZUdm1hYjRGOW5nWHdQNHFzZUcrSGlSalcvdFZsaFFjTUp2UlJBblVIYXBqUzJuN3ZIekFiNkdnWkV1ZFhPTFc0UzNpUG15U0Q0bEVsODcxaFJCSElQYXZZYVdobUs3MWhKZERSaW5WN3Nrd1dlZ3RKYkJ0M1ozbFc2V2NUSnVkaFlVUWN3aTV1UCs2WEZ0VFFpU3VGTWlQdUlkQ1NqY0JweHZNK2hYTlZ4em0xNzQwN3Bxd2E0SVVpM2tYV3gzUmZPTUhiVmk2UlFBWjRJeHdVRlhSVWI3Rnd6bTIxZWorN0ZEeXN4ZFphZC9paUIyb3VzRDNTSzFFRFErUVdPS01iQWJnS0RrWVluOHVDOFQ2SkVlb3NkMno4MWZLVm0vSlhXS0lKYmdHMXJDbWFZcE83TlJjNkRHZkdDSnNKOEdOS08vOEU5L25xdHRyaVVDR1FhNG00QTFBTjRBZURHRFhqQnFnNisxcnBncnRtMWQyUlJCWERrdDNuRktaSnB2R0lGUlJpbTRBd2piRTdnTzBPckFUQVp6YnlDSUR3QnRmYkUzc0RZd3JPODlPdy8xN0VCTkVjUU9WSlZPM3lDZ0NPS2JxVlFEc1FNQlJSQTdVRlU2ZllPQUlvaHZwbElOeEE0RUZFSHNRRlhwOUEwQ2lpQyttVW8xRURzUVVBU3hBMVdsMHpjSUtJTDRaaXJWUU94QVFCSEVEbFNWVHQ4Z29BamltNmxVQTdFREFVVVFPMUJWT24yRGdDS0liNlpTRGNRT0JCUkI3RUJWNmZRTkFvb2d2cGxLTlJBN0VGQUVzUU5WcGRNM0NDaUMrR1lxMVVEc1FPRC9BYk1acm01TFdDOU9BQUFBQUVsRlRrU3VRbUNDIi8+CjwvZGVmcz4KPC9zdmc+", Te = { options: { virtualHost: !0 } }; Te.props = Ma; Te.setup = (A, t) => ({ networkSrc: tl, t: v }); Te.components = Object.assign({ Row: $t, Col: ea, MicrophoneVolume: Jo, TKText: lA, TKImage: SA }, Te.components); var Qc = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("Row", [e("Col", { attrs: { span: 12, justify: "start", align: "center" } }, [e("div", { staticClass: "stream-userInfo" }, [e("MicrophoneVolume", { staticClass: "mic-volume", attrs: { "is-muted": A.isMuted, volume: A.volume } }), e("div", { staticClass: "nickname" }, [e("TKText", { attrs: { color: "#fff", truncated: !0, width: "80px", size: "14px" } }, [A._v(A._s(A.nickName))]), e("TKText", { directives: [{ name: "show", rawName: "v-show", value: A.isSelf, expression: "isSelf" }], attrs: { color: "#fff", size: "14px" } }, [A._v(A._s(A.t("me")))])], 1)], 1)]), e("Col", { attrs: { span: 12, justify: "center" } }, [A.showNetWorkStatus ? e("div", [e("TKImage", { attrs: { width: "24px", height: "24px", src: A.networkSrc } })], 1) : A._e()])], 1); }, Zc = []; const rn = {}; var Yc = /* @__PURE__ */ S( Te, Qc, Zc, !1, Xc, "2f962e88", null, null ); function Xc(A) { for (let t in rn) this[t] = rn[t]; } const _c = /* @__PURE__ */ function() { return Yc.exports; }(), qc = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF8xMjRfNjQ3KSI+CjxjaXJjbGUgY3g9IjE0IiBjeT0iMTQiIHI9IjEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTUuODEyMiAyMi41MzgyQzE1LjgxMjIgMjIuNTM4MiAxNS44MTIzIDIyLjUzODEgMTUuODEyMyAyMi41MzgxQzIwLjUyNzggMTcuODIyNiAyMC41Mjc4IDEwLjE3NzIgMTUuODEyNCA1LjQ2MTY3TDE0LjA0NDYgNy4yMjk0NEMxNy43ODM4IDEwLjk2ODcgMTcuNzgzNyAxNy4wMzExIDE0LjA0NDUgMjAuNzcwNEMxNC4wNDQ1IDIwLjc3MDQgMTQuMDQ0NSAyMC43NzA0IDE0LjA0NDUgMjAuNzcwNEwxNS44MTIyIDIyLjUzODJaIiBmaWxsPSIjMUM2NkU1Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTIuMTg3OSAxOS4xMzU2QzEyLjE4NzkgMTkuMTM1NiAxMi4xODc5IDE5LjEzNTYgMTIuMTg4IDE5LjEzNTVDMTUuMDI0NiAxNi4yOTg5IDE1LjAyNDcgMTEuNjk5OCAxMi4xODgxIDguODYzMDRMMTAuNDIwMyAxMC42MzA4QzEyLjI4MDYgMTIuNDkxMiAxMi4yODA1IDE1LjUwNzQgMTAuNDIwMiAxNy4zNjc4QzEwLjQyMDIgMTcuMzY3OCAxMC40MjAxIDE3LjM2NzggMTAuNDIwMSAxNy4zNjc4TDEyLjE4NzkgMTkuMTM1NloiIGZpbGw9IiMxQzY2RTUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05LjEyMTQ0IDE2LjA2OTJDMTAuMjY0NCAxNC45MjYgMTAuMjY0MyAxMy4wNzI4IDkuMTIxMjggMTEuOTI5OEM5LjEyMTI2IDExLjkyOTcgOS4xMjEyNCAxMS45Mjk3IDkuMTIxMjIgMTEuOTI5N0w3LjEwMjk4IDEzLjk0NzlDNy4xMDMgMTMuOTQ3OSA3LjEwMzAyIDEzLjk0OCA3LjEwMzA0IDEzLjk0OEM3LjEzMTQ2IDEzLjk3NjQgNy4xMzE1MSAxNC4wMjI0IDcuMTAzMiAxNC4wNTA5TDkuMTIxNDQgMTYuMDY5MloiIGZpbGw9IiMxQzY2RTUiLz4KPGRlZnM+CjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZF8xMjRfNjQ3IiB4PSIwIiB5PSIwIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+CjxmZU9mZnNldC8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiLz4KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0ib3V0Ii8+CjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwLjI1IDAiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfMTI0XzY0NyIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd18xMjRfNjQ3IiByZXN1bHQ9InNoYXBlIi8+CjwvZmlsdGVyPgo8L2RlZnM+Cjwvc3ZnPgo=", Jc = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF8xNzQxXzEwNjc4KSI+CjxjaXJjbGUgY3g9IjE0IiBjeT0iMTQiIHI9IjEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNjY2NyAxMC4wMDAxQzEwLjY2NjcgOC4xNTkxMyAxMi4xNTkgNi42NjY3NSAxNCA2LjY2Njc1QzE1LjA1MzggNi42NjY3NSAxNS45OTM0IDcuMTU1NzQgMTYuNjA0MiA3LjkxOTJMMTAuNzMyIDE0Ljk5MzRDMTAuNjg5MSAxNC43ODAxIDEwLjY2NjcgMTQuNTU5NCAxMC42NjY3IDE0LjMzMzRWMTAuMDAwMVpNOS42Mjk3NSAxNi4zMjEyQzkuMzUzNzUgMTUuNzE1NSA5LjIgMTUuMDQyMyA5LjIgMTQuMzMzMlYxMy4zMzMySDguMTMzMzNWMTQuMzMzMkM4LjEzMzMzIDE1LjM4MDMgOC40MDc2NiAxNi4zNjM0IDguODg4MzYgMTcuMjE0NEw5LjYyOTc1IDE2LjMyMTJaTTEwLjkxMyAxOS4zMjNMMTEuNjAyNSAxOC40OTI1QzEyLjMwNzkgMTguOSAxMy4xMjY3IDE5LjEzMzIgMTQgMTkuMTMzMkMxNi42NTEgMTkuMTMzMiAxOC44IDE2Ljk4NDIgMTguOCAxNC4zMzMyVjEzLjMzMzJIMTkuODY2N1YxNC4zMzMyQzE5Ljg2NjcgMTcuMzkzNSAxNy41MjM1IDE5LjkwNjUgMTQuNTMzMyAyMC4xNzZWMjIuMDAwMUgxMy40NjY3VjIwLjE3NkMxMi41MzU3IDIwLjA5MjEgMTEuNjY3NCAxOS43OTA3IDEwLjkxMyAxOS4zMjNaTTEyLjU1OTEgMTcuMzQwMUwxNy4zMzMzIDExLjU4ODZWMTQuMzMzNEMxNy4zMzMzIDE2LjE3NDQgMTUuODQwOSAxNy42NjY3IDE0IDE3LjY2NjdDMTMuNDgzOSAxNy42NjY3IDEyLjk5NTIgMTcuNTQ5NSAxMi41NTkxIDE3LjM0MDFaIiBmaWxsPSIjRTYzOTVDIi8+CjxwYXRoIGQ9Ik05LjQyMzQgMTguODQ0N0wxNy43ODM0IDguNzc4MjciIHN0cm9rZT0iI0U2Mzk1QyIgc3Ryb2tlLXdpZHRoPSIxLjA2NjY3IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2RfMTc0MV8xMDY3OCIgeD0iMCIgeT0iMCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPgo8ZmVPZmZzZXQvPgo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxIi8+CjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9Im91dCIvPgo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4yNSAwIi8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0iZWZmZWN0MV9kcm9wU2hhZG93XzE3NDFfMTA2NzgiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfMTc0MV8xMDY3OCIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8L3N2Zz4K", Ce = { options: { virtualHost: !0 } }; Ce.props = Ma; Ce.setup = (A, t) => { const { enableVirtualBackground: e } = z(q()); return { MicOnH5: qc, MicOffH5: Jc, SwitchCameraSrc: fA, VirtualBackgroundOpenSrc: UA, networkSrc: tl, switchCamera: async () => { await O.switchCamera(); }, setBlurBackground: async () => { await O.setBlurBackground(!e.value); } }; }; Ce.components = Object.assign({ Row: $t, Col: ea, TKText: lA, Icon: ft, TKImage: SA }, Ce.components); var Hc = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("Row", { attrs: { "custom-style": { padding: "2px 5px" } } }, [e("Col", { attrs: { span: 12, justify: "start", align: "center" } }, [A.showNickName ? e("TKText", { attrs: { width: "100px", truncated: !0, color: "#FFF" } }, [A._v(" " + A._s(A.nickName) + " ")]) : A._e(), e("div", { directives: [{ name: "show", rawName: "v-show", value: !A.isMuted && A.volume, expression: "!isMuted && volume" }] }, [e("Icon", { attrs: { size: 24, src: A.MicOnH5 } })], 1), e("div", { directives: [{ name: "show", rawName: "v-show", value: A.isMuted, expression: "isMuted" }] }, [e("Icon", { attrs: { size: 24, src: A.MicOffH5 } })], 1)], 1), e("Col", { attrs: { span: 12, justify: "end", align: "center" } }, [A.showNetWorkStatus ? e("div", [e("TKImage", { attrs: { width: "24px", height: "24px", src: A.networkSrc } })], 1) : A._e(), A.showSwitchCameraButton ? e("div", { staticClass: "switch-camera stream-icon", on: { click: function(a) { return a.stopPropagation(), A.switchCamera.apply(null, arguments); } } }, [e("TKImage", { attrs: { width: "15px", height: "15px", src: A.SwitchCameraSrc } })], 1) : A._e(), A.showVirtualBackgroundButton ? e("div", { staticClass: "stream-icon", on: { click: function(a) { return a.stopPropagation(), A.setBlurBackground.apply(null, arguments); } } }, [e("TKImage", { attrs: { width: "15px", height: "15px", src: A.VirtualBackgroundOpenSrc } })], 1) : A._e()])], 1); }, Kc = []; const Mn = {}; var $c = /* @__PURE__ */ S( Ce, Hc, Kc, !1, Ar, "68708842", null, null ); function Ar(A) { for (let t in Mn) this[t] = Mn[t]; } const er = /* @__PURE__ */ function() { return $c.exports; }(), ye = { options: { virtualHost: !0 } }; ye.props = Ma; ye.setup = (A, t) => { const { isGroupCall: e } = q(), a = j.isPC; return { isGroupCall: e, isPC: a }; }; ye.components = Object.assign({ StreamInfoPC: _c, StreamInfoMobile: er }, ye.components); var tr = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", [A.isPC ? e("StreamInfoPC", { attrs: { nickName: A.nickName, isSelf: A.isSelf, isMuted: A.isMuted, volume: A.volume, showNetWorkStatus: A.showNetWorkStatus } }) : A._e(), A.isGroupCall && !A.isPC ? e("StreamInfoMobile", { attrs: { showSwitchCameraButton: A.showSwitchCameraButton, showVirtualBackgroundButton: A.showVirtualBackgroundButton, showNetWorkStatus: A.showNetWorkStatus, nickName: A.nickName, showNickName: A.showNickName, isSelf: A.isSelf, isMuted: A.isMuted, volume: A.volume } }) : A._e()], 1); }, ar = []; const dn = {}; var nr = /* @__PURE__ */ S( ye, tr, ar, !1, or, null, null, null ); function or(A) { for (let t in dn) this[t] = dn[t]; } const al = /* @__PURE__ */ function() { return nr.exports; }(), lr = { show: { type: Boolean, default: !0 }, domId: { type: String }, loading: { type: Boolean }, showStreamInfo: { type: Boolean }, showAudioStream: { type: Boolean } }, da = { options: { virtualHost: !0 } }; da.props = lr; da.setup = (A, t) => { const e = I(d.getData(c.CALL, o.PUSHER_ID)), a = X(["stream-info-container", { mobile: !j.isPC }]), n = (i) => { e.value = i; }, l = { [o.PUSHER_ID]: n }; return aA(() => { d.watch(c.CALL, l, { notifyRangeWhenWatch: o.MYSELF }); }), tA(() => { d.unwatch(c.CALL, l); }), { streamInfoContainerClassName: a }; }; var ir = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { directives: [{ name: "show", rawName: "v-show", value: A.show, expression: "show" }], staticClass: "pusher-container", attrs: { id: A.domId } }, [e("div", { directives: [{ name: "show", rawName: "v-show", value: A.showAudioStream, expression: "showAudioStream" }], staticClass: "audio-stream-container" }, [A._t("audio-stream")], 2), A._t("loading"), e("div", { class: A.streamInfoContainerClassName }, [A._t("stream-info")], 2)], 2); }, sr = []; const In = {}; var ur = /* @__PURE__ */ S( da, ir, sr, !1, cr, "71047565", null, null ); function cr(A) { for (let t in In) this[t] = In[t]; } const nl = /* @__PURE__ */ function() { return ur.exports; }(), Ia = { options: { virtualHost: !0 } }; Ia.props = { remoteClass: { type: String, required: !0 }, domId: { type: String } }; Ia.setup = (A, t) => { const e = I(d.getData(c.CALL, o.PLAYER)), a = I(d.getData(c.CALL, o.CALL_STATUS)), n = I(d.getData(c.CALL, o.IS_EAR_PHONE) ? Ae.EAR : Ae.SPEAKER), l = A, i = (T) => { e.value = JSON.parse(JSON.stringify(T)); }, u = p(() => { var T; return (T = e.value) == null ? void 0 : T.find((C) => (C == null ? void 0 : C.userID) === l.domId); }), s = (T) => { a.value = T; }, r = (T) => { n.value = T ? Ae.EAR : Ae.SPEAKER; }, M = { [o.PLAYER]: i, [o.CALL_STATUS]: s, [o.IS_EAR_PHONE]: r }; aA(() => { d.watch(c.CALL, M, { notifyRangeWhenWatch: o.MYSELF }); }), tA(() => { d.unwatch(c.CALL, M); }); function D(T) { O._tuiCallEngine._playerStateChange(T); } function g(T) { } function N(T) { O._tuiCallEngine._playNetStatus(T); } function y(T) { O._tuiCallEngine._playerAudioVolumeNotify(T); } return { soundMode: n, item: u, playerStateChange: D, playerFullscreenChange: g, playNetStatus: N, playerAudioVolumeNotify: y }; }; var rr = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.remoteClass }, [A.item && (A.item.hasAudio || A.item.hasVideo) ? e("live-player", { staticClass: "stream", attrs: { id: A.item.id, "data-userid": A.item.userID, "data-streamid": A.item.streamID, "data-streamtype": A.item.streamType, src: A.item.src, mode: "RTC", autoplay: A.item.autoplay, "mute-audio": A.item.muteAudio, "mute-video": A.item.muteVideo, orientation: A.item.orientation, "object-fit": A.item.objectFit, "background-mute": A.item.enableBackgroundMute, "min-cache": A.item.minCache, "max-cache": A.item.maxCache, "sound-mode": A.soundMode, "enable-recv-message": A.item.enableRecvMessage, "auto-pause-if-navigate": A.item.autoPauseIfNavigate, "auto-pause-if-open-native": A.item.autoPauseIfOpenNative }, on: { statechange: A.playerStateChange, fullscreenchange: A.playerFullscreenChange, netstatus: A.playNetStatus, audiovolumenotify: A.playerAudioVolumeNotify } }) : A._e()], 1); }, Mr = []; const gn = {}; var dr = /* @__PURE__ */ S( Ia, rr, Mr, !1, Ir, "34819670", null, null ); function Ir(A) { for (let t in gn) this[t] = gn[t]; } const gr = /* @__PURE__ */ function() { return dr.exports; }(), Nr = { show: { type: Boolean, default: !0 }, domId: { type: String }, loading: { type: Boolean }, showStreamInfo: { type: Boolean }, showAudioStream: { type: Boolean } }, Se = { options: { virtualHost: !0 } }; Se.props = Nr; Se.setup = (A, t) => { const e = X(["stream-info-container", { mobile: !j.isPC }]); return { TUIGlobal: j, streamInfoContainerClassName: e }; }; Se.components = Object.assign({ WXPlayer: gr }, Se.components); var pr = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { directives: [{ name: "show", rawName: "v-show", value: A.show, expression: "show" }], staticClass: "player-container", attrs: { id: A.domId } }, [e("div", { directives: [{ name: "show", rawName: "v-show", value: A.showAudioStream, expression: "showAudioStream" }], staticClass: "audio-stream-container" }, [A._t("audio-stream")], 2), A._t("loading"), e("div", { class: A.streamInfoContainerClassName }, [A._t("stream-info")], 2), A.TUIGlobal.isWeChat ? e("WXPlayer", { attrs: { "dom-id": A.domId, remoteClass: "small-view" } }) : A._e()], 2); }, Dr = []; const Nn = {}; var Tr = /* @__PURE__ */ S( Se, pr, Dr, !1, Cr, "91fc5e7a", null, null ); function Cr(A) { for (let t in Nn) this[t] = Nn[t]; } const ol = /* @__PURE__ */ function() { return Tr.exports; }(), yr = { avatar: { type: String }, username: { type: String }, isVideoAvailable: { type: Boolean }, showStreamInfo: { type: Boolean }, isSmallWindow: { type: Boolean, default: !1 }, isMuted: { type: Boolean, default: !0 }, volume: { type: Number, default: 0 }, userId: { type: String } }, Ee = { options: { virtualHost: !0 } }; Ee.props = yr; Ee.setup = (A, t) => { const e = A, a = xo(), { callType: n, isGroupCall: l } = z(q()), { isFloatWindow: i } = z(CA()), u = p(() => !l.value && !j.isPC), s = p(() => l.value ? j.isPC : n.value === F.AUDIO), r = p(() => !l.value && j.isPC && n.value === F.AUDIO), M = p(() => ({ zIndex: 1 })), D = p(() => a.value[e.userId] || e.avatar), g = I(!a.value[e.userId]), N = I(a.value[e.userId] ? "fill" : "cover"); return J([() => e.userId, a], () => { a.value[e.userId] ? (N.value = "fill", g.value = !1) : (N.value = "cover", g.value = !0); }, { immediate: !0 }), { isGroupCall: l, isFloatWindow: i, showAvatar: u, showUserName: s, showMicVolume: r, audioStreamStyle: M, bgImage: D, showViewMask: g, fit: N, handleError: () => { g.value = !0, N.value = "cover"; } }; }; Ee.components = Object.assign({ OverlayStream: Ho }, Ee.components); var Sr = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("OverlayStream", { attrs: { avatar: A.avatar, "bg-image": A.bgImage, "show-avatar": A.showAvatar, username: A.username, "show-user-name": A.showUserName, "show-mask": !A.isGroupCall && A.showViewMask, fit: A.fit, blur: !A.isGroupCall, "show-mic-volume": A.showMicVolume, "show-tip": !A.isGroupCall && !A.isFloatWindow, "custom-style": A.audioStreamStyle, "is-small-window": A.isSmallWindow, "is-muted": A.isMuted, volume: A.volume, "bg-color": "rgba(0, 0, 0, 0.5)" }, on: { error: A.handleError } }); }, Er = []; const pn = {}; var hr = /* @__PURE__ */ S( Ee, Sr, Er, !1, mr, null, null, null ); function mr(A) { for (let t in pn) this[t] = pn[t]; } const ll = /* @__PURE__ */ function() { return hr.exports; }(), jr = "data:image/svg+xml;base64,IDxzdmcgd2lkdGg9IjI2IiBoZWlnaHQ9IjI2IiB2aWV3Qm94PSIwIDAgMjYgMjYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgPHBhdGggZD0iTTE4LjQ0MzcgMTIuNDQ5QzE4LjQ0MzcgMTQuMTE0MiAxOC4yMzM2IDE1LjM1MTUgMjEuNTA4OSAxNS43MTI2QzI0Ljc4NzUgMTYuMDczNyAyNC4zNjY2IDEzLjY3OTQgMjQuMzY2MiAxMi4wNjY5QzI0LjM2NDkgMTAuMjA2MSAyMC4wNjAyIDcuNjE4OTUgMTMuMjcyNiA3LjYxNzNDNi40ODY2MiA3LjYxNzM1IDIuMTc4OSAxMC4yMDUgMi4xNzg4OCAxMi4wNjdDMi4xNzg4NyAxMy42OCAxLjc1NjIxIDE2LjA3MjYgNS4wMzMxNSAxNS43MTIzQzguMzEwMDkgMTUuMzUzNyA4LjEwMDA1IDE0LjExNTUgOC4wOTgzNyAxMi40NDk1QzguMTAxMzQgMTEuMjg2MiAxMC43NTg3IDExLjAzMTYgMTMuMjcyNSAxMS4wMjk4QzE1Ljc4NjMgMTEuMDI4MSAxOC40NDU0IDExLjI4NDQgMTguNDQzNyAxMi40NDlaIiBmaWxsPSIjRkUzQzQ0Ii8+CiAgICA8L3N2Zz4=", vr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjY2NjY2IDQuMTY2NjhDNi42NjY2NiAyLjMyODM0IDguMTYxNjYgMC44MzMzNDQgOS45OTk5OSAwLjgzMzM0NEMxMS44MzgzIDAuODMzMzQ0IDEzLjMzMzMgMi4zMjgzNCAxMy4zMzMzIDQuMTY2NjhWOS4xNjY2OEMxMy4zMzMzIDExLjAwNSAxMS44MzgzIDEyLjUgOS45OTk5OSAxMi41QzguMTYxNjYgMTIuNSA2LjY2NjY2IDExLjAwNSA2LjY2NjY2IDkuMTY2NjhWNC4xNjY2OFpNNi42NjY2NiAxOC4zMzMzQzYuNjY2NjYgMTcuODcyNSA3LjAzOTk5IDE3LjUgNy40OTk5OSAxNy41SDEyLjVDMTIuOTYwOCAxNy41IDEzLjMzMzMgMTcuODcyNSAxMy4zMzMzIDE4LjMzMzNDMTMuMzMzMyAxOC43OTQyIDEyLjk2MDggMTkuMTY2NyAxMi41IDE5LjE2NjdINy40OTk5OUM3LjAzOTk5IDE5LjE2NjcgNi42NjY2NiAxOC43OTQyIDYuNjY2NjYgMTguMzMzM1oiIGZpbGw9IiMxMDE0MTkiLz4KPHBhdGggZD0iTTE1LjgzMzMgOC4zNTEyVjkuNTA4MjVDMTUuODMzMyAxMi4wODEgMTMuMjIxNyAxNSA5Ljk5OTk5IDE1QzYuNzc4MzMgMTUgNC4xNjY2NiAxMi4wODEgNC4xNjY2NiA5LjUwODI1VjguMzMzMzQiIHN0cm9rZT0iIzEwMTQxOSIgc3Ryb2tlLXdpZHRoPSIxLjY2NjY3IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPC9zdmc+", fr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAxNSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC42MjQ3IDAuNzE5MTY4QzE0LjE5MzQgMC4zNzQxNTggMTMuNTY0MSAwLjQ0NDA4IDEzLjIxOTEgMC44NzUzNDJMMTAuODE2OCAzLjgzMjAzQzEwLjE3ODkgMy4wMjQ1NSA5LjE1Mzg3IDIuNTAwMDQgOC4wMDAwMSAyLjUwMDA0QzYuMDY5NzYgMi41MDAwNCA0LjUwMDAxIDMuOTY3ODUgNC41MDAwMSA1Ljc3Mjc2VjEwLjY4MTlDNC41MDAwMSAxMC45NTYzIDQuNTM2MyAxMS4yMjI5IDQuNjA0NjMgMTEuNDc3OEwzLjM4OCAxMi45NzUyQzIuOTg0NDkgMTIuMzQzMyAyLjc1MDAxIDExLjY1MjIgMi43NTAwMSAxMC45NzE3VjkuODE4MTlMMi43NDMxOSA5LjcxNTU2QzIuNjg5MiA5LjMxMjEzIDIuMzIxMDggOS4wMDAwMSAxLjg3NTAxIDkuMDAwMDFDMS4zOTE3NiA5LjAwMDAxIDEuMDAwMDEgOS4zNjYzMiAxLjAwMDAxIDkuODE4MTlWMTAuOTcxN0wxLjAwNDY2IDExLjE3NjFDMS4wNTU1NyAxMi4yOTY4IDEuNTIxNjEgMTMuNDAxNiAyLjI2OTM5IDE0LjM1MTlMMC4yMTkxMzcgMTYuODc1M0wwLjE0Njg2MSAxNi45NzgyQy0wLjExMjk3NyAxNy40MDE3IC0wLjAyMjc3NjcgMTcuOTYyNCAwLjM3NTMxMSAxOC4yODA5QzAuODA2NTczIDE4LjYyNTkgMS40MzU4NyAxOC41NTYgMS43ODA4OCAxOC4xMjQ3TDMuNzE2NjEgMTUuNzQyM0MzLjcxODQ5IDE1Ljc0MzcgMy43MjAzOCAxNS43NDUgMy43MjIyNyAxNS43NDY0TDQuMjk5NyAxNS4wMjQ2TDguMjgwODggMTAuMTI0N0wxNC43ODA5IDIuMTI0NzNMMTQuODUzMiAyLjAyMTkxQzE1LjExMyAxLjU5ODM0IDE1LjAyMjggMS4wMzc2NCAxNC42MjQ3IDAuNzE5MTY4Wk03LjcyNDk5IDEzLjk0NDZMMTEuNSA5LjIyNTgyVjEwLjY4MTlDMTEuNSAxMi40ODY4IDkuOTMwMjYgMTMuOTU0NiA4LjAwMDAxIDEzLjk1NDZDNy45MDc0NiAxMy45NTQ2IDcuODE1NzUgMTMuOTUxMiA3LjcyNDk5IDEzLjk0NDZaTTYuNjA0NDUgMTUuMzQ1M0w1LjUwNzk4IDE2LjcxNTlDNi4yOTIyNSAxNy4wMTM2IDcuMTM1MzIgMTcuMTgxOCA4LjAwMDAxIDE3LjE4MThDMTEuNjk3NiAxNy4xODE4IDE1IDE0LjEwNjQgMTUgMTAuOTcxN1Y5LjgzNTcyTDE0Ljk5MzIgOS43MzMwOUMxNC45MzkyIDkuMzI5NjYgMTQuNTcxMSA5LjAxNzU0IDE0LjEyNSA5LjAxNzU0QzEzLjY0MTggOS4wMTc1NCAxMy4yNSA5LjM4Mzg1IDEzLjI1IDkuODM1NzJWMTAuOTcxN0wxMy4yNDQ1IDExLjE1MjdDMTMuMTEzOCAxMy4zMjYyIDEwLjY1ODkgMTUuNTQ1NSA4LjAwMDAxIDE1LjU0NTVDNy41MjQyNCAxNS41NDU1IDcuMDU1MDEgMTUuNDc0NCA2LjYwNDQ1IDE1LjM0NTNaTTUuMzc1MDEgMTguODYzN0M0Ljg5MjAxIDE4Ljg2MzcgNC41MDAwMSAxOS4yMjk0IDQuNTAwMDEgMTkuNjgxOUM0LjUwMDAxIDIwLjEzNDMgNC44OTIwMSAyMC41IDUuMzc1MDEgMjAuNUgxMC42MjVDMTEuMTA4OSAyMC41IDExLjUgMjAuMTM0MyAxMS41IDE5LjY4MTlDMTEuNSAxOS4yMjk0IDExLjEwODkgMTguODYzNyAxMC42MjUgMTguODYzN0g1LjM3NTAxWiIgZmlsbD0iIzEwMTQxOSIvPgo8L3N2Zz4=", Lr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjMzMzM3IDkuMzMzMzFIMC4zMzMzNzRWMC45OTk5OEMwLjMzMzM3NCAwLjYzMTc5IDAuNjMxODUxIDAuMzMzMzEzIDEuMDAwMDQgMC4zMzMzMTNMOS4zMzMzOCAwLjMzMzMxM1YyLjMzMzMxSDMuNzQ3NThMMTAuMDQwNSA4LjYyNjI0TDguNjI2MjcgMTAuMDQwNEwyLjMzMzM3IDMuNzQ3NTNWOS4zMzMzMVpNMTguMzMzMSAxMS4zMzMzSDIwLjMzMzFWMTkuNjY2NkMyMC4zMzMxIDIwLjAzNDggMjAuMDM0NyAyMC4zMzMzIDE5LjY2NjUgMjAuMzMzM0wxMS4zMzMxIDIwLjMzMzNMMTEuMzMzMSAxOC4zMzMzSDE2LjkxODlMMTAuNjI2IDEyLjA0MDNMMTIuMDQwMiAxMC42MjYxTDE4LjMzMzEgMTYuOTE5VjExLjMzMzNaIiBmaWxsPSIjMTAxNDE5Ii8+Cjwvc3ZnPg==", il = { options: { virtualHost: !0 } }; il.setup = (A, t) => { const { localUserInfoExcludeVolume: e } = z(MA()), { callRole: a, callStatus: n } = z(q()), { isFloatWindow: l } = z(CA()); function i() { O.toggleMinimize(); } async function u() { a.value === K.CALLEE && n.value === U.CALLING ? await O.reject() : await O.hangup(); } async function s() { e.value.isAudioAvailable ? await O.closeMicrophone() : await O.openMicrophone(); } return { FloatCallEnd: jr, FloatMicrophoneSVG: vr, FloatMicrophoneClosedSVG: fr, FloatFullScreenSVG: Lr, localUserInfo: e, isFloatWindow: l, toggleMinimize: i, hangup: u, toggleMicrophone: s }; }; var Ur = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "float-window-container" }, [e("div", { directives: [{ name: "show", rawName: "v-show", value: A.isFloatWindow, expression: "isFloatWindow" }], staticClass: "float-control-panel" }, [e("div", { staticClass: "float-control-item-icon" }, [e("div", { staticClass: "float-control-item-icon-container", on: { click: A.hangup } }, [e("img", { attrs: { src: A.FloatCallEnd } })])]), e("div", { directives: [{ name: "show", rawName: "v-show", value: A.isFloatWindow, expression: "isFloatWindow" }], staticClass: "float-control-item-icon" }, [e("div", { staticClass: "float-control-item-icon-container", on: { click: A.toggleMicrophone } }, [A.localUserInfo.isAudioAvailable ? e("img", { attrs: { src: A.FloatMicrophoneSVG } }) : e("img", { attrs: { src: A.FloatMicrophoneClosedSVG } })])]), e("div", { directives: [{ name: "show", rawName: "v-show", value: A.isFloatWindow, expression: "isFloatWindow" }], staticClass: "float-control-item-icon" }, [e("div", { staticClass: "float-control-item-icon-container", on: { click: A.toggleMinimize } }, [e("img", { attrs: { src: A.FloatFullScreenSVG } })])])]), e("div", { directives: [{ name: "show", rawName: "v-show", value: !A.isFloatWindow, expression: "!isFloatWindow" }] }, [A._t("default")], 2)]); }, zr = []; const Dn = {}; var wr = /* @__PURE__ */ S( il, Ur, zr, !1, Or, "4df5fc21", null, null ); function Or(A) { for (let t in Dn) this[t] = Dn[t]; } const xr = /* @__PURE__ */ function() { return wr.exports; }(), sl = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuNzYwOTYxIDkuMzMxNTRDMC4wMDEyMzUwNyA3LjEzMzcxIDAuOTYyOTY4IDQuNzczMjMgMi44MzM0NSAzLjM5MDk3QzQuMjUxNTIgMi4zNDMwNCA1LjY3NjAzIDEuMjg0NyA2LjQ4ODg5IDAuNjgwMTI0QzYuODc1MTUgMC4zOTI4MzcgNy40MTY2MSAwLjQ1NTY4IDcuNzI4NDEgMC44MjIzOTdMMTIuMTU4IDYuMDMyMTRDMTIuNDQ3NiA2LjM3Mjc1IDEyLjQ0NzcgNi44NzI5NSAxMi4xNTgzIDcuMjEzNzNMOS40NDIyIDEwLjQxMTlDOS4xOTQ5NiAxMC43MDMxIDkuMTUzNzggMTEuMTE4MyA5LjM0OTI1IDExLjQ0NjVDMTAuMjI5MyAxMi45MjM4IDExLjE5NSAxNC4xODkxIDEyLjUgMTUuNDkzOEMxMy44MTI3IDE2LjgwNiAxNS4wNzc4IDE3Ljc1MjkgMTYuNTYzNSAxOC42MzA4QzE2Ljg5MTkgMTguODI0OCAxNy4zMDY1IDE4Ljc4MzYgMTcuNTk3NCAxOC41MzY4TDIwLjc4MjYgMTUuODM1MUMyMS4xMjM0IDE1LjU0NTkgMjEuNjIzNyAxNS41NDYxIDIxLjk2NDMgMTUuODM1NkwyNy4xNzgzIDIwLjI2NjJDMjcuNTQ0MSAyMC41NzcgMjcuNjA2NiAyMS4xMTc5IDI3LjMyMTMgMjEuNTAzOEwyNC41OTM3IDI1LjE5MzZDMjMuMjIyNSAyNy4wNDg2IDIwLjg4MDQgMjcuOTkxOSAxOC42OTg3IDI3LjI0MTNDMTQuNjY1OCAyNS44NTM4IDEwLjg3ODEgMjMuNTUxMSA3LjY1OTIyIDIwLjMzMzFDNC40NDk1NyAxNy4xMjQ0IDIuMTUwMTUgMTMuMzUwMyAwLjc2MDk2MSA5LjMzMTU0WiIgZmlsbD0iIzEyQjk2OSIvPgo8L3N2Zz4K", ut = { options: { virtualHost: !0 } }; ut.setup = (A, t) => { const { callType: e, callStatus: a } = z(q()), { isFloatWindow: n } = z(CA()), { callDuration: l } = Ht(), i = p(() => X(["float-window-container", { "singlecall-video-float": e.value === F.VIDEO && n.value, "singlecall-audio-float": e.value === F.AUDIO && n.value }])); function u() { n.value && O.toggleMinimize(); } return { CallMediaType: F, CallStatus: U, t: v, earphoneSrc: sl, callType: e, callStatus: a, isFloatWindow: n, callDuration: l, floatWindowClassName: i, closeFloatWindow: u }; }; ut.components = Object.assign({ TKText: lA, TKImage: SA, Timer: sa }, ut.components); var Vr = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.floatWindowClassName }, [e("div", { directives: [{ name: "show", rawName: "v-show", value: !(A.isFloatWindow && A.callType === A.CallMediaType.AUDIO), expression: "!(isFloatWindow && callType === CallMediaType.AUDIO)" }], staticClass: "singlecall-video-float-content", on: { click: A.closeFloatWindow } }, [A._t("default"), e("div", { staticClass: "float-window-tip-container" }, [A.callStatus === A.CallStatus.CALLING && A.isFloatWindow ? e("TKText", { attrs: { color: "#FFF", size: "12px" } }, [A._v(A._s(A.t("wait to be called")))]) : A._e()], 1)], 2), e("div", { directives: [{ name: "show", rawName: "v-show", value: A.isFloatWindow && A.callType === A.CallMediaType.AUDIO, expression: "isFloatWindow && callType === CallMediaType.AUDIO" }], staticClass: "singlecall-audio-float-content", on: { click: A.closeFloatWindow } }, [e("TKImage", { attrs: { width: "36px", height: "36px", src: A.earphoneSrc } }), A.callStatus === A.CallStatus.CONNECTED ? e("Timer", { attrs: { fontSize: "12px", callDuration: A.callDuration, color: "#12b969" } }) : A._e(), A.callStatus === A.CallStatus.CALLING && A.isFloatWindow ? e("TKText", { attrs: { color: "#12b969", size: "12px" } }, [A._v(A._s(A.t("wait to be called")))]) : A._e()], 1)]); }, br = []; const Tn = {}; var Br = /* @__PURE__ */ S( ut, Vr, br, !1, Fr, "73a848fe", null, null ); function Fr(A) { for (let t in Tn) this[t] = Tn[t]; } const Rr = /* @__PURE__ */ function() { return Br.exports; }(), kr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjkxNjUgNy41NjkzN1Y2LjgzODg3SDMuNDE2NVY3LjU2OTM3QzMuNDE2NSAxMC4xMDA3IDUuNDY4NTMgMTIuMTUyNyA3Ljk5OTg0IDEyLjE1MjdDMTAuNTMxMSAxMi4xNTI3IDEyLjU4MzIgMTAuMTAwNyAxMi41ODMyIDcuNTY5MzZWNi44Mzg4N0gxNC4wODMyVjcuNTY5MzZDMTQuMDgzMiAxMC42NzUxIDExLjc1NTcgMTMuMjM3MyA4Ljc0OTg4IDEzLjYwNjlWMTQuOTA4OUg3LjI0OTg4VjEzLjYwNjlDNC4yNDM5OCAxMy4yMzc0IDEuOTE2NSAxMC42NzUyIDEuOTE2NSA3LjU2OTM3WiIgZmlsbD0iIzEyQjk2OSIvPgo8cmVjdCB4PSI0LjY2Njc1IiB5PSIxLjA5MDgyIiB3aWR0aD0iNi42NjY2NyIgaGVpZ2h0PSI5Ljg5NjkiIHJ4PSIzLjMzMzMzIiBmaWxsPSIjMTJCOTY5Ii8+Cjwvc3ZnPgo=", Pr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi42NzE2IDYuMTE2OTJDMTIuNDY4NyA2LjIxODY5IDEyLjM0MDYgNi40MjYyNSAxMi4zNDA2IDYuNjUzMjRWOS4zNDY0OEMxMi4zNDA2IDkuNTczNDggMTIuNDY4NyA5Ljc4MTA1IDEyLjY3MTYgOS44ODI4MUwxNS40NzQ0IDExLjI4ODRDMTUuNjA3NCAxMS4zNTUxIDE1Ljc2NCAxMS4yNTg0IDE1Ljc2NCAxMS4xMDk2TDE1Ljc2NCA0Ljg4OTk2QzE1Ljc2NCA0Ljc0MTE3IDE1LjYwNzQgNC42NDQ0OCAxNS40NzQ0IDQuNzExMThMMTIuNjcxNiA2LjExNjkyWiIgZmlsbD0iIzEyQjk2OSIvPgo8ZyBmaWx0ZXI9InVybCgjZmlsdGVyMF9iXzE5NzdfMTE2MzApIj4KPHJlY3QgeD0iMC42NjY3NDgiIHk9IjIuODkzNTUiIHdpZHRoPSIxMC42NjY3IiBoZWlnaHQ9IjEwLjIxMjgiIHJ4PSIxLjUiIGZpbGw9IiMxMkI5NjkiLz4KPC9nPgo8ZGVmcz4KPGZpbHRlciBpZD0iZmlsdGVyMF9iXzE5NzdfMTE2MzAiIHg9Ii03LjMzMzI1IiB5PSItNS4xMDY0NSIgd2lkdGg9IjI2LjY2NjYiIGhlaWdodD0iMjYuMjEyNiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgo8ZmVHYXVzc2lhbkJsdXIgaW49IkJhY2tncm91bmRJbWFnZUZpeCIgc3RkRGV2aWF0aW9uPSI0Ii8+CjxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iaW4iIHJlc3VsdD0iZWZmZWN0MV9iYWNrZ3JvdW5kQmx1cl8xOTc3XzExNjMwIi8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iZWZmZWN0MV9iYWNrZ3JvdW5kQmx1cl8xOTc3XzExNjMwIiByZXN1bHQ9InNoYXBlIi8+CjwvZmlsdGVyPgo8L2RlZnM+Cjwvc3ZnPgo=", Wr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjkxNjUgNy41NjkzN1Y2LjgzODg3SDMuNDE2NVY3LjU2OTM3QzMuNDE2NSAxMC4xMDA3IDUuNDY4NTMgMTIuMTUyNyA3Ljk5OTg0IDEyLjE1MjdDMTAuNTMxMSAxMi4xNTI3IDEyLjU4MzIgMTAuMTAwNyAxMi41ODMyIDcuNTY5MzZWNi44Mzg4N0gxNC4wODMyVjcuNTY5MzZDMTQuMDgzMiAxMC42NzUxIDExLjc1NTcgMTMuMjM3MyA4Ljc0OTg4IDEzLjYwNjlWMTQuOTA4OUg3LjI0OTg4VjEzLjYwNjlDNC4yNDM5OCAxMy4yMzc0IDEuOTE2NSAxMC42NzUyIDEuOTE2NSA3LjU2OTM3WiIgZmlsbD0iI0FEQURBRCIvPgo8cmVjdCB4PSI0LjY2Njc1IiB5PSIxLjA5MDgyIiB3aWR0aD0iNi42NjY2NyIgaGVpZ2h0PSI5Ljg5NjkiIHJ4PSIzLjMzMzMzIiBmaWxsPSIjQURBREFEIi8+Cjwvc3ZnPgo=", Gr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi42NzE2IDUuNzc2NTlDMTIuNDY4NyA1Ljg3ODM1IDEyLjM0MDYgNi4wODU5MSAxMi4zNDA2IDYuMzEyOTFWOS4wMDYxNEMxMi4zNDA2IDkuMjMzMTUgMTIuNDY4NyA5LjQ0MDcyIDEyLjY3MTYgOS41NDI0OEwxNS40NzQ0IDEwLjk0OEMxNS42MDc0IDExLjAxNDcgMTUuNzY0IDEwLjkxOCAxNS43NjQgMTAuNzY5M0wxNS43NjQgNC41NDk2MkMxNS43NjQgNC40MDA4NCAxNS42MDc0IDQuMzA0MTUgMTUuNDc0NCA0LjM3MDg1TDEyLjY3MTYgNS43NzY1OVoiIGZpbGw9IiNBREFEQUQiLz4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfYl8xMzFfMTQ0OSkiPgo8cmVjdCB4PSIwLjY2Njc0OCIgeT0iMi41NTMyMiIgd2lkdGg9IjEwLjY2NjciIGhlaWdodD0iMTAuMjEyOCIgcng9IjEuNSIgZmlsbD0iI0FEQURBRCIvPgo8L2c+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2JfMTMxXzE0NDkiIHg9Ii03LjMzMzI1IiB5PSItNS40NDY3OCIgd2lkdGg9IjI2LjY2NjciIGhlaWdodD0iMjYuMjEyNiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgo8ZmVHYXVzc2lhbkJsdXIgaW49IkJhY2tncm91bmRJbWFnZUZpeCIgc3RkRGV2aWF0aW9uPSI0Ii8+CjxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iaW4iIHJlc3VsdD0iZWZmZWN0MV9iYWNrZ3JvdW5kQmx1cl8xMzFfMTQ0OSIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfYmFja2dyb3VuZEJsdXJfMTMxXzE0NDkiIHJlc3VsdD0ic2hhcGUiLz4KPC9maWx0ZXI+CjwvZGVmcz4KPC9zdmc+Cg==", ct = { options: { virtualHost: !0 } }; ct.setup = (A, t) => { const { isFloatWindow: e } = z(CA()), { callDuration: a } = Ht(), { localUserInfoExcludeVolume: n } = z(MA()), { callStatus: l } = z(q()), i = p(() => n.value.isAudioAvailable ? kr : Wr), u = p(() => n.value.isVideoAvailable ? Pr : Gr), s = p(() => X(["groupcall-video-float", { "not-float": !e.value, float: e.value }])); function r() { e.value && O.toggleMinimize(); } return { CallStatus: U, t: v, earphoneSrc: sl, isFloatWindow: e, callDuration: a, callStatus: l, microphoneSrc: i, cameraSrc: u, floatWindowClassName: s, closeFloatWindow: r }; }; ct.components = Object.assign({ TKImage: SA, Timer: sa, TKText: lA }, ct.components); var Qr = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.floatWindowClassName }, [A.isFloatWindow ? e("div", { staticClass: "click-container", on: { "!click": function(a) { return a.stopPropagation(), A.closeFloatWindow.apply(null, arguments); } } }) : A._e(), e("div", { staticClass: "stream-container" }, [e("div", { staticClass: "video" }, [A._t("default")], 2), e("div", { directives: [{ name: "show", rawName: "v-show", value: A.isFloatWindow, expression: "isFloatWindow" }], staticClass: "audio" }, [e("TKImage", { attrs: { width: "36px", height: "36px", src: A.earphoneSrc } }), A.callStatus === A.CallStatus.CONNECTED ? e("Timer", { attrs: { fontSize: "12px", callDuration: A.callDuration, color: "#12b969" } }) : A._e(), A.callStatus === A.CallStatus.CALLING ? e("TKText", { attrs: { size: "12px", color: "#12b969" } }, [A._v(A._s(A.t("wait to be called")))]) : A._e()], 1)]), e("div", { directives: [{ name: "show", rawName: "v-show", value: A.isFloatWindow, expression: "isFloatWindow" }], staticClass: "device-status" }, [e("TKImage", { attrs: { width: "16px", height: "16px", src: A.microphoneSrc } }), e("TKImage", { attrs: { width: "16px", height: "16px", src: A.cameraSrc } })], 1)]); }, Zr = []; const Cn = {}; var Yr = /* @__PURE__ */ S( ct, Qr, Zr, !1, Xr, "04a48581", null, null ); function Xr(A) { for (let t in Cn) this[t] = Cn[t]; } const _r = /* @__PURE__ */ function() { return Yr.exports; }(), rt = { options: { virtualHost: !0 } }; rt.setup = (A, t) => { const { isGroupCall: e } = z(q()); return { isGroupCall: e }; }; rt.components = Object.assign({ FloatWindowSingleCall: Rr, FloatWindowGroupCall: _r }, rt.components); var qr = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { attrs: { id: "float-window-id" } }, [A.isGroupCall ? e("FloatWindowGroupCall", [A._t("default")], 2) : e("FloatWindowSingleCall", [A._t("default")], 2)], 1); }, Jr = []; const yn = {}; var Hr = /* @__PURE__ */ S( rt, qr, Jr, !1, Kr, null, null, null ); function Kr(A) { for (let t in yn) this[t] = yn[t]; } const $r = /* @__PURE__ */ function() { return Hr.exports; }(), Mt = { options: { virtualHost: !0 } }; Mt.setup = (A, t) => { const { isFloatWindow: e } = z(CA()), a = p(() => X(["float-window-container", { float: e.value, "not-float": !e.value, pc: j.isPC, mobile: !j.isPC }])); return { TUIGlobal: j, floatWindowContainerClassName: a }; }; Mt.components = Object.assign({ FloatWindowPC: xr, FloatWindowMobile: $r }, Mt.components); var AM = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.floatWindowContainerClassName }, [A.TUIGlobal.isPC ? e("FloatWindowPC", [A._t("default")], 2) : A._e(), A.TUIGlobal.isPC ? A._e() : e("FloatWindowMobile", [A._t("default")], 2)], 1); }, eM = []; const Sn = {}; var tM = /* @__PURE__ */ S( Mt, AM, eM, !1, aM, "59a0c3c2", null, null ); function aM(A) { for (let t in Sn) this[t] = Sn[t]; } const ul = /* @__PURE__ */ function() { return tM.exports; }(); function nM() { const A = Ge(), { callStatus: t } = z(q()), e = I(At.LOCAL), { remoteUserListExcludeVolume: a } = z(MA()); return J([a, A, t], () => { var i, u, s, r; if (t.value === U.CALLING) return; const n = [et.RemoteInLargeView, et.LocalInLargeView], l = (i = A.value) == null ? void 0 : i.layoutMode; if (n.includes(l)) { e.value = (u = A.value) == null ? void 0 : u.layoutMode; return; } (r = (s = a.value) == null ? void 0 : s[0]) != null && r.isEnter && (e.value = At.REMOTE); }, { immediate: !0 }), e; } const dt = { options: { virtualHost: !0 } }; dt.setup = (A, t) => { const e = nM(), a = I(!0), { isFloatWindow: n } = z(CA()), { localUserInfoExcludeVolume: l, remoteUserListExcludeVolume: i } = z(MA()), u = Uo(), { callType: s, callStatus: r } = z(q()), M = zo(), D = p(() => { var C, E, w, L; return j.isWeChat ? (E = (C = M.value) == null ? void 0 : C.find((m) => { var k, _; return (m == null ? void 0 : m.userID) === ((_ = (k = i.value) == null ? void 0 : k[0]) == null ? void 0 : _.userId); })) == null ? void 0 : E.hasVideo : (L = (w = i.value) == null ? void 0 : w[0]) == null ? void 0 : L.isVideoAvailable; }), g = p(() => { var C, E; return (E = (C = i.value) == null ? void 0 : C[0]) == null ? void 0 : E.domId; }), N = p(() => { var C, E, w; return (w = u.value) == null ? void 0 : w[(E = (C = i.value) == null ? void 0 : C[0]) == null ? void 0 : E.domId]; }); J([s, r], () => { s.value === F.AUDIO || r.value === U.CALLING ? a.value = !1 : a.value = !0; }, { immediate: !0 }); const y = p(() => X(["singlecall-media-container", { mobile: !j.isPC, pc: j.isPC, float: n.value }])); function T(C) { e.value = C; } return { CallMediaType: F, ViewName: At, largeViewName: e, showSmallWindow: a, isFloatWindow: n, localUserInfoExcludeVolume: l, remoteUserListExcludeVolume: i, volumeMap: u, callType: s, isPusherVideoAvailable: D, playerDomId: g, remoteStreamVolume: N, singleMediaContainerClassName: y, handleToggle: T }; }; dt.components = Object.assign({ Portal: el, FloatWindow: ul, ToggleWindow: Nc, ToggleWindowItem: Gc, Pusher: nl, AudioStream: ll, TKStreamInfo: al, Player: ol }, dt.components); var oM = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("Portal", { attrs: { id: "source", disabled: !A.isFloatWindow, source: "#source", to: "body" } }, [e("FloatWindow", [e("div", { class: A.singleMediaContainerClassName }, [e("ToggleWindow", { attrs: { "big-window": A.largeViewName, "show-small-window": A.showSmallWindow }, on: { toggle: A.handleToggle } }, [e("ToggleWindowItem", { key: A.ViewName.LOCAL, attrs: { value: A.ViewName.LOCAL } }, [e("Pusher", { attrs: { domId: A.localUserInfoExcludeVolume.domId, "show-audio-stream": !A.localUserInfoExcludeVolume.isVideoAvailable }, scopedSlots: A._u([{ key: "audio-stream", fn: function() { return [e("AudioStream", { attrs: { userId: A.localUserInfoExcludeVolume.userId, username: A.localUserInfoExcludeVolume.displayUserInfo, avatar: A.localUserInfoExcludeVolume.avatar, "is-video-available": A.localUserInfoExcludeVolume.isVideoAvailable, "is-small-window": A.largeViewName !== A.ViewName.LOCAL, "is-muted": !A.localUserInfoExcludeVolume.isAudioAvailable, volume: A.volumeMap && A.volumeMap[A.localUserInfoExcludeVolume.domId] } })]; }, proxy: !0 }, { key: "stream-info", fn: function() { return [A.callType === A.CallMediaType.VIDEO ? e("TKStreamInfo", { attrs: { "nick-name": A.localUserInfoExcludeVolume.displayUserInfo, "is-self": !0, "is-muted": !A.localUserInfoExcludeVolume.isAudioAvailable, volume: A.volumeMap && A.volumeMap[A.localUserInfoExcludeVolume.domId] } }) : A._e()]; }, proxy: !0 }]) })], 1), e("ToggleWindowItem", { key: A.ViewName.REMOTE, attrs: { value: A.ViewName.REMOTE } }, [e("Player", { attrs: { "dom-id": A.playerDomId, "show-audio-stream": !A.isPusherVideoAvailable }, scopedSlots: A._u([{ key: "audio-stream", fn: function() { return [e("AudioStream", { attrs: { userId: A.remoteUserListExcludeVolume[0] && A.remoteUserListExcludeVolume[0].userId, username: A.remoteUserListExcludeVolume[0] && A.remoteUserListExcludeVolume[0].displayUserInfo, avatar: A.remoteUserListExcludeVolume[0] && A.remoteUserListExcludeVolume[0].avatar, "is-video-available": A.isPusherVideoAvailable, "is-small-window": A.largeViewName !== A.ViewName.REMOTE, "is-muted": A.remoteUserListExcludeVolume[0] && !A.remoteUserListExcludeVolume[0].isAudioAvailable, volume: A.remoteStreamVolume } })]; }, proxy: !0 }, { key: "stream-info", fn: function() { return [A.callType === A.CallMediaType.VIDEO ? e("TKStreamInfo", { attrs: { "nick-name": A.remoteUserListExcludeVolume[0] && A.remoteUserListExcludeVolume[0].displayUserInfo, "is-muted": A.remoteUserListExcludeVolume[0] && !A.remoteUserListExcludeVolume[0].isAudioAvailable, volume: A.remoteStreamVolume } }) : A._e()]; }, proxy: !0 }]) })], 1)], 1)], 1)])], 1); }, lM = []; const En = {}; var iM = /* @__PURE__ */ S( dt, oM, lM, !1, sM, "5ca72ad0", null, null ); function sM(A) { for (let t in En) this[t] = En[t]; } const uM = /* @__PURE__ */ function() { return iM.exports; }(), cM = [ae.SUCCESS, ae.INFO, ae.WARNING, ae.ERROR], _A = { isShow: { type: Boolean, default: !1 }, message: { type: String, default: "" }, type: { type: String, values: cM, default: ae.INFO }, duration: { type: Number, default: 3e3 }, offset: { type: Number, default: 16 }, showClose: { type: Boolean, default: !1 }, showIcon: { type: Boolean, default: !0 }, customClass: { type: String }, customStyle: { type: Object } }; function rM(A, t) { const e = I((A == null ? void 0 : A.message) || _A.message.default), a = I((A == null ? void 0 : A.duration) || _A.duration.default), n = I((A == null ? void 0 : A.type) || _A.type.default), l = I((A == null ? void 0 : A.offset) || _A.offset.default), i = I((A == null ? void 0 : A.showClose) || _A.showClose.default), u = I(!1); let s = -1; const r = (g) => { s > -1 && (clearTimeout(s), s = -1), u.value = !0, D(g || {}), a.value && (s = setTimeout(() => { M(); }, a.value)); }, M = () => { u.value = !1, s > -1 && (clearTimeout(s), s = -1); }, D = (g) => { const { message: N = e.value, type: y = n.value, offset: T = l.value, duration: C = a.value, showClose: E = i.value } = g; a.value = (A == null ? void 0 : A.duration) === 0 ? A == null ? void 0 : A.duration : C, e.value = N, n.value = y, l.value = T, i.value = E; }; return J( () => A == null ? void 0 : A.isShow, (g) => { g && r(); }, { immediate: !0 } ), J(u, (g) => { g || t("onClose"); }), { messageContent: e, messageDuration: a, messageType: n, messageOffset: l, isShowCloseIcon: i, visible: u, show: r, close: M }; } const MM = "data:image/svg+xml;base64,PHN2ZyB0PSIxNzAwMTIzMzQ5NzM4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYzMDAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiA5Ny41MjM4MWMyMjguOTEyNzYyIDAgNDE0LjQ3NjE5IDE4NS41NjM0MjkgNDE0LjQ3NjE5IDQxNC40NzYxOXMtMTg1LjU2MzQyOSA0MTQuNDc2MTktNDE0LjQ3NjE5IDQxNC40NzYxOVM5Ny41MjM4MSA3NDAuOTEyNzYyIDk3LjUyMzgxIDUxMiAyODMuMDg3MjM4IDk3LjUyMzgxIDUxMiA5Ny41MjM4MXogbTEyOS4yOTIxOSAyMzMuNDQ3NjE5bC0xMjkuMjY3ODA5IDEyOS4yOTIxOS0xMjkuMzE2NTcxLTEyOS4yOTIxOS01MS43MzYzODEgNTEuNzM2MzgxIDEyOS4zMTY1NzEgMTI5LjI2NzgwOS0xMjkuMzE2NTcxIDEyOS4zMTY1NzEgNTEuNzM2MzgxIDUxLjczNjM4MUw1MTIgNTYzLjY4NzYxOWwxMjkuMjkyMTkgMTI5LjMxNjU3MSA1MS43MzYzODEtNTEuNzM2MzhMNTYzLjY4NzYxOSA1MTJsMTI5LjMxNjU3MS0xMjkuMjkyMTktNTEuNzM2MzgtNTEuNzM2MzgxeiIgcC1pZD0iNjMwMSIgZmlsbD0iI2Q1NDk0MSI+PC9wYXRoPjwvc3ZnPgo=", dM = "data:image/svg+xml;base64,PHN2ZyB0PSIxNzAwMTIxNTM5Nzg4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQwMTgiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiA5Ny41MjM4MWMyMjguOTEyNzYyIDAgNDE0LjQ3NjE5IDE4NS41NjM0MjkgNDE0LjQ3NjE5IDQxNC40NzYxOXMtMTg1LjU2MzQyOSA0MTQuNDc2MTktNDE0LjQ3NjE5IDQxNC40NzYxOVM5Ny41MjM4MSA3NDAuOTEyNzYyIDk3LjUyMzgxIDUxMiAyODMuMDg3MjM4IDk3LjUyMzgxIDUxMiA5Ny41MjM4MXogbTE5My4xOTQ2NjcgMjE4LjMzMTQyOEw0NDcuMjE5ODEgNTgxLjMxNTA0OGwtMTAzLjkzNi0xMDcuODEyNTcyLTUyLjY2Mjg1OCA1MC43NjExNDMgMTU2LjM3OTQyOSAxNjIuMjMwODU3IDMxMC42NjIwOTUtMzE5LjY4MzA0Ny01Mi40Njc4MDktNTAuOTU2MTkxeiIgcC1pZD0iNDAxOSIgZmlsbD0iIzJiYTQ3MSI+PC9wYXRoPjwvc3ZnPgo=", IM = "data:image/svg+xml;base64,PHN2ZyB0PSIxNzAwMTIzMjc0Njg2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUwNTAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiA5Ny41MjM4MWMyMjguOTEyNzYyIDAgNDE0LjQ3NjE5IDE4NS41NjM0MjkgNDE0LjQ3NjE5IDQxNC40NzYxOXMtMTg1LjU2MzQyOSA0MTQuNDc2MTktNDE0LjQ3NjE5IDQxNC40NzYxOVM5Ny41MjM4MSA3NDAuOTEyNzYyIDk3LjUyMzgxIDUxMiAyODMuMDg3MjM4IDk3LjUyMzgxIDUxMiA5Ny41MjM4MXogbTM2LjU3MTQyOSAzNDEuMzMzMzMzaC03My4xNDI4NTh2MjkyLjU3MTQyOGg3My4xNDI4NThWNDM4Ljg1NzE0M3ogbTAtMTIxLjkwNDc2MmgtNzMuMTQyODU4djczLjE0Mjg1N2g3My4xNDI4NTh2LTczLjE0Mjg1N3oiIHAtaWQ9IjUwNTEiIGZpbGw9IiNlMzczMTgiPjwvcGF0aD48L3N2Zz4K", gM = "data:image/svg+xml;base64,PHN2ZyB0PSIxNzAwMTIzMjc0Njg2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUwNTAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiA5Ny41MjM4MWMyMjguOTEyNzYyIDAgNDE0LjQ3NjE5IDE4NS41NjM0MjkgNDE0LjQ3NjE5IDQxNC40NzYxOXMtMTg1LjU2MzQyOSA0MTQuNDc2MTktNDE0LjQ3NjE5IDQxNC40NzYxOVM5Ny41MjM4MSA3NDAuOTEyNzYyIDk3LjUyMzgxIDUxMiAyODMuMDg3MjM4IDk3LjUyMzgxIDUxMiA5Ny41MjM4MXogbTM2LjU3MTQyOSAzNDEuMzMzMzMzaC03My4xNDI4NTh2MjkyLjU3MTQyOGg3My4xNDI4NThWNDM4Ljg1NzE0M3ogbTAtMTIxLjkwNDc2MmgtNzMuMTQyODU4djczLjE0Mjg1N2g3My4xNDI4NTh2LTczLjE0Mjg1N3oiIHAtaWQ9IjUwNTEiIGZpbGw9IiMwMDUyZDkiPjwvcGF0aD48L3N2Zz4K", NM = "data:image/svg+xml;base64,ICAgIAo8c3ZnIHQ9IjE3MDAxMjM3NjYyNDciIGNsYXNzPSJpY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiCiAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYzMDEiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+CiAgICA8cGF0aCBkPSJNNTU3LjIgNTEybDIzMy40LTIzMy40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4ycy0zMi44LTEyLjUtNDUuMiAwTDUxMiA0NjYuOCAyNzguNiAyMzMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4yIDBzLTEyLjUgMzIuOCAwIDQ1LjJMNDY2LjggNTEyIDIzMy40IDc0NS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuMiA2LjIgNi4yIDE0LjQgOS40IDIyLjYgOS40czE2LjQtMy4xIDIyLjYtOS40TDUxMiA1NTcuMmwyMzMuNCAyMzMuNGM2LjIgNi4yIDE0LjQgOS40IDIyLjYgOS40czE2LjQtMy4xIDIyLjYtOS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4yTDU1Ny4yIDUxMnoiIHAtaWQ9IjYzMDEiIGZpbGw9IiM3Mzc2N2EiPjwvcGF0aD4KPC9zdmc+Cg==", he = { options: { virtualHost: !0 } }; he.props = _A; he.setup = (A, t) => { const e = A, a = t.emit, { messageContent: n, messageType: l, messageOffset: i, isShowCloseIcon: u, visible: s, show: r, close: M } = rM(e, a), D = p(() => X([`${x}-message`, `${x}-message--${l.value}`, e.customClass])), g = p(() => X([`${x}-message_icon`])), N = p(() => X([`${x}-message_close`])), y = p(() => `${i.value}px`), T = p(() => ({ top: y.value, ...e.customStyle })); return Object.assign({ CloseSrc: NM, messageContent: n, messageType: l, isShowCloseIcon: u, visible: s, close: M, messageClassName: D, typeIconClassName: g, closeIconClassName: N, messageStyle: T, IconSrcMap: { info: gM, waring: IM, success: dM, error: MM } }, { show: r, close: M }); }; he.components = Object.assign({ Icon: ft }, he.components); var pM = function() { var A = this, t = A.$createElement, e = A._self._c || t; return A.visible ? e("div", { class: A.messageClassName, style: [A.messageStyle] }, [e("div", { directives: [{ name: "show", rawName: "v-show", value: A.showIcon, expression: "showIcon" }], class: A.typeIconClassName }, [e("Icon", { attrs: { src: A.IconSrcMap[A.messageType] } })], 1), e("span", [A._v(A._s(A.messageContent))]), e("div", { directives: [{ name: "show", rawName: "v-show", value: A.isShowCloseIcon, expression: "isShowCloseIcon" }], class: A.closeIconClassName, on: { click: A.close } }, [e("Icon", { attrs: { src: A.CloseSrc } })], 1)]) : A._e(); }, DM = []; const hn = {}; var TM = /* @__PURE__ */ S( he, pM, DM, !1, CM, null, null, null ); function CM(A) { for (let t in hn) this[t] = hn[t]; } const cl = /* @__PURE__ */ function() { return TM.exports; }(), yM = { customClass: { type: String } }, me = { options: { virtualHost: !0, styleIsolation: "shared" } }; me.props = yM; me.setup = (A, t) => { const { isFloatWindow: e } = z(CA()), { tip: a, duration: n } = Vi(), { isGroupCall: l } = z(q()), i = I(null), u = A, s = j.isPC, r = p(() => [u.customClass]), M = p(() => ot({ color: "white", background: "none", position: "absolute", "z-index": 4, "align-items": "center", left: "50%", top: `${s ? "60%" : "70%"}`, transform: "translate(-50%, -50%)", "font-size": e.value ? "12px" : void 0 })), D = p(() => ot({ color: "white", background: "none", position: "static", transform: "none", "font-size": e.value ? "12px" : void 0 })), g = p(() => l.value ? D.value : M.value); return J(a, () => { var N; (N = i.value) == null || N.show({ message: a.value, duration: n.value, offset: 0 }); }), { message: i, tipClassName: r, customStyle: g }; }; me.components = Object.assign({ Message: cl }, me.components); var SM = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", [e("Message", { ref: "message", class: A.tipClassName, attrs: { showIcon: !1, customStyle: A.customStyle } })], 1); }, EM = []; const mn = {}; var hM = /* @__PURE__ */ S( me, SM, EM, !1, mM, null, null, null ); function mM(A) { for (let t in mn) this[t] = mn[t]; } const rl = /* @__PURE__ */ function() { return hM.exports; }(), jM = ["%", "vw"], vM = { length: { type: Number, default: 0 }, unit: { type: String, values: jM, default: "%" }, enableFocus: { type: Boolean, default: !1 }, layout: { type: Array }, focus: { type: [String, Number] } }, Ml = "GridContextKey", ga = { options: { virtualHost: !0 } }; ga.props = vM; ga.setup = (A, t) => { const e = A, a = I(e.focus), n = I(e.layout), l = I(e.unit), i = t.emit; function u(s) { i("toggle", s); } return J(() => e.focus, () => a.value = e.focus), J(() => e.layout, () => n.value = e.layout), J(() => e.unit, () => l.value = e.unit), gA(Ml, { layout: n, enableFocus: e.enableFocus, handleFocusChange: u, focus: a, unit: l }), {}; }; var fM = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { style: { height: "100%" } }, [A._t("default")], 2); }, LM = []; const jn = {}; var UM = /* @__PURE__ */ S( ga, fM, LM, !1, zM, null, null, null ); function zM(A) { for (let t in jn) this[t] = jn[t]; } const dl = /* @__PURE__ */ function() { return UM.exports; }(), Na = { options: { virtualHost: !0 } }; Na.props = ["index", "height", "customStyle"]; Na.setup = (A, t) => { const e = A, { layout: a, enableFocus: n, handleFocusChange: l, focus: i, unit: u } = NA(Ml), s = 100 / 12, r = s, M = I({}), D = X([`${x}-grid-item`, { pc: WA, mobile: !WA, h5: bo }]), g = () => { const y = String(e.index) === String(i.value) ? null : e.index; n && l(y); }, N = p(() => !!Ba(a.value, { key: "i", value: e.index })); return QA(() => { const y = Ba(a.value, { key: "i", value: e.index }); if (!y) return; const { x: T, y: C, w: E, h: w, customStyle: L, customProps: m } = y; M.value = { width: E * s + u.value, height: e.height || w * r + u.value, left: T * s + u.value, top: C * r + u.value, position: "absolute", visibility: (m == null ? void 0 : m.show) === !1 ? "hidden" : "", ...e.customStyle, ...L }; }), tA(() => { String(e.index) === String(i.value) && n && l(null); }), { style: M, gridItemClassName: D, handleClick: g, show: N }; }; var wM = function() { var A = this, t = A.$createElement, e = A._self._c || t; return A.show ? e("div", { class: A.gridItemClassName, style: [A.style], on: { click: A.handleClick } }, [A._t("default")], 2) : A._e(); }, OM = []; const vn = {}; var xM = /* @__PURE__ */ S( Na, wM, OM, !1, VM, null, null, null ); function VM(A) { for (let t in vn) this[t] = vn[t]; } const Il = /* @__PURE__ */ function() { return xM.exports; }(); function bM() { const A = I([]), t = I([]), { callStatus: e, isGroupCall: a, callType: n, callRole: l } = z(q()), { status: i } = We() || {}, u = Qi(); return J( [e, a, n, l, i, u], () => { var E, w, L; let s = u.value; const r = j.isPC ? "pc" : "mobile", M = a.value ? "groupCall" : "singleCall", D = n.value === F.AUDIO ? "audio" : "video"; let g = e.value === U.CALLING ? l.value === K.CALLER ? "calling" : "accept" : e.value; a && (i == null ? void 0 : i.value) === "close" && (g = "close_" + g); const N = ((L = (w = (E = s == null ? void 0 : s[r]) == null ? void 0 : E[M]) == null ? void 0 : w[D]) == null ? void 0 : L[g]) || []; t.value = N; const y = []; let T = 0; for (let m = 0; m < N.length; m++) { const k = m === 0 ? N[m].filter((b) => { var P; return ((P = b == null ? void 0 : b.props) == null ? void 0 : P.show) !== !1; }) : N[m]; N[m] = k; const _ = 12 / k.length, Z = 3; for (let b = 0; b < k.length; b++) y[T++] = { i: k[b].name, x: b * _, y: m * _, w: _, h: Z, customStyle: k[b].customStyle, customProps: k[b].props }; } T = 0; let C = []; for (let m = 0; m < N.flat().length; m++) C[m] = y[T++]; C = C.filter((m) => m.i), A.value = C; }, { immediate: !0 } ), { layout: A, config: t }; } function BM(...A) { let t = window == null ? void 0 : window.document, e = "", a = () => { }, n = {}; if (typeof A[0] == "string" ? [e, a, n] = A : [t, e, a, n] = A, !!t) return t == null || t.addEventListener(e, a, n), () => { t == null || t.removeEventListener(e, a, n); }; } function FM(A, t) { let e = () => { }; aA(() => { e = BM("click", (n) => { const l = A.map((s) => xl(s)), i = n.composedPath(), u = []; for (let s = 0; s < l.length; s++) u[s] = i.includes(l[s]); u.every((s) => !s) && t(); }, { passive: !0 }); }), tA(() => { e == null || e(); }); } const RM = (A, t, e, a, n) => { const l = e.isShowArrow ? e.arrowSize : 0, i = `${A.width / 2 - t.width / 2}px`, u = `${A.height / 2 - t.height / 2}px`, s = `${l}px solid ${e.color}`, r = { ...a }, M = { ...n }; switch (e.placement) { case "top": r.left = i, r.top = `-${t.height + l + e.arrowDistance}px`, M.borderTop = s, M.left = `${A.width / 2 - l / 2}px`, M.top = `-${l + e.arrowDistance}px`; break; case "bottom": r.left = i, r.top = `${A.height + l + e.arrowDistance}px`, M.borderBottom = s, M.left = `${A.width / 2 - l / 2}px`, M.top = `${A.height + e.arrowDistance - l}px`; break; case "left": r.left = `-${t.width + l + e.arrowDistance}px`, r.top = u, M.borderLeft = s, M.left = `-${l * 2 - e.arrowDistance}px`, M.top = `${A.height / 2 - l / 2}px`; break; case "right": r.left = `${A.width + l + e.arrowDistance}px`, r.top = u, M.borderRight = s, M.left = `${A.width + l * 2 - e.arrowDistance}px`, M.top = `${A.height / 2 - l / 2}px`; break; } return { finalContentStyle: r, finalArrowStyle: M }; }, kM = ["click", "hover"], PM = ["top", "bottom", "left", "right"], gl = { trigger: { type: String, values: kM, default: "click" }, placement: { type: String, values: PM, default: "top" }, color: { type: String }, isShowArrow: { type: Boolean, default: !0 }, arrowSize: { type: Number, default: 5 }, arrowDistance: { type: Number, default: 5 }, show: { type: Boolean }, autoClose: { type: Number, default: 300 } }, pa = { options: { virtualHost: !0 } }; pa.props = gl; pa.setup = (A, t) => { const e = A, a = `${x}-popover`, n = `${x}-popover_content`, l = `${x}-popover_arrow`, i = `${x}-popover_trigger`, u = I(), s = I(), r = I(), M = I(!1), D = I(null), g = p(() => M.value && e.isShowArrow && e.show), N = ot({ left: "0px", top: "0px", backgroundColor: e.color }), y = I(N), T = `${e.arrowSize}px solid transparent`, C = { borderLeft: T, borderRight: T, borderTop: T, borderBottom: T, top: "0px", left: "0px" }, E = I(C), w = t.emit, L = () => { Vl(() => { var xA, VA, bA, YA; if (!M.value || !e.show) return; const b = (VA = (xA = s.value).getBoundingClientRect) == null ? void 0 : VA.call(xA), P = (YA = (bA = r.value).getBoundingClientRect) == null ? void 0 : YA.call(bA), { finalContentStyle: AA, finalArrowStyle: ZA } = RM(b, P, e, N, C); y.value = { ...N, ...AA }, E.value = { ...C, ...ZA }; }); }, m = () => { clearTimeout(D.value); }, k = () => { e.trigger === "click" && (M.value = !M.value, L()); }, _ = () => { e.trigger === "hover" && (w("hover"), m(), M.value = !0, L()); }, Z = () => { e.trigger === "hover" && (D.value = setTimeout(() => { M.value = !1, L(); }, 1e3)); }; return FM([u], () => { M.value = !1; }), { popoverClassName: a, popoverContentClassName: n, popoverArrowClassName: l, popoverTriggerClassName: i, popoverRef: u, triggerRef: s, contentRef: r, visible: M, showArrow: g, contentStyle: y, arrowStyle: E, clearTimer: m, handleClick: k, handleMouseEnter: _, handleMouseLeave: Z }; }; var WM = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { ref: "popoverRef", class: A.popoverClassName }, [A.visible && A.show ? e("div", { ref: "contentRef", class: A.popoverContentClassName, style: [A.contentStyle], on: { mouseenter: A.clearTimer, mouseleave: A.handleMouseLeave } }, [A._t("content")], 2) : A._e(), A.showArrow ? e("div", { class: A.popoverArrowClassName, style: [A.arrowStyle] }) : A._e(), e("div", { ref: "triggerRef", class: A.popoverTriggerClassName, on: { click: A.handleClick, mouseenter: A.handleMouseEnter, mouseleave: A.handleMouseLeave } }, [A._t("trigger")], 2)]); }, GM = []; const fn = {}; var QM = /* @__PURE__ */ S( pa, WM, GM, !1, ZM, null, null, null ); function ZM(A) { for (let t in fn) this[t] = fn[t]; } const YM = /* @__PURE__ */ function() { return QM.exports; }(), XM = { options: { virtualHost: !0 } }; var _M = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div"); }, qM = []; const Ln = {}; var JM = /* @__PURE__ */ S( XM, _M, qM, !1, HM, null, null, null ); function HM(A) { for (let t in Ln) this[t] = Ln[t]; } const KM = /* @__PURE__ */ function() { return JM.exports; }(), je = { options: { virtualHost: !0 } }; je.props = gl; je.setup = (A, t) => { const e = t.emit; return { IN_WX_MINI_APP: se, handleHover: () => { e("hover"); } }; }; je.components = Object.assign({ PopoverWeb: YM, PopoverWx: KM }, je.components); var $M = function() { var A = this, t = A.$createElement, e = A._self._c || t; return A.IN_WX_MINI_APP ? A._e() : e("PopoverWeb", A._b({ on: { hover: A.handleHover }, scopedSlots: A._u([{ key: "trigger", fn: function() { return [A._t("trigger")]; }, proxy: !0 }, { key: "content", fn: function() { return [A._t("content")]; }, proxy: !0 }], null, !0) }, "PopoverWeb", A.$props, !1)); }, Ad = []; const Un = {}; var ed = /* @__PURE__ */ S( je, $M, Ad, !1, td, null, null, null ); function td(A) { for (let t in Un) this[t] = Un[t]; } const Da = /* @__PURE__ */ function() { return ed.exports; }(), ad = { deviceType: { type: String }, isShowControlBtn: { type: Boolean, default: !1 } }, ve = { options: { virtualHost: !0 } }; ve.props = ad; ve.setup = (A, t) => { const e = A, [{ deviceList: a, currentDeviceId: n }, { updateCurrentDeviceId: l }] = mt(e.deviceType), { localUserInfoExcludeVolume: i } = z(MA()), { isMuteSpeaker: u } = z(q()), s = vt(), r = async (N) => { try { g(), await O.switchDevice({ deviceType: e.deviceType, deviceId: N }), l(N); } catch (y) { console.debug(y); } }, M = async () => { var N, y; g(), e.deviceType === oA.CAMERA && ((N = i.value) != null && N.isVideoAvailable ? await O.closeCamera() : await O.openCamera("localVideo")), e.deviceType === oA.MICROPHONE && ((y = i.value) != null && y.isAudioAvailable ? await O.closeMicrophone() : await O.openMicrophone()), e.deviceType === oA.SPEAKER && (u.value ? await O.unMuteSpeaker() : await O.muteSpeaker()); }, D = p(() => { var N; if (e.deviceType === oA.CAMERA) return i != null && i.value.isVideoAvailable ? v("close camera") : v("open camera"); if (e.deviceType === oA.MICROPHONE) return (N = i == null ? void 0 : i.value) != null && N.isAudioAvailable ? v("close microphone") : v("open microphone"); if (e.deviceType === oA.SPEAKER) return u.value ? v("open speaker") : v("close speaker"); }), g = () => { s.value = "close"; }; return { deviceList: a, currentDeviceId: n, handleClickDeviceItem: r, switchStatus: M, deviceText: D }; }; ve.components = Object.assign({ TKText: lA }, ve.components); var nd = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "device-selector-container" }, [e("div", { staticClass: "scroll-container" }, [e("div", { staticClass: "scroll-content" }, A._l(A.deviceList, function(a) { return e("div", { key: a.deviceId }, [e("TKText", { staticClass: "device-item", class: { select: A.currentDeviceId === a.deviceId }, attrs: { width: "100%", color: "#ffff", truncated: !0, size: "14px" }, on: { click: function() { return A.handleClickDeviceItem(a.deviceId); } } }, [A._v(" " + A._s(a.label) + " ")])], 1); }), 0)]), e("div", { staticClass: "control-item" }), A.isShowControlBtn ? e("TKText", { staticClass: "device-item", attrs: { width: "100%", color: "#ffff", truncated: !0, size: "14px" }, on: { click: A.switchStatus } }, [A._v(" " + A._s(A.deviceText) + " ")]) : A._e()], 1); }, od = []; const zn = {}; var ld = /* @__PURE__ */ S( ve, nd, od, !1, id, "a65fe216", null, null ); function id(A) { for (let t in zn) this[t] = zn[t]; } const Ta = /* @__PURE__ */ function() { return ld.exports; }(), fe = { options: { virtualHost: !0 } }; fe.props = EA; fe.setup = (A, t) => { const e = A, a = I(!0), n = j.isPC, { localUserInfoExcludeVolume: l } = z(MA()), i = I(l == null ? void 0 : l.value.isVideoAvailable), u = p(() => l == null ? void 0 : l.value.isVideoAvailable), s = vt(), [{ deviceList: r }] = mt(oA.CAMERA), M = p(() => { var C; return ((C = r.value) == null ? void 0 : C.length) > 0 && s.value === "camera"; }), D = p(() => a.value ? u.value ? "basicConfig" : "closedConfig" : "loadingConfig"), g = p(() => l != null && l.value.isVideoAvailable ? v("camera enabled") : v("camera disabled")), N = uA("camera", D); return { DeviceType: oA, props: e, clickAble: a, isPC: n, isShowPopover: M, btnText: g, config: N, handleClick: async () => { a.value = !1, i.value = !u.value, u.value ? await O.closeCamera() : await O.openCamera("localVideo"), a.value = !0; }, handleMouseEnter: () => { s.value = "camera"; } }; }; fe.components = Object.assign({ Popover: Da, DeviceSelect: Ta, Button: pA, TKText: lA }, fe.components); var sd = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "btn-content" }, [A.isPC ? e("Popover", { attrs: { color: "rgba(107, 117, 138, 0.5)", show: A.isShowPopover, trigger: "hover" }, on: { hover: A.handleMouseEnter }, scopedSlots: A._u([{ key: "content", fn: function() { return [e("DeviceSelect", { attrs: { isShowControlBtn: !0, deviceType: A.DeviceType.CAMERA } })]; }, proxy: !0 }, { key: "trigger", fn: function() { return [e("Button", { attrs: { loading: !A.clickAble, iconSrc: A.config.iconSrc, color: A.config.color, iconSize: A.config.iconSize, width: A.props.width || A.config.width, height: A.props.height || A.config.height, loadingWidth: A.config.loadingWidth, loadingHeight: A.config.loadingHeight, shape: A.config.shape }, on: { click: A.handleClick } })]; }, proxy: !0 }], null, !1, 2755011860) }) : A._e(), A.isPC ? A._e() : e("Button", { attrs: { loading: !A.clickAble, iconSrc: A.config.iconSrc, color: A.config.color, iconSize: A.props.iconSize || A.config.iconSize, width: A.props.width || A.config.width, height: A.props.height || A.config.height, loadingWidth: A.config.loadingWidth, loadingHeight: A.config.loadingHeight, shape: "circle" }, on: { click: A.handleClick } }), A.config.showText ? e("TKText", { attrs: { textStyle: A.config.textStyle, color: A.config.textColor, size: A.config.textSize } }, [A._v(" " + A._s(A.btnText) + " ")]) : A._e()], 1); }, ud = []; const wn = {}; var cd = /* @__PURE__ */ S( fe, sd, ud, !1, rd, "d26f6462", null, null ); function rd(A) { for (let t in wn) this[t] = wn[t]; } const Md = /* @__PURE__ */ function() { return cd.exports; }(), Le = { options: { virtualHost: !0 } }; Le.props = EA; Le.setup = (A, t) => { const e = A, a = Bi(), n = p(() => a.value ? "basicConfig" : "loadingConfig"), l = uA("hangup", n); return { t: v, props: e, isClickable: a, config: l, handleClick: async () => { await O.hangup(); } }; }; Le.components = Object.assign({ Button: pA, TKText: lA }, Le.components); var dd = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "btn-content" }, [e("Button", { attrs: { loading: !A.isClickable, loadingWidth: A.config.loadingWidth, loadingHeight: A.config.loadingHeight, iconSrc: A.config.iconSrc, color: A.config.color, iconSize: A.props.iconSize || A.config.iconSize, width: A.props.width || A.config.width, height: A.props.height || A.config.height, shape: A.config.shape }, on: { click: A.handleClick } }), A.config.showText ? e("TKText", { attrs: { textStyle: A.config.textStyle, color: A.config.textColor, size: A.config.textSize } }, [A._v(" " + A._s(A.t("hangup")) + " ")]) : A._e()], 1); }, Id = []; const On = {}; var gd = /* @__PURE__ */ S( Le, dd, Id, !1, Nd, "954e61cc", null, null ); function Nd(A) { for (let t in On) this[t] = On[t]; } const pd = /* @__PURE__ */ function() { return gd.exports; }(), Ue = { options: { virtualHost: !0 } }; Ue.props = EA; Ue.setup = (A, t) => { const e = I(!0), a = A, n = p(() => e.value ? "basicConfig" : "loadingConfig"), l = uA("accept", n); return { t: v, clickAble: e, props: a, config: l, handleClick: async () => { e.value = !1, await O.accept(), e.value = !0; } }; }; Ue.components = Object.assign({ Button: pA, TKText: lA }, Ue.components); var Dd = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "btn-content" }, [e("Button", { attrs: { iconSrc: A.config.iconSrc, color: A.config.color, iconSize: A.props.iconSize || A.config.iconSize, width: A.props.width || A.config.width, height: A.props.height || A.config.height, shape: A.config.shape, loading: !A.clickAble, loadingWidth: A.config.loadingWidth, loadingHeight: A.config.loadingHeight }, on: { click: A.handleClick } }), A.config.showText ? e("TKText", { attrs: { textStyle: A.config.textStyle, color: A.config.textColor, size: A.config.textSize } }, [A._v(" " + A._s(A.t("accept")) + " ")]) : A._e()], 1); }, Td = []; const xn = {}; var Cd = /* @__PURE__ */ S( Ue, Dd, Td, !1, yd, "1ec25bac", null, null ); function yd(A) { for (let t in xn) this[t] = xn[t]; } const Sd = /* @__PURE__ */ function() { return Cd.exports; }(), ze = { options: { virtualHost: !0 } }; ze.props = EA; ze.setup = (A, t) => { const e = j.isPC, a = I(!0), { localUserInfoExcludeVolume: n } = z(MA()), l = vt(), [{ deviceList: i }] = mt(oA.MICROPHONE), u = p(() => { var N; return ((N = i.value) == null ? void 0 : N.length) > 0 && l.value === "microphone"; }), s = p(() => a.value ? n != null && n.value.isAudioAvailable ? "basicConfig" : "closedConfig" : "loadingConfig"), r = uA("microphone", s), M = p(() => n != null && n.value.isAudioAvailable ? v("microphone enabled") : v("microphone disabled")); return { DeviceType: oA, isPC: e, clickAble: a, isShowPopover: u, config: r, btnText: M, handleClick: async () => { n != null && n.value.isAudioAvailable ? await O.closeMicrophone() : await O.openMicrophone(); }, handleMouseEnter: () => { l.value = "microphone"; } }; }; ze.components = Object.assign({ Popover: Da, DeviceSelect: Ta, Button: pA, TKText: lA }, ze.components); var Ed = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "btn-content" }, [A.isPC ? e("Popover", { attrs: { color: "rgba(107, 117, 138, 0.5)", show: A.isShowPopover, trigger: "hover" }, on: { hover: A.handleMouseEnter }, scopedSlots: A._u([{ key: "content", fn: function() { return [e("DeviceSelect", { attrs: { isShowControlBtn: !0, deviceType: A.DeviceType.MICROPHONE } })]; }, proxy: !0 }, { key: "trigger", fn: function() { return [e("Button", { attrs: { loading: !A.clickAble, iconSrc: A.config.iconSrc, color: A.config.color, iconSize: A.config.iconSize, width: A.config.width, height: A.config.height, loadingWidth: A.config.loadingWidth, loadingHeight: A.config.loadingHeight, shape: A.config.shape }, on: { click: A.handleClick } })]; }, proxy: !0 }], null, !1, 922566162) }) : A._e(), A.isPC ? A._e() : e("Button", { attrs: { loading: !A.clickAble, iconSrc: A.config.iconSrc, color: A.config.color, iconSize: A.config.iconSize, width: A.config.width, height: A.config.height, loadingWidth: A.config.loadingWidth, loadingHeight: A.config.loadingHeight, shape: A.config.shape }, on: { click: A.handleClick } }), A.config.showText ? e("TKText", { attrs: { textStyle: A.config.textStyle, color: A.config.textColor, size: A.config.textSize } }, [A._v(" " + A._s(A.btnText) + " ")]) : A._e()], 1); }, hd = []; const Vn = {}; var md = /* @__PURE__ */ S( ze, Ed, hd, !1, jd, "b3b557d8", null, null ); function jd(A) { for (let t in Vn) this[t] = Vn[t]; } const vd = /* @__PURE__ */ function() { return md.exports; }(), we = { options: { virtualHost: !0 } }; we.props = EA; we.setup = (A, t) => { const e = A, a = uA("reject", I("basicConfig")); return { t: v, props: e, config: a, handleClick: async () => { await O.reject(); } }; }; we.components = Object.assign({ Button: pA, TKText: lA }, we.components); var fd = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "btn-content" }, [e("Button", { attrs: { iconSrc: A.config.iconSrc, color: A.config.color, iconSize: A.config.iconSize, width: A.props.width || A.config.width, height: A.props.height || A.config.height, shape: A.config.shape }, on: { click: A.handleClick } }), A.config.showText ? e("TKText", { attrs: { textStyle: A.config.textStyle, color: A.config.textColor, size: A.config.textSize } }, [A._v(" " + A._s(A.t("reject")) + " ")]) : A._e()], 1); }, Ld = []; const bn = {}; var Ud = /* @__PURE__ */ S( we, fd, Ld, !1, zd, "f6fe7678", null, null ); function zd(A) { for (let t in bn) this[t] = bn[t]; } const wd = /* @__PURE__ */ function() { return Ud.exports; }(), Oe = { options: { virtualHost: !0 } }; Oe.props = EA; Oe.setup = (A, t) => { const e = j.isWeChat, a = j.isPC, n = A, { isEarPhone: l, isMuteSpeaker: i } = z(q()), u = vt(), s = p(() => l.value ? "closedConfig" : "basicConfig"), r = p(() => i.value ? "closedConfig" : "basicConfig"), [{ deviceList: M, currentDeviceId: D }] = mt(oA.SPEAKER), g = p(() => { var E; return ((E = M.value) == null ? void 0 : E.length) > 0 && u.value === "speaker" && a; }), N = e ? uA("speaker", s) : uA("speaker", r); return p(() => l.value ? v("speaker disabled") : v("speaker enabled")), { DeviceType: oA, props: n, isShowPopover: g, config: N, handleClick: async () => { i.value ? await O.unMuteSpeaker() : await O.muteSpeaker(); }, getButtonText: () => { if (a) { const E = M.value.find((w) => w.deviceId === D.value); return E ? E.label : v("speaker enabled"); } else return i.value ? v("speaker disabled") : v("speaker enabled"); }, handleMouseEnter: () => { u.value = "speaker"; } }; }; Oe.components = Object.assign({ Popover: Da, DeviceSelect: Ta, Button: pA, TKText: lA }, Oe.components); var Od = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "btn-content" }, [e("Popover", { attrs: { color: "rgba(107, 117, 138, 0.5)", show: A.isShowPopover, trigger: "hover" }, on: { hover: A.handleMouseEnter }, scopedSlots: A._u([{ key: "content", fn: function() { return [e("DeviceSelect", { attrs: { isShowControlBtn: !0, deviceType: A.DeviceType.SPEAKER } })]; }, proxy: !0 }, { key: "trigger", fn: function() { return [e("Button", { attrs: { iconSrc: A.config.iconSrc, color: A.config.color, iconSize: A.props.iconSize || A.config.iconSize, width: A.props.width || A.config.width, height: A.props.height || A.config.height, shape: A.config.shape }, on: { click: A.handleClick } })]; }, proxy: !0 }]) }), A.config.showText ? e("TKText", { attrs: { width: "60px", truncated: !0, textStyle: A.config.textStyle, color: A.config.textColor, size: A.config.textSize, lineClamp: 2 } }, [A._v(" " + A._s(A.getButtonText()) + " ")]) : A._e()], 1); }, xd = []; const Bn = {}; var Vd = /* @__PURE__ */ S( Oe, Od, xd, !1, bd, "1553de06", null, null ); function bd(A) { for (let t in Bn) this[t] = Bn[t]; } const Bd = /* @__PURE__ */ function() { return Vd.exports; }(), It = { options: { virtualHost: !0 } }; It.setup = (A, t) => { const { localUserInfoExcludeVolume: e } = z(MA()), a = p(() => e == null ? void 0 : e.value.isVideoAvailable), n = p(() => a.value ? "basicConfig" : "disableConfig"), l = uA("switchCamera", n); return { t: v, config: l, handleClick: async () => { !a.value || await O.switchCamera(); } }; }; It.components = Object.assign({ Button: pA, TKText: lA }, It.components); var Fd = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "btn-content" }, [e("Button", { attrs: { iconSrc: A.config.iconSrc, iconSize: A.config.iconSize, color: A.config.color, width: A.config.width, height: A.config.height, buttonStyle: A.config.buttonStyle, shape: "circle" }, on: { click: A.handleClick } }), A.config.showText ? e("TKText", { attrs: { textStyle: A.config.textStyle, color: A.config.textColor, size: A.config.textSize } }, [A._v(" " + A._s(A.t("switch camera")) + " ")]) : A._e()], 1); }, Rd = []; const Fn = {}; var kd = /* @__PURE__ */ S( It, Fd, Rd, !1, Pd, "b9be9094", null, null ); function Pd(A) { for (let t in Fn) this[t] = Fn[t]; } const Wd = /* @__PURE__ */ function() { return kd.exports; }(), xe = { options: { virtualHost: !0 } }; xe.props = EA; xe.setup = (A, t) => { const e = A, a = I(!0), { localUserInfoExcludeVolume: n } = z(MA()), l = p(() => n == null ? void 0 : n.value.isVideoAvailable), { enableVirtualBackground: i } = z(q()), u = p(() => a.value ? i.value ? "closedConfig" : l.value ? "basicConfig" : "disableConfig" : "loadingConfig"), s = uA("virtualBackground", u); return { t: v, props: e, clickAble: a, config: s, handleClick: async () => { !l.value || (a.value = !1, await O.setBlurBackground(!i.value), a.value = !0); } }; }; xe.components = Object.assign({ Button: pA, TKText: lA }, xe.components); var Gd = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "btn-content" }, [e("Button", { attrs: { loading: !A.clickAble, iconSrc: A.config.iconSrc, color: A.config.color, iconSize: A.props.iconSize || A.config.iconSize, width: A.props.width || A.config.width, height: A.props.height || A.config.height, shape: A.config.shape, loadingWidth: A.config.loadingWidth, loadingHeight: A.config.loadingHeight, buttonStyle: A.config.buttonStyle }, on: { click: A.handleClick } }), A.config.showText ? e("TKText", { attrs: { width: "70px", lineClamp: 2, textStyle: A.config.textStyle, color: A.config.textColor, size: A.config.textSize } }, [A._v(" " + A._s(A.t("virtual-background")) + " ")]) : A._e()], 1); }, Qd = []; const Rn = {}; var Zd = /* @__PURE__ */ S( xe, Gd, Qd, !1, Yd, "6288f616", null, null ); function Yd(A) { for (let t in Rn) this[t] = Rn[t]; } const Xd = /* @__PURE__ */ function() { return Zd.exports; }(), Ve = { options: { virtualHost: !0 } }; Ve.props = EA; Ve.setup = (A, t) => { const { status: e } = We(), a = A, n = uA("toggleButtonPanel", I("basicConfig")); return { props: a, config: n, handleClick: async () => { e.value = e.value === "close" ? "open" : "close"; } }; }; Ve.components = Object.assign({ Button: pA }, Ve.components); var _d = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "btn-content" }, [e("Button", { attrs: { iconSrc: A.config.iconSrc, color: A.config.color, iconSize: A.props.iconSize || A.config.iconSize, width: A.props.width || A.config.width, height: A.props.height || A.config.height, shape: A.config.shape }, on: { click: A.handleClick } })], 1); }, qd = []; const kn = {}; var Jd = /* @__PURE__ */ S( Ve, _d, qd, !1, Hd, "dd0c1858", null, null ); function Hd(A) { for (let t in kn) this[t] = kn[t]; } const Kd = /* @__PURE__ */ function() { return Jd.exports; }(), gt = { options: { virtualHost: !0 } }; gt.setup = (A, t) => { const e = I(null), a = I({}), { isGroupCall: n } = z(q()), { status: l } = We() || {}, i = I(!1), u = I(!1), s = I(""), r = wo(); QA(() => { i.value || (n.value && !j.isPC && r.value !== null ? i.value = !0 : i.value = !1); }); const M = p(() => X(["button-panel-container", { pc: j.isPC, mobile: !j.isPC, h5: j.isH5, groupCall: n.value, singleCall: !n.value, close: (l == null ? void 0 : l.value) === "close", open: (l == null ? void 0 : l.value) === "open", showBackGround: i.value }])), D = X(["toggle-button-container", { h5: j.isH5 }]), g = j.isH5 ? { transitionProperty: "width,height,left,top", transitionDuration: "0.3s", transitionTimingFunction: "ease-in" } : {}; function N(w) { e.value = w; } const { layout: y, config: T } = bM(); J(T, () => { const w = {}, L = T.value.flat(); for (let m of L) { const { name: k, props: _ = {} } = m; _.showText !== !1 && (_.showText = !0), w[k] = _; } a.value = w; }, { immediate: !0 }); function C(w) { u.value = w; } const E = { [o.IS_CLICKABLE]: C }; return aA(() => { d.watch(c.CALL, E, { notifyRangeWhenWatch: o.MYSELF }); }), tA(() => { d.unwatch(c.CALL, E); }), gA(mo, u), gA(jo, s), { focus: e, showButtonPanelBackground: i, buttonPanelClassName: M, toggleButtonContainerClassName: D, customStyle: g, handleToggle: N, layout: y }; }; gt.components = Object.assign({ Grid: dl, GridItem: Il, Accept: Sd, Reject: wd, Microphone: vd, Hangup: pd, Speaker: Bd, TKCamera: Md, VirtualBackground: Xd, SwitchCamera: Wd, InviteUser: Yo, ToggleButtonPanel: Kd }, gt.components); var $d = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { class: A.buttonPanelClassName }, [e("div", { staticClass: "button-group" }, [e("Grid", { attrs: { unit: "%", layout: A.layout, focus: A.focus }, on: { toggle: A.handleToggle } }, [e("GridItem", { attrs: { index: "accept", height: "auto", customStyle: A.customStyle } }, [e("Accept")], 1), e("GridItem", { attrs: { index: "reject", height: "auto", customStyle: A.customStyle } }, [e("Reject")], 1), e("GridItem", { attrs: { index: "microphone", height: "auto", customStyle: A.customStyle } }, [e("Microphone")], 1), e("GridItem", { attrs: { index: "hangup", height: "auto", customStyle: A.customStyle } }, [e("Hangup")], 1), e("GridItem", { attrs: { index: "speaker", height: "auto", customStyle: A.customStyle } }, [e("Speaker")], 1), e("GridItem", { attrs: { index: "camera", height: "auto", customStyle: A.customStyle } }, [e("TKCamera")], 1), e("GridItem", { attrs: { index: "virtualBackground", height: "auto", customStyle: A.customStyle } }, [e("VirtualBackground")], 1), e("GridItem", { attrs: { index: "switchCamera", height: "auto", customStyle: A.customStyle } }, [e("SwitchCamera")], 1), e("GridItem", { attrs: { index: "inviteUser", height: "auto", customStyle: A.customStyle } }, [e("InviteUser")], 1)], 1)], 1), A.showButtonPanelBackground ? e("div", { class: A.toggleButtonContainerClassName }, [e("ToggleButtonPanel")], 1) : A._e()]); }, AI = []; const Pn = {}; var eI = /* @__PURE__ */ S( gt, $d, AI, !1, tI, "26c8cb08", null, null ); function tI(A) { for (let t in Pn) this[t] = Pn[t]; } const Nl = /* @__PURE__ */ function() { return eI.exports; }(), Nt = {}; Nt.setup = (A, t) => { const { callStatus: e } = z(q()); return { CallStatus: U, callStatus: e }; }; Nt.components = Object.assign({ TopBar: Xo, Waiting: Ko, MediaContainer: uM, Tip: rl, ButtonPanel: Nl }, Nt.components); var aI = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "singlecall-container" }, [e("TopBar"), A.callStatus === A.CallStatus.CALLING ? e("Waiting") : A._e(), e("MediaContainer"), e("Tip"), e("ButtonPanel")], 1); }, nI = []; const Wn = {}; var oI = /* @__PURE__ */ S( Nt, aI, nI, !1, lI, "221760b8", null, null ); function lI(A) { for (let t in Wn) this[t] = Wn[t]; } const iI = /* @__PURE__ */ function() { return oI.exports; }(), pt = {}; pt.setup = (A, t) => ({}); pt.components = Object.assign({ Loading: na }, pt.components); var sI = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "stream-loading-container" }, [e("Loading", { attrs: { mode: "dot", color: "#FFF", loadingWidth: "50px", loadingHeight: "50px" } })], 1); }, uI = []; const Gn = {}; var cI = /* @__PURE__ */ S( pt, sI, uI, !1, rI, "b3ff0e0c", null, null ); function rI(A) { for (let t in Gn) this[t] = Gn[t]; } const MI = /* @__PURE__ */ function() { return cI.exports; }(), Dt = { options: { virtualHost: !0 } }; Dt.setup = (A, t) => { const e = I("local"), a = I(null), n = I(!1); Ge(); const { localUserInfoExcludeVolume: l, remoteUserListExcludeVolume: i } = z(MA()), { callStatus: u, callType: s, isShowEnableVirtualBackground: r, callRole: M } = z(q()), { netWorkQualityList: D } = bi(), g = p(() => i.value.length + 1), N = zo(), y = Ri(a, g), T = Uo(), { isFloatWindow: C } = z(CA()), E = wo(), { status: w } = We() || {}, L = !j.isPC, m = p(() => String(a.value) === "0"), k = p(() => !j.isPC && m.value && l.value.isVideoAvailable), _ = p(() => k.value), Z = p(() => k.value && r.value && j.isWeChat), b = p(() => j.isPC || m.value), P = p(() => j.isPC || C.value ? "%" : "vw"), AA = p(() => [l.value, ...i.value].map((Y) => { var iA; if (C.value) { if (((iA = T.value) == null ? void 0 : iA[Y.domId]) >= 10) return Y.domId; } else return Y.domId; })), ZA = p(() => !(M.value === K.CALLEE && u.value === U.CALLING && !C.value)), xA = p(() => { let Y = ""; return M.value === K.CALLEE && u.value === U.CALLING && !C.value && (Y = "hidden"), { visibility: Y }; }); function VA(Y) { a.value = Y, E.value = Y, w.value = Y !== null ? "close" : "open"; } function bA(Y) { var iA, dA; return j.isWeChat ? !((dA = (iA = N.value) == null ? void 0 : iA.find((BA) => BA.userID === Y.userId)) != null && dA.hasVideo) : !Y.isVideoAvailable; } function YA(Y) { var iA, dA; return j.isWeChat ? !((dA = (iA = N.value) == null ? void 0 : iA.find((BA) => BA.userID === Y.userId)) != null && dA.hasAudio) : !Y.isAudioAvailable; } function Ut(Y) { if (!D.value) return; const iA = Y !== l.value.userId; if (!j.isWeChat && iA) return; const dA = D.value.find((BA) => BA.userId === Y); return dA && (dA == null ? void 0 : dA.quality) >= 4; } J([i, s], () => { var Y, iA; (iA = (Y = i.value) == null ? void 0 : Y[0]) != null && iA.isEnter && (e.value = "remote"), s.value === F.AUDIO ? n.value = !1 : n.value = !0; }); const Qe = p(() => X(["groupcall-media-container", { mobile: !j.isPC, pc: j.isPC, "two-layout": g.value === 2 && a.value === null, float: C.value }])), Ze = p(() => u.value === U.CALLING && (s.value === F.AUDIO && !l.value.isAudioAvailable || s.value === F.VIDEO && !l.value.isVideoAvailable)); return { TUIGlobal: j, focus: a, localUserInfoExcludeVolume: l, remoteUserListExcludeVolume: i, streamLength: g, layout: y, volumeMap: T, isFloatWindow: C, enableFocus: L, showSwitchCameraButton: _, showVirtualBackgroundButton: Z, showNickName: b, unit: P, visibleStreamIdList: AA, showStream: ZA, mediaContainerStyle: xA, changeFocus: VA, isShowAudioStream: bA, isMute: YA, isShowNetWork: Ut, groupMediaContainerClassName: Qe, isPusherLoading: Ze }; }; Dt.components = Object.assign({ Portal: el, FloatWindow: ul, Grid: dl, GridItem: Il, Pusher: nl, AudioStream: ll, StreamLoading: MI, TKStreamInfo: al, Player: ol }, Dt.components); var dI = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("Portal", { attrs: { id: "source", disabled: !A.isFloatWindow, source: "#source", to: "body" } }, [e("FloatWindow", [e("div", { class: A.groupMediaContainerClassName, style: [A.mediaContainerStyle] }, [e("Grid", { attrs: { unit: A.unit, "enable-focus": A.enableFocus, focus: A.focus, length: A.streamLength, layout: A.layout }, on: { toggle: A.changeFocus } }, [e("GridItem", { key: A.localUserInfoExcludeVolume.userId, attrs: { index: 0 } }, [e("Pusher", { attrs: { domId: A.localUserInfoExcludeVolume.domId, "show-audio-stream": !A.localUserInfoExcludeVolume.isVideoAvailable, show: A.visibleStreamIdList.includes(A.localUserInfoExcludeVolume.domId) && A.showStream }, scopedSlots: A._u([{ key: "audio-stream", fn: function() { return [e("AudioStream", { attrs: { "user-id": A.localUserInfoExcludeVolume.userId, username: A.localUserInfoExcludeVolume.displayUserInfo, avatar: A.localUserInfoExcludeVolume.avatar, "is-video-available": A.localUserInfoExcludeVolume.isVideoAvailable } })]; }, proxy: !0 }, { key: "loading", fn: function() { return [A.isPusherLoading ? e("StreamLoading") : A._e()]; }, proxy: !0 }, { key: "stream-info", fn: function() { return [A.isFloatWindow ? A._e() : e("TKStreamInfo", { attrs: { "is-self": !0, "show-nick-name": A.showNickName, showSwitchCameraButton: A.showSwitchCameraButton, showVirtualBackgroundButton: A.showVirtualBackgroundButton, showNetWorkStatus: A.isShowNetWork(A.localUserInfoExcludeVolume.userId), nickName: A.localUserInfoExcludeVolume.displayUserInfo, isMuted: !A.localUserInfoExcludeVolume.isAudioAvailable, volume: A.volumeMap && A.volumeMap[A.localUserInfoExcludeVolume.domId] } })]; }, proxy: !0 }]) })], 1), A._l(A.remoteUserListExcludeVolume, function(a, n) { return e("GridItem", { key: a.userId, attrs: { index: n + 1 } }, [e("Player", { attrs: { domId: a.domId, "show-audio-stream": A.isShowAudioStream(a), show: A.visibleStreamIdList.includes(a.domId) && A.showStream }, scopedSlots: A._u([{ key: "audio-stream", fn: function() { return [e("AudioStream", { attrs: { "user-id": a.userId, username: a.displayUserInfo, avatar: a.avatar } })]; }, proxy: !0 }, { key: "loading", fn: function() { return [a.isEnter ? A._e() : e("StreamLoading")]; }, proxy: !0 }, { key: "stream-info", fn: function() { return [A.isFloatWindow ? A._e() : e("TKStreamInfo", { attrs: { "show-nick-name": A.TUIGlobal.isPC || String(A.focus) === String(n + 1), "show-control-button": !1, showNetWorkStatus: A.isShowNetWork(a.userId), nickName: a.displayUserInfo, "is-muted": A.isMute(a), volume: A.volumeMap && A.volumeMap[a.domId] } })]; }, proxy: !0 }], null, !0) })], 1); })], 2)], 1)])], 1); }, II = []; const Qn = {}; var gI = /* @__PURE__ */ S( Dt, dI, II, !1, NI, "4c7859ad", null, null ); function NI(A) { for (let t in Qn) this[t] = Qn[t]; } const pI = /* @__PURE__ */ function() { return gI.exports; }(), Ca = {}; Ca.props = { moduleValue: { type: Boolean, default: !1 }, isHeaderShow: { type: Boolean, default: !0 }, isFooterShow: { type: Boolean, default: !0 }, background: { type: Boolean, default: !0 }, title: { type: String, default: "" }, center: { type: Boolean, default: !1 }, isH5: { type: Boolean, default: !1 } }; Ca.setup = (A, t) => { const e = { OUTSIDE: "outside", INSIDE: "inside" }, a = A, n = I(!0), l = I(!0), i = I(!0), u = I(""); QA(() => { u.value = a.title, n.value = a.isHeaderShow, l.value = a.isFooterShow, i.value = a.background; }); const s = t.emit, r = (g) => { g === e.OUTSIDE && M(); }, M = () => { s("update:moduleValue", !1); }; return { t: v, clickType: e, props: a, isHeaderShowDialog: n, isFooterShowDialog: l, backgroundDialog: i, showTitle: u, toggleView: r, close: M, submit: () => { s("submit"), M(); } }; }; var DI = function() { var A = this, t = A.$createElement, e = A._self._c || t; return A.moduleValue ? e("div", { staticClass: "dialog", class: [A.props.isH5 ? "dialog-h5" : "", A.center ? "center" : ""], on: { click: function(a) { return a.stopPropagation(), a.preventDefault(), A.toggleView(A.clickType.OUTSIDE); } } }, [e("main", { staticClass: "dialog-main", class: [A.backgroundDialog ? "" : "dialog-main-back"], on: { click: function(a) { return a.stopPropagation(), a.preventDefault(), A.toggleView(A.clickType.INSIDE); } } }, [A.isHeaderShowDialog ? e("header", { staticClass: "dialog-main-header" }, [e("h1", { staticClass: "dialog-main-title" }, [A._v(A._s(A.showTitle))]), e("i", { staticClass: "icon icon-close", on: { click: A.close } })]) : A._e(), e("div", { staticClass: "dialog-main-content", class: [A.props.isH5 ? "dialog-main-content-uniapp" : ""] }, [A._t("default")], 2), A.isFooterShowDialog ? e("footer", { staticClass: "dialog-main-footer" }, [e("button", { staticClass: "btn btn-cancel", on: { click: A.close } }, [A._v(A._s(A.t("Cancel")))]), e("button", { staticClass: "btn btn-default", on: { click: A.submit } }, [A._v(A._s(A.t("Done")))])]) : A._e()])]) : A._e(); }, TI = []; const Zn = {}; var CI = /* @__PURE__ */ S( Ca, DI, TI, !1, yI, "5c01d70e", null, null ); function yI(A) { for (let t in Zn) this[t] = Zn[t]; } const SI = /* @__PURE__ */ function() { return CI.exports; }(), ya = {}; ya.props = { file: { type: String, default: "" }, width: { type: String, default: "20px" }, height: { type: String, default: "20px" }, isApp: { type: Boolean, default: !1 } }; ya.setup = (A, t) => { const e = t.emit; return { props: A, handlerImgClick: () => { e("click"); } }; }; var EI = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "icon", on: { click: A.handlerImgClick } }, [A.props.isApp ? e("image", { staticClass: "icon", style: { width: A.props.width, height: A.props.height }, attrs: { src: A.props.file } }) : e("img", { staticClass: "icon", style: { width: A.props.width, height: A.props.height }, attrs: { src: A.props.file } })]); }, hI = []; const Yn = {}; var mI = /* @__PURE__ */ S( ya, EI, hI, !1, jI, "c4142a3c", null, null ); function jI(A) { for (let t in Yn) this[t] = Yn[t]; } const vI = /* @__PURE__ */ function() { return mI.exports; }(), fI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHZlcnNpb249IjEuMSI+CiAgPHRpdGxlPue8lue7hCAxNDwvdGl0bGU+CiAgPGRlZnM+CiAgICA8ZmlsdGVyIHg9Ii0xMC42JSIgeT0iLTUuNCUiIHdpZHRoPSIxMjEuMiUiIGhlaWdodD0iMTEwLjklIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItMSI+CiAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjciIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+CiAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEwIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwICAgMCAwIDAgMCAwICAgMCAwIDAgMCAwICAwIDAgMCAwLjEgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSIgcmVzdWx0PSJzaGFkb3dNYXRyaXhPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgPGZlTWVyZ2U+CiAgICAgICAgPGZlTWVyZ2VOb2RlIGluPSJzaGFkb3dNYXRyaXhPdXRlcjEiPjwvZmVNZXJnZU5vZGU+CiAgICAgICAgPGZlTWVyZ2VOb2RlIGluPSJTb3VyY2VHcmFwaGljIj48L2ZlTWVyZ2VOb2RlPgogICAgICA8L2ZlTWVyZ2U+CiAgICA8L2ZpbHRlcj4KICA8L2RlZnM+CiAgPGcgaWQ9Im5ldyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICA8ZyBpZD0i6Ieq5a6a5LmJ5raI5oGvIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDU4LjAwMDAwMCwgLTMxOC4wMDAwMDApIj4KICAgICAgPGcgaWQ9Iue8lue7hC0zMiIgZmlsdGVyPSJ1cmwoI2ZpbHRlci0xKSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQuMDAwMDAwLCA2MC4wMDAwMDApIj4KICAgICAgICA8ZyBpZD0i57yW57uELTI0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMC4wMDAwMDAsIDI1MC4wMDAwMDApIj4KICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM4NC4wMDAwMDAsIDguMDAwMDAwKSI+CiAgICAgICAgICAgIDxjaXJjbGUgaWQ9IuakreWchuW9oiIgZmlsbD0iIzAwNkVGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBjeD0iOCIgY3k9IjgiIHI9IjgiPjwvY2lyY2xlPgogICAgICAgICAgICA8cG9seWxpbmUgaWQ9Iui3r+W+hC00IiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4wNDI2NDEsIDYuMjQyNjQxKSByb3RhdGUoLTMxNS4wMDAwMDApIHRyYW5zbGF0ZSgtOC4wNDI2NDEsIC02LjI0MjY0MSkgIiBwb2ludHM9IjYuMDQyNjQwNjkgMTAuMjQyNjQwNyAxMC4wNDI2NDA3IDEwLjI0MjY0MDcgMTAuMDQyNjQwNyAyLjI0MjY0MDY5Ij48L3BvbHlsaW5lPgogICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==", LI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDhweCIgaGVpZ2h0PSI0OHB4IiB2aWV3Qm94PSIwIDAgNDggNDgiIHZlcnNpb249IjEuMSI+CiAgPHRpdGxlPmljX2JhY2tfd2hpdGU8L3RpdGxlPgogIDxnIGlkPSLpobXpnaItMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICA8ZyBpZD0iMDIuLeafpeeci+S/oeaBry3npLrkvovlpb3lj4siIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMi4wMDAwMDAsIC0yMDAuMDAwMDAwKSI+CiAgICAgIDxnIGlkPSLnvJbnu4QtNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDE3Ni4wMDAwMDApIj4KICAgICAgICA8ZyBpZD0iaWNfYmFja193aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIuMDAwMDAwLCAyNC4wMDAwMDApIj4KICAgICAgICAgIDxnIGlkPSJpY19iYWNrX2JsYWNrIiBmaWxsPSIjNDQ0NDQ0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8cGF0aCBkPSJNOS41MTIzMTA3MSwyNCBMMjMuNTE5ODI4NiwzOC43MjkwNDExIEMyMy43ODUzNzgsMzkuMDA4MjY4OSAyMy43NzUzMTY4LDM5LjQ0OTYwODIgMjMuNDk3MzE4NywzOS43MTY0NDQ4IEwyMS42MjU1OTE1LDQxLjUxMzAyMjYgQzIxLjM0NjY4MjcsNDEuNzgwNzMzMiAyMC45MDM1NjAyLDQxLjc3MTY1NTMgMjAuNjM1ODQ5Niw0MS40OTI3NDY2IEMyMC42MzUxMDMyLDQxLjQ5MTk2OSAyMC42MzQzNTg2LDQxLjQ5MTE4OTYgMjAuNjMzNjE1Nyw0MS40OTA0MDg1IEw0LjQ1ODc2Mzk5LDI0LjQ4MjM5NDggQzQuMjAxNzU0NCwyNC4yMTIxNDY3IDQuMjAxNzU0NCwyMy43ODc4NTMzIDQuNDU4NzYzOTksMjMuNTE3NjA1MiBMMjAuNjMzNjE1Nyw2LjUwOTU5MTUyIEMyMC45MDAwMzUsNi4yMjk0NDkwNiAyMS4zNDMxMTA5LDYuMjE4MzI0MjIgMjEuNjIzMjUzMyw2LjQ4NDc0MzUxIEMyMS42MjQwMzQ0LDYuNDg1NDg2MzQgMjEuNjI0ODEzOCw2LjQ4NjIzMDk3IDIxLjYyNTU5MTUsNi40ODY5Nzc0MSBMMjMuNDk3MzE4Nyw4LjI4MzU1NTI0IEMyMy43NzUzMTY4LDguNTUwMzkxNzUgMjMuNzg1Mzc4LDguOTkxNzMxMTQgMjMuNTE5ODI4Niw5LjI3MDk1ODkzIEw5LjUxMjMxMDcxLDI0IEw5LjUxMjMxMDcxLDI0IFoiIGlkPSJQYXRoLTIiPjwvcGF0aD4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PC9yZWN0PgogICAgICAgIDwvZz4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==", UI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHZlcnNpb249IjEuMSI+CiAgPHRpdGxlPua4hemZpDwvdGl0bGU+CiAgPGcgaWQ9Iumhtemdoi0y5aSH5Lu9IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgIDxnIGlkPSLliJvlu7rnvqTogYoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMjQzLjAwMDAwMCwgLTQxMy4wMDAwMDApIj4KICAgICAgPGcgaWQ9Ikdyb3VwLTEzNjQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY1MC4wMDAwMDAsIDM0My4wMDAwMDApIj4KICAgICAgICA8ZyBpZD0iR3JvdXAtMTM2MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjkwLjAwMDAwMCwgNDYuMDAwMDAwKSI+CiAgICAgICAgICA8ZyBpZD0iR3JvdXAtMTM1OCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDI0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0i5riF6ZmkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDMuMDAwMDAwLCAwLjAwMDAwMCkiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLDAgTDE2LDAgTDE2LDE2IEwwLDE2IEwwLDAgWiIgaWQ9IuefqeW9oiI+PC9wYXRoPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xLDggQzEsMTEuODY1OTk5OSA0LjEzNDAwMDA2LDE1IDgsMTUgQzExLjg2NTk5OTksMTUgMTUsMTEuODY1OTk5OSAxNSw4IEMxNSw0LjEzNDAwMDA2IDExLjg2NTk5OTksMSA4LDEgTDgsMSBDNC4xMzQwMDAwNiwxIDEsNC4xMzQwMDAwNiAxLDggWiIgZmlsbD0iIzk5OTk5OSI+PC9wYXRoPgogICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguMDAwMDAwLCA4LjAwMDAwMCkgcm90YXRlKC0zMTUuMDAwMDAwKSB0cmFuc2xhdGUoLTguMDAwMDAwLCAtOC4wMDAwMDApIHRyYW5zbGF0ZSg0LjAwMDAwMCwgNC4wMDAwMDApIiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuMDAwMDAwLCA0LjAwMDAwMCkgcm90YXRlKC05MC4wMDAwMDApIHRyYW5zbGF0ZSgtNC4wMDAwMDAsIC00LjAwMDAwMCkgIiB4PSIxLjgxODk4OTRlLTEyIiB5PSIzLjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaLlpIfku70iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuMDAwMDAwLCA0LjAwMDAwMCkgcm90YXRlKC0zNjAuMDAwMDAwKSB0cmFuc2xhdGUoLTQuMDAwMDAwLCAtNC4wMDAwMDApICIgeD0iMCIgeT0iMy41IiB3aWR0aD0iOCIgaGVpZ2h0PSIxIiByeD0iMC41Ij48L3JlY3Q+CiAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K", be = {}; be.props = { list: { type: Array, default: () => [] }, selectedList: { type: Array, default: () => [] }, isSearch: { type: Boolean, default: !0 }, isRadio: { type: Boolean, default: !1 }, isCustomItem: { type: Boolean, default: !1 }, title: { type: String, default: "" }, type: { type: String, default: "" }, resultShow: { type: Boolean, default: !0 }, total: { type: Number, default: 0 }, isH5: { type: Boolean, default: !1 } }; be.setup = (A, t) => { const e = A, a = t.emit, n = I(""), l = I([]), i = I(0), u = I([]), s = I(!0), r = I(!1), M = I(""), D = I(""); QA(() => { const { list: L, isCustomItem: m, isSearch: k, title: _, total: Z, selectedList: b } = e; if (m) for (let P = 0; P < L.length; P++) L[P].conversationID.indexOf("@TIM#SYSTEM") > -1 && L.splice(P, 1), l.value = L; else l.value = L; i.value = Z || L.length, u.value = b && b.length > 0 ? b : u.value, s.value = k, r.value = m, M.value = _, n.value = e.type; }); const g = p(() => l.value.filter((L) => !L.isDisabled)); return { t: v, selectedIcon: fI, backIcon: LI, cancelIcon: UI, props: e, transferList: l, transferTotal: i, transferSelectedList: u, isTransferSearch: s, isTransferCustomItem: r, transferTitle: M, searchValue: D, optional: g, handleInput: (L) => { D.value = L.target.value, a("search", L.target.value); }, selected: (L) => { if (L.isDisabled) return; let m = u.value; const k = m.indexOf(L); if (k > -1) return u.value.splice(k, 1); e.isRadio && (m = []), m.push(L), u.value = m; }, selectedAll: () => { u.value.length === g.value.length ? u.value = [] : u.value = [...g.value]; }, submit: () => { a("submit", u.value), D.value = ""; }, cancel: () => { a("cancel"), D.value = ""; }, getMore: () => { a("getMore"); } }; }; be.components = Object.assign({ TIcon: vI }, be.components); var zI = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "transfer", class: [A.props.isH5 ? "transfer-h5" : ""] }, [A.props.isH5 ? e("header", { staticClass: "transfer-header transfer-h5-header", on: { click: A.cancel } }, [e("TIcon", { staticClass: "icon", attrs: { file: A.backIcon, width: "18px", height: "18px" } }), e("span", { staticClass: "title" }, [A._v(A._s(A.transferTitle))]), e("span", { staticClass: "space" })], 1) : A._e(), e("main", { staticClass: "main" }, [e("div", { staticClass: "left" }, [e("header", { staticClass: "transfer-header" }, [!A.props.isH5 && A.isTransferSearch ? e("input", { class: [A.props.isH5 ? "left-uniapp-input" : ""], attrs: { type: "text", placeholder: A.t("Please enter userID"), enterkeyhint: "search" }, domProps: { value: A.searchValue }, on: { keyup: function(a) { return !a.type.indexOf("key") && A._k(a.keyCode, "enter", 13, a.key, "Enter") ? null : A.handleInput.apply(null, arguments); } } }) : A._e(), A.props.isH5 && A.isTransferSearch ? e("input", { class: [A.props.isH5 ? "left-uniapp-input" : ""], attrs: { type: "text", placeholder: A.t("Please enter userID"), enterkeyhint: "search" }, domProps: { value: A.searchValue }, on: { blur: A.handleInput, confirm: A.handleInput } }) : A._e()]), e("main", { staticClass: "transfer-left-main" }, [e("ul", { staticClass: "transfer-list" }, [A.optional.length > 1 && !A.isRadio ? e("li", { staticClass: "transfer-list-item", on: { click: A.selectedAll } }, [A.transferSelectedList.length === A.optional.length ? e("TIcon", { attrs: { file: A.selectedIcon, width: "18px", height: "18px" } }) : e("i", { staticClass: "icon-unselected" }), e("span", { staticClass: "select-all" }, [A._v(A._s(A.t("Select all")))])], 1) : A._e(), A._l(A.transferList, function(a) { return e("li", { key: a.userID, staticClass: "transfer-list-item", on: { click: function(n) { return A.selected(a); } } }, [A.transferSelectedList.indexOf(a) > -1 ? e("TIcon", { class: [a.isDisabled && "disabled"], attrs: { file: A.selectedIcon, width: "18px", height: "18px" } }) : e("i", { class: [a.isDisabled && "disabled", "icon-unselected"] }), A.isTransferCustomItem ? [A._t("left", null, { data: a })] : [e("img", { staticClass: "avatar", attrs: { src: a.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png", onerror: "this.src='https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'" } }), e("span", { staticClass: "name" }, [A._v(A._s(a.nick || a.userID))]), a.isDisabled ? e("span") : A._e()]], 2); }), A.transferTotal > A.transferList.length ? e("li", { staticClass: "transfer-list-item more", on: { click: A.getMore } }, [A._v(" " + A._s(A.t("View more")) + " ")]) : A._e()], 2)])]), e("div", { staticClass: "right" }, [A.props.isH5 ? A._e() : e("header", { staticClass: "transfer-header" }, [A._v(" " + A._s(A.transferTitle) + " ")]), A.resultShow ? e("ul", { staticClass: "transfer-list" }, [A.transferSelectedList.length > 0 && !A.props.isH5 ? e("p", { staticClass: "transfer-text" }, [A._v(" " + A._s(A.transferSelectedList.length) + " " + A._s(A.t("people selected")) + " ")]) : A._e(), A._l(A.transferSelectedList, function(a, n) { return e("li", { key: n, staticClass: "transfer-list-item space-between" }, [e("aside", { staticClass: "transfer-list-item-content" }, [A.isTransferCustomItem ? [A._t("right", null, { data: a })] : [e("img", { staticClass: "avatar", attrs: { src: a.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png", onerror: "this.src='https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'" } }), A.props.isH5 ? A._e() : e("span", { staticClass: "name" }, [A._v(A._s(a.nick || a.userID))])]], 2), A.props.isH5 ? A._e() : e("span", { on: { click: function(l) { return A.selected(a); } } }, [e("TIcon", { attrs: { file: A.cancelIcon, width: "18px", height: "18px" } })], 1)]); })], 2) : A._e(), e("footer", { staticClass: "transfer-right-footer" }, [e("button", { staticClass: "btn btn-cancel", on: { click: A.cancel } }, [A._v(A._s(A.t("Cancel")))]), A.transferSelectedList.length > 0 ? e("button", { staticClass: "btn", on: { click: A.submit } }, [A._v(" " + A._s(A.t("Done")) + " ")]) : e("button", { staticClass: "btn btn-no", on: { click: A.submit } }, [A._v(A._s(A.t("Done")))])])])])]); }, wI = []; const Xn = {}; var OI = /* @__PURE__ */ S( be, zI, wI, !1, xI, "f41767b6", null, null ); function xI(A) { for (let t in Xn) this[t] = Xn[t]; } const VI = /* @__PURE__ */ function() { return OI.exports; }(), Be = {}; Be.props = { isRadio: { type: Boolean, default: !1 }, isNeedSearch: { type: Boolean, default: !1 }, title: { type: String, default: "" }, userList: { type: Array, default: () => [] }, total: { type: Number, default: 0 }, isShow: { type: Boolean, default: !1 }, isPC: { type: Boolean, default: !0 } }; Be.setup = (A, t) => { const e = t.emit, a = A, n = I(!1); return QA(() => { n.value = a.isShow; }), { props: a, dialogVisible: n, reset: () => { n.value = !n.value, e("complete", []), e("update:isShow", n.value); }, submit: (r) => { e("complete", r); }, handleSearchUser: (r) => { e("search", r); }, handleGetMore: () => { e("getMore"); } }; }; Be.components = Object.assign({ TDialog: SI, TTransfer: VI }, Be.components); var bI = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("TDialog", { attrs: { moduleValue: A.dialogVisible, isH5: !A.isPC, isHeaderShow: !1, isFooterShow: !1, background: !1 }, on: { "update:moduleValue": A.reset } }, [e("TTransfer", { attrs: { isSearch: A.props.isNeedSearch, title: A.props.title, list: A.props.userList, isH5: !A.isPC, isRadio: A.props.isRadio, total: A.props.total }, on: { getMore: A.handleGetMore, search: A.handleSearchUser, submit: A.submit, cancel: A.reset } })], 1); }, BI = []; const _n = {}; var FI = /* @__PURE__ */ S( Be, bI, BI, !1, RI, null, null, null ); function RI(A) { for (let t in _n) this[t] = _n[t]; } const kI = /* @__PURE__ */ function() { return FI.exports; }(), Tt = { options: { virtualHost: !0 } }; Tt.setup = (A, t) => ({ defaultAvatarSrc: GA }); Tt.components = Object.assign({ Overlay: _o }, Tt.components); var PI = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("Overlay", { attrs: { bgColor: "#22262ed9", bgImage: A.defaultAvatarSrc, customStyle: { position: "absolute", zIndex: 0 } } }); }, WI = []; const qn = {}; var GI = /* @__PURE__ */ S( Tt, PI, WI, !1, QI, null, null, null ); function QI(A) { for (let t in qn) this[t] = qn[t]; } const ZI = /* @__PURE__ */ function() { return GI.exports; }(), Ct = {}; Ct.setup = (A, t) => { const e = I(null), a = I("open"), n = I(!1), l = I(0), i = I([]), u = I([]), s = I(0), r = 30, M = e, D = { status: a }, { callRole: g, callStatus: N } = z(q()), { isFloatWindow: y } = z(CA()), { localUserInfoExcludeVolume: T, remoteUserListExcludeVolume: C } = z(MA()), E = async (b) => { if (n.value = b, n.value) { await m(); const P = await O.getGroupProfile(); l.value = P.memberCount; } }, w = () => { n.value = !1, d.update(c.CALL, o.SHOW_SELECT_USER, !1), s.value = 0, i.value = []; }, L = async () => { s.value += r, await m(); }, m = async () => { const b = await O.getGroupMemberList(r, s.value), P = [...C.value, T.value].map((AA) => AA.userId); i.value.push(...b), i.value = i.value.map((AA) => (P.includes(AA.userID) && (AA = { ...AA, isDisabled: !0 }), AA)), u.value = i.value; }, k = async (b) => { try { if (b.length <= 0) return; n.value = !1, d.update(c.CALL, o.SHOW_SELECT_USER, !1), s.value = 0; const P = b.map((AA) => AA.userID); await O.inviteUser({ userIDList: P }), i.value = []; } catch (P) { console.debug(P); } }, _ = (b) => { b ? i.value = i.value.filter((P) => P.userID.includes(b) || P.nick.includes(b)) : i.value = u.value; }, Z = { [o.SHOW_SELECT_USER]: E }; return aA(() => { d.watch(c.CALL, Z, { notifyRangeWhenWatch: o.MYSELF }); }), tA(() => { d.unwatch(c.CALL, Z); }), D.status = I("open"), M.value = null, gA(Eo, D), gA(So, M), { CallRole: K, CallStatus: U, TUIGlobal: j, showSelectUser: n, memberCount: l, groupMemberList: i, callRole: g, callStatus: N, isFloatWindow: y, handleCancel: w, getMoreMemberList: L, handleSelectedResult: k, handleSearch: _ }; }; Ct.components = Object.assign({ TopBar: Xo, Waiting: Ko, MediaContainer: pI, Tip: rl, ButtonPanel: Nl, BackGround: ZI, SelectUser: kI }, Ct.components); var YI = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "groupcall-container" }, [e("TopBar"), A.callStatus === A.CallStatus.CALLING && A.callRole === A.CallRole.CALLEE && !A.isFloatWindow ? e("Waiting") : A._e(), e("MediaContainer"), e("Tip"), e("ButtonPanel"), e("BackGround"), e("SelectUser", { attrs: { isShow: A.showSelectUser, isNeedSearch: !0, userList: A.groupMemberList, isPC: A.TUIGlobal.isPC, total: A.memberCount }, on: { getMore: A.getMoreMemberList, complete: A.handleSelectedResult, search: A.handleSearch, "update:isShow": A.handleCancel } })], 1); }, XI = []; const Jn = {}; var _I = /* @__PURE__ */ S( Ct, YI, XI, !1, qI, "487ae8a3", null, null ); function qI(A) { for (let t in Jn) this[t] = Jn[t]; } const JI = /* @__PURE__ */ function() { return _I.exports; }(); var HI = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("svg", { attrs: { viewBox: "0 0 1024 1024", xmlns: "http://www.w3.org/2000/svg", "data-v-ea893728": "" } }, [e("path", { attrs: { fill: "currentColor", d: "M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z" } })]); }, KI = []; const $I = {}, Hn = {}; var Ag = /* @__PURE__ */ S( $I, HI, KI, !1, eg, null, null, null ); function eg(A) { for (let t in Hn) this[t] = Hn[t]; } const tg = /* @__PURE__ */ function() { return Ag.exports; }(), Kn = "data:image/jpeg;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApo2cKDRs4UCFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBTRs4UGjZwoBcFNGzhQaNnCgFwU0bOFBo2cKAXBRI2cKACwAAAAAAAAAAAAAAAAAAAAAAAAA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", ag = "data:image/jpeg;base64,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AAAVOjT6Ee4cVT6ESELQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hEcVT6EQLQVcVT6ERxVPoRAtBVxVPoRHFU+hEC0FXFU+hE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ThBt8y1a/wD8lmDYvUvp3lC7t1bXNnJRqRUtKOTWpp+xgeyDmKWO4piUqtXB8MhVtKctFVK1TRdRrcub57C6rwgr08AWKrDqilCajWo1G4uC2ZrVr5gOhBoXWJULfCJ4mpKVFUuMjzaWa1L2meGXNW9w+hdV6Kozqx0uLUs8k9nMBuAADSmtG7klslFS9ueRkY13lea/s1+bGnHr7gMgY6cevuGnHr7glkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19w049fcBkDHTj19xknms08wAAAAAAAAAAAAAAV5563z7Cwqj5vsAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGH+t/PMSQ/PfXrJAHgcLberPD6VzQjpStaqquOWecVtfs1PszPfGrY9aYHh1ngWN2tK6u50pRhF5KdVwcG8m00mtepbfYeFZUKlfgJdQpRcpKq5ZJa2k4t+Cb9h088CwqdR1JWFFybzeUck/YtXgb1GjSoUlTo04U6a1KMIpJexAcjC3wiphXKamOX3FunlOlymLa1a46LWvdl/gsxynRjwbwuFDjJUHXp6HGpaTi4yazWWWxnQfQ+GOrxrsKDm3m3oLbvy2GxXtqFxCMLilCpGMlKKnFNJrUms+fWwPJ4Xfw9cf7of3I0OE1GKvMKuLipVo2qThOrSllKDex55PLu2JnT16FK5pOlcU4VKbybjNJp5PNamKlGlWpOlVpwnTksnCUU012MDlqtlhELizjLFr67nOrF0oRrxqLPPU2stS6zcmk+HFNtJtWja6nm0erbYZYWlTjLa0pU55ZaUYrNLqfMX8no8o5S6UOOUdFVNFaSW7PbkB5fCTEa+H2EJ2zjCpVqqnxklmoJpvPLZzc5z+Lwo0Kljp4tVvriVeE5Z1E4RiudRWpZtrLXszO1rUaVxSlSr041actsZJNP2M1o4Th0KLpRsaCpuSk46CabWx9qzfeB5uIfxZhH+yr/az3yqVvRnWhXnShKrTTUJtJuKayeT5s0WgAABhR9HH2/mZmMI6MdHPPLnMgPN4QfuK9+6Zq4HhuH1cGs6lWxtpzlTTlKVKLbe9trWe1Upwq05U6sIzhJZSjJJprc09opwhSpxp0oRhCKyjGKSSW5JakB4HCxLicOSSSV3DJLsZliH8WYR/sq/2s9urQo11FVqVOooyUoqcVLJrY1nsfWJUKMqsK0qUJVYJqE3FOUU9Tye1Z9QHJToW1LhLf08Ruq9qq+jUo1IVXTjJZa03s1bFnuZ6OFU8LjjNRWdxcXVzCllKpOpxkFFtatLfnzdp7NzZ213BQurenWinmlOKeT6txNta21pTcLahToxbzahFLN73ltA8HhVTnbys8YopudpUSnlzwb2Pqz1f+zLeDVOVy7vF6sWp3lRqGe1QjqS8MvYj3KtOnWpyp1qcKkJL60ZxTT7U9TJpwhSpxp0oRhCKyjGKSSW5JakBz+N31z9MWuGU7tWNGpBznXaWb2/VTepPUuda37H52Hq2hwwowtburdRjRlGVWrU03KWTbyexpLLZ1nV3Vla3kYxurenWUXnHTinl2bhCytKcqcqdrRjKkmqclTScE880nlq2vZvA5/DLu2sOEGNQvK9Og6k4zi6klFNLN6m+fKSMsCuqd7wjxW4otunKMFFtZZpLJPseWftPcucPsrucZ3NrSqyjqUpwTaW7Pd1FtO2t6U5VKVGnCckoylGCTaSySbS1pJJLcB4fBP0WI/wDMn/go4N3lravEaFzcUqNXlc2o1JKLaeS1Z7da5jpKNCjQUlRpU6alJyloRUdJva3ltfWUVsNsK9fj61pRnVWT05QTby2Z7/aBtgACun/r/wBzLDGMdHPXnm2zIAcxya3u+Gl3TuaMK0FaqSjOKaTzis8nz5N9505UrajG4lcqlBVpR0ZVNFaTW5vblqXcBhbWdraaXJbelR08tLQilnlnlnluzfeczhf7h4QfeV/7DriiFnbQpVaVO3pxp1m3UiopKTayea580BocGUlwfs0kktB7FzuTzPBsrWj9L4lbXeJXdjWdeU4RpVlTjUi22nrWt5PufUzsKNKnQpxpUYRhTisoxiskl1Ipu8Osr7J3dtTquKyUpLWluzWvIDy8Eo4fDEryVne3V3WUYxqzqzU4vdlJJZtZZbWeDQozWNPAdFqhG95Rllq0FHNJ9WWXtZ21ta29pS4q1owpQzzcYLLN73vYVtbq4dyqNNV3HR4zRWk1uz25AcTUo1I4tPg/oviKl7GutWpwaba7Msvame9j+IXVC7srC1r07XlLelXmk9FLmWerN/5Ww9jk1u7lXLoU3XS0VUcVpJbs9uWsxu7K1vaap3VCFaKeaUlnk+p7V7AOVUKVHhVh1KOIVrypHTdSdSopKLcXkklqWzZ1o9Cw/jPFfuqf9sT16WG2NFUuKtKMXSbcGoLOLeWbT25vLb1F0bahCvO4jShGtNJTmopSkllkm+fYu4Dw+C/pcW/5c/zZ0JVRt6Nu5ujShT4yTlNxilpN7W97LQBfZeZU/wB/+EUF1nJJ1IPbnn7Msv8AAG2AAhx3CK0oX3C7CbW6hp0alKWlHSazy0mtnWkdBh+C4bhsnKytIUptZOeuUu96zZna21S5hczo05V6eqFRxzlHsZsAcxa//uDe581kvzgTwu9Ng3/Oh+Z78bW3V1K6jQpqvKOi6mj9Zrdn7EK9tb3DpuvRhVdOSnDTjnotc66wPA4X0KlKhbYvbLOvYVVPJc8G8mvy9mZjwZzxPEb7HqkWo1XxNumtkI7e95e1M6SrTp1qUqVWCnCa0ZRks00Y29CjbUo0belClTjnlCKyS9gHLVb26xPG76yqYo8NtLTJZQajOpvek9i6+tdpr8FlSr3PCGlaVqlSE1GNOrUlpSlqmtJvn16zqLnCMNvK6r3VlRq1V/qlHNv4l9G0tqFWdWjQp06lRJTlCKTklszA5zghiNnb4FG0ua9KhXtpzjVhUkotfWbz1/Oo9q2ubPHMNqSpqU7aqpU3pRazWx5Zi5wbDLus61zY0alTnk46327xf1rjD7On9G4dypqSgqMJqmoxyevPLm/yBxVtG8ua1DgnXUnC3uZSqzz20lrS9uby3fV3H0RJRWSWSR4OA4fdwu7vFcUhGF5dNJU4vNU4LYs/Z4LrOgAAADRuP2z/AP5r8yBVkpXcmv8ATFRfbmAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABno61zbQRLzX2AWgAAAAAAAAAAAABVHzfYWlUfN9gEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiUVJbmtjMcpbs+xmYAw+t0X4D63RfgZgDD63RfgPrdH8jMAYfW6L8B9bovwMwBh9bovwH1ui/AzAGH1uj+Q+t0X4GYAw+t0X4D63RfgZgDD63RfgPrdF+BmAMPrdF+A+t0X4GYAw+t0X4D63RfgZgDD63RfgPrdF+BmAMPrdF+A+t0X4GYAw+t0X4D63RfgZgDD63RfgPrdF+BmAMPrdF+A+t0X4GYAw+t0X4D63RfgZgDD63RfgPrdF+BmAMPrdF+A+t0X4GYAw+t0X4D63RfgZgDD63RfgPrdF+BmAMPrdF+A+t0X4GYAw+t0X4D63RfgZgDD63RfgPrdF+BmAMPrdF+A+t0X4GYAw+t0X4D63RfgZgDD63RfgPrdF+BmAMPrdF+Bi1PNSh9WS59RaACu7iKydCMnvU8viOW1/VV7z9AAHLa/qq95+g5bX9VXvP0AActr+qr3n6Dltf1Ve8/QABy2v6qvefoOW1/VV7z9AAHLa/qq95+g5bX9VXvP0AActr+qr3n6Dltf1Ve8/QABy2v6qvefoOW1/VV7z9AAHLa/qq95+hEri5qLRjBUlvzzZIAxhBQjku1t85kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJea+wkiXmvsAtAAAAAAAAAAAAACqPm+wtKo+b7AJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJea+wkiXmvsAtAAAAAAAAAAAAACqPm+wtKo+b7AJAAAA8PHcbdg+T26Uq7Wbb2QRzVVFMYy9bNmu9VuUPcBwSxDGa314VriSfPCOrwJ5XjfTu/wALPHPjo0eV1R3TXDvAcFyrG+nd/hY5XjfTu/wv4DPjocrq1w70HBcqxvp3f4WOVY307v8ACxnx0OV1a4d6DguVY307v8LHKsb6d3+FjPjocrq1w70HBcqxvp3f4X8ByrG+nd/hfwGfHQ5XVrh3oOC5VjfTu/wscqxvp3f4WM+OhyurXDvQcFyrG+nd/hY5VjfTu/wsZ8dDldWuHeg4LlWN9O7/AAscqxvp3f4WM+OhyurXDvQcFyrG+nd/hY5VjfTu/wALGfHQ5XVrh3oOC5VjfTu/wscrxvp3f4X8Bnx0OV1a4d6DguVY307v8LHKsb6d3+FjPjocrq1w70HBcqxvp3f4WOVY307v8L+Az46HK6tcO9BwXKsb6d3+FjlWN9O7/Cxnx0OV1a4d6DguVY307v8ACxyrG+nd/hYz46HK6tcO9BwXK8b6d3+F/Acqxvp3f4WM+OhyurXDvQcFyrG+nd/hY5VjfTu/wsZ8dDldWuHeg4LlWN9O7/CxyrG+nd/hYz46HK6tcO9BwfKsb6d3+F/AjlWN9O7/AAsZ8dDldWuHeg4PlWN9O7/C/gOVY307v8L+Az46HK6tcO8BwXK8b6d3+F/Acqxvp3f4WM+OhyurXDvQcFyrG+nd/hY5VjfTu/wsZ8dDldWuHeg4LlWN9O7/AAscqxvp3f4WM+OhyurXDvQcFyrG+nd/hY5VjfTu/wALGfHQ5XVrh3oOC5VjfTu/wscqxvp3f4WM+OhyurXDvQcFyrG+nd/hY5XjfTu/wv4DPjocrq1w70HBcqxvp3f4WOVY307v8LGfHQ5XVrh3oOC5VjfTu/wscqxvp3f4X8Bnx0OV1a4d6DhIYxi1pUi6tWpr/wBFWGpnXYXiNPErVVoJxktU47cmd0XYq7lbaNiuWI3p74boBGlFamz1UkgjTjv8GNOO/wAGBII047/BjTjv8GBII049fcNOPX3ASCNOPX3DTj19wEgjTj19w049fcBII049fcNOPX3ASCNOPX3DTj19wEgjTj19w049fcBII049fcNOPX3ASCNOPX3DTj19wEgjTj19w049fcBII049fcNOPX3ASCNOPX3DTj19wEgjTj19w049fcBII049fcNOPX3ASCNOPX3DTj19wEgjTj19w049fcBII049fcNOPX3ASCNOPX3DTj19wEgjTj19w049fcBII049fcNOPX3ASCNOPX3DTj19wEgjTj19w049fcBII049fcNOPX3ASCNOPX3DTj19wEgjTj19w049fcBII049fcNOPX3ASCNOPX3DTj19wEgjTj19w049fcBII049fcNOPX3ASCNOPX3DTjv8GBII049fcNOPX3ASCNOPX3DTj19wEgjTj19w049fcBII049fcNOPX3ASCNOPX3DTj19wEgjT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", ng = "data:image/png;base64,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", og = "data:image/png;base64,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Fqg33HCDf/mFKTTce++99uSTT/rvHTt2tKOOOsoOhA0bNhywAAIAAIBD2/nnn29PPfVUzIPCERcS6tat67sobdmypeC+SZMm+e5KKSkp/nvt2rWtatWq/rNWOVQOpWbqnTt3WmZmpm3atMnWrl1rO3bs8OdoBWLFihV+X1CmpONt377d79Nr9brCFBZ0f+HVEpU56T7dgtWO4P30fL3Hrl27Cp6vn/Xcwu8LAACAQ1eTJk2sW7duHhSWLVtmsRLTxuVvv/3W6tSpY8nJuz8N3a8B8qhRo+yKK67wXoVolSlTxho1auTv3aFDBy9z+vzzz+2iiy6yVatW+XNefPFFf0w7LfXv399+/vlnS01NteOOO85OP/106969u51wwgn+c7169eydd97xc9NAXq/p2rWrjRw50oYNG2b169e31atXW4kSJezZZ5/148+fP9/efPNNW7hwodWqVcsee+wxDxpq3FZQ0K106dLWo0cPDwYPPPCAv5+Cjb4T7QSl8NK7d2/bvHmzf0c6l5tuuskSEhIMAAAAh64gKDzxxBPWs2dPq169uh1sMQ0Js2bNsgULFljbtm19sKuZcQ3GNXDXwPrcc8+1efPm+YD+4osv9seKg8qJNMC+5JJLvDlas/a6NkMQEgIzZsywadOmeZIrX7683zd37lxLSkry3ZeqVatm99xzjweYc845xwf3GqjrXKVChQr24IMPekC47777bOLEiR4m1KCtP7wG/Nddd51/9uHDh/vx7rzzTh/oP/roox409J+kVKlSXg6l60Z07tzZd4PSeev7UiBRYFDQuPLKK61ixYoGAACAQ5vGdBozanwai5AQ03KjFi1a2Pjx461GjRo+4660NGbMGB/Aq8SnZcuWNnbsWGvQoEGxBQRRyZEG8NOnT7dPPvnEQ0paWtovnrdo0SIPD0FACKgcKbhPy0DNmjXzgb0G8/ocWlEQvbZkyZIeDJo2bephQPR5tVKgz6THVVKkwHTKKad4ANHz9d1oFUEUHvSfRPfrvXWcOXPm+IrE66+/bv369fPPlJubawAAADi0abJc4+H27dv7mDAWYhoSTjrpJJ99V7nPI4884qFAJTqa2VcTsertFRouu+wyK26dOnWygQMHelOIzmN3FCR0Dnur91cwCEKBzlslQSppkuBicFoZ0XUgdLw9UQ9EUHem99N/Dl0zYk8qV65szZs3t169evlNqx17ez4AAADinybKFRB0rbA2bdrErJQ8puVGmkl//PHHvZRGg+irr77aLr/8cm8QHj16tA0ePNhuvPFGO+aYY6y4aYCtAb3+AHsavJ966qk2dOhQe+6553wGXysaKvkpTOU/GqTrOPqjqsdAqwna6lSrIJrlV3OyZv+VBNXfsDtXXXWV9zqoN0ErBlopUHAKtmUtql27dv69vfrqqx4YFCyuueaaPfZ3AAAAIP6pHzbWAUES/jfbHdG2OBr4qjRGM+nRfgDtzqPmXzUoi2r4NdBWQNDAuji/oAkTJvgxFVDU76AZfNV8aTVAQUWrCupDUO2XyoIUWFQSpZ2KtNKhMqOZM2da69at/fOLyn7Uv6DjqGRIpUsffvihrwzoedrpSI3FRd9HFCRUilSuXDlbt26d9y3o8yqgaPCv1YjC71f43HQs7cykFQwdTwEFAAAAhy6NOVWWXhzjX00ia1Jc49793AAoPy5CQkC1+WoAHjBggO9AdChTSFDJ0F133WUAAADAwRZNSIir6yToAyh06Hao08qAUiAAAABwqImrlQRROZDKbxhgAwAAAJGLZiUh7rpcVdMPAAAAIHbiqtwIAAAAQOwREgAAAACEEBIAAAAAhBASAAAAAIQQEgAAAACEEBIAAAAAhBASAAAAAIQQEgAAAACEEBIAAAAAhBASAAAAAIQQEgAAAACEEBIAAAAAhBASAAAAAIREHBISEhIsPz/fAAAAAMQnjdkjEXFISEpKstzcXMvLyzMAAAAA8UOT+dnZ2R4SIgkKyRahxMREf8MdO3ZYWlqahwYAAAAAsaeAkJmZ6WP0SEJCQnp6elQ1QzoBrShQegQAAADEB4WD4BaB/IhXEgIpKSl+AwAAAHB4YHcjAAAAACFRrySozIhSIwAAACB+RNqwHIgqJARd0wQFAAAAIL6oHyE5Ofng7m6kUJCVleX9CKmpqexuBAAAAMSJnJwcy8jI8H8j6R+OuCdB10dQKiEgAAAAAPFFKwi6TEGku5BGFRIUDnS9BAAAAADxRWP1SNsCIh7h04MAAAAAHJ5YBgAAAAAQQkgAAAAAEEJIAAAAABBCSAAAAAAQQkgAAAAAEEJIAAAAABBCSAAAAAAQQkgAAAAAEEJIAAAAABBCSAAAAAAQQkgAAAAAEEJIAAAAABASdyEhPz/fAAAAAMROssWJ7du325dffmnjxo2zY4891q6++mqrVKmSAQAAADi44mIlIS8vz55//nkPCa1atbJly5bZHXfcYenp6QYAAADg4IqLkLB06VJbtGiRPfHEE/a73/3O/61Zs6avKgAAAAA4uOIiJKxZs8bKli3rN0lMTLT69evb4sWLLZbUH5GRkWEH265du3x1JVKxOm8AAABEJzs72+JBXISEnJyc3Q6Ks7KyrDgpjOi9Ctu0aZPt3Llzt89X2dOjjz7q/RIHU79+/WzEiBEWqVidNwAAAKLTt29fW758ucVa3OxupNnz9evXF9z0e3F766237L///W/ovpdeeslGjRq12+dXr17drrzySktJSbED7cMPPywY1Ldt29aOP/74/Xm5zZ071yZMmOA/H8zzBgAAQPE5//zz7amnnop5UIibkDB58mS76qqr7PLLL/fbu+++a8Xt4osvtu+//75gNWHr1q3eD6Fmaa1arFy50m9BQElOTrZGjRpZampqwfNXrFjhIUYlPbpt2LDB79uxY8cv3k+P67l6vHATtlZN1q5d6/crGOgYCgkzZsywzMxMH+TXqlXLVz4Kr7Dod9Fr9FodQ++hlZAxY8bYF198YZs3b97jeQfPl23btvlNx1y9enVU5U0AAAAoHk2aNLFu3bp5UFB1SKzEdAvUb7/91urUqeODWg3Si+5mpPtVDqSZ/iuuuMJ7FaJx4okn+oB83bp1PghXY3Tjxo2tZMmS9vLLL/tgORh0P/vssz5wfvDBB+2VV17xAfbrr7/u55Cbm2v33nuv90x88sknfuyNGzfa008/bTVq1Ch4vylTpth7773nx9GxdcyjjjrKPvjgAx/Up6WleYO2zmX+/Pn2/vvvW1JSko0dO9bq1atn06ZNszPOOMMuuOACH8w/+eST9vDDD/uKiELJqlWr7LLLLvOQo52h1IegsKH7HnroIT9v/ed65513/Lz12fXcrl272siRI23w4MG+YrFkyRI75ZRT7M4777SEhAQDAABA7ARBQZv59OzZ0yeQD7aYhoRZs2bZggUL7MILL/QBs2bRAxqsqnl53rx5Hia0ChDMjEdK5Tdnn322ffPNN3bDDTfY119/7ddj0KBcg24N4vUer732mg0aNMiuvfbagtcqIOgctASkc9NqxOOPP24333yz1a1b1z7//HP77LPP7NZbby14jf7A3bt391Dx73//24PBmWee6f0GRQPF0KFD7f777/cQofMRvd+QIUPsvPPOs9GjR1uLFi38NRrMiwb3b7/9tgcorcIoiHTp0sXDQECBQo+fc845HiJuuukmP64oiDzyyCMezu666y678cYbrVy5cgYAAIDYqlixom/qo0nhWISEmJYbadCrgbMGvhq4BrPY+vekk06yli1b+oC5QYMGUQeEgAbcKjlSWZHKdo477jibM2eOv1fwHs2aNfOVg8JUltS8efOCc9yyZYvXin300UfWp08f38I12J0poEF87969fSA/ffp0Lz3ScbR6sC9/7N/85je+6qHVlB9//NHOPfdcX+VQ4FCQUXmRHt9bF7xWEvR5dN6lSpXy4BWECIWEEiVKWOXKlT2gFXejOAAAAPafJn41hmzfvr2Pl2MhpisJCgL/+Mc/fAZeM9qaeddgWoPoTp06+UBeIUIXWisuqtXXYFilPSeccIKVL1/eB+wa0AeU2Ipe7Tkofapatar/rgG3ypTuvvtuq127tpcUFS2HUqmR+iv0Od944w1/X72fwoIG9hqg741WPhRehg0b5u+vVQaVIKmXQCsUCxcu9JWWvdF5KhRUqVLF31PhpkyZMgYAAID4oxJzBQRV2rRp0yZmpeAxDQmauVfJjur7NUhX6Y8Sk2bLVV6jmnmVwBxzzDFWXDTYVumNtpcaOHCgf/Gq+X/ggQe8hl+DaQWTe+65J/S62267zcuRtPOQynauueYa69ixo9eK6T7N2Hfo0CF0ruq3UGmTBvVqzNaMvnoA9B5qRlEoUmho166dlyypn0BlQ4XpP4hKmNSLoFCi12rVQuc4derUgoZpBZ3hw4f7/Q0bNix4fefOna1Xr15+HP2nU/+DVhNmz55tAAAAiC/9+/ePeUCQhPT09HyLgGbF1WSrmepoP4BKe9RcG2xFqhl2DWQVELTEUtxfkHYA+umnn7wpWANv0Qz7xIkTfWcjzfxrMK0SHA3u1eyrQKPmYu1AVK1aNWvdurUHDg3UFXC0+qHXFd52VK9XuZR6EhQeFC6aNm3q96t8SCsK+l3lVGp81nMVJDTjr+PoNVqhUO/EqaeeWlDOpF4OnYsasbUcpfPTKsb48eP9ca0+aMWh6Hmrtk0Nyur/0G5H+sx6f9F3r/PX3xMAAACxoXL40qVLF8v4VxvyaLyn8eB+bgCUHxchIaDBs2b5BwwY4GVBAAAAACITTUiIm+skiD6AQgez2QAAAEDsxFVIEG0NqrIYAAAAALER08bl3VHNPAAAAIDYibuVBAAAAACxRUgAAAAAEEJIAAAAABBCSAAAAAAQQkgAAAAAEEJIAAAAABBCSAAAAAAQQkgAAAAAEEJIAAAAABBCSAAAAAAQQkgAAAAAEEJIAAAAABBCSAAAAAAQEnFISEhIsPz8fAMAAAAQnzRmj0TEISEpKclyc3MtLy/PAAAAAMQPTeZnZ2d7SIgkKCRbhBITE/0Nd+zYYWlpaR4aAAAAAMSeAkJmZqaP0SMJCQnp6elR1QzpBLSawIoCAAAAEB8UDoJbBPIjXkkIpKSkGAAAAIDDB7sbAQAAAAiJaiVBDRG65eTkUG4EAAAAxImg1Eh9xJGIKiRodyPdSpQoQeMyAAAAEAeCSfysrCwfp0cSFCIOCVo5UEDQzkZ6cwAAAADxITU11Xbt2uW3kiVL2v6KuCdBIUGrBzQuAwAAAPEnmMiPpC0gqpAQ6RXcAAAAABxYGqur9CgS7G4EAAAAIISQAAAAACCEkAAAAAAghJAAAAAAIISQAAAAACCEkAAAAAAghJAAAAAAIISQAAAAACCEkAAAAAAghJAAAAAAIISQAAAAACCEkAAAAAAghJAAAAAAICTZ4kRGRoZt3brVsrOzLSUlxcqXL29paWkGAAAA4OCKeUjIycmxiRMn2n/+8x9bunSpbdiwwUqWLGk1atSwq666yi699FIPDQAAAAAOjpiGhLy8PBs0aJANHz7crr32WjvnnHN8BUGrCVOmTLG+ffvaTz/9ZA899JClpqYaAAAAgAMvpj0JP/74o40cOdJ69uxp7du394AgWjk4+eSTrU+fPrZp0yYbPHiwAQAAADg4YhoS3n33Xbv++uutQYMGu328VKlSdv/999uQIUNs27ZtVhzy8/MtWgsWLLDFixf7z1oNWb16tW3evNnLprZs2WKRWrFihc2ePdsAAABwZJozZ46PL2MtZiFhx44dtnDhQmvVqtVen3f00UdbYmKiD6CLw5NPPmnjx48P3ffqq6/azp079/q6jRs3Fvw8adIkGzZsmP/85ZdfWo8ePezjjz/2MDN9+nTbHwo/6ssQ/afQqonKrQAAAHDkGTFihP3zn/+MeVCIWUjQbkYa/CclJf3qc7XLUXp6uhUHzfY/++yzoRn/77///hchoeiKw2OPPWYrV670n9U/8ec//9l/Hj16tN1444128803W69evezss8+2vSl63Ndee82mTp3qP19wwQUeOAo3ahfHygcAAAAODV27dvUKlVgHhbjZAvVgUQP0KaecYv369fNSpoSEhILHNCCfNWuWff311z7Df9ZZZ1mbNm181UCN1H//+9/tpptu8sCikKPXqq9COzLJsmXL7IwzzrC6det62ZBWGfS8du3aWZ06dbz/Yt68eda4cWO78sorbcyYMR5QtKtTZmamVapUyebOneuP6Zh6/qJFi6x27drWqVMnK1OmjL333nv+vGAp6rbbbrOyZct6+Bk1apQHr86dO1vlypUNAAAAhxZNFnfr1s1eeeUVDwqaiNb47mA7Ii+mdt111/kg/ueffw7dP3/+fHvppZesadOmdtlll9mbb77pg3g1UWvQrebqWrVqeenTjBkzrFmzZh4ItALQqFEjmzZtmvcnqF9Bx2nSpIlv4aotXdesWWOlS5e2jh072g8//OABoejrFQwUOjT4VzO3SrIUGLTqod9zc3P9PbQblFYstPqhc9Tz3n77bQ80J554ogcOAAAAHJoUFP70pz/Z5MmTvcw9FmIWElR3v6/bmqrcKKjbLw4atN91111e6rNr166C+zV41+rBeeedZy1atPAZea0qVK9e3Wfr1R9RsWLFgucrOOj3o446yqpWrVpwv4LFqaee6oN/BY7jjjvO6tev789RuNB7asVgT69fvny5P0dhRq/XspMCjC42J1pV+M1vfmMdOnTw52oFRDcFjGOOOcaDDAAAAA5NmjBWb4KuG3b88cdbLMQsJIwdO9bq1atn5cqV+9XnqoTniy++KNb6fA2yNej/4IMPCu7TwFwlPYESJUqEypH21fbt2wu2cw3oYnETJkzwFQM1a2dlZe3x9QpEWlZKTv7/ajD1bej3oC6t8P36TpQ2n376aS9D6t69u40bN84AAABw6NF4T6Xuqh5R2VHRMeXBErOQoN2Azj33XB+Yq/5/bzeFBC216JoJxemOO+7wlBZsr9q6dWsPIyoZ0nupxl8rCqKBuZpI9mVFQyFA/QQqMVq/fr2X/2glQGVLDRs29D6DgI6r9y8cGrSyoPfSEpNWD7755hsPNCpX2h2dk/okLr74Yr9KtfoqAAAAcOj59NNPYx4QJGaNy5oFHzBggL3//vv+uwa5msXXzL1mxzUbrxKfgGbS1QQcrcKlOBUqVLBbbrnFr+wsJ510ki1ZssQefvhhL4Vq2bKlD7xFJT4vvviidenSxVc/gmChMqFgh6bgZ4UNlQEFV4r+/e9/b7/73e/srbfesu+++87PIRjwX3LJJfbGG2/4Z1M40LH1Gu2mpIvJKTzouCo5UtlV4ffT81SupNKtgQMHerjRd6ZSKgAAABx6NM6LdUCQhP8NziOq4dHgVR9CFzyLpCRHoUAz7UEJzQsvvGDNmze3tm3ber2+AoRKZ4LyHw3oq1WrFtF7AQAAAEcaTbxrAxxNLO/nDkn5MVtJ0Ix34ZUCzZTrGgHr1q3zLUG1q4/6BmKx5RMAAABwJIvZSsLuqFZfNVg1a9b00p+gQRcAAADA/olmJSGuQgIAAACA4hFNSKCWBwAAAEAIIQEAAABACCEBAAAAQAghAQAAAEAIIQEAAABACCEBAAAAQAghAQAAAEAIIQEAAABACCEBAAAAQAghAQAAAEAIIQEAAABACCEBAAAAQAghAQAAAEAIIQEAAAA4TCUkJFgkIg4JiYmJlpeXZ/n5+QYAAAAgvmisHqmIQ0JSUpLl5uZadnY2QQEAAACIExqbKyBkZmb6xL5u+yvZIqSlixIlStiuXbssKyvLQwMAAACA2MvJyfGwoPF6JCIOCaJUojfWioJOBAAAAEBsaTI/OTk5ohWEQFQhofBJAAAAADg8sLsRAAAAgJColwBU60TjMgAAABA/VO0T6fanElVIUDgIdjciKAAAAADxQxsLqS0gkrAQcUhQKNCuRikpKZaamsruRgAAAECc0KZCGRkZ/q/G6/sr4p4E7b2qVEJAAAAAAOKLVhDS0tJ8F9JIKn6iCgkKB9FsrQQAAADgwNBYPdK2gIhH+PQgAAAAAIcnlgEAAAAAhBASAAAAAIQQEgAAAACEEBIAAAAAhBASAAAAAIQQEgAAAACEEBIAAAAAhBASAAAAAIQQEgAAAACEEBIAAAAAhBASAAAAAIQQEgAAAACEEBIAAAAAhBASAAAAAITEPCRkZWVZbm6uAQAAAIgPyRYjeXl59u2339pnn31mJUuWtJtvvtkaNmzoj+Xk5NjOnTt/8Zrk5GQrVaqUAQAAADhwYhYSpkyZYv369bMbb7zRNm/ebPfff7/961//snLlytnEiRPtjTfe+MUKQ+nSpa1Xr15WsWJFO1zl5+fbrl27LC0tzQAAAHBkyc7OtpSUFIu1mIWESZMmWatWreySSy7x34cMGWLLli2zpk2bWvPmze2hhx7yAXNh+sLKli1r0dKXv27dOqtdu7bFG30Hffr0sccee8zKlCmz2+coRHz00Ue2adMmu+WWWwgUAAAAh4m+ffvalVdeaXXq1LFYillPQuPGje3HH3+0xYsX+8pBYmKiVa1a1R/TikGjRo3suOOOC93q16/vJUfR0ipGhw4d7Oeff7ZYWblypX311Ve/uL969er+H2NvCXLcuHE2efJka9u2bVwkTQAAABSP888/35566ilbvny5xVLMVhLOOOMMmzVrlv3pT3/yPgPNiAchQf0IGzdu/MVrNCCuUaOGRevLL7/0Afann35qzZo1K7g/IyPDZ+eDwKJAsn37dtuyZYv/XK1aNX9s69atlp6e7uej+xISErxkSp8jNTXVeyr0u46xbdu2gs+klRGFAK1kaJCvkNCiRQurUqVKwTnofRSQdBwdQ++h90tKSvLX6hwVrLSiEpxjcN6i8yE4AAAAHJqaNGli3bp186Cgypq6detaLMQkJKhcZv369XbZZZd5uZEG2bopGGjgq5WFJ554wgfThVWqVMnefvvt0KB6f2nAv3DhQv/SH330UR+Iq8dB9//973/3wb/ORSsNRx99tJf+6Dw08L/99tt9oP/OO+94WNiwYYOXTHXt2tUGDhxo9erV81UAHevBBx+0V155xUaOHGmDBw+2448/3pYsWWKnnHKKXX311fb555/bokWLbNCgQdalS5eChuzCr9Uxp06d6mVRc+fOtWuvvdZLsRRyFAw+/PBDu/zyy/0c9btuWoXp0aOH/wsAAIBDTxAUNB7u2bOnTxQfbDEJCaq10q5GCgtFPfPMM3bOOef47UAYM2aMD9iPOeYYL19SILnooot8VUFh4eGHHy4oaXruuee8R0KDc4UCueeee+yKK67w89Og/KabbrKLL754r++p8PDII494ALnrrru8Wfv666+3ESNG+H+AvdH76z0XLFhgL774ooeqq666ylavXu3hQkFCqwd33nmnhxsFHwUThRwAAAAcmjQuVeXIqlWrjpyQoDKb/v37/6Jx+P3337dhw4bZmWeeaQeCtl1VOKlZs6Z98sknHgaGDh1qF1xwgc2ePdtXNgr3PMyYMcN+97vfFQQEUWOxSpQ0INfsv4KGVhT2RiGhRIkSVrlyZcvMzPRrQ+yrBg0a+PtrFUUrGkVXV1SypUCgciRR+dKKFSsMAAAAhyZNBvfu3dvat2/vY7tYiElIULnQ6NGjvewmGNyq9l+NxBoU64tRU3PRLVC12895550XGrTvj6VLl/ps/llnneXlQyeccIJNmDDBm4jLly/v/xamBKf7NMgPKBgoFOgzaMCu8iCdl8JFcG0HlTApkBwMKs9ScFEZk0qh9N1FU44FAACA2FmzZo0HhAsvvNDatGnjE9OxEJOQ8Le//c26d+9uY8eOtdatW3vZjhp51XCrWXHNhOuxolugqpm3ZcuWPqseCV287dRTT7Vrrrmm4AtXCFCN/29/+1s/Jw36RX8YlRI9//zzNn/+fF8BUJlP586d/VoNelx/xFq1avlqgh5/+umnPfTMnDmzoGF5TzSQVwOyVlVUuhTprk06J523mpsVnubMmeOlTQAAADj0qNom1gFBEv43s55vEVDJjAbEmlmP5ANoMD5q1ChvIlYpjho0NIA/kHv+a3VCg3rdArpegs5BM/FaIVCPgs7n5JNPtgoVKnhgUYDRRd50nxqCFRpUiqSVBr0uOOfp06f7wF/buwZNzWrQ1mdVb4HoM5900kl+lWmdjwb3Z599tgcgUdjQ++m1WvlQcFL/ROH7ix5Tn0Hnrb+DvkOVNQEAAODQo+oajTeLIyBowl1jRo0z97MSJz9mIQEAAADAgRNNSIjZxdQAAAAAxCdCAgAAAIAQQgIAAACAEEICAAAAgBBCAgAAAIAQQgIAAACAEEICAAAAgBBCAgAAAIAQQgIAAACAEEICAAAAgBBCAgAAAIAQQgIAAACAEEICAAAAgBBCAgAAAIAQQgIAAACAEEICAAAAgJCIQ0JCQoLl5+cbAAAAgPikMXskIg4JSUlJlpuba3l5eQYAAAAgfmgyPzs720NCJEEh2SKUmJjob7hjxw5LS0vz0AAAAAAg9hQQMjMzfYweSUhISE9Pj6pmSCegFQVKjwAAAID4oHAQ3CKQH/FKQiAlJcVvAAAAAA4P7G4EAAAAICTqlQSVGVFqBAAAAMSPSBuWA1GFhKBrmqAAAAAAxBf1IyQnJx/c3Y0UCrKysrwfITU1ld2NAAAAgDiRk5NjGRkZ/m8k/cMR9yTo+ghKJQQEAAAAIL5oBUGXKYh0F9KoQoLCga6XAAAAACC+aKweaVtAxCN8ehAAAACAwxPLAAAAAABCCAkAAAAAQggJAAAAAEIICQAAAABCCAkAAAAAQggJAAAAAEIICQAAAABCCAkAAAAAQggJAAAAAEIICQAAAABCCAkAAAAAQggJAAAAAELiJiTk5+cbAAAAgNhLthhSMJg7d6598cUXtnbtWjv11FPtoosuspIlSxoAAACA2IjpSsL48ePt0UcftaSkJGvRooWNHDnSHn74YcvMzCx4jn7Ozc01AAAAAAdHQnp6ekR1PllZWT64L1WqlCUkJNj+ysvLsxtuuMFuu+02O++88/y+7Oxsu/POO61Dhw6+ojB8+HAbMWKElS5d2m655RZr2LChAQAAAPh1qtrZsmWLpaamWmLifq0N5MdsJUEn/L+AYieeeGLBfSkpKXb22WfbnDlzfJXh3XfftUsuucSOPfZYe+CBB2zHjh0GAAAAHK40aR4PYhYSypYt6/9u3Lix4D6tLixdutRq1KhhU6ZMsdatW1u7du18FUGrFevXr7fikJGRYatXr7YVK1bY5s2baZoGAABAXOjbt68tX77cYi1mIUGrBio36tmzp82cOdPWrFljQ4YMsZ9//tlXExo3bmwTJkywJUuW2NixY32JJC0tzaK1ePFi69Wrl73wwgvWp08fe+KJJ2zDhg22v7QS8tlnn+13v4QatfW5AAAAgKLOP/98e+qpp2IeFGK6u1HHjh3930ceecQH2/Xr1/dG5tq1a1u1atV8QN2tWzcrUaKE/eEPf/D7oqEVhGeffdbf94ILLvDgodWLoKdi69atXgKlAKP30v3btm3zx3bu3OkrDtWrV/fXzJgxwz7++GNr2rSp1atXz7Zv3+7BofBrCx9TtWDq3xgzZoz/0Rs1amQVKlSwdevW+bJSxYoVvfcCAAAAR64mTZr4+FdB4aGHHrK6detaLMSkcVk7FmlwXJhCgo4XUDlS+fLlvSRIg3O9R5UqVaJaTVCfw0cffWRPPvmkB4/CtJrxzjvveHDQykKrVq2sa9euvroxePBgO/74431V45RTTrHOnTv7MSZOnOhpT83Xb731lvdMrFq1yi677DL77W9/awsWLLDXX3/dj6nP1759e19CUli59NJLPWB88MEH/v4KH/fee6+HDAAAABzZZs2aZS+99JJX3WicGIloGpdjspLw73//2wYNGhTa6rQoDeIHDBhgb775pn333Xf+ITWofuWVV/yDRkKBo2bNmr8ICKJB/hVXXGHnnHOOD+Jvuukmu/jii/0xrRRotUMrAnfddZfdeOONduutt/r5q6Fa56NdmURB4u233/ZjKSDoGAoSQZBSX4X6Ibp06eKfrWXLlnbVVVd5QCIgAAAAQFRloklzTUBHGhKiEbOQ8Nprr3nJzZ706NHDJk2a5DP2ohKfNm3a+Cy/ypEioXKewo3ShS1btsyaNWvmg3mtjqj0KehVUEhQsKhcubIHA62iFKYVBH0mJTWltKCESE3YzZs33+NKy+WXX27PPPOMh6DrrruuYCtYAAAAHLk0ody7d2+vQtG1xGIhJo3LycnJu53NL6zozLoG91WrVvXXRkrbrc6ePdsWLVpUcJ/ChygYBKFAA3wN+MuUKbNPx1V/gnoXunfvbp06dSroLdC5btq0aY+vUyp89dVX/QJyWsnQTksAAAA4cmkzHwWECy+80CfII7keWXGIyUrCqaeeal999ZXX8u+OBsvTp0+3a665xn9X82+/fv28T6BSpUoWKa1A3HzzzT6Y1xdfrlw5X0FQj4Fu2vVI9+uPU6tWLV9NUKjYnaDp+PPPP/edmBQ81JQ8derUgus56POpUbpt27ZewqTPo2Cgi8TpuWqGVt+CzkPvV7gnAwAAAEee/v37xzwgSEwal1W3/8c//tH++te/2mmnnVawqqDmXtXsq1Zfx9QWqUOHDvXAoLos1f8XR03WypUr/ZgauB999NFeZqRVi/nz5/uqgN5LDcpqklYfg1YV1A8ho0aNspNOOsk/t46hnYrOPfdc/0x6vVYrtESkQKNeheCY2vFI133Q51IDtShcKFQoLJx88sl+fQgAAAAcubRjpqpSiiMgRNO4HJOQIJMnT7ann37adzDSFZXVmKHB9cKFC33rp7vvvtsH3tOmTfPfVdtPYy8AAACwbw7JkCCaQVcIUDjQ8XQsza43aNBgfz8IAAAAgEIO2ZAAAAAA4MCIJiQwXQ8AAAAghJAAAAAAIISQAAAAACCEkAAAAAAghJAAAAAAIISQAAAAACCEkAAAAAAghJAAAAAAIISQAAAAACCEkAAAAAAghJAAAAAAIISQAAAAACCEkAAAAAAghJAAAAAAICTikJCQkGD5+fkGAAAAID5pzB6JiENCUlKS5ebmWl5engEAAACIH5rMz87O9pAQSVBItgglJib6G+7YscPS0tI8NAAAAACIPQWEzMxMH6NHEhIS0tPTo6oZ0gloRYHSIwAAACA+KBwEtwjkR7ySEEhJSfEbAAAAgMMDuxsBAAAACIlqJUElRmpcpoEZAAAAiB9BqZH6iCMRVUhQONCtRIkSNC4DAAAAcUAT+Tk5OZaVleXj9EiCgkJCRB3HwQpCqVKl6EkAAAAA4khqaqrt2rXLbyVLlvy1p/9i+6P/AxLzgaft3EodAAAAAElFTkSuQmCC", Fe = {}; Fe.props = { platform: { key: "platform", required: !0, type: null }, language: { key: "language", required: !0, type: String } }; Fe.setup = (A, t) => { const e = { mac: { "zh-cn": Kn, en: ag }, win: { "zh-cn": ng, en: og } }, a = A, n = p(() => a.platform === "mac" ? "mac-privacy" : "win-privacy"), l = p(() => a.platform === "mac" ? "mac-preferences" : "win-preferences"), i = I(Kn), u = I(!0), s = (M) => { M && j.isPC && (u.value = !0); }, r = () => { u.value = !1; }; return J(() => a.language, () => { i.value = e[a.platform][a.language]; }, { immediate: !0 }), aA(() => { d.watch(c.CALL, { [o.SHOW_PERMISSION_TIP]: s }, { notifyRangeWhenWatch: o.MYSELF }); }), tA(() => { d.unwatch(c.CALL, { [o.SHOW_PERMISSION_TIP]: s }); }), { t: v, privacy: n, preferences: l, permitPng: i, showModal: u, handleClose: r }; }; Fe.components = Object.assign({ CloseIcon: tg }, Fe.components); var lg = function() { var A = this, t = A.$createElement, e = A._self._c || t; return A.showModal ? e("div", { staticClass: "card" }, [e("div", { staticClass: "card-body" }, [e("div", { staticClass: "close", on: { click: A.handleClose } }, [e("CloseIcon")], 1), e("div", { staticClass: "card-wrapper" }, [e("div", { staticClass: "title" }, [A._v(A._s(A.t("browser-authorization")))]), e("div", { staticClass: "button" }, [A._v(A._s(A.t(A.preferences)))]), e("div", { staticClass: "allow" }, [A._v(A._s(A.t(A.privacy)))]), e("div", { staticClass: "image-wrapper" }, [e("img", { staticClass: "image", attrs: { src: A.permitPng, alt: "system permit" } })])])])]) : A._e(); }, ig = []; const $n = {}; var sg = /* @__PURE__ */ S( Fe, lg, ig, !1, ug, "ee5a0fe8", null, null ); function ug(A) { for (let t in $n) this[t] = $n[t]; } const cg = /* @__PURE__ */ function() { return sg.exports; }(), yt = {}; yt.setup = (A, t) => { const e = p(() => j.isMAC ? Rt.MAC : Rt.WIN), a = I(d.getData(c.CALL, o.LANGUAGE)), n = (l) => a.value = l; return aA(() => { d.watch(c.CALL, { [o.LANGUAGE]: n }, { notifyRangeWhenWatch: o.MYSELF }); }), tA(() => { d.unwatch(c.CALL, { [o.LANGUAGE]: n }); }), { platform: e, language: a }; }; yt.components = Object.assign({ SystemPermitTip: cg }, yt.components); var rg = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "tip" }, [e("div", { staticClass: "card" }, [e("SystemPermitTip", { attrs: { platform: A.platform, language: A.language } })], 1)]); }, Mg = []; const Ao = {}; var dg = /* @__PURE__ */ S( yt, rg, Mg, !1, Ig, "ff1df20c", null, null ); function Ig(A) { for (let t in Ao) this[t] = Ao[t]; } const gg = /* @__PURE__ */ function() { return dg.exports; }(), pl = {}; let He = null, Ng = 1; const pg = () => { const A = document.body; He && (A.removeChild(He.$el), He.$destroy()); const t = Xt.extend(gg), e = new t({ propsData: { index: `toast-item-${Ng++}`, destroy() { A.removeChild(e.$el), e.$destroy(); } } }); e.$mount(), A.appendChild(e.$el), He = e; }; pl.show = () => pg(); const Sa = {}; Sa.props = { type: { key: "type", required: !0, type: null }, duration: { key: "duration", required: !1, type: Number }, message: { key: "message", required: !0, type: String }, index: { key: "index", required: !0, type: String }, showClose: { key: "showClose", required: !1, type: Boolean }, destroy: { key: "destroy", required: !0, type: Function }, close: { key: "close", required: !0, type: Function } }; Sa.setup = (A, t) => { const e = A, a = I(!1), n = I(null), l = p(() => `toast-container ${e.type}`), i = () => { e.destroy(); }, u = () => { e.close(), a.value = !1; }, s = () => { n.value && clearTimeout(n.value), e.duration && (n.value = setTimeout(() => { u(); }, e.duration)); }; return aA(() => { a.value = !0, s(); }), tA(() => { n.value && clearTimeout(n.value); }), { isShow: a, toastClass: l, handleAfterLeave: i, handleClose: u }; }; var Dg = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("Transition", { attrs: { name: "slide-up" }, on: { "after-leave": A.handleAfterLeave } }, [e("div", { directives: [{ name: "show", rawName: "v-show", value: A.isShow, expression: "isShow" }], key: A.index, class: A.toastClass }, [e("div", { staticClass: "toast-content" }, [A._v(A._s(A.message))]), e("i", { directives: [{ name: "show", rawName: "v-show", value: A.showClose, expression: "showClose" }], staticClass: "toast-close-icon", on: { click: A.handleClose } })])]); }, Tg = []; const eo = {}; var Cg = /* @__PURE__ */ S( Sa, Dg, Tg, !1, yg, "1a36ce82", null, null ); function yg(A) { for (let t in eo) this[t] = eo[t]; } const Sg = /* @__PURE__ */ function() { return Cg.exports; }(), LA = {}, IA = []; let Eg = 1; function hg() { var t, e, a; const A = IA.length; return A > 0 ? (a = (e = (t = IA[A - 1]) == null ? void 0 : t.$el) == null ? void 0 : e.style) == null ? void 0 : a.top : "30px"; } function mg() { var t, e; const A = IA.length; return A > 0 ? (e = (t = IA[A - 1]) == null ? void 0 : t.$el) == null ? void 0 : e.offsetHeight : 0; } const Dl = (A) => { const t = document.body, { type: e, duration: a = 3e3, message: n, showClose: l = !1, onClose: i } = A, u = Xt.extend(Sg), s = new u({ propsData: { type: e, duration: a, message: n, showClose: l, index: `toast-item-${Eg++}`, close() { var N, y, T, C; const D = IA.findIndex((E) => E === s); console.log((y = (N = IA[D]) == null ? void 0 : N.$el) == null ? void 0 : y.offsetHeight); const g = parseInt((C = (T = IA[D]) == null ? void 0 : T.$el) == null ? void 0 : C.offsetHeight) + 20; for (let E = 0; E < IA.length; E++) E < D || (IA[E].$el.style.top = parseInt(IA[E].$el.style.top) - g + "px"); IA.splice(D, 1); }, destroy() { t.removeChild(s.$el), s.$destroy(); } } }); s.$mount(), t.appendChild(s.$el); const r = hg(), M = mg(); s.$el.style.top = parseInt(r) + parseInt(M) + 20 + "px", IA.push(s); }; ["info", "waring", "error", "success"].forEach((A) => { let t = {}; LA[A] = (e) => { typeof e == "string" ? t.message = e : t = e, Dl({ type: A, ...t }); }; }); LA.show = (A) => { let t = {}; return typeof A == "string" ? (t.message = A, t.type = "info") : t = A, Dl({ type: "info", ...t }); }; const Re = {}; Re.props = { beforeCalling: { key: "beforeCalling", required: !1, type: Function }, afterCalling: { key: "afterCalling", required: !1, type: Function }, onMinimized: { key: "onMinimized", required: !1, type: Function }, onMessageSentByMe: { key: "onMessageSentByMe", required: !1, type: Function }, kickedOut: { key: "kickedOut", required: !1, type: Function }, statusChanged: { key: "statusChanged", required: !1, type: Function }, allowedMinimized: { key: "allowedMinimized", required: !1, type: Boolean, default: !1 }, allowedFullScreen: { key: "allowedFullScreen", required: !1, type: Boolean, default: !0 }, videoDisplayMode: { key: "videoDisplayMode", required: !1, type: String, default: "cover" }, videoResolution: { key: "videoResolution", required: !1, type: String, default: "480p" } }; Re.setup = (A, t) => { const e = !j.isPC, a = e ? "TUICallKit-mobile transition-animation" : "TUICallKit-desktop", n = I(""), l = I(""), i = I(""), u = I(!1), s = A, r = I(d.getData(c.CALL, o.CALL_STATUS)), M = I(d.getData(c.CALL, o.CALL_ROLE)), D = I(d.getData(c.CALL, o.CALL_MEDIA_TYPE)), g = I(d.getData(c.CALL, o.IS_GROUP)), N = I(d.getData(c.CALL, o.IS_EAR_PHONE)), y = I(null), T = I(d.getData(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN)), C = I(d.getData(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST)), E = I(d.getData(c.CALL, o.CALLER_USER_INFO)), w = I(d.getData(c.CALL, o.IS_MINIMIZED)), L = I(d.getData(c.CALL, o.ENABLE_VIRTUAL_BACKGROUND)), m = I(d.getData(c.CALL, o.IS_SHOW_ENABLE_VIRTUAL_BACKGROUND)), k = I(d.getData(c.CALL, o.CUSTOM_UI_CONFIG)), _ = I(d.getData(c.CALL, o.IS_MUTE_SPEAKER)), Z = Ye({ callStatus: r, callRole: M, callType: D, isGroupCall: g, isEarPhone: N, focusElement: y, allowedFullScreen: s.allowedFullScreen, enableVirtualBackground: L, isShowEnableVirtualBackground: m, isMuteSpeaker: _ }), b = Ye({ callerUserInfo: E }), P = Ye({ localUserInfoExcludeVolume: T, remoteUserListExcludeVolume: C }), AA = Ye({ isFloatWindow: w }), { beforeCalling: ZA, afterCalling: xA, onMinimized: VA, onMessageSentByMe: bA, videoDisplayMode: YA, videoResolution: Ut, kickedOut: Qe, statusChanged: Ze, allowedMinimized: Y } = z(s), iA = (B) => { Z.callStatus = B; }, dA = (B) => { Z.isGroupCall = B; }, BA = (B) => { B.text && zl(B.text, B.type || "info"); }, Cl = (B) => { Z.callType = B, e && u.value && (i.value = "miniMized-mobile-audio", l.value = ""), e && !u.value && (l.value = "mobile-audio"); }, Ea = (B) => { AA.isFloatWindow = B, B ? e ? Z.callType === F.AUDIO ? l.value = "miniMized-mobile-audio" : i.value = "miniMized-mobile-video" : n.value = "miniMized" : (l.value = "mobile-audio", n.value = "", i.value = ""); }, yl = (B) => { if (B && j.isPC) try { pl.show(); } catch (zt) { console.debug(zt); } }, Sl = (B) => { Z.callRole = B; }, El = (B) => { P.localUserInfoExcludeVolume = B; }, hl = (B) => { P.remoteUserListExcludeVolume = B; }, ml = (B) => { b.callerUserInfo = B; }, jl = (B) => { Z.isEarPhone = B; }, vl = (B) => { Z.enableVirtualBackground = B; }, fl = (B) => { Z.isShowEnableVirtualBackground = B; }, Ll = (B) => { k.value = B; }, Ul = (B) => { Z.isMuteSpeaker = B; }; QA(() => { O.setCallback({ beforeCalling: ZA && ZA.value, afterCalling: xA && xA.value, onMinimized: VA && VA.value, onMessageSentByMe: bA && bA.value, kickedOut: Qe && Qe.value, statusChanged: Ze && Ze.value }); }); const ha = { [o.CALL_STATUS]: iA, [o.IS_GROUP]: dA, [o.TOAST_INFO]: BA, [o.CALL_MEDIA_TYPE]: Cl, [o.SHOW_PERMISSION_TIP]: yl, [o.CALL_ROLE]: Sl, [o.LOCAL_USER_INFO_EXCLUDE_VOLUMN]: El, [o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST]: hl, [o.CALLER_USER_INFO]: ml, [o.IS_EAR_PHONE]: jl, [o.ENABLE_VIRTUAL_BACKGROUND]: vl, [o.IS_SHOW_ENABLE_VIRTUAL_BACKGROUND]: fl, [o.CUSTOM_UI_CONFIG]: Ll, [o.IS_MUTE_SPEAKER]: Ul }; aA(() => { Y.value && O.enableFloatWindow(Y.value), O.setVideoDisplayMode(YA.value), O.setVideoResolution(Ut.value), d.watch(c.CALL, ha, { notifyRangeWhenWatch: o.MYSELF }), d.watch(c.CALL, { [o.IS_MINIMIZED]: Ea }); }); function zl(B, zt) { switch (zt) { case "info": LA == null || LA.info(B); break; case "error": LA == null || LA.error(B); break; } } return tA(async () => { d.unwatch(c.CALL, { ...ha, [o.IS_MINIMIZED]: Ea }); }), gA(To, Z), gA(Co, b), gA(yo, P), gA(ho, AA), gA(vo, k), { CallStatus: U, bodyStyle: a, miniMizedDeskStyle: n, mobileAudioStyle: l, mobileVideoStyle: i, callInfoContextValue: Z, floatWindowContextValue: AA }; }; Re.components = Object.assign({ SingleCall: iI, GroupCall: JI }, Re.components); var jg = function() { var A = this, t = A.$createElement, e = A._self._c || t; return A.callInfoContextValue.callStatus !== A.CallStatus.IDLE ? e("div", { class: [A.bodyStyle, A.miniMizedDeskStyle, A.mobileVideoStyle, A.mobileAudioStyle], style: [{ visibility: A.floatWindowContextValue.isFloatWindow ? "hidden" : "" }], attrs: { id: "tuicallkit-id" } }, [A.callInfoContextValue.isGroupCall ? e("GroupCall", { staticClass: "singCall" }) : e("SingleCall", { staticClass: "singCall" })], 1) : A._e(); }, vg = []; const to = {}; var fg = /* @__PURE__ */ S( Re, jg, vg, !1, Lg, null, null, null ); function Lg(A) { for (let t in to) this[t] = to[t]; } const Lt = /* @__PURE__ */ function() { return fg.exports; }(), Tl = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuNTM1NzcgNi42ODIzOEMxLjIwNTYyIDUuNzI3MjggMS42MjM1NSA0LjcwMTQ5IDIuNDM2NDEgNC4xMDA4QzMuMDUyNjUgMy42NDU0MSAzLjY3MTcgMy4xODU0OSA0LjAyNDk0IDIuOTIyNzZDNC4xOTI4IDIuNzk3OTEgNC40MjgxIDIuODI1MjIgNC41NjM2IDIuOTg0NTlMNi40ODg1NSA1LjI0ODU3QzYuNjE0NDEgNS4zOTY1OSA2LjYxNDQ3IDUuNjEzOTYgNi40ODg3IDUuNzYyMDVMNS4zMDgzNiA3LjE1MTlDNS4yMDA5MSA3LjI3ODQxIDUuMTgzMDIgNy40NTg4NyA1LjI2Nzk2IDcuNjAxNDZDNS42NTA0MSA4LjI0MzQ1IDYuMDcwMDggOC43OTMzNCA2LjYzNzE5IDkuMzYwMjlDNy4yMDc2MyA5LjkzMDU2IDcuNzU3NDIgMTAuMzQyMSA4LjQwMzA2IDEwLjcyMzVDOC41NDU3NiAxMC44MDc5IDguNzI1OTQgMTAuNzg5OSA4Ljg1MjM0IDEwLjY4MjdMMTAuMjM2NSA5LjUwODYxQzEwLjM4NDcgOS4zODI5NSAxMC42MDIgOS4zODMwNCAxMC43NTAxIDkuNTA4ODNMMTMuMDE1OSAxMS40MzQyQzEzLjE3NDkgMTEuNTY5MyAxMy4yMDIgMTEuODA0NCAxMy4wNzggMTEuOTcyMUwxMS44OTI3IDEzLjU3NTVDMTEuMjk2OCAxNC4zODE3IDEwLjI3OSAxNC43OTE2IDkuMzMwOTIgMTQuNDY1NEM3LjU3ODM1IDEzLjg2MjQgNS45MzIzNSAxMi44NjE3IDQuNTMzNTMgMTEuNDYzM0MzLjEzODcyIDEwLjA2ODkgMi4xMzk0NiA4LjQyODgzIDEuNTM1NzcgNi42ODIzOFoiIGZpbGw9IiMxQzY2RTUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04Ljg4ODc2IDIuMTMzM0M4LjY5MjM5IDIuMTMzMyA4LjUzMzIgMi4yOTI0OSA4LjUzMzIgMi40ODg4NlY2LjE3MzdDOC41MzMyIDYuMzcwMDYgOC42OTIzOSA2LjUyOTI1IDguODg4NzYgNi41MjkyNUgxMi41NzM2QzEyLjc3IDYuNTI5MjUgMTIuOTI5MiA2LjM3MDA2IDEyLjkyOTIgNi4xNzM3VjUuOTg3ODJDMTIuOTI5MiA1Ljc1MzcgMTMuMTcyMyA1LjU5ODgzIDEzLjM4NDUgNS42OTc4NEwxNC4wNzE0IDYuMDE4NDFDMTQuMzA3MSA2LjEyODQxIDE0LjU3NzMgNS45NTYzNCAxNC41NzczIDUuNjk2MjFWMi45NjYzM0MxNC41NzczIDIuNzA2MiAxNC4zMDcxIDIuNTM0MTMgMTQuMDcxNCAyLjY0NDE0TDEzLjM4NDUgMi45NjQ3QzEzLjE3MjMgMy4wNjM3MSAxMi45MjkyIDIuOTA4ODQgMTIuOTI5MiAyLjY3NDcyVjIuNDg4ODZDMTIuOTI5MiAyLjI5MjQ5IDEyLjc3IDIuMTMzMyAxMi41NzM2IDIuMTMzM0g4Ljg4ODc2WiIgZmlsbD0iIzFDNjZFNSIvPgo8L3N2Zz4K", ke = {}; ke.props = { userListInfo: { type: Array, default: [] } }; ke.setup = (A, t) => { const e = t.emit, a = I(!1); return { t: v, CallIcon: Tl, defaultAvatarSrc: GA, isShowContent: a, handleJoinGroup: () => { e("joinGroupCall"), a.value = !1; }, handleClick: () => { a.value = !a.value; } }; }; ke.components = Object.assign({ TKImage: SA }, ke.components); var Ug = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "banner-pc" }, [e("div", { staticClass: "top", on: { click: A.handleClick } }, [e("TKImage", { staticClass: "call-icon", attrs: { src: A.CallIcon, width: "16px", height: "16px" } }), e("span", { staticClass: "text" }, [A._v(" " + A._s(A.userListInfo.length) + " " + A._s(A.t("people on the call")) + " ")])], 1), e("div", { directives: [{ name: "show", rawName: "v-show", value: A.isShowContent, expression: "isShowContent" }], staticClass: "content" }, [e("div", { staticClass: "content-arrows" }), e("div", { staticClass: "avatar-box" }, A._l(A.userListInfo, function(a) { return e("TKImage", { staticClass: "avatar", attrs: { src: a == null ? void 0 : a.avatar, defaultSrc: A.defaultAvatarSrc, fit: "cover", width: "32px", height: "32px" } }); }), 1), e("div", { staticClass: "btn", on: { click: A.handleJoinGroup } }, [A._v(A._s(A.t("join")))])])]); }, zg = []; const ao = {}; var wg = /* @__PURE__ */ S( ke, Ug, zg, !1, Og, null, null, null ); function Og(A) { for (let t in ao) this[t] = ao[t]; } const xg = /* @__PURE__ */ function() { return wg.exports; }(), Vg = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNiIgdmlld0JveD0iMCAwIDEwIDYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOS41IDMuOTM0MDNlLTA3TDUgMy43NUwwLjUgMS41OTIwNGUtMDdMMC41IDEuNTYyMDVMNC42MTU4OSA0Ljk5MTk2TDUgNS4zMTIwNUw1LjM4NDExIDQuOTkxOTZMOS41IDEuNTYyMDVMOS41IDMuOTM0MDNlLTA3WiIgZmlsbD0iIzY2NjY2NiIvPgo8L3N2Zz4K", Pe = {}; Pe.props = { userListInfo: { type: Array, default: [] } }; Pe.setup = (A, t) => { const e = I({ margin: "8px 10px 8px 0px" }), a = I({ margin: "6px", borderRadius: "4px" }), n = I(!1), l = t.emit; return { t: v, CallIcon: Tl, ArrowsIcon: Vg, defaultAvatarSrc: GA, CallIconStyle: e, avatarImgStyle: a, isShowContent: n, handleJoinGroup: () => { l("joinGroupCall"), n.value = !1; }, handleClick: () => { n.value = !n.value; } }; }; Pe.components = Object.assign({ TKImage: SA }, Pe.components); var bg = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { staticClass: "banner-h5" }, [e("div", { staticClass: "top", on: { click: A.handleClick } }, [e("div", { staticClass: "left" }, [e("TKImage", { staticClass: "call-icon", attrs: { src: A.CallIcon, width: "16px", height: "16px", customStyle: A.CallIconStyle } }), e("span", { staticClass: "text" }, [A._v(" " + A._s(A.userListInfo.length) + " " + A._s(A.t("people on the call")) + " ")])], 1), e("TKImage", { attrs: { src: A.ArrowsIcon, width: "9px", height: "9px" } })], 1), e("div", { directives: [{ name: "show", rawName: "v-show", value: A.isShowContent, expression: "isShowContent" }], staticClass: "content-box" }, [e("div", { staticClass: "content" }, [e("div", { staticClass: "avatar-box" }, A._l(A.userListInfo, function(a) { return e("TKImage", { attrs: { src: a == null ? void 0 : a.avatar, customStyle: A.avatarImgStyle, defaultSrc: A.defaultAvatarSrc, fit: "cover", width: "50px", height: "50px" } }); }), 1), e("div", { staticClass: "btn", on: { click: function(a) { return a.stopPropagation(), A.handleJoinGroup.apply(null, arguments); } } }, [A._v(A._s(A.t("join")))])])])]); }, Bg = []; const no = {}; var Fg = /* @__PURE__ */ S( Pe, bg, Bg, !1, Rg, null, null, null ); function Rg(A) { for (let t in no) this[t] = no[t]; } const kg = /* @__PURE__ */ function() { return Fg.exports; }(), St = {}; St.setup = (A, t) => { const e = I(j.isPC), a = I(null), { groupId: n, roomId: l, roomIdType: i, callMediaType: u, groupCallMembers: s, callStatus: r } = z(Zi()), M = p(() => n && (r == null ? void 0 : r.value) === U.IDLE && s.value.length); return { isPC: e, message: a, groupCallMembers: s, isShow: M, handleClick: async () => { if (s.value.length > 9) { a.value.show({ message: "Supports a maximum of 9 people for simultaneous calls", type: "success" }); return; } const g = { type: u.value, groupID: n.value, roomID: i.value === 1 ? Number(l.value) : 0, strRoomID: String(l.value) }; try { await O.joinInGroupCall(g); } catch (N) { console.error(`${o.PREFIX}joinInGroupCall fail: ${N}`); } } }; }; St.components = Object.assign({ JoinGroupCardPC: xg, JoinGroupCardMobile: kg, Message: cl }, St.components); var Pg = function() { var A = this, t = A.$createElement, e = A._self._c || t; return e("div", { directives: [{ name: "show", rawName: "v-show", value: A.isShow, expression: "isShow" }] }, [A.isPC ? e("JoinGroupCardPC", { attrs: { userListInfo: A.groupCallMembers }, on: { joinGroupCall: A.handleClick } }) : e("JoinGroupCardMobile", { attrs: { userListInfo: A.groupCallMembers }, on: { joinGroupCall: A.handleClick } }), e("Message", { ref: "message" })], 1); }, Wg = []; const oo = {}; var Gg = /* @__PURE__ */ S( St, Pg, Wg, !1, Qg, null, null, null ); function Qg(A) { for (let t in oo) this[t] = oo[t]; } const Zg = /* @__PURE__ */ function() { return Gg.exports; }(), Yg = (A) => (A.component("TUICallKit", { server: O }), O.bindTUICore(A), Lt), Xg = (A) => { A.component("TUICallKit", Lt).component("JoinGroupCard", Zg), console.log("TUICallKit&mini installed", A); }; Lt.plugin = Yg; Lt.install = Xg; const $g = { AUDIO_CALL: 1, VIDEO_CALL: 2 }, AN = "3.3.7"; export { F as CallMediaType, K as CallRole, zA as FeatureButton, Zg as JoinGroupCard, et as LayoutMode, o as NAME, nA as STATUS, c as StoreName, Lt as TUICallKit, O as TUICallKitServer, $g as TUICallType, j as TUIGlobal, d as TUIStore, AN as Version, ne as VideoDisplayMode, oe as VideoResolution, Xg as install, Yg as plugin, v as t, mA as uiDesign };