-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 3e3e8bc
Showing
22 changed files
with
461 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: Regenerate PluginMaster | ||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- main | ||
concurrency: regenerate | ||
jobs: | ||
generate: | ||
name: Regenerate PluginMaster | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: "3.8" | ||
- uses: actions/checkout@v3 | ||
- name: Generate PluginMaster | ||
run: python generate_pluginmaster.py | ||
- uses: EndBug/add-and-commit@v7 | ||
with: | ||
author_name: GitHub Action | ||
author_email: github-actions[bot]@users.noreply.github.com | ||
message: Regenerate PluginMaster |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# DalamudPlugins | ||
|
||
本仓库插件由[逆光(NiGuangOwO)](https://github.com/NiGuangOwO)个人维护或汉化,不保证质量与稳定,维护全凭个人热爱 | ||
|
||
**本仓库所有插件禁止各种形式的倒卖!** | ||
|
||
## 仓库地址: | ||
**部分插件内置在线验证,请务必使用下方地址** | ||
``` | ||
https://raw.githubusercontent.com/NiGuangOwO/DalamudPlugins/main/pluginmaster.json | ||
``` | ||
### API9 | ||
``` | ||
https://raw.githubusercontent.com/NiGuangOwO/DalamudPlugins/API9/pluginmaster.json | ||
``` | ||
## 仓库插件列表 | ||
|
||
| 插件名称 | 介绍 | 作者 | 本地化维护 | 汉化 | 插件更新状态 | | ||
| ------------------------ | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------- | ---- | ------------- | | ||
| FuckAnimationLock | 改动画锁 | [NiGuangOwO](https://github.com/NiGuangOwO) | [NiGuangOwO](https://github.com/NiGuangOwO) | √ | √ | | ||
| BossMod | 小地图画图 | [awgil](https://github.com/awgil) | [Yarukon](https://github.com/Yarukon) | √ | √ | | ||
| LazyLoot | 一键/全自动 roll 点 | [53m1k0l0n](https://github.com/53m1k0l0n) / [Punish](https://github.com/PunishXIV) | [NiGuangOwO](https://github.com/NiGuangOwO) | √ | √ | | ||
| LiteralMapLink | 聊天中发送可点击的地图坐标 | [Asvel](https://github.com/Asvel) | - | - | √ | | ||
| Lifestream | 在水晶附近显示城内传送和跨服悬浮窗 | [NightmareXIV](https://github.com/NightmareXIV) | [NiGuangOwO](https://github.com/NiGuangOwO) | √ | √ | | ||
| PandorasBox | 各种自动化玩具 | [Punish](https://github.com/PunishXIV) | [NiGuangOwO](https://github.com/NiGuangOwO) | √ | √ | | ||
| **-已移除插件-** | - | - | - | - | - | | ||
| ~~Reset enmity command~~ | ~~用指令重置木人仇恨~~ **已包含在 PandorasBox** | [akira0245](https://github.com/akira0245) | [NiGuangOwO](https://github.com/NiGuangOwO) | √ | 已停更 | | ||
| ~~Astro~~ | ~~占星全自动发卡~~ **建议使用[Souma 占星一键发卡](https://souma.diemoe.net/ff14-overlay-vue/)** | [aiczk](https://github.com/aiczk) | [NiGuangOwO](https://github.com/NiGuangOwO) | √ | 已停更 | | ||
| ~~AutoLogin~~ | ~~打开游戏后自动登录~~**已移植到 PandorasBox** | [Caraxi](https://github.com/Caraxi) | [NiGuangOwO](https://github.com/NiGuangOwO) | √ | 已停更 | | ||
| HaselTweaks(更不动了太难了) | 一系列生活质量调整 | [Haselnussbomber](https://github.com/Haselnussbomber) | [NiGuangOwO](https://github.com/NiGuangOwO) | √ | √ | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
import json | ||
import os | ||
from time import time | ||
from sys import argv | ||
from os.path import getmtime | ||
from zipfile import ZipFile, ZIP_DEFLATED | ||
|
||
BRANCH = os.environ['GITHUB_REF'].split('refs/heads/')[-1] | ||
DOWNLOAD_URL = 'https://github.com/NiGuangOwO/DalamudPlugins/raw/{branch}/plugins/{plugin_name}/latest.zip' | ||
|
||
DEFAULTS = { | ||
'IsHide': False, | ||
'IsTestingExclusive': False, | ||
'ApplicableVersion': 'any', | ||
} | ||
|
||
DUPLICATES = { | ||
'DownloadLinkInstall': ['DownloadLinkTesting', 'DownloadLinkUpdate'], | ||
} | ||
|
||
TRIMMED_KEYS = [ | ||
'Author', | ||
'Name', | ||
'Punchline', | ||
'Description', | ||
'Changelog', | ||
'InternalName', | ||
'AssemblyVersion', | ||
'RepoUrl', | ||
'ApplicableVersion', | ||
'Tags', | ||
'DalamudApiLevel', | ||
'IconUrl', | ||
'ImageUrls', | ||
] | ||
|
||
def main(): | ||
# extract the manifests from inside the zip files | ||
master = extract_manifests() | ||
|
||
# trim the manifests | ||
master = [trim_manifest(manifest) for manifest in master] | ||
|
||
# convert the list of manifests into a master list | ||
add_extra_fields(master) | ||
|
||
# write the master | ||
write_master(master) | ||
|
||
# update the LastUpdate field in master | ||
last_update() | ||
|
||
def extract_manifests(): | ||
manifests = [] | ||
|
||
for dirpath, dirnames, filenames in os.walk('./plugins'): | ||
if len(filenames) == 0 or 'latest.zip' not in filenames: | ||
continue | ||
plugin_name = dirpath.split('/')[-1] | ||
latest_zip = f'{dirpath}/latest.zip' | ||
with ZipFile(latest_zip) as z: | ||
manifest = json.loads(z.read(f'{plugin_name}.json').decode('utf-8')) | ||
manifests.append(manifest) | ||
|
||
return manifests | ||
|
||
def add_extra_fields(manifests): | ||
for manifest in manifests: | ||
# generate the download link from the internal assembly name | ||
manifest['DownloadLinkInstall'] = DOWNLOAD_URL.format(branch=BRANCH, plugin_name=manifest["InternalName"]) | ||
# add default values if missing | ||
for k, v in DEFAULTS.items(): | ||
if k not in manifest: | ||
manifest[k] = v | ||
# duplicate keys as specified in DUPLICATES | ||
for source, keys in DUPLICATES.items(): | ||
for k in keys: | ||
if k not in manifest: | ||
manifest[k] = manifest[source] | ||
manifest['DownloadCount'] = 0 | ||
|
||
def write_master(master): | ||
# write as pretty json | ||
with open('pluginmaster.json', 'w') as f: | ||
json.dump(master, f, indent=4) | ||
|
||
def trim_manifest(plugin): | ||
return {k: plugin[k] for k in TRIMMED_KEYS if k in plugin} | ||
|
||
def last_update(): | ||
with open('pluginmaster.json', encoding='utf-8') as f: | ||
master = json.load(f) | ||
|
||
for plugin in master: | ||
latest = f'plugins/{plugin["InternalName"]}/latest.zip' | ||
modified = int(getmtime(latest)) | ||
|
||
if 'LastUpdate' not in plugin or modified != int(plugin['LastUpdate']): | ||
plugin['LastUpdate'] = str(modified) | ||
|
||
with open('pluginmaster.json', 'w', encoding='utf-8') as f: | ||
json.dump(master, f, indent=4, ensure_ascii=False) | ||
|
||
if __name__ == '__main__': | ||
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
[ | ||
{ | ||
"Author": "NightmareXIV, NiGuangOwO (本地化)", | ||
"Name": "Lifestream", | ||
"Punchline": "一个用于加速城内以太水晶传送和跨服插件", | ||
"Description": "- 一键传送到任何服务器或城内以太水晶目的地\n- 点击区域地图内的以太之光传送到它们", | ||
"InternalName": "Lifestream", | ||
"AssemblyVersion": "2.0.1.2", | ||
"RepoUrl": "https://github.com/NightmareXIV/Lifestream", | ||
"ApplicableVersion": "any", | ||
"DalamudApiLevel": 8, | ||
"IconUrl": "https://raw.githubusercontent.com/NightmareXIV/MyDalamudPlugins/main/icons/lifestream.png", | ||
"DownloadLinkInstall": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/Lifestream/latest.zip", | ||
"IsHide": false, | ||
"IsTestingExclusive": false, | ||
"DownloadLinkTesting": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/Lifestream/latest.zip", | ||
"DownloadLinkUpdate": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/Lifestream/latest.zip", | ||
"DownloadCount": 0, | ||
"LastUpdate": "1703911083" | ||
}, | ||
{ | ||
"Author": "Liza Carvelli (Puni.sh)/ NiGuangOwO (本地化)", | ||
"Name": "Palace Pal", | ||
"Punchline": "在死宫、天宫和正统优雷卡显示潜在陷阱和埋藏的宝藏。", | ||
"Description": "在死宫、天宫和正统优雷卡显示潜在陷阱和埋藏的宝藏。\n\n这个插件需要Splatoon才能在屏幕上渲染绘图。", | ||
"InternalName": "Palace Pal", | ||
"AssemblyVersion": "4.8.0.3", | ||
"RepoUrl": "https://github.com/PunishXIV/PalacePal", | ||
"ApplicableVersion": "any", | ||
"Tags": [ | ||
"potd", | ||
"palace", | ||
"hoh", | ||
"splatoon" | ||
], | ||
"DalamudApiLevel": 8, | ||
"IconUrl": "https://love.puni.sh/resources/palacepal.png", | ||
"DownloadLinkInstall": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/Palace Pal/latest.zip", | ||
"IsHide": false, | ||
"IsTestingExclusive": false, | ||
"DownloadLinkTesting": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/Palace Pal/latest.zip", | ||
"DownloadLinkUpdate": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/Palace Pal/latest.zip", | ||
"DownloadCount": 0, | ||
"LastUpdate": "1703911083" | ||
}, | ||
{ | ||
"Author": "Asvel", | ||
"Name": "Literal Map Link", | ||
"Punchline": "将地图坐标文字转换为可交互的地图链接", | ||
"Description": "当您发布游戏内聊天消息时,将地图坐标文字转换为可交互的地图链接", | ||
"InternalName": "LiteralMapLink", | ||
"AssemblyVersion": "1.1.3.1", | ||
"RepoUrl": "https://github.com/Asvel/ffxiv-literal-map-link", | ||
"ApplicableVersion": "any", | ||
"DalamudApiLevel": 8, | ||
"DownloadLinkInstall": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/LiteralMapLink/latest.zip", | ||
"IsHide": false, | ||
"IsTestingExclusive": false, | ||
"DownloadLinkTesting": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/LiteralMapLink/latest.zip", | ||
"DownloadLinkUpdate": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/LiteralMapLink/latest.zip", | ||
"DownloadCount": 0, | ||
"LastUpdate": "1703911083" | ||
}, | ||
{ | ||
"Author": "NiGuangOwO", | ||
"Name": "FuckAnimationLock", | ||
"Punchline": "改动画锁,优化循环手感,但并不能把Logs从蓝色变成金色,懂?", | ||
"Description": "打本我就要三插,闲鱼小店死个妈\n某些绿玩能不能别洗了,底层屎山加垃圾服务器延迟导致手感稀烂,自己玩起来不觉得膈应吗?\n我开你别劝,我劝你也开,开了更流畅,兄弟们开", | ||
"Changelog": "打断LB硬直换成新的更暴力的方法,读完条直接可以移动。PVP区域不生效", | ||
"InternalName": "FuckAnimationLock", | ||
"AssemblyVersion": "2.4.0.0", | ||
"RepoUrl": "https://github.com/NiGuangOwO/FuckAnimationLock", | ||
"ApplicableVersion": "any", | ||
"DalamudApiLevel": 8, | ||
"DownloadLinkInstall": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/FuckAnimationLock/latest.zip", | ||
"IsHide": false, | ||
"IsTestingExclusive": false, | ||
"DownloadLinkTesting": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/FuckAnimationLock/latest.zip", | ||
"DownloadLinkUpdate": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/FuckAnimationLock/latest.zip", | ||
"DownloadCount": 0, | ||
"LastUpdate": "1703911083" | ||
}, | ||
{ | ||
"Author": "veyn", | ||
"Name": "Boss Mod", | ||
"Punchline": "大脑按摩用的", | ||
"Description": "来自y佬维护版编译,仅保留画图,还不快说谢谢y佬", | ||
"Changelog": "适配国服6.45h", | ||
"InternalName": "BossMod", | ||
"AssemblyVersion": "0.0.0.115", | ||
"RepoUrl": "https://github.com/awgil/ffxiv_bossmod", | ||
"ApplicableVersion": "2023.12.07.0000.0000", | ||
"DalamudApiLevel": 8, | ||
"IconUrl": "https://raw.githubusercontent.com/awgil/ffxiv_bossmod/f4efcb5dc279d21ee16185d5a9f2d09a3a2bc58b/Data/icon.png", | ||
"ImageUrls": [ | ||
"https://raw.githubusercontent.com/awgil/ffxiv_bossmod/master/Data/image1.png", | ||
"https://raw.githubusercontent.com/awgil/ffxiv_bossmod/master/Data/image2.png", | ||
"https://raw.githubusercontent.com/awgil/ffxiv_bossmod/master/Data/image3.png" | ||
], | ||
"DownloadLinkInstall": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/BossMod/latest.zip", | ||
"IsHide": false, | ||
"IsTestingExclusive": false, | ||
"DownloadLinkTesting": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/BossMod/latest.zip", | ||
"DownloadLinkUpdate": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/BossMod/latest.zip", | ||
"DownloadCount": 0, | ||
"LastUpdate": "1703911083" | ||
}, | ||
{ | ||
"Author": "53m1k0l0n/Gidedin (Puni.sh)/NiGuangOwO (本地化)", | ||
"Name": "LazyLoot", | ||
"Punchline": "一(自)键(动)Roll点用的 (在线安装Only)", | ||
"Description": "带有各种参数的Roll点命令 need | greed | pass\n聊天和Toast输出以及Roll点延迟。", | ||
"Changelog": "追更国际服最新5.2.0.3\n- 新增‘放弃低于筹备稀有品价值’选项。\n- 现在添加了/lazyloot作为打开配置的命令。", | ||
"InternalName": "LazyLoot", | ||
"AssemblyVersion": "5.2.0.3", | ||
"RepoUrl": "https://github.com/PunishXIV/LazyLoot", | ||
"ApplicableVersion": "any", | ||
"Tags": [ | ||
"plugin", | ||
"loot", | ||
"utility", | ||
"other" | ||
], | ||
"DalamudApiLevel": 8, | ||
"IconUrl": "https://love.puni.sh/resources/lazyloot.png", | ||
"DownloadLinkInstall": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/LazyLoot/latest.zip", | ||
"IsHide": false, | ||
"IsTestingExclusive": false, | ||
"DownloadLinkTesting": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/LazyLoot/latest.zip", | ||
"DownloadLinkUpdate": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/LazyLoot/latest.zip", | ||
"DownloadCount": 0, | ||
"LastUpdate": "1703911083" | ||
}, | ||
{ | ||
"Author": "Taurenkey (Puni.sh), NiGuangOwO (本地化&功能维护)", | ||
"Name": "Pandora's Box", | ||
"Punchline": "你敢打开潘多拉的盒子吗?(在线安装 Only)", | ||
"Description": "Pandora是一个改善游戏体验和一些功能调整的集合", | ||
"Changelog": "同步官方最新版本,新增功能请自行探索\n不要在官方Discord提问题,官方开发者不做国服适配工作,不要再让我看到有笨比去提问\n遇到漏翻译的文本请用各种方式告诉我", | ||
"InternalName": "PandorasBox", | ||
"AssemblyVersion": "1.5.4.1", | ||
"RepoUrl": "https://github.com/NiGuangOwO/PandorasBox", | ||
"ApplicableVersion": "any", | ||
"Tags": [ | ||
"punish", | ||
"plugin" | ||
], | ||
"DalamudApiLevel": 8, | ||
"IconUrl": "https://love.puni.sh/resources/pandora.png", | ||
"DownloadLinkInstall": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/PandorasBox/latest.zip", | ||
"IsHide": false, | ||
"IsTestingExclusive": false, | ||
"DownloadLinkTesting": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/PandorasBox/latest.zip", | ||
"DownloadLinkUpdate": "https://github.com/NiGuangOwO/DalamudPlugins/raw/main/plugins/PandorasBox/latest.zip", | ||
"DownloadCount": 0, | ||
"LastUpdate": "1703911083" | ||
} | ||
] |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ | ||
"Author": "veyn", | ||
"Name": "Boss Mod", | ||
"InternalName": "BossMod", | ||
"AssemblyVersion": "0.0.0.115", | ||
"Description": "来自y佬维护版编译,仅保留画图,还不快说谢谢y佬", | ||
"ApplicableVersion": "2023.12.07.0000.0000", | ||
"RepoUrl": "https://github.com/awgil/ffxiv_bossmod", | ||
"DalamudApiLevel": 8, | ||
"LoadRequiredState": 0, | ||
"LoadSync": false, | ||
"CanUnloadAsync": false, | ||
"LoadPriority": 0, | ||
"ImageUrls": [ | ||
"https://raw.githubusercontent.com/awgil/ffxiv_bossmod/master/Data/image1.png", | ||
"https://raw.githubusercontent.com/awgil/ffxiv_bossmod/master/Data/image2.png", | ||
"https://raw.githubusercontent.com/awgil/ffxiv_bossmod/master/Data/image3.png" | ||
], | ||
"IconUrl": "https://raw.githubusercontent.com/awgil/ffxiv_bossmod/f4efcb5dc279d21ee16185d5a9f2d09a3a2bc58b/Data/icon.png", | ||
"Punchline": "大脑按摩用的", | ||
"Changelog": "适配国服6.45h", | ||
"AcceptsFeedback": true | ||
} |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
{ | ||
"Author": "NiGuangOwO", | ||
"Name": "FuckAnimationLock", | ||
"InternalName": "FuckAnimationLock", | ||
"AssemblyVersion": "2.4.0.0", | ||
"Description": "打本我就要三插,闲鱼小店死个妈\n某些绿玩能不能别洗了,底层屎山加垃圾服务器延迟导致手感稀烂,自己玩起来不觉得膈应吗?\n我开你别劝,我劝你也开,开了更流畅,兄弟们开", | ||
"ApplicableVersion": "any", | ||
"RepoUrl": "https://github.com/NiGuangOwO/FuckAnimationLock", | ||
"DalamudApiLevel": 8, | ||
"LoadRequiredState": 0, | ||
"LoadSync": false, | ||
"CanUnloadAsync": false, | ||
"LoadPriority": 0, | ||
"Punchline": "改动画锁,优化循环手感,但并不能把Logs从蓝色变成金色,懂?", | ||
"Changelog": "打断LB硬直换成新的更暴力的方法,读完条直接可以移动。PVP区域不生效", | ||
"AcceptsFeedback": true | ||
} |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
2.3.0.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
{ | ||
"Author": "53m1k0l0n/Gidedin (Puni.sh)/NiGuangOwO (本地化)", | ||
"Name": "LazyLoot", | ||
"InternalName": "LazyLoot", | ||
"AssemblyVersion": "5.2.0.3", | ||
"Description": "带有各种参数的Roll点命令 need | greed | pass\n聊天和Toast输出以及Roll点延迟。", | ||
"ApplicableVersion": "any", | ||
"RepoUrl": "https://github.com/PunishXIV/LazyLoot", | ||
"Tags": [ | ||
"plugin", | ||
"loot", | ||
"utility", | ||
"other" | ||
], | ||
"DalamudApiLevel": 8, | ||
"LoadRequiredState": 0, | ||
"LoadSync": false, | ||
"CanUnloadAsync": false, | ||
"LoadPriority": 0, | ||
"IconUrl": "https://love.puni.sh/resources/lazyloot.png", | ||
"Punchline": "一(自)键(动)Roll点用的 (在线安装Only)", | ||
"Changelog": "追更国际服最新5.2.0.3\n- 新增‘放弃低于筹备稀有品价值’选项。\n- 现在添加了/lazyloot作为打开配置的命令。", | ||
"AcceptsFeedback": true | ||
} |
Binary file not shown.
Oops, something went wrong.