<commit_before>declare namespace Viewer {
  enum Visibility {
    Hidden = 0,
    Visible = 1,
    VisibleOnMediumOrWiderScreen = 2,
    VisibleOnLargeOrWiderScreen = 3,
    VisibleOnExtraLargeOrWiderScreen = 4,
  }

  enum ToolbarButtonSize {
    Small = 'small',
    Medium = 'medium',
    Large = 'large',
  }

  export interface ToolbarButtonOptions {
    click?: Function,
    show?: boolean | Visibility;
    size?: ToolbarButtonSize,
  }

  export interface ToolbarOptions {
    flipHorizontal?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    flipVertical?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    next?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    oneToOne?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    play?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    prev?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    reset?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    rotateLeft?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    rotateRight?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    zoomIn?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    zoomOut?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
  }

  export interface MoveEventData {
    x: number;
    y: number;
    oldX: number;
    oldY: number;
    originalEvent: PointerEvent | TouchEvent | MouseEvent;
  }

  export interface MoveEvent extends CustomEvent {
    detail: MoveEventData;
  }

  export interface MovedEvent extends CustomEvent {
    detail: MoveEventData;
  }

  export interface RotateEventData {
    degree: number;
    oldDegree: number;
  }

  export interface RotateEvent extends CustomEvent {
    detail: RotateEventData;
  }

  export interface RotatedEvent extends CustomEvent {
    detail: RotateEventData;
  }

  export interface ScaleEventData {
    scaleX: number;
    scaleY: number;
    oldScaleX: number;
    oldScaleY: number;
  }

  export interface ScaleEvent extends CustomEvent {
    detail: ScaleEventData;
  }

  export interface ScaledEvent extends CustomEvent {
    detail: ScaleEventData;
  }

  export interface ZoomEventData {
    originalEvent: WheelEvent | PointerEvent | TouchEvent | MouseEvent;
    oldRatio: number;
    ratio: number;
  }
<commit_msg>fix: add missing `null` type to the `originalEvent` property<commit_after>declare namespace Viewer {
  enum Visibility {
    Hidden = 0,
    Visible = 1,
    VisibleOnMediumOrWiderScreen = 2,
    VisibleOnLargeOrWiderScreen = 3,
    VisibleOnExtraLargeOrWiderScreen = 4,
  }

  enum ToolbarButtonSize {
    Small = 'small',
    Medium = 'medium',
    Large = 'large',
  }

  export interface ToolbarButtonOptions {
    click?: Function,
    show?: boolean | Visibility;
    size?: ToolbarButtonSize,
  }

  export interface ToolbarOptions {
    flipHorizontal?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    flipVertical?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    next?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    oneToOne?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    play?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    prev?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    reset?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    rotateLeft?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    rotateRight?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    zoomIn?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
    zoomOut?: boolean | Visibility | ToolbarButtonSize | Function | ToolbarButtonOptions;
  }

  export interface MoveEventData {
    x: number;
    y: number;
    oldX: number;
    oldY: number;
    originalEvent: PointerEvent | TouchEvent | MouseEvent | null;
  }

  export interface MoveEvent extends CustomEvent {
    detail: MoveEventData;
  }

  export interface MovedEvent extends CustomEvent {
    detail: MoveEventData;
  }

  export interface RotateEventData {
    degree: number;
    oldDegree: number;
  }

  export interface RotateEvent extends CustomEvent {
    detail: RotateEventData;
  }

  export interface RotatedEvent extends CustomEvent {
    detail: RotateEventData;
  }

  export interface ScaleEventData {
    scaleX: number;
    scaleY: number;
    oldScaleX: number;
    oldScaleY: number;
  }

  export interface ScaleEvent extends CustomEvent {
    detail: ScaleEventData;
  }

  export interface ScaledEvent extends CustomEvent {
    detail: ScaleEventData;
  }

  export interface ZoomEventData {
    ratio: number;
    oldRatio: number;
    originalEvent: WheelEvent | PointerEvent | TouchEvent | MouseEvent | null;
  }

{'fraction_non_alphanumeric': 0.07374975676201595, 'fraction_numerical': 0.001945903872348706, 'mean_word_length': 3.9470644850818095, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6565277', 'n_tokens_mistral': 1451, 'n_tokens_neox': 1382, 'n_words': 388}