feat: release v0.0.1
This commit is contained in:
38
dist/core/plugins/settings/components/tach-video-menu-button/index.d.ts
vendored
Normal file
38
dist/core/plugins/settings/components/tach-video-menu-button/index.d.ts
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
import Component from "video.js/dist/types/component";
|
||||
import Player from "video.js/dist/types/player";
|
||||
import TachVideoMenu from "../tach-video-menu";
|
||||
import TachVideoMenuItem from "../tach-video-menu-item";
|
||||
declare const MenuButton: typeof Component;
|
||||
export default class TachVideoMenuButton extends MenuButton {
|
||||
private hideThreshold_;
|
||||
private buttonPressed_;
|
||||
private menu;
|
||||
private menuButton_;
|
||||
items: TachVideoMenuItem[];
|
||||
/**
|
||||
* Button constructor.
|
||||
*
|
||||
* @param {Player} player - videojs player instance
|
||||
*/
|
||||
constructor(player: Player, title: string, name: string);
|
||||
/**
|
||||
* Creates button items.
|
||||
*
|
||||
* @return {TachVideoMenuItem[]} - Button items
|
||||
*/
|
||||
createItems(): TachVideoMenuItem[];
|
||||
/**
|
||||
* Создаёт меню и добавляет в него все пункты.
|
||||
*
|
||||
* @return {Menu} - Сконструированное меню
|
||||
*/
|
||||
createMenu(): TachVideoMenu;
|
||||
/**
|
||||
* Обновление меню без его пересоздания.
|
||||
*
|
||||
* @return {Menu} - Обновлённое меню
|
||||
*/
|
||||
update(): void;
|
||||
}
|
||||
export {};
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
1
dist/core/plugins/settings/components/tach-video-menu-button/index.d.ts.map
vendored
Normal file
1
dist/core/plugins/settings/components/tach-video-menu-button/index.d.ts.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/core/plugins/settings/components/tach-video-menu-button/index.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAEhD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAExD,QAAA,MAAM,UAAU,kBAAqC,CAAC;AAStD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,UAAU;IAC1D,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,WAAW,CAAa;IACzB,KAAK,EAAE,iBAAiB,EAAE,CAAM;IAEvC;;;;OAIG;gBACS,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAiBvD;;;;OAIG;IACH,WAAW,IAAI,iBAAiB,EAAE;IAIlC;;;;OAIG;IACH,UAAU;IAsBV;;;;OAIG;IACH,MAAM;CA6BN"}
|
||||
90
dist/core/plugins/settings/components/tach-video-menu-button/index.js
vendored
Normal file
90
dist/core/plugins/settings/components/tach-video-menu-button/index.js
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
import videojs from "video.js";
|
||||
import TachVideoMenu from "../tach-video-menu";
|
||||
const MenuButton = videojs.getComponent("MenuButton");
|
||||
const Menu = videojs.getComponent("Menu");
|
||||
export default class TachVideoMenuButton extends MenuButton {
|
||||
/**
|
||||
* Button constructor.
|
||||
*
|
||||
* @param {Player} player - videojs player instance
|
||||
*/
|
||||
constructor(player, title, name) {
|
||||
super(player, {
|
||||
title: title,
|
||||
name: name,
|
||||
});
|
||||
this.hideThreshold_ = 0;
|
||||
this.buttonPressed_ = false;
|
||||
this.items = [];
|
||||
// Перехватываем событие 'mouseenter' на уровне захвата и предотвращаем его дальнейшее распространение
|
||||
const el = this.menuButton_.el();
|
||||
el.addEventListener("mouseenter", e => {
|
||||
e.stopImmediatePropagation();
|
||||
}, true);
|
||||
}
|
||||
/**
|
||||
* Creates button items.
|
||||
*
|
||||
* @return {TachVideoMenuItem[]} - Button items
|
||||
*/
|
||||
createItems() {
|
||||
return [];
|
||||
}
|
||||
/**
|
||||
* Создаёт меню и добавляет в него все пункты.
|
||||
*
|
||||
* @return {Menu} - Сконструированное меню
|
||||
*/
|
||||
createMenu() {
|
||||
const menu = new TachVideoMenu(this.player_, {
|
||||
menuButton: this,
|
||||
});
|
||||
this.hideThreshold_ = 0;
|
||||
this.items = this.createItems();
|
||||
if (this.items) {
|
||||
// Если метод updateItems присутствует, используем его для обновления списка
|
||||
if (typeof menu.updateItems === "function") {
|
||||
menu.updateItems(this.items);
|
||||
}
|
||||
else {
|
||||
// Если по какой-то причине обновление недоступно, добавляем элементы по одному
|
||||
this.items.forEach(item => menu.addItem(item));
|
||||
}
|
||||
}
|
||||
return menu;
|
||||
}
|
||||
/**
|
||||
* Обновление меню без его пересоздания.
|
||||
*
|
||||
* @return {Menu} - Обновлённое меню
|
||||
*/
|
||||
update() {
|
||||
// Если меню уже создано и поддерживает updateItems, обновляем его содержимое
|
||||
if (this.menu && typeof this.menu.updateItems === "function") {
|
||||
this.items = this.createItems();
|
||||
this.menu.updateItems(this.items);
|
||||
}
|
||||
else {
|
||||
// Если меню ещё не создано, создаём его
|
||||
this.menu = this.createMenu();
|
||||
}
|
||||
this.addChild(this.menu);
|
||||
/**
|
||||
* Track the state of the menu button
|
||||
*
|
||||
* @type {Boolean}
|
||||
* @private
|
||||
*/
|
||||
this.buttonPressed_ = false;
|
||||
this.menuButton_.el_.setAttribute("aria-expanded", "false");
|
||||
if (this.items && this.items?.length <= this.hideThreshold_) {
|
||||
this.hide();
|
||||
this.menu.contentEl().removeAttribute("role");
|
||||
}
|
||||
else {
|
||||
this.show();
|
||||
this.menu.contentEl().setAttribute("role", "menu");
|
||||
}
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
dist/core/plugins/settings/components/tach-video-menu-button/index.js.map
vendored
Normal file
1
dist/core/plugins/settings/components/tach-video-menu-button/index.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/plugins/settings/components/tach-video-menu-button/index.ts"],"names":[],"mappings":"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"}
|
||||
33
dist/core/plugins/settings/components/tach-video-menu-item/index.d.ts
vendored
Normal file
33
dist/core/plugins/settings/components/tach-video-menu-item/index.d.ts
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
import Player from "video.js/dist/types/player";
|
||||
import { TachPlayerMenuItemOptions, TachPlayerPlugin } from "../../types";
|
||||
import TachVideoMenuButton from "../tach-video-menu-button";
|
||||
declare const VideoJsMenuItemClass: typeof import("video.js/dist/types/component").default;
|
||||
export interface ITachPlayerMenuItem extends TachPlayerMenuItemOptions {
|
||||
onClick: () => void;
|
||||
enabled?: boolean;
|
||||
value?: unknown;
|
||||
}
|
||||
/**
|
||||
* Extend vjs menu item class.
|
||||
*/
|
||||
export default class TachVideoMenuItem extends VideoJsMenuItemClass {
|
||||
private item;
|
||||
private button;
|
||||
private plugin;
|
||||
/**
|
||||
* Menu item constructor.
|
||||
*
|
||||
* @param {Player} player - vjs player
|
||||
* @param {ITachVideoMenuItem} item - Item object
|
||||
* @param {ConcreteButton} button - The containing button.
|
||||
* @param {TachPlayerPlugin} plugin - This plugin instance.
|
||||
*/
|
||||
constructor(player: Player, item: ITachPlayerMenuItem, button: TachVideoMenuButton, plugin: TachPlayerPlugin);
|
||||
/**
|
||||
* Click event for menu item.
|
||||
*/
|
||||
handleClick(): void;
|
||||
selected(val: boolean): void;
|
||||
}
|
||||
export {};
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
1
dist/core/plugins/settings/components/tach-video-menu-item/index.d.ts.map
vendored
Normal file
1
dist/core/plugins/settings/components/tach-video-menu-item/index.d.ts.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/core/plugins/settings/components/tach-video-menu-item/index.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAEhD,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,QAAA,MAAM,oBAAoB,wDAAmC,CAAC;AAG9D,MAAM,WAAW,mBAAoB,SAAQ,yBAAyB;IACrE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,oBAAoB;IAClE,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAmB;IAEjC;;;;;;;OAOG;gBAEF,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,gBAAgB;IAczB;;OAEG;IACH,WAAW;IAWX,QAAQ,CAAC,GAAG,EAAE,OAAO;CAIrB"}
|
||||
45
dist/core/plugins/settings/components/tach-video-menu-item/index.js
vendored
Normal file
45
dist/core/plugins/settings/components/tach-video-menu-item/index.js
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
import videojs from "video.js";
|
||||
// Concrete classes
|
||||
const VideoJsMenuItemClass = videojs.getComponent("MenuItem");
|
||||
/**
|
||||
* Extend vjs menu item class.
|
||||
*/
|
||||
export default class TachVideoMenuItem extends VideoJsMenuItemClass {
|
||||
/**
|
||||
* Menu item constructor.
|
||||
*
|
||||
* @param {Player} player - vjs player
|
||||
* @param {ITachVideoMenuItem} item - Item object
|
||||
* @param {ConcreteButton} button - The containing button.
|
||||
* @param {TachPlayerPlugin} plugin - This plugin instance.
|
||||
*/
|
||||
constructor(player, item, button, plugin) {
|
||||
super(player, {
|
||||
label: item.label,
|
||||
selectable: item.selectable || true,
|
||||
selected: item.selected || false,
|
||||
});
|
||||
this.item = item;
|
||||
this.button = button;
|
||||
this.plugin = plugin;
|
||||
item.className && this.addClass(item.className);
|
||||
}
|
||||
/**
|
||||
* Click event for menu item.
|
||||
*/
|
||||
handleClick() {
|
||||
if (this.item.onClick) {
|
||||
// Reset other menu items selected status.
|
||||
for (let i = 0; i < this.button.items?.length; ++i) {
|
||||
this.button.items[i].selected(false);
|
||||
}
|
||||
this.selected(true);
|
||||
return this.item.onClick();
|
||||
}
|
||||
}
|
||||
selected(val) {
|
||||
//@ts-expect-error // getComponent reduant
|
||||
super.selected(val);
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
dist/core/plugins/settings/components/tach-video-menu-item/index.js.map
vendored
Normal file
1
dist/core/plugins/settings/components/tach-video-menu-item/index.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/plugins/settings/components/tach-video-menu-item/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAC;AAM/B,mBAAmB;AACnB,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAS9D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,oBAAoB;IAKlE;;;;;;;OAOG;IACH,YACC,MAAc,EACd,IAAyB,EACzB,MAA2B,EAC3B,MAAwB;QAExB,KAAK,CAAC,MAAM,EAAE;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;SACzB,CAAC,CAAC;QACV,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,WAAW;QACV,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,0CAA0C;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,GAAY;QACpB,0CAA0C;QAC1C,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;CACD"}
|
||||
33
dist/core/plugins/settings/components/tach-video-menu/index.d.ts
vendored
Normal file
33
dist/core/plugins/settings/components/tach-video-menu/index.d.ts
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
import Player from "video.js/dist/types/player";
|
||||
import TachVideoMenuButton from "../tach-video-menu-button";
|
||||
import TachVideoMenuItem from "../tach-video-menu-item";
|
||||
declare const VideoJsMenuClass: typeof import("video.js/dist/types/component").default;
|
||||
type BaseMenuOptions = ConstructorParameters<typeof VideoJsMenuClass>[1];
|
||||
interface TachMenuOptions extends NonNullable<BaseMenuOptions> {
|
||||
menuButton: TachVideoMenuButton;
|
||||
}
|
||||
/**
|
||||
* Extend vjs menu item class.
|
||||
*/
|
||||
export default class TachVideoMenu extends VideoJsMenuClass {
|
||||
private menuOpened_;
|
||||
/**
|
||||
* Menu item constructor.
|
||||
*
|
||||
* @param {Player} player - vjs player
|
||||
* @param {TachPlayerMenuItemOptions} item - Item object
|
||||
* @param {ConcreteButton} button - The containing button.
|
||||
* @param {TachPlayerPlugin} plugin - This plugin instance.
|
||||
*/
|
||||
constructor(player: Player, options: TachMenuOptions);
|
||||
hide(): void;
|
||||
show(): void;
|
||||
addItem(item: TachVideoMenuItem): void;
|
||||
/**
|
||||
* Обновляет пункты меню.
|
||||
* @param {Array<Object|string>} newItems - Массив новых компонентов или их имён, которые будут добавлены в меню.
|
||||
*/
|
||||
updateItems(newItems: TachVideoMenuItem[]): void;
|
||||
}
|
||||
export {};
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
1
dist/core/plugins/settings/components/tach-video-menu/index.d.ts.map
vendored
Normal file
1
dist/core/plugins/settings/components/tach-video-menu/index.d.ts.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/core/plugins/settings/components/tach-video-menu/index.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAEhD,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAGxD,QAAA,MAAM,gBAAgB,wDAA+B,CAAC;AAMtD,KAAK,eAAe,GAAG,qBAAqB,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,UAAU,eAAgB,SAAQ,WAAW,CAAC,eAAe,CAAC;IAC7D,UAAU,EAAE,mBAAmB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,gBAAgB;IAC1D,OAAO,CAAC,WAAW,CAAkB;IACrC;;;;;;;OAOG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe;IAUpD,IAAI;IAMJ,IAAI;IAMJ,OAAO,CAAC,IAAI,EAAE,iBAAiB;IAK/B;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE;CAczC"}
|
||||
56
dist/core/plugins/settings/components/tach-video-menu/index.js
vendored
Normal file
56
dist/core/plugins/settings/components/tach-video-menu/index.js
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
import videojs from "video.js";
|
||||
// Concrete classes
|
||||
const VideoJsMenuClass = videojs.getComponent("Menu");
|
||||
/**
|
||||
* Extend vjs menu item class.
|
||||
*/
|
||||
export default class TachVideoMenu extends VideoJsMenuClass {
|
||||
/**
|
||||
* Menu item constructor.
|
||||
*
|
||||
* @param {Player} player - vjs player
|
||||
* @param {TachPlayerMenuItemOptions} item - Item object
|
||||
* @param {ConcreteButton} button - The containing button.
|
||||
* @param {TachPlayerPlugin} plugin - This plugin instance.
|
||||
*/
|
||||
constructor(player, options) {
|
||||
super(player, options);
|
||||
this.menuOpened_ = false;
|
||||
player.on("userinactive", () => {
|
||||
if (this.menuOpened_) {
|
||||
player.userActive(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
hide() {
|
||||
this.menuOpened_ = false;
|
||||
// Вызов родительского метода скрытия
|
||||
super.hide();
|
||||
}
|
||||
show() {
|
||||
this.menuOpened_ = true;
|
||||
// Вызов родительского метода скрытия
|
||||
super.show();
|
||||
}
|
||||
addItem(item) {
|
||||
//@ts-expect-error getComponent reduant method
|
||||
super.addItem(item);
|
||||
}
|
||||
/**
|
||||
* Обновляет пункты меню.
|
||||
* @param {Array<Object|string>} newItems - Массив новых компонентов или их имён, которые будут добавлены в меню.
|
||||
*/
|
||||
updateItems(newItems) {
|
||||
// Получаем текущих потомков
|
||||
const currentChildren = this.children().slice();
|
||||
// Удаляем все остальные дочерние компоненты.
|
||||
currentChildren.forEach(child => {
|
||||
this.removeChild(child);
|
||||
});
|
||||
// Добавляем новые пункты меню.
|
||||
newItems.forEach(item => {
|
||||
this.addItem(item);
|
||||
});
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
dist/core/plugins/settings/components/tach-video-menu/index.js.map
vendored
Normal file
1
dist/core/plugins/settings/components/tach-video-menu/index.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/plugins/settings/components/tach-video-menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAC;AAM/B,mBAAmB;AACnB,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAWtD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,gBAAgB;IAE1D;;;;;;;OAOG;IACH,YAAY,MAAc,EAAE,OAAwB;QACnD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAVhB,gBAAW,GAAY,KAAK,CAAC;QAYpC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;YAC9B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI;QACH,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,qCAAqC;QACrC,KAAK,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,qCAAqC;QACrC,KAAK,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAuB;QAC9B,8CAA8C;QAC9C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,QAA6B;QACxC,4BAA4B;QAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC;QAEhD,6CAA6C;QAC7C,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
|
||||
Reference in New Issue
Block a user