(MSIN+) db.msin.jp improved

Check the Porn code to MISSAV and Sukebei if it exist.

2023-11-21 يوللانغان نەشرى. ئەڭ يېڭى نەشرىنى كۆرۈش.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         (MSIN+) db.msin.jp improved
// @namespace    https://github.com/KememChan
// @version      1.4.0
// @author       KememChan
// @description  Check the Porn code to MISSAV and Sukebei if it exist.
// @icon         https://db.msin.jp/favicon.ico
// @match        https://db.msin.jp/*page/*
// @match        https://db.msin.jp/*search/*
// @match        https://db.msin.jp/*ranking/*
// @require      https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js
// @grant        GM.xmlHttpRequest
// @grant        GM_addElement
// @grant        GM_addStyle
// @grant        GM_xmlhttpRequest
// ==/UserScript==

(t=>{const e=document.createElement("style");e.dataset.source="vite-plugin-monkey",e.innerText=t,document.head.appendChild(e)})('@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@100;400;500;600;900&display=swap";:root{--font-size:1em}video.svelte-5u5jjm.svelte-5u5jjm{width:100%}.hidden.svelte-5u5jjm.svelte-5u5jjm{display:none}.link.svelte-5u5jjm.svelte-5u5jjm{height:1.2rem;margin-top:.2rem;padding:5px;background-color:#6c738033;display:flex;gap:5px;justify-content:center}.movie_desc.svelte-5u5jjm.svelte-5u5jjm{font-size:var(--font-size);font-family:Century Gothic,CenturyGothic,Geneva,AppleGothic,sans-serif;font-weight:700;text-align:center}.rounded.svelte-5u5jjm.svelte-5u5jjm{border-radius:5px}img.svelte-5u5jjm.svelte-5u5jjm{height:100%}.movie_thumbnail.svelte-5u5jjm.svelte-5u5jjm{aspect-ratio:16 / 9;background:rgb(15 17 18);overflow:hidden;text-align:center;display:flex;justify-content:center;margin:.5rem .5rem 0}a.svelte-5u5jjm.svelte-5u5jjm{color:#bfbdb6;text-decoration:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.movie_desc.svelte-5u5jjm>.svelte-5u5jjm:hover{color:#ff8c00}.movie.svelte-5u5jjm.svelte-5u5jjm{background:rgb(36 39 41);display:flex;flex-direction:column;opacity:0;transition:cubic-bezier(1,0,0,1) .8s}.movie_desc.svelte-5u5jjm.svelte-5u5jjm{display:grid;padding:.5rem}.movie_code.svelte-5u5jjm.svelte-5u5jjm{color:#bfbdb6;font-size:calc(var(--font-size) + .2em)}.movie_actress.svelte-5u5jjm.svelte-5u5jjm{color:#39bae6}@media screen and (min-width: 1400px){:root{--font-size:.8rem}}@media screen and (min-width: 1700px){:root{--font-size:.9rem}}.getmagnetbutton.svelte-5wqp10{display:flex;justify-content:center}.btn.svelte-5wqp10{-webkit-border-radius:28;-moz-border-radius:28;border-radius:28px;font-family:Arial;color:#fff;font-size:15px;background:#823a58;padding:10px 20px;text-decoration:none}.btn.svelte-5wqp10:hover{background:#b36183;text-decoration:none}.movie_grid.svelte-11wt7vu{--grid-count:auto-fit;margin:1rem 0;display:grid;grid-template-columns:repeat(var(--grid-count),minmax(min(100px,100%),1fr));gap:1rem}@media screen and (max-width: 500px){.movie_grid.svelte-11wt7vu{--grid-count:2}:root{--font-size:.8em}}@media screen and (min-width: 1600px){.movie_grid.svelte-11wt7vu{--grid-count:6}}.body.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{background-color:#0a0a0a;color:#fff;font-size:13px;display:flex;justify-content:center}:root{--primary-color:linear-gradient( 0deg, hsla(0, 0%, 9%, 1) 0%, hsla(0, 0%, 10%, 1) 100% )}.hidden.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{display:none}video.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{width:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10}#gbtn.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{height:auto;width:10rem;height:3rem;margin-top:1.1rem;background-color:#873ed6;cursor:pointer}.grid.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{display:grid;grid-gap:25px;padding:10px;width:100%;max-width:65em}.grid.svelte-5bq3e0>.svelte-5bq3e0.svelte-5bq3e0{position:relative;border-radius:10px;border:2px solid #6b32a8}.grid.svelte-5bq3e0>.svelte-5bq3e0.svelte-5bq3e0:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;z-index:-1;background:linear-gradient(-45deg,#e81cff 0%,#40c9ff 100%);border-radius:10px}.image-poster.svelte-5bq3e0 img.svelte-5bq3e0.svelte-5bq3e0{width:100%;padding:1px;border-radius:10px;position:relative;display:flex;justify-content:center}.actress-thumbnail.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{display:flex;justify-content:center;align-items:center;position:relative}.actress-thumbnail.svelte-5bq3e0 img.svelte-5bq3e0.svelte-5bq3e0{border-radius:20%;width:100%}.total-movie.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{position:absolute;top:2px;left:5px;background-color:#873ed6;padding:5px;border-radius:100%;font-size:11px}.movie-actress.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{background:var(--primary-color);display:flex;justify-content:center;align-items:center;flex-direction:column;padding:1rem}.actress-row.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{display:flex;justify-content:center;flex-direction:row;flex-wrap:wrap}.actress.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{padding:.5rem;width:90px}.actress-name.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{text-align:center}.movie-details.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{background:var(--primary-color);display:grid;grid-auto-columns:auto;gap:.6rem;padding:1rem 0;padding:.8rem;text-align:center}.genre-box.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{background:var(--primary-color);padding:1rem 0;text-align:center}.genre-list.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.genre-list.svelte-5bq3e0>label.svelte-5bq3e0.svelte-5bq3e0{background-color:#442d60;user-select:none;padding:.5rem;cursor:pointer}.genre-list.svelte-5bq3e0 label.svelte-5bq3e0.svelte-5bq3e0:hover{background-color:#c863c9}.genre-list.svelte-5bq3e0 input.svelte-5bq3e0.svelte-5bq3e0{display:none}.genre-list.svelte-5bq3e0 input.svelte-5bq3e0:checked+label.svelte-5bq3e0{background-color:#873ed6}@media screen and (min-width: 35em){.body.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{font-size:15px}.grid.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{grid-template-columns:repeat(4,minmax(min(120px,100%),1fr))}.image-poster.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{grid-area:1 / 1 / -1 / -1}.movie-details.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{grid-area:var(--movie-details)}.genre-box.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{grid-area:auto / 1 / auto / -1}.movie-actress.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{grid-area:var(--movie-actress)}.actress.svelte-5bq3e0.svelte-5bq3e0.svelte-5bq3e0{width:120px}}');

var __plugin_monkey_exposed = function($2) {
  "use strict";
  function noop() {
  }
  function assign(tar, src) {
    for (const k in src)
      tar[k] = src[k];
    return tar;
  }
  function run(fn) {
    return fn();
  }
  function blank_object() {
    return /* @__PURE__ */ Object.create(null);
  }
  function run_all(fns) {
    fns.forEach(run);
  }
  function is_function(thing) {
    return typeof thing === "function";
  }
  function safe_not_equal(a, b) {
    return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function");
  }
  let src_url_equal_anchor;
  function src_url_equal(element_src, url) {
    if (!src_url_equal_anchor) {
      src_url_equal_anchor = document.createElement("a");
    }
    src_url_equal_anchor.href = url;
    return element_src === src_url_equal_anchor.href;
  }
  function is_empty(obj) {
    return Object.keys(obj).length === 0;
  }
  function action_destroyer(action_result) {
    return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;
  }
  function append(target, node) {
    target.appendChild(node);
  }
  function insert(target, node, anchor) {
    target.insertBefore(node, anchor || null);
  }
  function detach(node) {
    if (node.parentNode) {
      node.parentNode.removeChild(node);
    }
  }
  function destroy_each(iterations, detaching) {
    for (let i = 0; i < iterations.length; i += 1) {
      if (iterations[i])
        iterations[i].d(detaching);
    }
  }
  function element(name) {
    return document.createElement(name);
  }
  function text(data) {
    return document.createTextNode(data);
  }
  function space() {
    return text(" ");
  }
  function listen(node, event, handler, options) {
    node.addEventListener(event, handler, options);
    return () => node.removeEventListener(event, handler, options);
  }
  function attr(node, attribute, value) {
    if (value == null)
      node.removeAttribute(attribute);
    else if (node.getAttribute(attribute) !== value)
      node.setAttribute(attribute, value);
  }
  function children(element2) {
    return Array.from(element2.childNodes);
  }
  function set_data(text2, data) {
    data = "" + data;
    if (text2.wholeText !== data)
      text2.data = data;
  }
  function set_style(node, key, value, important) {
    if (value === null) {
      node.style.removeProperty(key);
    } else {
      node.style.setProperty(key, value, important ? "important" : "");
    }
  }
  function toggle_class(element2, name, toggle) {
    element2.classList[toggle ? "add" : "remove"](name);
  }
  let current_component;
  function set_current_component(component) {
    current_component = component;
  }
  function get_current_component() {
    if (!current_component)
      throw new Error("Function called outside component initialization");
    return current_component;
  }
  function onMount(fn) {
    get_current_component().$$.on_mount.push(fn);
  }
  const dirty_components = [];
  const binding_callbacks = [];
  const render_callbacks = [];
  const flush_callbacks = [];
  const resolved_promise = Promise.resolve();
  let update_scheduled = false;
  function schedule_update() {
    if (!update_scheduled) {
      update_scheduled = true;
      resolved_promise.then(flush);
    }
  }
  function add_render_callback(fn) {
    render_callbacks.push(fn);
  }
  const seen_callbacks = /* @__PURE__ */ new Set();
  let flushidx = 0;
  function flush() {
    if (flushidx !== 0) {
      return;
    }
    const saved_component = current_component;
    do {
      try {
        while (flushidx < dirty_components.length) {
          const component = dirty_components[flushidx];
          flushidx++;
          set_current_component(component);
          update(component.$$);
        }
      } catch (e) {
        dirty_components.length = 0;
        flushidx = 0;
        throw e;
      }
      set_current_component(null);
      dirty_components.length = 0;
      flushidx = 0;
      while (binding_callbacks.length)
        binding_callbacks.pop()();
      for (let i = 0; i < render_callbacks.length; i += 1) {
        const callback = render_callbacks[i];
        if (!seen_callbacks.has(callback)) {
          seen_callbacks.add(callback);
          callback();
        }
      }
      render_callbacks.length = 0;
    } while (dirty_components.length);
    while (flush_callbacks.length) {
      flush_callbacks.pop()();
    }
    update_scheduled = false;
    seen_callbacks.clear();
    set_current_component(saved_component);
  }
  function update($$) {
    if ($$.fragment !== null) {
      $$.update();
      run_all($$.before_update);
      const dirty = $$.dirty;
      $$.dirty = [-1];
      $$.fragment && $$.fragment.p($$.ctx, dirty);
      $$.after_update.forEach(add_render_callback);
    }
  }
  const outroing = /* @__PURE__ */ new Set();
  let outros;
  function group_outros() {
    outros = {
      r: 0,
      c: [],
      p: outros
      // parent group
    };
  }
  function check_outros() {
    if (!outros.r) {
      run_all(outros.c);
    }
    outros = outros.p;
  }
  function transition_in(block, local) {
    if (block && block.i) {
      outroing.delete(block);
      block.i(local);
    }
  }
  function transition_out(block, local, detach2, callback) {
    if (block && block.o) {
      if (outroing.has(block))
        return;
      outroing.add(block);
      outros.c.push(() => {
        outroing.delete(block);
        if (callback) {
          if (detach2)
            block.d(1);
          callback();
        }
      });
      block.o(local);
    } else if (callback) {
      callback();
    }
  }
  function get_spread_update(levels, updates) {
    const update2 = {};
    const to_null_out = {};
    const accounted_for = { $$scope: 1 };
    let i = levels.length;
    while (i--) {
      const o = levels[i];
      const n = updates[i];
      if (n) {
        for (const key in o) {
          if (!(key in n))
            to_null_out[key] = 1;
        }
        for (const key in n) {
          if (!accounted_for[key]) {
            update2[key] = n[key];
            accounted_for[key] = 1;
          }
        }
        levels[i] = n;
      } else {
        for (const key in o) {
          accounted_for[key] = 1;
        }
      }
    }
    for (const key in to_null_out) {
      if (!(key in update2))
        update2[key] = void 0;
    }
    return update2;
  }
  function get_spread_object(spread_props) {
    return typeof spread_props === "object" && spread_props !== null ? spread_props : {};
  }
  function create_component(block) {
    block && block.c();
  }
  function mount_component(component, target, anchor, customElement) {
    const { fragment, after_update } = component.$$;
    fragment && fragment.m(target, anchor);
    if (!customElement) {
      add_render_callback(() => {
        const new_on_destroy = component.$$.on_mount.map(run).filter(is_function);
        if (component.$$.on_destroy) {
          component.$$.on_destroy.push(...new_on_destroy);
        } else {
          run_all(new_on_destroy);
        }
        component.$$.on_mount = [];
      });
    }
    after_update.forEach(add_render_callback);
  }
  function destroy_component(component, detaching) {
    const $$ = component.$$;
    if ($$.fragment !== null) {
      run_all($$.on_destroy);
      $$.fragment && $$.fragment.d(detaching);
      $$.on_destroy = $$.fragment = null;
      $$.ctx = [];
    }
  }
  function make_dirty(component, i) {
    if (component.$$.dirty[0] === -1) {
      dirty_components.push(component);
      schedule_update();
      component.$$.dirty.fill(0);
    }
    component.$$.dirty[i / 31 | 0] |= 1 << i % 31;
  }
  function init(component, options, instance2, create_fragment2, not_equal, props, append_styles, dirty = [-1]) {
    const parent_component = current_component;
    set_current_component(component);
    const $$ = component.$$ = {
      fragment: null,
      ctx: [],
      // state
      props,
      update: noop,
      not_equal,
      bound: blank_object(),
      // lifecycle
      on_mount: [],
      on_destroy: [],
      on_disconnect: [],
      before_update: [],
      after_update: [],
      context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),
      // everything else
      callbacks: blank_object(),
      dirty,
      skip_bound: false,
      root: options.target || parent_component.$$.root
    };
    append_styles && append_styles($$.root);
    let ready = false;
    $$.ctx = instance2 ? instance2(component, options.props || {}, (i, ret, ...rest) => {
      const value = rest.length ? rest[0] : ret;
      if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {
        if (!$$.skip_bound && $$.bound[i])
          $$.bound[i](value);
        if (ready)
          make_dirty(component, i);
      }
      return ret;
    }) : [];
    $$.update();
    ready = true;
    run_all($$.before_update);
    $$.fragment = create_fragment2 ? create_fragment2($$.ctx) : false;
    if (options.target) {
      if (options.hydrate) {
        const nodes = children(options.target);
        $$.fragment && $$.fragment.l(nodes);
        nodes.forEach(detach);
      } else {
        $$.fragment && $$.fragment.c();
      }
      if (options.intro)
        transition_in(component.$$.fragment);
      mount_component(component, options.target, options.anchor, options.customElement);
      flush();
    }
    set_current_component(parent_component);
  }
  class SvelteComponent {
    $destroy() {
      destroy_component(this, 1);
      this.$destroy = noop;
    }
    $on(type, callback) {
      if (!is_function(callback)) {
        return noop;
      }
      const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);
      callbacks.push(callback);
      return () => {
        const index = callbacks.indexOf(callback);
        if (index !== -1)
          callbacks.splice(index, 1);
      };
    }
    $set($$props) {
      if (this.$$set && !is_empty($$props)) {
        this.$$.skip_bound = true;
        this.$$set($$props);
        this.$$.skip_bound = false;
      }
    }
  }
  var monkeyWindow = window;
  var GM_addElement = /* @__PURE__ */ (() => monkeyWindow.GM_addElement)();
  var GM_addStyle = /* @__PURE__ */ (() => monkeyWindow.GM_addStyle)();
  var GM_xmlhttpRequest = /* @__PURE__ */ (() => monkeyWindow.GM_xmlhttpRequest)();
  const xmlhttpRequest = /* @__PURE__ */ (() => {
    return monkeyWindow.GM_xmlhttpRequest ?? monkeyWindow.GM.xmlHttpRequest;
  })();
  const fixUrl = (url = "") => {
    try {
      return url === "" && location.href ? location.href : url;
    } catch {
      return url;
    }
  };
  const delay = async (n = 0) => new Promise((res) => {
    setTimeout(res, n);
  });
  const parseHeaders = (rawHeaders = "") => {
    const headers = new Headers();
    const preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, " ");
    preProcessedHeaders.split("\r").map(function(header) {
      return header.startsWith(`
`) ? header.substring(1) : header;
    }).forEach(function(line) {
      var _a;
      let parts = line.split(":");
      let key = (_a = parts.shift()) == null ? void 0 : _a.trim();
      if (key) {
        let value = parts.join(":").trim();
        headers.append(key, value);
      }
    });
    return headers;
  };
  const GM_fetch = async (input, init2 = {}) => {
    const request = new Request(input, init2);
    if (request.signal && request.signal.aborted) {
      throw new DOMException("Aborted", "AbortError");
    }
    let data = await request.text();
    let binary = true;
    const headers = {};
    request.headers.forEach((value, key) => {
      headers[key] = value;
    });
    new Headers(init2.headers).forEach((value, key) => {
      headers[key] = value;
    });
    return new Promise((resolve, reject) => {
      var _a;
      const handle = xmlhttpRequest({
        method: request.method.toUpperCase(),
        url: fixUrl(request.url),
        headers,
        data,
        binary,
        responseType: "blob",
        async onload(e) {
          await delay();
          const resp = new Response(e.response ?? e.responseText, {
            status: e.status,
            statusText: e.statusText,
            headers: parseHeaders(e.responseHeaders)
          });
          Object.defineProperty(resp, "url", { value: e.finalUrl });
          resolve(resp);
        },
        async onerror() {
          await delay();
          reject(new TypeError("Network request failed"));
        },
        async ontimeout() {
          await delay();
          reject(new TypeError("Network request failed"));
        },
        async onabort() {
          await delay();
          reject(new DOMException("Aborted", "AbortError"));
        },
        async onreadystatechange(response) {
          var _a2;
          if (response.readyState === 4) {
            (_a2 = request.signal) == null ? void 0 : _a2.removeEventListener("abort", abortXhr);
          }
        }
      });
      function abortXhr() {
        handle.abort();
      }
      (_a = request.signal) == null ? void 0 : _a.addEventListener("abort", abortXhr);
    });
  };
  let intersectionObserver;
  function ensureIntersectionObserver() {
    if (intersectionObserver)
      return;
    intersectionObserver = new IntersectionObserver(
      (entries) => {
        entries.forEach((entry) => {
          const eventName = entry.isIntersecting ? "enterViewport" : "exitViewport";
          entry.target.dispatchEvent(new CustomEvent(eventName));
        });
      }
    );
  }
  function viewport(element2) {
    ensureIntersectionObserver();
    intersectionObserver.observe(element2);
    return {
      destroy() {
        intersectionObserver.unobserve(element2);
      }
    };
  }
  function MissAV(code, card) {
    const missavUrl = `https://missav.com/en/search/${code.getAttribute(
      "missavcode"
    )}`;
    console.log(`requesting ${missavUrl}`);
    GM_xmlhttpRequest({
      url: missavUrl,
      onload(response) {
        const grid = $2(response.responseText).find("div.grid div.relative");
        let previewUrl;
        const uncen = $2(response.responseText).find("span:contains('Uncensored Leak')").parent().parent().find("video").attr("data-src");
        if (uncen) {
          previewUrl = uncen;
        } else {
          previewUrl = $2(response.responseText).find("video").first().attr("data-src");
        }
        if (grid.length) {
          code.setAttribute("href", missavUrl);
          code.setAttribute("target", "_blank");
          code.setAttribute("preview", previewUrl);
          if (uncen) {
            code.style.color = "#50e1d0";
          } else {
            code.style.color = "#e15062";
          }
        } else {
          card.style.filter = "brightness(0.5)";
        }
      }
    });
  }
  const _Content_svelte_svelte_type_style_lang = "";
  function create_fragment$5(ctx) {
    let div3;
    let div0;
    let video;
    let t0;
    let img;
    let img_src_value;
    let t1;
    let div2;
    let a0;
    let t2;
    let t3;
    let a1;
    let t4;
    let t5;
    let t6;
    let t7;
    let a2;
    let t8;
    let t9;
    let a3;
    let t10;
    let t11;
    let a4;
    let t12;
    let t13;
    let a5;
    let t14;
    let t15;
    let div1;
    let mounted;
    let dispose;
    return {
      c() {
        div3 = element("div");
        div0 = element("div");
        video = element("video");
        t0 = space();
        img = element("img");
        t1 = space();
        div2 = element("div");
        a0 = element("a");
        t2 = text(
          /*movieCode*/
          ctx[1]
        );
        t3 = space();
        a1 = element("a");
        t4 = text(
          /*movieDate*/
          ctx[2]
        );
        t5 = space();
        t6 = text(
          /*ageWhenRelease*/
          ctx[9]
        );
        t7 = space();
        a2 = element("a");
        t8 = text(
          /*movieTitle*/
          ctx[5]
        );
        t9 = space();
        a3 = element("a");
        t10 = text(
          /*mfr*/
          ctx[3]
        );
        t11 = space();
        a4 = element("a");
        t12 = text(
          /*movieMaker*/
          ctx[4]
        );
        t13 = space();
        a5 = element("a");
        t14 = text(
          /*name*/
          ctx[6]
        );
        t15 = space();
        div1 = element("div");
        video.autoplay = true;
        video.loop = true;
        video.muted = true;
        video.playsInline = true;
        attr(video, "class", "svelte-5u5jjm");
        toggle_class(
          video,
          "hidden",
          /*hidden*/
          ctx[17] === true
        );
        if (!src_url_equal(img.src, img_src_value = /*thumbnail*/
        ctx[0]))
          attr(img, "src", img_src_value);
        attr(img, "loading", "lazy");
        attr(img, "alt", "thumbnail image");
        attr(img, "class", "svelte-5u5jjm");
        toggle_class(
          img,
          "hidden",
          /*hidden*/
          ctx[17] === false
        );
        attr(div0, "class", "movie_thumbnail rounded text-center width-ratio svelte-5u5jjm");
        attr(
          a0,
          "href",
          /*movieCodeUrl*/
          ctx[7]
        );
        attr(a0, "class", "movie_code svelte-5u5jjm");
        attr(
          a1,
          "href",
          /*movieDateUrl*/
          ctx[8]
        );
        attr(a1, "class", "movie_date svelte-5u5jjm");
        attr(
          a2,
          "href",
          /*movieTitleUrl*/
          ctx[12]
        );
        attr(a2, "class", "movie_title svelte-5u5jjm");
        attr(
          a3,
          "href",
          /*mfrUrl*/
          ctx[10]
        );
        attr(a3, "class", "mfr svelte-5u5jjm");
        attr(
          a4,
          "href",
          /*movieMakerUrl*/
          ctx[11]
        );
        attr(a4, "class", "movie_maker svelte-5u5jjm");
        attr(
          a5,
          "href",
          /*nameUrl*/
          ctx[13]
        );
        attr(a5, "class", "movie_actress svelte-5u5jjm");
        attr(div1, "class", "link rounded svelte-5u5jjm");
        attr(div2, "class", "movie_desc svelte-5u5jjm");
        attr(div3, "class", "movie rounded svelte-5u5jjm");
      },
      m(target, anchor) {
        insert(target, div3, anchor);
        append(div3, div0);
        append(div0, video);
        append(div0, t0);
        append(div0, img);
        ctx[23](div0);
        append(div3, t1);
        append(div3, div2);
        append(div2, a0);
        append(a0, t2);
        ctx[24](a0);
        append(div2, t3);
        append(div2, a1);
        append(a1, t4);
        append(a1, t5);
        append(a1, t6);
        append(div2, t7);
        append(div2, a2);
        append(a2, t8);
        append(div2, t9);
        append(div2, a3);
        append(a3, t10);
        append(div2, t11);
        append(div2, a4);
        append(a4, t12);
        append(div2, t13);
        append(div2, a5);
        append(a5, t14);
        append(div2, t15);
        append(div2, div1);
        ctx[25](div3);
        if (!mounted) {
          dispose = [
            listen(
              div0,
              "mouseenter",
              /*setPreview*/
              ctx[19]
            ),
            listen(
              div0,
              "mouseleave",
              /*unSetPreview*/
              ctx[20]
            ),
            listen(
              div0,
              "keydown",
              /*setPreview*/
              ctx[19]
            ),
            action_destroyer(viewport.call(null, div3)),
            listen(
              div3,
              "enterViewport",
              /*enterViewport_handler*/
              ctx[26]
            ),
            listen(
              div3,
              "exitViewport",
              /*exitViewport_handler*/
              ctx[27]
            )
          ];
          mounted = true;
        }
      },
      p(ctx2, [dirty]) {
        if (dirty & /*hidden*/
        131072) {
          toggle_class(
            video,
            "hidden",
            /*hidden*/
            ctx2[17] === true
          );
        }
        if (dirty & /*thumbnail*/
        1 && !src_url_equal(img.src, img_src_value = /*thumbnail*/
        ctx2[0])) {
          attr(img, "src", img_src_value);
        }
        if (dirty & /*hidden*/
        131072) {
          toggle_class(
            img,
            "hidden",
            /*hidden*/
            ctx2[17] === false
          );
        }
        if (dirty & /*movieCode*/
        2)
          set_data(
            t2,
            /*movieCode*/
            ctx2[1]
          );
        if (dirty & /*movieCodeUrl*/
        128) {
          attr(
            a0,
            "href",
            /*movieCodeUrl*/
            ctx2[7]
          );
        }
        if (dirty & /*movieDate*/
        4)
          set_data(
            t4,
            /*movieDate*/
            ctx2[2]
          );
        if (dirty & /*ageWhenRelease*/
        512)
          set_data(
            t6,
            /*ageWhenRelease*/
            ctx2[9]
          );
        if (dirty & /*movieDateUrl*/
        256) {
          attr(
            a1,
            "href",
            /*movieDateUrl*/
            ctx2[8]
          );
        }
        if (dirty & /*movieTitle*/
        32)
          set_data(
            t8,
            /*movieTitle*/
            ctx2[5]
          );
        if (dirty & /*movieTitleUrl*/
        4096) {
          attr(
            a2,
            "href",
            /*movieTitleUrl*/
            ctx2[12]
          );
        }
        if (dirty & /*mfr*/
        8)
          set_data(
            t10,
            /*mfr*/
            ctx2[3]
          );
        if (dirty & /*mfrUrl*/
        1024) {
          attr(
            a3,
            "href",
            /*mfrUrl*/
            ctx2[10]
          );
        }
        if (dirty & /*movieMaker*/
        16)
          set_data(
            t12,
            /*movieMaker*/
            ctx2[4]
          );
        if (dirty & /*movieMakerUrl*/
        2048) {
          attr(
            a4,
            "href",
            /*movieMakerUrl*/
            ctx2[11]
          );
        }
        if (dirty & /*name*/
        64)
          set_data(
            t14,
            /*name*/
            ctx2[6]
          );
        if (dirty & /*nameUrl*/
        8192) {
          attr(
            a5,
            "href",
            /*nameUrl*/
            ctx2[13]
          );
        }
      },
      i: noop,
      o: noop,
      d(detaching) {
        if (detaching)
          detach(div3);
        ctx[23](null);
        ctx[24](null);
        ctx[25](null);
        mounted = false;
        run_all(dispose);
      }
    };
  }
  function instance$5($$self, $$props, $$invalidate) {
    let { thumbnail } = $$props;
    let { movieCode } = $$props;
    let { missAVCode } = $$props;
    let { sukebeiCode } = $$props;
    let { movieDate } = $$props;
    let { mfr } = $$props;
    let { movieMaker } = $$props;
    let { movieTitle } = $$props;
    let { name } = $$props;
    let { movieCodeUrl } = $$props;
    let { movieDateUrl } = $$props;
    let { ageWhenRelease } = $$props;
    let { mfrUrl } = $$props;
    let { movieMakerUrl } = $$props;
    let { movieTitleUrl } = $$props;
    let { nameUrl } = $$props;
    let preview, code;
    let card;
    onMount(() => {
      code.setAttribute("missavcode", missAVCode);
      code.setAttribute("sukebeicode", sukebeiCode);
    });
    function entervp() {
      if (!code.getAttribute("scanned")) {
        code.getAttribute("missavcode");
        MissAV(code, card);
      }
      code.setAttribute("scanned", "true");
      $$invalidate(16, card.style.opacity = "1", card);
    }
    let hidden = true;
    async function setPreview() {
      if (!code.getAttribute("preview")) {
        return;
      }
      if (!preview.querySelector("video").getAttribute("src")) {
        const url = code.getAttribute("preview");
        const resp = await GM_fetch(url, {
          headers: { referer: "https://missav.com/en" }
        });
        const blob = await resp.blob();
        const previewUrl = URL.createObjectURL(blob);
        preview.querySelector("video").setAttribute("src", previewUrl);
      }
      $$invalidate(17, hidden = false);
    }
    function unSetPreview() {
      $$invalidate(17, hidden = true);
    }
    function div0_binding($$value) {
      binding_callbacks[$$value ? "unshift" : "push"](() => {
        preview = $$value;
        $$invalidate(14, preview);
      });
    }
    function a0_binding($$value) {
      binding_callbacks[$$value ? "unshift" : "push"](() => {
        code = $$value;
        $$invalidate(15, code);
      });
    }
    function div3_binding($$value) {
      binding_callbacks[$$value ? "unshift" : "push"](() => {
        card = $$value;
        $$invalidate(16, card);
      });
    }
    const enterViewport_handler = () => {
      entervp();
    };
    const exitViewport_handler = () => {
    };
    $$self.$$set = ($$props2) => {
      if ("thumbnail" in $$props2)
        $$invalidate(0, thumbnail = $$props2.thumbnail);
      if ("movieCode" in $$props2)
        $$invalidate(1, movieCode = $$props2.movieCode);
      if ("missAVCode" in $$props2)
        $$invalidate(21, missAVCode = $$props2.missAVCode);
      if ("sukebeiCode" in $$props2)
        $$invalidate(22, sukebeiCode = $$props2.sukebeiCode);
      if ("movieDate" in $$props2)
        $$invalidate(2, movieDate = $$props2.movieDate);
      if ("mfr" in $$props2)
        $$invalidate(3, mfr = $$props2.mfr);
      if ("movieMaker" in $$props2)
        $$invalidate(4, movieMaker = $$props2.movieMaker);
      if ("movieTitle" in $$props2)
        $$invalidate(5, movieTitle = $$props2.movieTitle);
      if ("name" in $$props2)
        $$invalidate(6, name = $$props2.name);
      if ("movieCodeUrl" in $$props2)
        $$invalidate(7, movieCodeUrl = $$props2.movieCodeUrl);
      if ("movieDateUrl" in $$props2)
        $$invalidate(8, movieDateUrl = $$props2.movieDateUrl);
      if ("ageWhenRelease" in $$props2)
        $$invalidate(9, ageWhenRelease = $$props2.ageWhenRelease);
      if ("mfrUrl" in $$props2)
        $$invalidate(10, mfrUrl = $$props2.mfrUrl);
      if ("movieMakerUrl" in $$props2)
        $$invalidate(11, movieMakerUrl = $$props2.movieMakerUrl);
      if ("movieTitleUrl" in $$props2)
        $$invalidate(12, movieTitleUrl = $$props2.movieTitleUrl);
      if ("nameUrl" in $$props2)
        $$invalidate(13, nameUrl = $$props2.nameUrl);
    };
    return [
      thumbnail,
      movieCode,
      movieDate,
      mfr,
      movieMaker,
      movieTitle,
      name,
      movieCodeUrl,
      movieDateUrl,
      ageWhenRelease,
      mfrUrl,
      movieMakerUrl,
      movieTitleUrl,
      nameUrl,
      preview,
      code,
      card,
      hidden,
      entervp,
      setPreview,
      unSetPreview,
      missAVCode,
      sukebeiCode,
      div0_binding,
      a0_binding,
      div3_binding,
      enterViewport_handler,
      exitViewport_handler
    ];
  }
  class Content extends SvelteComponent {
    constructor(options) {
      super();
      init(this, options, instance$5, create_fragment$5, safe_not_equal, {
        thumbnail: 0,
        movieCode: 1,
        missAVCode: 21,
        sukebeiCode: 22,
        movieDate: 2,
        mfr: 3,
        movieMaker: 4,
        movieTitle: 5,
        name: 6,
        movieCodeUrl: 7,
        movieDateUrl: 8,
        ageWhenRelease: 9,
        mfrUrl: 10,
        movieMakerUrl: 11,
        movieTitleUrl: 12,
        nameUrl: 13
      });
    }
  }
  const _GetAllMagnet_svelte_svelte_type_style_lang = "";
  function create_fragment$4(ctx) {
    let div;
    let button;
    let mounted;
    let dispose;
    return {
      c() {
        div = element("div");
        button = element("button");
        button.textContent = "Copy All Magnet";
        attr(button, "class", "btn svelte-5wqp10");
        attr(div, "class", "getmagnetbutton svelte-5wqp10");
      },
      m(target, anchor) {
        insert(target, div, anchor);
        append(div, button);
        if (!mounted) {
          dispose = listen(
            button,
            "click",
            /*getAllMagnet*/
            ctx[0]
          );
          mounted = true;
        }
      },
      p: noop,
      i: noop,
      o: noop,
      d(detaching) {
        if (detaching)
          detach(div);
        mounted = false;
        dispose();
      }
    };
  }
  function instance$4($$self) {
    function getAllMagnet() {
      let magnets = [];
      for (let magnetel of $2(".fa-magnet")) {
        const magnet = $2(magnetel).attr("href");
        magnets.push(magnet);
      }
      navigator.clipboard.writeText(magnets.join("\n"));
    }
    return [getAllMagnet];
  }
  class GetAllMagnet extends SvelteComponent {
    constructor(options) {
      super();
      init(this, options, instance$4, create_fragment$4, safe_not_equal, {});
    }
  }
  function CalculateDate(past, present) {
    if (past.length === 0) {
      return "";
    }
    const pastDate = new Date(past);
    const presentDate = new Date(present);
    const yearDiff = presentDate.getFullYear() - pastDate.getFullYear();
    const monthDiff = presentDate.getMonth() - pastDate.getMonth();
    let totalMonths = yearDiff * 12 + monthDiff;
    if (presentDate.getDate() < pastDate.getDate()) {
      totalMonths--;
    }
    const years = Math.floor(totalMonths / 12);
    const months = totalMonths % 12;
    return `| ${years} years and ${months} months old`;
  }
  function MovieElement() {
    let movies = [];
    const regex = /^(carib|caribpr|1pon|10mu|paco)+-(\d.+)/i;
    const pacomama = /^(paco)+-(\d.+)/i;
    const movie_infos = $2(".movie_info");
    const birthDate = $2(".mv_barth").text();
    for (const movie_info of movie_infos) {
      let sukebeiCode = $2(movie_info).find(".movie_pn").text().toUpperCase();
      if (sukebeiCode.length === 0) {
        sukebeiCode = $2(movie_info).find(".movie_fileName").text().toUpperCase();
      }
      let missAVCode = sukebeiCode;
      if (regex.test(sukebeiCode)) {
        if (pacomama.test(missAVCode)) {
          missAVCode = pacomama.exec(missAVCode)[2];
        }
        sukebeiCode = regex.exec(sukebeiCode)[2];
      }
      let name = $2(movie_info).find(".movie_artist").children().children();
      if (name.length === 0) {
        name = "No Name";
      } else {
        name = name.text();
      }
      const movie = {
        thumbnail: $2(movie_info).find("img").attr("src"),
        movieCode: sukebeiCode,
        missAVCode: sukebeiCode,
        sukebeiCode,
        movieCodeUrl: $2(movie_info).find(".movie_title").children().attr("href"),
        movieDate: $2(movie_info).find(".movie_create").children().text(),
        ageWhenRelease: CalculateDate(birthDate, $2(movie_info).find(".movie_create").children().text()),
        movieDateUrl: $2(movie_info).find(".movie_create").children().attr("href"),
        mfr: $2(movie_info).find(".movie_mfr").children().text(),
        mfrUrl: $2(movie_info).find(".movie_mfr").children().attr("href"),
        movieMaker: $2(movie_info).find(".movie_writer").children().text(),
        movieMakerUrl: $2(movie_info).find(".movie_writer").children().attr("href"),
        name,
        nameUrl: $2(movie_info).find(".movie_artist").children().children().attr("href"),
        movieTitle: $2(movie_info).find(".movie_title").children().text(),
        movieTitleUrl: $2(movie_info).find(".movie_title").children().attr("href")
      };
      movies.push(movie);
    }
    return movies;
  }
  const _Movies_svelte_svelte_type_style_lang = "";
  function get_each_context$1(ctx, list, i) {
    const child_ctx = ctx.slice();
    child_ctx[1] = list[i];
    return child_ctx;
  }
  function create_else_block$2(ctx) {
    let p;
    return {
      c() {
        p = element("p");
        p.textContent = "loading...";
      },
      m(target, anchor) {
        insert(target, p, anchor);
      },
      p: noop,
      d(detaching) {
        if (detaching)
          detach(p);
      }
    };
  }
  function create_each_block$1(ctx) {
    let content;
    let current;
    const content_spread_levels = [
      /*movie*/
      ctx[1]
    ];
    let content_props = {};
    for (let i = 0; i < content_spread_levels.length; i += 1) {
      content_props = assign(content_props, content_spread_levels[i]);
    }
    content = new Content({ props: content_props });
    return {
      c() {
        create_component(content.$$.fragment);
      },
      m(target, anchor) {
        mount_component(content, target, anchor);
        current = true;
      },
      p(ctx2, dirty) {
        const content_changes = dirty & /*movies*/
        1 ? get_spread_update(content_spread_levels, [get_spread_object(
          /*movie*/
          ctx2[1]
        )]) : {};
        content.$set(content_changes);
      },
      i(local) {
        if (current)
          return;
        transition_in(content.$$.fragment, local);
        current = true;
      },
      o(local) {
        transition_out(content.$$.fragment, local);
        current = false;
      },
      d(detaching) {
        destroy_component(content, detaching);
      }
    };
  }
  function create_fragment$3(ctx) {
    let getallmagnet;
    let t;
    let div;
    let current;
    getallmagnet = new GetAllMagnet({});
    let each_value = (
      /*movies*/
      ctx[0]
    );
    let each_blocks = [];
    for (let i = 0; i < each_value.length; i += 1) {
      each_blocks[i] = create_each_block$1(get_each_context$1(ctx, each_value, i));
    }
    const out = (i) => transition_out(each_blocks[i], 1, 1, () => {
      each_blocks[i] = null;
    });
    let each_1_else = null;
    if (!each_value.length) {
      each_1_else = create_else_block$2();
    }
    return {
      c() {
        create_component(getallmagnet.$$.fragment);
        t = space();
        div = element("div");
        for (let i = 0; i < each_blocks.length; i += 1) {
          each_blocks[i].c();
        }
        if (each_1_else) {
          each_1_else.c();
        }
        attr(div, "class", "movie_grid svelte-11wt7vu");
      },
      m(target, anchor) {
        mount_component(getallmagnet, target, anchor);
        insert(target, t, anchor);
        insert(target, div, anchor);
        for (let i = 0; i < each_blocks.length; i += 1) {
          each_blocks[i].m(div, null);
        }
        if (each_1_else) {
          each_1_else.m(div, null);
        }
        current = true;
      },
      p(ctx2, [dirty]) {
        if (dirty & /*movies*/
        1) {
          each_value = /*movies*/
          ctx2[0];
          let i;
          for (i = 0; i < each_value.length; i += 1) {
            const child_ctx = get_each_context$1(ctx2, each_value, i);
            if (each_blocks[i]) {
              each_blocks[i].p(child_ctx, dirty);
              transition_in(each_blocks[i], 1);
            } else {
              each_blocks[i] = create_each_block$1(child_ctx);
              each_blocks[i].c();
              transition_in(each_blocks[i], 1);
              each_blocks[i].m(div, null);
            }
          }
          group_outros();
          for (i = each_value.length; i < each_blocks.length; i += 1) {
            out(i);
          }
          check_outros();
          if (!each_value.length && each_1_else) {
            each_1_else.p(ctx2, dirty);
          } else if (!each_value.length) {
            each_1_else = create_else_block$2();
            each_1_else.c();
            each_1_else.m(div, null);
          } else if (each_1_else) {
            each_1_else.d(1);
            each_1_else = null;
          }
        }
      },
      i(local) {
        if (current)
          return;
        transition_in(getallmagnet.$$.fragment, local);
        for (let i = 0; i < each_value.length; i += 1) {
          transition_in(each_blocks[i]);
        }
        current = true;
      },
      o(local) {
        transition_out(getallmagnet.$$.fragment, local);
        each_blocks = each_blocks.filter(Boolean);
        for (let i = 0; i < each_blocks.length; i += 1) {
          transition_out(each_blocks[i]);
        }
        current = false;
      },
      d(detaching) {
        destroy_component(getallmagnet, detaching);
        if (detaching)
          detach(t);
        if (detaching)
          detach(div);
        destroy_each(each_blocks, detaching);
        if (each_1_else)
          each_1_else.d();
      }
    };
  }
  function instance$3($$self, $$props, $$invalidate) {
    let movies = [];
    onMount(() => {
      $$invalidate(0, movies = MovieElement());
    });
    return [movies];
  }
  class Movies extends SvelteComponent {
    constructor(options) {
      super();
      init(this, options, instance$3, create_fragment$3, safe_not_equal, {});
    }
  }
  function moviePage() {
    let movieCode;
    if ($2(".mv_pn").text().length) {
      movieCode = $2(".mv_pn").text();
    } else {
      movieCode = $2(".mv_fileName").text();
    }
    let movieGenre;
    if ($2(".mv_genre").find("input").length) {
      movieGenre = $2(".mv_genre").find("input");
    } else {
      movieGenre = $2(".mv_tag").find("input");
    }
    let genreEl = movieGenre;
    let movieGenres = [];
    for (const genre of genreEl) {
      const gen = $2(genre).attr("value");
      movieGenres.push(gen);
    }
    console.log(movieGenres);
    let performers = [];
    const perfmboxs = $2(".mv_artist").next().next(".performer_view").first().find(".performer_box");
    for (const perfm of perfmboxs) {
      const performer = {
        performThumb: $2(perfm).first().find("img").attr("src"),
        performCount: $2(perfm).first().find(".performer_cnt").text(),
        // Jumlah Movie
        performName: $2(perfm).first().find(".performer_text").text(),
        linkPerformer: $2(perfm).first().find(".performer_text a").attr("href")
      };
      performers.push(performer);
    }
    const movieDetail = {
      movieThumb: $2(".movie_top").find("img").attr("src"),
      // TO DO Multiple Performer
      performers,
      movieTitle: $2(".mv_title").text(),
      movieCode,
      movieDuration: $2(".mv_duration").text(),
      movieDate: $2(".mv_createDate").text(),
      movieMaker: $2(".mv_writer").text(),
      // sama link
      linkMaker: $2(".mv_writer").attr("href"),
      // sama link
      movieManucfacturer: $2(".mv_mfr").text(),
      // sama link
      linkManucfacturer: $2(".mv_mfr").attr("href"),
      // sama link
      movieLabel: $2(".mv_label").text(),
      // sama link
      linkLabel: $2(".mv_label").attr("href"),
      // sama link
      movieGenres,
      // ini list
      // link url
      linkDate: $2(".mv_createDate").attr("href")
    };
    return movieDetail;
  }
  const _MoviePageContent_svelte_svelte_type_style_lang = "";
  function get_each_context(ctx, list, i) {
    const child_ctx = ctx.slice();
    child_ctx[29] = list[i];
    child_ctx[31] = i;
    return child_ctx;
  }
  function get_each_context_1(ctx, list, i) {
    const child_ctx = ctx.slice();
    child_ctx[32] = list[i];
    child_ctx[31] = i;
    return child_ctx;
  }
  function create_if_block_3(ctx) {
    let div;
    let p;
    let t1;
    let a;
    let t2;
    let a_href_value;
    return {
      c() {
        div = element("div");
        p = element("p");
        p.textContent = "Maker:";
        t1 = space();
        a = element("a");
        t2 = text(
          /*movieMaker*/
          ctx[7]
        );
        attr(a, "href", a_href_value = "https://db.msin.jp" + /*linkMaker*/
        ctx[8]);
        attr(div, "class", "movie-maker");
      },
      m(target, anchor) {
        insert(target, div, anchor);
        append(div, p);
        append(div, t1);
        append(div, a);
        append(a, t2);
      },
      p(ctx2, dirty) {
        if (dirty[0] & /*movieMaker*/
        128)
          set_data(
            t2,
            /*movieMaker*/
            ctx2[7]
          );
        if (dirty[0] & /*linkMaker*/
        256 && a_href_value !== (a_href_value = "https://db.msin.jp" + /*linkMaker*/
        ctx2[8])) {
          attr(a, "href", a_href_value);
        }
      },
      d(detaching) {
        if (detaching)
          detach(div);
      }
    };
  }
  function create_if_block_2(ctx) {
    let div;
    let p;
    let t1;
    let a;
    let t2;
    let a_href_value;
    return {
      c() {
        div = element("div");
        p = element("p");
        p.textContent = "Manufacture:";
        t1 = space();
        a = element("a");
        t2 = text(
          /*movieManucfacturer*/
          ctx[9]
        );
        attr(a, "href", a_href_value = "https://db.msin.jp" + /*linkManucfacturer*/
        ctx[10]);
        attr(div, "class", "movie-manufacture");
      },
      m(target, anchor) {
        insert(target, div, anchor);
        append(div, p);
        append(div, t1);
        append(div, a);
        append(a, t2);
      },
      p(ctx2, dirty) {
        if (dirty[0] & /*movieManucfacturer*/
        512)
          set_data(
            t2,
            /*movieManucfacturer*/
            ctx2[9]
          );
        if (dirty[0] & /*linkManucfacturer*/
        1024 && a_href_value !== (a_href_value = "https://db.msin.jp" + /*linkManucfacturer*/
        ctx2[10])) {
          attr(a, "href", a_href_value);
        }
      },
      d(detaching) {
        if (detaching)
          detach(div);
      }
    };
  }
  function create_if_block_1(ctx) {
    let div;
    let p;
    let t1;
    let a;
    let t2;
    let a_href_value;
    return {
      c() {
        div = element("div");
        p = element("p");
        p.textContent = "Labels:";
        t1 = space();
        a = element("a");
        t2 = text(
          /*movieLabel*/
          ctx[11]
        );
        attr(a, "href", a_href_value = "https://db.msin.jp" + /*linkLabel*/
        ctx[12]);
        attr(div, "class", "movie-label");
      },
      m(target, anchor) {
        insert(target, div, anchor);
        append(div, p);
        append(div, t1);
        append(div, a);
        append(a, t2);
      },
      p(ctx2, dirty) {
        if (dirty[0] & /*movieLabel*/
        2048)
          set_data(
            t2,
            /*movieLabel*/
            ctx2[11]
          );
        if (dirty[0] & /*linkLabel*/
        4096 && a_href_value !== (a_href_value = "https://db.msin.jp" + /*linkLabel*/
        ctx2[12])) {
          attr(a, "href", a_href_value);
        }
      },
      d(detaching) {
        if (detaching)
          detach(div);
      }
    };
  }
  function create_if_block$1(ctx) {
    let p;
    return {
      c() {
        p = element("p");
        p.textContent = "Unkown?";
      },
      m(target, anchor) {
        insert(target, p, anchor);
      },
      d(detaching) {
        if (detaching)
          detach(p);
      }
    };
  }
  function create_each_block_1(ctx) {
    let div2;
    let div0;
    let a0;
    let img;
    let img_src_value;
    let a0_href_value;
    let t0;
    let p;
    let t1_value = (
      /*performer*/
      ctx[32].performCount + ""
    );
    let t1;
    let t2;
    let div1;
    let a1;
    let t3_value = (
      /*performer*/
      ctx[32].performName + ""
    );
    let t3;
    let a1_href_value;
    let t4;
    return {
      c() {
        div2 = element("div");
        div0 = element("div");
        a0 = element("a");
        img = element("img");
        t0 = space();
        p = element("p");
        t1 = text(t1_value);
        t2 = space();
        div1 = element("div");
        a1 = element("a");
        t3 = text(t3_value);
        t4 = space();
        attr(img, "class", " svelte-5bq3e0");
        if (!src_url_equal(img.src, img_src_value = /*performer*/
        ctx[32].performThumb))
          attr(img, "src", img_src_value);
        attr(img, "loading", "lazy");
        attr(img, "alt", "Actress Thumbnail");
        attr(a0, "href", a0_href_value = "https://db.msin.jp" + /*performer*/
        ctx[32].linkPerformer);
        attr(p, "class", "total-movie svelte-5bq3e0");
        attr(div0, "class", "actress-thumbnail svelte-5bq3e0");
        attr(a1, "href", a1_href_value = "https://db.msin.jp" + /*performer*/
        ctx[32].linkPerformer);
        attr(div1, "class", "actress-name svelte-5bq3e0");
        attr(div2, "class", "actress svelte-5bq3e0");
      },
      m(target, anchor) {
        insert(target, div2, anchor);
        append(div2, div0);
        append(div0, a0);
        append(a0, img);
        append(div0, t0);
        append(div0, p);
        append(p, t1);
        append(div2, t2);
        append(div2, div1);
        append(div1, a1);
        append(a1, t3);
        append(div2, t4);
      },
      p(ctx2, dirty) {
        if (dirty[0] & /*performers*/
        1 && !src_url_equal(img.src, img_src_value = /*performer*/
        ctx2[32].performThumb)) {
          attr(img, "src", img_src_value);
        }
        if (dirty[0] & /*performers*/
        1 && a0_href_value !== (a0_href_value = "https://db.msin.jp" + /*performer*/
        ctx2[32].linkPerformer)) {
          attr(a0, "href", a0_href_value);
        }
        if (dirty[0] & /*performers*/
        1 && t1_value !== (t1_value = /*performer*/
        ctx2[32].performCount + ""))
          set_data(t1, t1_value);
        if (dirty[0] & /*performers*/
        1 && t3_value !== (t3_value = /*performer*/
        ctx2[32].performName + ""))
          set_data(t3, t3_value);
        if (dirty[0] & /*performers*/
        1 && a1_href_value !== (a1_href_value = "https://db.msin.jp" + /*performer*/
        ctx2[32].linkPerformer)) {
          attr(a1, "href", a1_href_value);
        }
      },
      d(detaching) {
        if (detaching)
          detach(div2);
      }
    };
  }
  function create_else_block$1(ctx) {
    let p;
    return {
      c() {
        p = element("p");
        p.textContent = "-";
      },
      m(target, anchor) {
        insert(target, p, anchor);
      },
      p: noop,
      d(detaching) {
        if (detaching)
          detach(p);
      }
    };
  }
  function create_each_block(ctx) {
    let input;
    let input_value_value;
    let t0;
    let label;
    let t1_value = (
      /*genre*/
      ctx[29] + ""
    );
    let t1;
    return {
      c() {
        input = element("input");
        t0 = space();
        label = element("label");
        t1 = text(t1_value);
        attr(input, "id", "genree" + /*i*/
        ctx[31]);
        attr(input, "class", "genree_checkbox svelte-5bq3e0");
        attr(input, "type", "checkbox");
        attr(input, "name", "genre");
        input.value = input_value_value = /*genre*/
        ctx[29];
        attr(label, "for", "genree" + /*i*/
        ctx[31]);
        attr(label, "class", "svelte-5bq3e0");
      },
      m(target, anchor) {
        insert(target, input, anchor);
        insert(target, t0, anchor);
        insert(target, label, anchor);
        append(label, t1);
      },
      p(ctx2, dirty) {
        if (dirty[0] & /*movieGenres*/
        2 && input_value_value !== (input_value_value = /*genre*/
        ctx2[29])) {
          input.value = input_value_value;
        }
        if (dirty[0] & /*movieGenres*/
        2 && t1_value !== (t1_value = /*genre*/
        ctx2[29] + ""))
          set_data(t1, t1_value);
      },
      d(detaching) {
        if (detaching)
          detach(input);
        if (detaching)
          detach(t0);
        if (detaching)
          detach(label);
      }
    };
  }
  function create_fragment$2(ctx) {
    let div15;
    let div14;
    let div0;
    let video;
    let t0;
    let img;
    let img_src_value;
    let t1;
    let div6;
    let div1;
    let p0;
    let t3;
    let p1;
    let t4;
    let t5;
    let div2;
    let p2;
    let t7;
    let a0;
    let t8;
    let t9;
    let div4;
    let p3;
    let t11;
    let div3;
    let t12;
    let t13;
    let div5;
    let p4;
    let t15;
    let a1;
    let t16;
    let a1_href_value;
    let t17;
    let t18;
    let t19;
    let t20;
    let div9;
    let div7;
    let t22;
    let div8;
    let t23;
    let t24;
    let div13;
    let div10;
    let t26;
    let div11;
    let t27;
    let div12;
    let input;
    let input_onclick_value;
    let mounted;
    let dispose;
    let if_block0 = (
      /*isMaker*/
      ctx[20] && create_if_block_3(ctx)
    );
    let if_block1 = (
      /*isMfr*/
      ctx[21] && create_if_block_2(ctx)
    );
    let if_block2 = (
      /*isLabel*/
      ctx[22] && create_if_block_1(ctx)
    );
    let if_block3 = !/*isPerformer*/
    ctx[23] && create_if_block$1();
    let each_value_1 = (
      /*performers*/
      ctx[0]
    );
    let each_blocks_1 = [];
    for (let i = 0; i < each_value_1.length; i += 1) {
      each_blocks_1[i] = create_each_block_1(get_each_context_1(ctx, each_value_1, i));
    }
    let each_value = (
      /*movieGenres*/
      ctx[1]
    );
    let each_blocks = [];
    for (let i = 0; i < each_value.length; i += 1) {
      each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
    }
    let each1_else = null;
    if (!each_value.length) {
      each1_else = create_else_block$1();
    }
    return {
      c() {
        div15 = element("div");
        div14 = element("div");
        div0 = element("div");
        video = element("video");
        t0 = space();
        img = element("img");
        t1 = space();
        div6 = element("div");
        div1 = element("div");
        p0 = element("p");
        p0.textContent = "Title:";
        t3 = space();
        p1 = element("p");
        t4 = text(
          /*movieTitle*/
          ctx[3]
        );
        t5 = space();
        div2 = element("div");
        p2 = element("p");
        p2.textContent = "Movie Code:";
        t7 = space();
        a0 = element("a");
        t8 = text(
          /*movieCode*/
          ctx[4]
        );
        t9 = space();
        div4 = element("div");
        p3 = element("p");
        p3.textContent = "Duration:";
        t11 = space();
        div3 = element("div");
        t12 = text(
          /*movieDuration*/
          ctx[5]
        );
        t13 = space();
        div5 = element("div");
        p4 = element("p");
        p4.textContent = "Product Release Date:";
        t15 = space();
        a1 = element("a");
        t16 = text(
          /*movieDate*/
          ctx[6]
        );
        t17 = space();
        if (if_block0)
          if_block0.c();
        t18 = space();
        if (if_block1)
          if_block1.c();
        t19 = space();
        if (if_block2)
          if_block2.c();
        t20 = space();
        div9 = element("div");
        div7 = element("div");
        div7.innerHTML = `<p>Performers:</p>`;
        t22 = space();
        div8 = element("div");
        if (if_block3)
          if_block3.c();
        t23 = space();
        for (let i = 0; i < each_blocks_1.length; i += 1) {
          each_blocks_1[i].c();
        }
        t24 = space();
        div13 = element("div");
        div10 = element("div");
        div10.innerHTML = `<p>Genre:</p>`;
        t26 = space();
        div11 = element("div");
        for (let i = 0; i < each_blocks.length; i += 1) {
          each_blocks[i].c();
        }
        if (each1_else) {
          each1_else.c();
        }
        t27 = space();
        div12 = element("div");
        input = element("input");
        video.autoplay = true;
        video.loop = true;
        video.muted = true;
        video.playsInline = true;
        attr(video, "class", "svelte-5bq3e0");
        toggle_class(
          video,
          "hidden",
          /*hidden*/
          ctx[19] === true
        );
        if (!src_url_equal(img.src, img_src_value = /*movieThumb*/
        ctx[2]))
          attr(img, "src", img_src_value);
        attr(img, "class", "movie_img svelte-5bq3e0");
        attr(img, "loading", "lazy");
        attr(img, "alt", "Movie Thumbnail");
        attr(div0, "class", "image-poster svelte-5bq3e0");
        attr(div1, "class", "movie-title");
        attr(a0, "class", "code");
        attr(a0, "href", "todo");
        attr(
          a0,
          "missavcode",
          /*movieCode*/
          ctx[4]
        );
        attr(div2, "class", "movie-code");
        attr(div3, "class", "duration");
        attr(div4, "class", "movie-duration");
        attr(a1, "href", a1_href_value = "https://db.msin.jp" + /*linkDate*/
        ctx[13]);
        attr(div5, "class", "movie-date");
        attr(div6, "class", "movie-details svelte-5bq3e0");
        set_style(
          div6,
          "--movie-details",
          /*movieDetails*/
          ctx[15]
        );
        attr(div8, "class", "actress-row svelte-5bq3e0");
        attr(div9, "class", "movie-actress svelte-5bq3e0");
        set_style(
          div9,
          "--movie-actress",
          /*movieActress*/
          ctx[14]
        );
        attr(div10, "class", "genre-button");
        attr(div11, "class", "genre-list svelte-5bq3e0");
        attr(input, "id", "gbtn");
        attr(input, "type", "submit");
        attr(input, "onclick", input_onclick_value = /*buttonAttr*/
        ctx[16] + ";");
        input.value = "Search Selected Tag";
        attr(input, "class", "svelte-5bq3e0");
        attr(div13, "class", "genre-box svelte-5bq3e0");
        attr(div14, "class", "grid svelte-5bq3e0");
        attr(div15, "class", "body svelte-5bq3e0");
      },
      m(target, anchor) {
        insert(target, div15, anchor);
        append(div15, div14);
        append(div14, div0);
        append(div0, video);
        append(div0, t0);
        append(div0, img);
        ctx[26](div0);
        append(div14, t1);
        append(div14, div6);
        append(div6, div1);
        append(div1, p0);
        append(div1, t3);
        append(div1, p1);
        append(p1, t4);
        append(div6, t5);
        append(div6, div2);
        append(div2, p2);
        append(div2, t7);
        append(div2, a0);
        append(a0, t8);
        ctx[27](a0);
        append(div6, t9);
        append(div6, div4);
        append(div4, p3);
        append(div4, t11);
        append(div4, div3);
        append(div3, t12);
        append(div6, t13);
        append(div6, div5);
        append(div5, p4);
        append(div5, t15);
        append(div5, a1);
        append(a1, t16);
        append(div6, t17);
        if (if_block0)
          if_block0.m(div6, null);
        append(div6, t18);
        if (if_block1)
          if_block1.m(div6, null);
        append(div6, t19);
        if (if_block2)
          if_block2.m(div6, null);
        append(div14, t20);
        append(div14, div9);
        append(div9, div7);
        append(div9, t22);
        append(div9, div8);
        if (if_block3)
          if_block3.m(div8, null);
        append(div8, t23);
        for (let i = 0; i < each_blocks_1.length; i += 1) {
          each_blocks_1[i].m(div8, null);
        }
        append(div14, t24);
        append(div14, div13);
        append(div13, div10);
        append(div13, t26);
        append(div13, div11);
        for (let i = 0; i < each_blocks.length; i += 1) {
          each_blocks[i].m(div11, null);
        }
        if (each1_else) {
          each1_else.m(div11, null);
        }
        append(div13, t27);
        append(div13, div12);
        append(div12, input);
        if (!mounted) {
          dispose = [
            listen(
              div0,
              "mouseenter",
              /*setPreview*/
              ctx[24]
            ),
            listen(
              div0,
              "mouseleave",
              /*unSetPreview*/
              ctx[25]
            ),
            listen(
              div0,
              "keydown",
              /*setPreview*/
              ctx[24]
            )
          ];
          mounted = true;
        }
      },
      p(ctx2, dirty) {
        if (dirty[0] & /*hidden*/
        524288) {
          toggle_class(
            video,
            "hidden",
            /*hidden*/
            ctx2[19] === true
          );
        }
        if (dirty[0] & /*movieThumb*/
        4 && !src_url_equal(img.src, img_src_value = /*movieThumb*/
        ctx2[2])) {
          attr(img, "src", img_src_value);
        }
        if (dirty[0] & /*movieTitle*/
        8)
          set_data(
            t4,
            /*movieTitle*/
            ctx2[3]
          );
        if (dirty[0] & /*movieCode*/
        16)
          set_data(
            t8,
            /*movieCode*/
            ctx2[4]
          );
        if (dirty[0] & /*movieCode*/
        16) {
          attr(
            a0,
            "missavcode",
            /*movieCode*/
            ctx2[4]
          );
        }
        if (dirty[0] & /*movieDuration*/
        32)
          set_data(
            t12,
            /*movieDuration*/
            ctx2[5]
          );
        if (dirty[0] & /*movieDate*/
        64)
          set_data(
            t16,
            /*movieDate*/
            ctx2[6]
          );
        if (dirty[0] & /*linkDate*/
        8192 && a1_href_value !== (a1_href_value = "https://db.msin.jp" + /*linkDate*/
        ctx2[13])) {
          attr(a1, "href", a1_href_value);
        }
        if (
          /*isMaker*/
          ctx2[20]
        )
          if_block0.p(ctx2, dirty);
        if (
          /*isMfr*/
          ctx2[21]
        )
          if_block1.p(ctx2, dirty);
        if (
          /*isLabel*/
          ctx2[22]
        )
          if_block2.p(ctx2, dirty);
        if (dirty[0] & /*movieDetails*/
        32768) {
          set_style(
            div6,
            "--movie-details",
            /*movieDetails*/
            ctx2[15]
          );
        }
        if (dirty[0] & /*performers*/
        1) {
          each_value_1 = /*performers*/
          ctx2[0];
          let i;
          for (i = 0; i < each_value_1.length; i += 1) {
            const child_ctx = get_each_context_1(ctx2, each_value_1, i);
            if (each_blocks_1[i]) {
              each_blocks_1[i].p(child_ctx, dirty);
            } else {
              each_blocks_1[i] = create_each_block_1(child_ctx);
              each_blocks_1[i].c();
              each_blocks_1[i].m(div8, null);
            }
          }
          for (; i < each_blocks_1.length; i += 1) {
            each_blocks_1[i].d(1);
          }
          each_blocks_1.length = each_value_1.length;
        }
        if (dirty[0] & /*movieActress*/
        16384) {
          set_style(
            div9,
            "--movie-actress",
            /*movieActress*/
            ctx2[14]
          );
        }
        if (dirty[0] & /*movieGenres*/
        2) {
          each_value = /*movieGenres*/
          ctx2[1];
          let i;
          for (i = 0; i < each_value.length; i += 1) {
            const child_ctx = get_each_context(ctx2, each_value, i);
            if (each_blocks[i]) {
              each_blocks[i].p(child_ctx, dirty);
            } else {
              each_blocks[i] = create_each_block(child_ctx);
              each_blocks[i].c();
              each_blocks[i].m(div11, null);
            }
          }
          for (; i < each_blocks.length; i += 1) {
            each_blocks[i].d(1);
          }
          each_blocks.length = each_value.length;
          if (!each_value.length && each1_else) {
            each1_else.p(ctx2, dirty);
          } else if (!each_value.length) {
            each1_else = create_else_block$1();
            each1_else.c();
            each1_else.m(div11, null);
          } else if (each1_else) {
            each1_else.d(1);
            each1_else = null;
          }
        }
        if (dirty[0] & /*buttonAttr*/
        65536 && input_onclick_value !== (input_onclick_value = /*buttonAttr*/
        ctx2[16] + ";")) {
          attr(input, "onclick", input_onclick_value);
        }
      },
      i: noop,
      o: noop,
      d(detaching) {
        if (detaching)
          detach(div15);
        ctx[26](null);
        ctx[27](null);
        if (if_block0)
          if_block0.d();
        if (if_block1)
          if_block1.d();
        if (if_block2)
          if_block2.d();
        if (if_block3)
          if_block3.d();
        destroy_each(each_blocks_1, detaching);
        destroy_each(each_blocks, detaching);
        if (each1_else)
          each1_else.d();
        mounted = false;
        run_all(dispose);
      }
    };
  }
  function instance$2($$self, $$props, $$invalidate) {
    let { movieThumb } = $$props;
    let { performers } = $$props;
    let { movieTitle } = $$props;
    let { movieCode } = $$props;
    let { movieDuration } = $$props;
    let { movieDate } = $$props;
    let { movieMaker } = $$props;
    let { linkMaker } = $$props;
    let { movieManucfacturer } = $$props;
    let { linkManucfacturer } = $$props;
    let { movieLabel } = $$props;
    let { linkLabel } = $$props;
    let { movieGenres } = $$props;
    let { linkDate } = $$props;
    movieGenres = [];
    performers = [];
    const perfcount = document.querySelector(".performer_view").querySelectorAll(".performer_box");
    console.log("count" + perfcount.length);
    let movieActress = "auto / 1 / auto / -1";
    let movieDetails = "2 / 1 / 2 / -1";
    if (perfcount.length < 2) {
      movieActress = "2 / 1 / 2 / 2";
      movieDetails = "2 / 2 / 2 / -1";
    }
    let buttonAttr;
    if (document.querySelectorAll("#gbtn").length) {
      buttonAttr = document.querySelector("#gbtn").getAttribute("onclick");
    }
    let isMaker = document.querySelectorAll(".mv_writer").length;
    let isMfr = document.querySelectorAll(".mv_mfr").length;
    let isLabel = document.querySelectorAll(".mv_label").length;
    let isPerformer = $2(".mv_artist").next().next(".performer_view").length;
    let preview, code;
    let hidden = true;
    async function setPreview() {
      if (!code.getAttribute("preview")) {
        return;
      }
      if (!preview.querySelector("video").getAttribute("src")) {
        const url = code.getAttribute("preview");
        const resp = await GM_fetch(url, {
          headers: { referer: "https://missav.com/en" }
        });
        const blob = await resp.blob();
        const previewUrl = URL.createObjectURL(blob);
        preview.querySelector("video").setAttribute("src", previewUrl);
      }
      $$invalidate(19, hidden = false);
      preview.querySelector("img").style.filter = "brightness(0.3)";
    }
    function unSetPreview() {
      $$invalidate(19, hidden = true);
      preview.querySelector("img").style.filter = "brightness(1)";
    }
    function div0_binding($$value) {
      binding_callbacks[$$value ? "unshift" : "push"](() => {
        preview = $$value;
        $$invalidate(17, preview);
      });
    }
    function a0_binding($$value) {
      binding_callbacks[$$value ? "unshift" : "push"](() => {
        code = $$value;
        $$invalidate(18, code);
      });
    }
    $$self.$$set = ($$props2) => {
      if ("movieThumb" in $$props2)
        $$invalidate(2, movieThumb = $$props2.movieThumb);
      if ("performers" in $$props2)
        $$invalidate(0, performers = $$props2.performers);
      if ("movieTitle" in $$props2)
        $$invalidate(3, movieTitle = $$props2.movieTitle);
      if ("movieCode" in $$props2)
        $$invalidate(4, movieCode = $$props2.movieCode);
      if ("movieDuration" in $$props2)
        $$invalidate(5, movieDuration = $$props2.movieDuration);
      if ("movieDate" in $$props2)
        $$invalidate(6, movieDate = $$props2.movieDate);
      if ("movieMaker" in $$props2)
        $$invalidate(7, movieMaker = $$props2.movieMaker);
      if ("linkMaker" in $$props2)
        $$invalidate(8, linkMaker = $$props2.linkMaker);
      if ("movieManucfacturer" in $$props2)
        $$invalidate(9, movieManucfacturer = $$props2.movieManucfacturer);
      if ("linkManucfacturer" in $$props2)
        $$invalidate(10, linkManucfacturer = $$props2.linkManucfacturer);
      if ("movieLabel" in $$props2)
        $$invalidate(11, movieLabel = $$props2.movieLabel);
      if ("linkLabel" in $$props2)
        $$invalidate(12, linkLabel = $$props2.linkLabel);
      if ("movieGenres" in $$props2)
        $$invalidate(1, movieGenres = $$props2.movieGenres);
      if ("linkDate" in $$props2)
        $$invalidate(13, linkDate = $$props2.linkDate);
    };
    return [
      performers,
      movieGenres,
      movieThumb,
      movieTitle,
      movieCode,
      movieDuration,
      movieDate,
      movieMaker,
      linkMaker,
      movieManucfacturer,
      linkManucfacturer,
      movieLabel,
      linkLabel,
      linkDate,
      movieActress,
      movieDetails,
      buttonAttr,
      preview,
      code,
      hidden,
      isMaker,
      isMfr,
      isLabel,
      isPerformer,
      setPreview,
      unSetPreview,
      div0_binding,
      a0_binding
    ];
  }
  class MoviePageContent extends SvelteComponent {
    constructor(options) {
      super();
      init(
        this,
        options,
        instance$2,
        create_fragment$2,
        safe_not_equal,
        {
          movieThumb: 2,
          performers: 0,
          movieTitle: 3,
          movieCode: 4,
          movieDuration: 5,
          movieDate: 6,
          movieMaker: 7,
          linkMaker: 8,
          movieManucfacturer: 9,
          linkManucfacturer: 10,
          movieLabel: 11,
          linkLabel: 12,
          movieGenres: 1,
          linkDate: 13
        },
        null,
        [-1, -1]
      );
    }
  }
  function create_fragment$1(ctx) {
    let moviepagecontent;
    let current;
    const moviepagecontent_spread_levels = [
      /*movieProps*/
      ctx[0]
    ];
    let moviepagecontent_props = {};
    for (let i = 0; i < moviepagecontent_spread_levels.length; i += 1) {
      moviepagecontent_props = assign(moviepagecontent_props, moviepagecontent_spread_levels[i]);
    }
    moviepagecontent = new MoviePageContent({ props: moviepagecontent_props });
    return {
      c() {
        create_component(moviepagecontent.$$.fragment);
      },
      m(target, anchor) {
        mount_component(moviepagecontent, target, anchor);
        current = true;
      },
      p(ctx2, [dirty]) {
        const moviepagecontent_changes = dirty & /*movieProps*/
        1 ? get_spread_update(moviepagecontent_spread_levels, [get_spread_object(
          /*movieProps*/
          ctx2[0]
        )]) : {};
        moviepagecontent.$set(moviepagecontent_changes);
      },
      i(local) {
        if (current)
          return;
        transition_in(moviepagecontent.$$.fragment, local);
        current = true;
      },
      o(local) {
        transition_out(moviepagecontent.$$.fragment, local);
        current = false;
      },
      d(detaching) {
        destroy_component(moviepagecontent, detaching);
      }
    };
  }
  function instance$1($$self, $$props, $$invalidate) {
    let movieProps;
    onMount(() => {
      $$invalidate(0, movieProps = moviePage());
    });
    console.log(movieProps);
    return [movieProps];
  }
  class MoviePage extends SvelteComponent {
    constructor(options) {
      super();
      init(this, options, instance$1, create_fragment$1, safe_not_equal, {});
    }
  }
  function create_else_block(ctx) {
    let movies;
    let current;
    movies = new Movies({});
    return {
      c() {
        create_component(movies.$$.fragment);
      },
      m(target, anchor) {
        mount_component(movies, target, anchor);
        current = true;
      },
      i(local) {
        if (current)
          return;
        transition_in(movies.$$.fragment, local);
        current = true;
      },
      o(local) {
        transition_out(movies.$$.fragment, local);
        current = false;
      },
      d(detaching) {
        destroy_component(movies, detaching);
      }
    };
  }
  function create_if_block(ctx) {
    let moviepage;
    let current;
    moviepage = new MoviePage({});
    return {
      c() {
        create_component(moviepage.$$.fragment);
      },
      m(target, anchor) {
        mount_component(moviepage, target, anchor);
        current = true;
      },
      i(local) {
        if (current)
          return;
        transition_in(moviepage.$$.fragment, local);
        current = true;
      },
      o(local) {
        transition_out(moviepage.$$.fragment, local);
        current = false;
      },
      d(detaching) {
        destroy_component(moviepage, detaching);
      }
    };
  }
  function create_fragment(ctx) {
    let main;
    let current_block_type_index;
    let if_block;
    let current;
    const if_block_creators = [create_if_block, create_else_block];
    const if_blocks = [];
    function select_block_type(ctx2, dirty) {
      if (
        /*isMoviePage*/
        ctx2[0] === true
      )
        return 0;
      return 1;
    }
    current_block_type_index = select_block_type(ctx);
    if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
    return {
      c() {
        main = element("main");
        if_block.c();
      },
      m(target, anchor) {
        insert(target, main, anchor);
        if_blocks[current_block_type_index].m(main, null);
        current = true;
      },
      p(ctx2, [dirty]) {
        let previous_block_index = current_block_type_index;
        current_block_type_index = select_block_type(ctx2);
        if (current_block_type_index !== previous_block_index) {
          group_outros();
          transition_out(if_blocks[previous_block_index], 1, 1, () => {
            if_blocks[previous_block_index] = null;
          });
          check_outros();
          if_block = if_blocks[current_block_type_index];
          if (!if_block) {
            if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
            if_block.c();
          }
          transition_in(if_block, 1);
          if_block.m(main, null);
        }
      },
      i(local) {
        if (current)
          return;
        transition_in(if_block);
        current = true;
      },
      o(local) {
        transition_out(if_block);
        current = false;
      },
      d(detaching) {
        if (detaching)
          detach(main);
        if_blocks[current_block_type_index].d();
      }
    };
  }
  const movie_page_regex$1 = /https:\/\/db.msin.jp\/.*page\/movie\?.*/i;
  function instance($$self, $$props, $$invalidate) {
    const currentUrl2 = window.location.href;
    let isMoviePage = false;
    if (movie_page_regex$1.test(currentUrl2)) {
      isMoviePage = true;
      console.log("movie page here");
    }
    return [isMoviePage];
  }
  class MoviesList extends SvelteComponent {
    constructor(options) {
      super();
      init(this, options, instance, create_fragment, safe_not_equal, {});
    }
  }
  function Sukebei(movies) {
    let codes = "";
    for (const movie of movies) {
      const code = $2(movie).find(".movie_code").attr("sukebeicode");
      codes += `${code}|`;
    }
    const sukebeis = `https://sukebei.nyaa.si/?q=${codes}&s=seeders&o=desc`;
    console.log("Requesting: " + sukebeis);
    GM_xmlhttpRequest({
      url: sukebeis,
      onload(response) {
        for (const movie of movies) {
          const code = $2(movie).find(".movie_code");
          const containCode = $2(response.responseText).find(`tr:contains("${$2(code).attr("sukebeicode")}")`).first();
          if (containCode.length) {
            const torrent = "https://sukebei.nyaa.si/" + containCode.find("i.fa-download").parent().attr("href");
            const magnet = containCode.find("i.fa-magnet").parent().attr("href");
            const seedsNumber = containCode.children().eq(-3).text();
            $2(movie).find(".link").append(
              `<a href='https://sukebei.nyaa.si/?q=${code.attr(
                "sukebeicode"
              )}&s=seeders&o=desc' target='_blank' class='sukebei'> <img style='height: 1.2em;' src='https://sukebei.nyaa.si/static/favicon.png'></img></a>`
            );
            $2(movie).find(".link").append(
              `<a style='font-size: 1.2em;' class="fa fa-fw fa-download" href='${torrent}'></a>`
            );
            $2(movie).find(".link").append(
              `<a style='font-size: 1.2em; bottom: 0; position: relative; bottom: -1px;' class="fa fa-fw fa-magnet" href='${magnet}'></a>`
            );
            $2(movie).find(".link").append(
              `<p style='font-size: 1.2em; color: lawngreen; font-weight: 600; position: relative; bottom: 5px;'>${seedsNumber}</p>`
            );
            $2(movie).css("filter", "brightness(1)");
          }
        }
      }
    });
  }
  function Sukebei2(codeEl) {
    const code = codeEl.text();
    const sukebeis = `https://sukebei.nyaa.si/?q=${code.toUpperCase()}&s=seeders&o=desc`;
    console.log("Requesting: " + sukebeis);
    GM_xmlhttpRequest({
      url: sukebeis,
      onload(response) {
        const containCode = $2(response.responseText).find(`tbody tr`).first();
        if (containCode.length) {
          const torrent = "https://sukebei.nyaa.si/" + containCode.find("i.fa-download").parent().attr("href");
          const magnet = containCode.find("i.fa-magnet").parent().attr("href");
          const seedsNumber = containCode.children().eq(-3).text();
          $2(codeEl).after("<div class='anjime'></div>");
          $2(".anjime").append(
            `<a href='https://sukebei.nyaa.si/?q=${code}&s=seeders&o=desc' target='_blank' class='sukebei'> <img style='height: 1.2em;' src='https://sukebei.nyaa.si/static/favicon.png'></img></a>`
          );
          $2(".anjime").append(
            `<a style='font-size: 1.2em;' class="fa fa-fw fa-download" href='${torrent}'></a>`
          );
          $2(".anjime").append(
            `<a style='font-size: 1.2em; bottom: 0; position: relative; bottom: -1px;' class="fa fa-fw fa-magnet" href='${magnet}'></a>`
          );
          $2(".anjime").append(
            `<a style='font-size: 1.2em; color: lawngreen; font-weight: 600; position: relative; bottom: 5px;'>${seedsNumber}</a>`
          );
          $2(".anjime").css({
            "margin-top": "0.4rem",
            "display": "flex",
            "justify-content": "center",
            "gap": "0.4rem"
          });
        }
      }
    });
  }
  function JavStore(movies) {
    for (const movie of movies) {
      let code = $2(movie).find(".movie_code").attr("missavcode");
      const regex = /^(fc2-ppv)+-(\d.+)/i;
      if (regex.test(code)) {
        code = regex.exec(code)[2];
      }
      $2(movie).find(".link").append(
        `<a href='https://img.javstore.net/search/images/?q="${code}"' target="_blank"><img style='height: 1.2em;' src="https://img.javstore.net/content/images/system/default/favicon.png"></img></a>`
      );
    }
  }
  function tweak() {
    document.cookie = "config_view=filename%2Cunsubscribe%2Cacttag%2Cacttagd%2Cactrank%2C_blank%2Cactview%2Csampleview";
    const css = `
@media screen and (min-width: 610px) {
  #content, #headbarspan, #catchmassage, .content {
    max-width: 2922px;
    width: auto;
  }
  .jp_movie_view .movie_info {
    max-width: 100%;
  }
  .jp_movie_view .movie_image {
    width: auto;
    max-width: 100%;
  }
  .movie_info {
    padding: 0;
  }
}

@media screen and (min-width: 850px) {
  #content, #headbarspan, #catchmassage, .content {
    width: auto;
  }
}

.actress_info_ditail {
    background: #3b3a3a;
    border-radius: 1rem;
    margin: 1rem 0 1rem;
}

.movie_info {
  max-width: 100%;
}

@media screen and (min-width: 2900px) {
  .jp_movie_view_wrap { width: auto; margin-left: 0; }
  .movie_view_wrap { width: auto; margin-left: 0; }
}
@media screen and (min-width: 1780px) {
  .jp_movie_view_wrap { width: auto; margin-left: 0; }
  .movie_view_wrap { width: auto; margin-left: 0; }
}
@media screen and (min-width: 1500px) {
  .jp_movie_view_wrap { width: auto; margin-left: 0; }
  .movie_view_wrap { width: auto; margin-left: 0; }
}

@media screen and (max-width: 609px) {
  .act_left {
    width: auto;
    max-width: 100%;
  }
  .act_image {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 100%;
  }
  .actress_info_ditail {
    flex-direction: column;
    justify-content: center;
  }
  .act_image img {
    height: auto;
    object-fit: contain;
  }
  .movie_info {
      display: flex;
      flex-direction: column;
  }
  .movie_image {
      aspect-ratio: 16 / 9;
      max-width: 100%;
  }
  .movie_ditail {
      max-width: 100%;
  }
}
.movie_image {
      aspect-ratio: 16 / 9;
}
.hidden {
  display: none;
}

a:not( .playbutton, .twitter_icon, .twitter, .no_target, .movie_image a )[target='_blank']::after {
  content: none;
}
img {
  vertical-align: inherit;
}
p {
  margin-top: 0;
}
input[type='checkbox'] + label:before {
  display: none;
}

`;
    GM_addStyle(css);
    GM_addElement(document.head, "link", {
      rel: "stylesheet",
      href: "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css"
    });
    const actTag = $2(".act_tag");
    const actDitail = $2(".act_ditail");
    const edit = $2(".edit");
    edit.remove();
    actDitail.append(actTag);
    actTag.append(`<li>${edit.html()}</li>`);
    const commentJump = $2(".commentjump:contains('サンプル画像モード')");
    const olbreadcumb = $2("ol.breadcrumb");
    commentJump.remove();
    olbreadcumb.after(commentJump);
  }
  tweak();
  const app = new MoviesList({
    target: (() => {
      const app2 = document.createElement("div");
      let movie_view = document.querySelector(".movie_view");
      if (!movie_view) {
        movie_view = document.querySelector(".movie_view_jp");
      }
      if (movie_view) {
        movie_view.after(app2);
      }
      const currentUrl2 = window.location.href;
      const movie_page_regex2 = /https:\/\/db.msin.jp\/.*page\/movie\?.*/i;
      if (movie_page_regex2.test(currentUrl2)) {
        let cwrap = document.querySelector(".content_wrap");
        if (cwrap) {
          cwrap.before(app2);
        }
      }
      return app2;
    })()
  });
  if (!document.querySelector(".movie_view")) {
    $2(".movie_thumbnail").css("aspect-ratio", "3 / 4");
  }
  $2(".movie_view").remove();
  $2(".movie_view_jp").remove();
  const currentUrl = window.location.href;
  const movie_page_regex = /https:\/\/db.msin.jp\/.*page\/movie\?.*/i;
  if (movie_page_regex.test(currentUrl)) {
    $2("#content_wrap").remove();
    const code = document.querySelector("a.code");
    MissAV(code, "");
    Sukebei2($2(".code"));
  } else {
    const movies = $2(".movie");
    JavStore(movies);
    Sukebei(movies);
  }
  return app;
}($);