diff --git a/.babelrc b/.babelrc deleted file mode 100644 index a2a58cff..00000000 --- a/.babelrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "presets": [ - ["env", { "modules": false }], - "stage-2" - ], - "plugins": ["transform-runtime"], - "env": { - "test": { - "presets": ["env", "stage-2"], - "plugins": [ "istanbul" ] - } - } -} diff --git a/.dockerignore b/.dockerignore index 8f664b3d..f7796e79 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,7 @@ -assets/ -testdata/ -caddy/ -.github/ +.venv +dist +.idea +frontend/node_modules +frontend/dist +filebrowser.db +docs/index.md \ No newline at end of file diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index a34668e5..00000000 --- a/.editorconfig +++ /dev/null @@ -1,14 +0,0 @@ -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true - -# 4 space indentation -[*.go] -indent_style = tab -indent_size = 4 \ No newline at end of file diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 34af3774..00000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -build/*.js -config/*.js diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 67c085d6..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,27 +0,0 @@ -// http://eslint.org/docs/user-guide/configuring - -module.exports = { - root: true, - parser: 'babel-eslint', - parserOptions: { - sourceType: 'module' - }, - env: { - browser: true, - }, - // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style - extends: 'standard', - // required to lint *.vue files - plugins: [ - 'html' - ], - // add your custom rules here - 'rules': { - // allow paren-less arrow functions - 'arrow-parens': 0, - // allow async-await - 'generator-star-spacing': 0, - // allow debugger during development - 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0 - } -} diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..4c1605e6 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @filebrowser/maintainers diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index ad3cfc9a..00000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,24 +0,0 @@ -### Instructions (remove before submitting): - -1. Are you asking for help with using Caddy or File Manager? Please use our forum instead: https://forum.caddyserver.com. -2. If you are filing a bug report, please answer the following questions. -3. If your issue is not a bug report, you do not need to use this template. -4. If not using with Caddy, ignore questions 1 and 2. - -### 1. Have you downloaded File Manager from caddyserver.com? If yes, when have you done that? If no, and you are running a custom build, which is the revision of File Manager's repository? - -### 2. What is your entire Caddyfile? -```text -(Put Caddyfile here) -``` - -### 3. What are you trying to do? - - -### 4. What did you expect to see? - - -### 5. What did you see instead (give full error messages and/or log)? - - -### 6. How can someone who is starting from scratch reproduce this behaviour as minimally as possible? diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000..f84e7933 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,53 @@ +name: Bug Report +description: Report a bug in FileBrowser. +labels: [bug, 'waiting: triage'] +body: + - type: checkboxes + attributes: + label: Checklist + description: Please verify that you've followed these steps + options: + - label: This is a bug report, not a question. + required: true + - label: I have searched on the [issue tracker](https://github.com/filebrowser/filebrowser/issues?q=is%3Aissue) for my bug. + required: true + - label: I am running the latest [FileBrowser version](https://github.com/filebrowser/filebrowser/releases) or have an issue updating. + required: true + - type: textarea + id: version + attributes: + label: Version + render: Text + description: | + Enter the version of FileBrowser you are using. + validations: + required: true + - type: textarea + attributes: + label: Description + description: | + A clear and concise description of what the issue is about. What are you trying to do? + validations: + required: true + - type: textarea + attributes: + label: What did you expect to happen? + validations: + required: true + - type: textarea + attributes: + label: What actually happened? + validations: + required: true + - type: textarea + attributes: + label: Reproduction Steps + description: | + Tell us how to reproduce this issue. How can someone who is starting from scratch reproduce this behavior as minimally as possible? + validations: + required: true + - type: textarea + attributes: + label: Files + description: | + A list of relevant files for this issue. Large files can be uploaded one-by-one or in a tarball/zipfile. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..b712a879 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: GitHub Discussions + url: https://github.com/filebrowser/filebrowser/discussions + about: Please ask questions and discuss features here. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..a8efcb42 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Description + + + +## Additional Information + + + +## Checklist + +Before submitting your PR, please indicate which issues are either fixed or closed by this PR. See [GitHub Help: Closing issues using keywords](https://help.github.com/articles/closing-issues-via-commit-messages/). + +- [ ] I am aware the project is currently in maintenance-only mode. See [README](https://github.com/filebrowser/community/blob/master/README.md) +- [ ] I am aware that translations MUST be made through [Transifex](https://app.transifex.com/file-browser/file-browser/) and that this PR is NOT a translation update +- [ ] I am making a PR against the `master` branch. +- [ ] I am sure File Browser can be successfully built. See [builds](https://github.com/filebrowser/community/blob/master/builds.md) and [development](https://github.com/filebrowser/community/blob/master/development.md). diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 00000000..846b08f8 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,115 @@ +name: Continuous Integration + +on: + push: + branches: + - "master" + tags: + - "v*" + pull_request: + +jobs: + lint-frontend: + name: Lint Frontend + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: pnpm/action-setup@v4 + with: + package_json_file: "frontend/package.json" + - uses: actions/setup-node@v6 + with: + node-version: "24.x" + cache: "pnpm" + cache-dependency-path: "frontend/pnpm-lock.yaml" + - working-directory: frontend + run: | + pnpm install --frozen-lockfile + pnpm run lint + + lint-backend: + name: Lint Backend + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-go@v6 + with: + go-version: "1.25.x" + - uses: golangci/golangci-lint-action@v9 + with: + version: "latest" + + test: + name: Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-go@v6 + with: + go-version: "1.25.x" + - run: go test --race ./... + + build: + name: Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + - uses: actions/setup-go@v6 + with: + go-version: '1.25' + - uses: pnpm/action-setup@v4 + with: + package_json_file: "frontend/package.json" + - uses: actions/setup-node@v6 + with: + node-version: "24.x" + cache: "pnpm" + cache-dependency-path: "frontend/pnpm-lock.yaml" + - name: Install Task + uses: go-task/setup-task@v1 + - run: task build + + release: + name: Release + needs: ["lint-frontend", "lint-backend", "test", "build"] + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + - uses: actions/setup-go@v6 + with: + go-version: '1.25' + - uses: pnpm/action-setup@v4 + with: + package_json_file: "frontend/package.json" + - uses: actions/setup-node@v6 + with: + node-version: "24.x" + cache: "pnpm" + cache-dependency-path: "frontend/pnpm-lock.yaml" + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Install Task + uses: go-task/setup-task@v1 + - run: task build:frontend + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v6 + with: + version: latest + args: release --clean + env: + GITHUB_TOKEN: ${{ secrets.GH_PAT }} + + + diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 00000000..5b21ccba --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,52 @@ +name: Docs + +on: + pull_request: + paths: + - 'www' + - '*.md' + push: + branches: + - master + +jobs: + build: + name: Build Docs + if: github.event_name == 'pull_request' + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Install Task + uses: go-task/setup-task@v1 + - name: Build site + run: task docs + + build-and-release: + if: github.event_name == 'push' && github.ref == 'refs/heads/master' + name: Build and Release Docs + permissions: + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Install Task + uses: go-task/setup-task@v1 + - name: Build site + run: task docs + - name: Upload static files as artifact + uses: actions/upload-pages-artifact@v4 + with: + path: www/public + - name: Deploy to GitHub Pages + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/lint-pr.yaml b/.github/workflows/lint-pr.yaml new file mode 100644 index 00000000..f00f4415 --- /dev/null +++ b/.github/workflows/lint-pr.yaml @@ -0,0 +1,46 @@ +name: "Lint PR" + +on: + pull_request_target: + types: + - opened + - reopened + - edited + - synchronize + +permissions: + pull-requests: write + +jobs: + main: + name: Validate Title + runs-on: ubuntu-latest + steps: + - uses: amannn/action-semantic-pull-request@v6 + id: lint_pr_title + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - uses: marocchino/sticky-pull-request-comment@v2 + # When the previous steps fails, the workflow would stop. By adding this + # condition you can continue the execution with the populated error message. + if: always() && (steps.lint_pr_title.outputs.error_message != null) + with: + header: pr-title-lint-error + message: | + Hey there and thank you for opening this pull request! 👋🏼 + + We require pull request titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your proposed title needs to be adjusted. + + Details: + + ``` + ${{ steps.lint_pr_title.outputs.error_message }} + ``` + + # Delete a previous comment when the issue has been resolved + - if: ${{ steps.lint_pr_title.outputs.error_message == null }} + uses: marocchino/sticky-pull-request-comment@v2 + with: + header: pr-title-lint-error + delete: true diff --git a/.gitignore b/.gitignore index c774651a..b9ee1fe0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,39 @@ -.DS_Store -node_modules/ -*/dist/* *.db -*.db.lock +*.bak +_old +rice-box.go +.idea/ +/filebrowser +/filebrowser.exe +/dist +.venv + +.DS_Store +node_modules + +# local env files +.env.local +.env.*.local + +# Log files npm-debug.log* yarn-debug.log* yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* +bin/ +build/ + +# Vue distributable files +/frontend/dist/* +!/frontend/dist/.gitkeep + +default.nix +Dockerfile.dev diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000..8819f48b --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,14 @@ +version: "2" + +linters: + default: standard + enable: + - gocritic + - govet + - revive + exclusions: + presets: + - std-error-handling + - comments + paths: + - frontend/ diff --git a/.goreleaser.yml b/.goreleaser.yml index 6231c26b..be192ef8 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,29 +1,204 @@ -build: - main: cmd/filemanager/main.go - binary: filemanager - goos: - - darwin - - linux - - windows - - freebsd - - netbsd - - openbsd - goarch: - - amd64 - - 386 - - arm - - arm64 - ignore: - - goos: openbsd - goarch: arm - goarm: 6 - - goos: freebsd - goarch: arm - goarm: 6 +version: 2 -archive: - name_template: "{{.Os}}-{{.Arch}}-{{ .ProjectName }}" - format: tar.gz - format_overrides: - - goos: windows - format: zip +project_name: filebrowser + +env: + - GO111MODULE=on + +builds: + - env: + - CGO_ENABLED=0 + ldflags: + - -s -w -X github.com/filebrowser/filebrowser/v2/version.Version={{ .Version }} -X github.com/filebrowser/filebrowser/v2/version.CommitSHA={{ .ShortCommit }} + main: main.go + binary: filebrowser + goos: + - darwin + - linux + - windows + - freebsd + - openbsd + goarch: + - amd64 + - "386" + - arm + - arm64 + - riscv64 + goarm: + - "5" + - "6" + - "7" + ignore: + - goos: darwin + goarch: "386" + # Experimental, may not work properly + - goos: openbsd + goarch: riscv64 + # Broken as of Go 1.24, deprecated as of Go 1.26 + - goos: windows + goarch: arm + - goos: freebsd + goarch: arm + +archives: + - name_template: "{{.Os}}-{{.Arch}}{{if .Arm}}v{{.Arm}}{{end}}-{{ .ProjectName }}" + formats: ["tar.gz"] + format_overrides: + - goos: windows + formats: ["zip"] + +dockers: + # Alpine docker images + - dockerfile: Dockerfile + use: buildx + build_flag_templates: + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.name={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/amd64" + goos: linux + goarch: amd64 + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-amd64" + - "filebrowser/filebrowser:v{{ .Major }}-amd64" + extra_files: + - docker + - dockerfile: Dockerfile + use: buildx + build_flag_templates: + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.name={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/arm64" + goos: linux + goarch: arm64 + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-arm64" + - "filebrowser/filebrowser:v{{ .Major }}-arm64" + extra_files: + - docker + - dockerfile: Dockerfile + use: buildx + build_flag_templates: + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.name={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/arm/v6" + goos: linux + goarch: arm + goarm: "6" + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-armv6" + - "filebrowser/filebrowser:v{{ .Major }}-armv6" + extra_files: + - docker + - dockerfile: Dockerfile + use: buildx + build_flag_templates: + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.name={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/arm/v7" + goos: linux + goarch: arm + goarm: "7" + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-armv7" + - "filebrowser/filebrowser:v{{ .Major }}-armv7" + extra_files: + - docker + + ## s6-overlay docker images + - dockerfile: Dockerfile.s6 + use: buildx + build_flag_templates: + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.name={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/amd64" + goos: linux + goarch: amd64 + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-amd64-s6" + - "filebrowser/filebrowser:v{{ .Major }}-amd64-s6" + extra_files: + - docker + - dockerfile: Dockerfile.s6 + use: buildx + build_flag_templates: + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.name={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/arm64" + goos: linux + goarch: arm64 + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-arm64-s6" + - "filebrowser/filebrowser:v{{ .Major }}-arm64-s6" + extra_files: + - docker + +docker_manifests: + - name_template: "filebrowser/filebrowser:latest" + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-amd64" + - "filebrowser/filebrowser:{{ .Tag }}-arm64" + - "filebrowser/filebrowser:{{ .Tag }}-armv7" + - name_template: "filebrowser/filebrowser:{{ .Tag }}" + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-amd64" + - "filebrowser/filebrowser:{{ .Tag }}-arm64" + - "filebrowser/filebrowser:{{ .Tag }}-armv7" + - name_template: "filebrowser/filebrowser:v{{ .Major }}" + image_templates: + - "filebrowser/filebrowser:v{{ .Major }}-amd64" + - "filebrowser/filebrowser:v{{ .Major }}-arm64" + - "filebrowser/filebrowser:v{{ .Major }}-armv7" + ## s6 image manifests + - name_template: "filebrowser/filebrowser:s6" + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-amd64-s6" + - "filebrowser/filebrowser:{{ .Tag }}-arm64-s6" + - name_template: "filebrowser/filebrowser:{{ .Tag }}-s6" + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-amd64-s6" + - "filebrowser/filebrowser:{{ .Tag }}-arm64-s6" + - name_template: "filebrowser/filebrowser:v{{ .Major }}-s6" + image_templates: + - "filebrowser/filebrowser:v{{ .Major }}-amd64-s6" + - "filebrowser/filebrowser:v{{ .Major }}-arm64-s6" + +homebrew_casks: + - name: filebrowser + repository: + owner: filebrowser + name: homebrew-tap + commit_author: + name: FileBrowser Robot + email: robot@filebrowser.org + homepage: https://github.com/filebrowser/filebrowser + description: File Browser is a create-your-own-cloud-kind of software where you can install it on a server, direct it to a path and then access your files through a nice web interface + hooks: + post: + install: | + if system_command("/usr/bin/xattr", args: ["-h"]).exit_status == 0 + system_command "/usr/bin/xattr", args: ["-dr", "com.apple.quarantine", "#{staged_path}/filebrowser"] + end diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 82a82b50..00000000 --- a/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -language: go - -go: 1.8.3 - -env: - - "PATH=/home/travis/gopath/bin:$PATH" - -install: - - go get ./... - # Install gometalinter and certain linters - - go get github.com/alecthomas/gometalinter - - go get github.com/client9/misspell/cmd/misspell - - go get github.com/gordonklaus/ineffassign - - go get golang.org/x/tools/cmd/goimports - - go get github.com/tsenart/deadcode - -script: - - gometalinter --disable-all -E vet -E gofmt -E misspell -E ineffassign -E goimports -E deadcode --exclude="rice-box.go" --tests ./... - - go test ./... -timeout 30s - -after_success: - - test -n "$TRAVIS_TAG" && curl -sL https://git.io/goreleaser | bash diff --git a/.versionrc b/.versionrc new file mode 100644 index 00000000..ecf59363 --- /dev/null +++ b/.versionrc @@ -0,0 +1,14 @@ +{ + "types": [ + { "type": "feat", "section": "Features" }, + { "type": "fix", "section": "Bug Fixes" }, + { "type": "perf", "section": "Performance improvements" }, + { "type": "revert", "section": "Reverts" }, + { "type": "refactor", "section": "Refactorings" }, + { "type": "build", "section": "Build" }, + { "type": "ci", "hidden": true }, + { "type": "test", "hidden": true }, + { "type": "chore", "hidden": true }, + { "type": "docs", "hidden": true } + ] +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..0f49dca9 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,1571 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines. + +## [2.55.0](https://github.com/filebrowser/filebrowser/compare/v2.54.0...v2.55.0) (2026-01-18) + + +### Features + +* added cut, copy, paste and show command palette functions in header ([#5648](https://github.com/filebrowser/filebrowser/issues/5648)) ([785b7ab](https://github.com/filebrowser/filebrowser/commit/785b7abb7ba7a86cc0deae1052c319ff714c222c)) +* update translations ([#5677](https://github.com/filebrowser/filebrowser/issues/5677)) ([e7ea1ad](https://github.com/filebrowser/filebrowser/commit/e7ea1ad27d3d17e249489d3338be40bfea15e2a1)) + + +### Bug Fixes + +* prevent context menu clicks from clearing file selection ([#5681](https://github.com/filebrowser/filebrowser/issues/5681)) ([59ca0c3](https://github.com/filebrowser/filebrowser/commit/59ca0c340afc7774747c70ede9a5a5a3c9349d6b)) +* request current password when deleting users ([#5667](https://github.com/filebrowser/filebrowser/issues/5667)) ([cfa6c58](https://github.com/filebrowser/filebrowser/commit/cfa6c5864e5e7673aa9f3180e4964e0db92cc4da)) +* retain file selection when closing the editor ([#5693](https://github.com/filebrowser/filebrowser/issues/5693)) ([4094fb3](https://github.com/filebrowser/filebrowser/commit/4094fb359babac70e88d0ed4bfe3bd100744aad6)) + +## [2.54.0](https://github.com/filebrowser/filebrowser/compare/v2.53.1...v2.54.0) (2026-01-10) + + +### Features + +* add "redirect after copy/move" user setting ([#5662](https://github.com/filebrowser/filebrowser/issues/5662)) ([fda8a99](https://github.com/filebrowser/filebrowser/commit/fda8a992929b1466e75fb2813f2c4e293c12d244)) +* force file sync while uploading file ([#5668](https://github.com/filebrowser/filebrowser/issues/5668)) ([4fd18a3](https://github.com/filebrowser/filebrowser/commit/4fd18a382c31bbe7059d6733ffa371e70051865b)) +* update translations ([#5659](https://github.com/filebrowser/filebrowser/issues/5659)) ([464b581](https://github.com/filebrowser/filebrowser/commit/464b581953139c17e3276b774e381e4052827125)) + + +### Bug Fixes + +* clear selection by clicking on empty area ([#5663](https://github.com/filebrowser/filebrowser/issues/5663)) ([208535a](https://github.com/filebrowser/filebrowser/commit/208535a8cc23254de0013dfab9008486707ee6c2)) +* hide "change password form" in noauth setting ([#5652](https://github.com/filebrowser/filebrowser/issues/5652)) ([219582c](https://github.com/filebrowser/filebrowser/commit/219582c0b03fd90979b1d1398dba7919d086a23f)) + +## [2.53.1](https://github.com/filebrowser/filebrowser/compare/v2.53.0...v2.53.1) (2026-01-03) + + +### Bug Fixes + +* download path encoding file paths ([#5655](https://github.com/filebrowser/filebrowser/issues/5655)) ([ffa893e](https://github.com/filebrowser/filebrowser/commit/ffa893e9ac387a49dba5917a41df7c3b7ce120fc)) +* request a password to change sensitive user data ([#5629](https://github.com/filebrowser/filebrowser/issues/5629)) ([b8151a0](https://github.com/filebrowser/filebrowser/commit/b8151a038a1ea55afae8073b439b74e364cac12f)) + +## [2.53.0](https://github.com/filebrowser/filebrowser/compare/v2.52.0...v2.53.0) (2025-12-29) + + +### Features + +* add "disable image resolution calculation" flag ([#5638](https://github.com/filebrowser/filebrowser/issues/5638)) ([a2d80c6](https://github.com/filebrowser/filebrowser/commit/a2d80c62c1c17962e566f68fb7cac6960ed3e4cb)) +* support streaming response for search results ([#5630](https://github.com/filebrowser/filebrowser/issues/5630)) ([20bfd13](https://github.com/filebrowser/filebrowser/commit/20bfd131c6a4fca48a645b52171c2d1cc3ce92b7)) +* update translations ([a12a612](https://github.com/filebrowser/filebrowser/commit/a12a612970d6cc3dfbca1b35ef3a60a887a4effb)) +* update translations ([#5626](https://github.com/filebrowser/filebrowser/issues/5626)) ([f899756](https://github.com/filebrowser/filebrowser/commit/f89975603e29b9f1fc05aec58afb42bbd56ed696)) +* update translations ([#5631](https://github.com/filebrowser/filebrowser/issues/5631)) ([032d6c7](https://github.com/filebrowser/filebrowser/commit/032d6c7520a64686c9d9b1218562256f629b4703)) + + +### Bug Fixes + +* conversion of backslashes in file paths for archive creation ([#5637](https://github.com/filebrowser/filebrowser/issues/5637)) ([9595f39](https://github.com/filebrowser/filebrowser/commit/9595f3939c1c129ed875a47adcc4fbcfad9a0e65)) +* Don't crash on invalid config import ([#5640](https://github.com/filebrowser/filebrowser/issues/5640)) ([79d1aa9](https://github.com/filebrowser/filebrowser/commit/79d1aa9229b076ee8e3b71d6cf061fc90738f4da)) +* fix nil deref in config set command ([#5641](https://github.com/filebrowser/filebrowser/issues/5641)) ([60b1ee8](https://github.com/filebrowser/filebrowser/commit/60b1ee8bb9e18b21d7f2c04cb1cc90046cecd3e1)) + +## [2.52.0](https://github.com/filebrowser/filebrowser/compare/v2.51.2...v2.52.0) (2025-12-13) + + +### Features + +* sync translations with Transifex ([7fa3432](https://github.com/filebrowser/filebrowser/commit/7fa3432f25610bbb55a718bc709b9a7bf41d92f0)) +* update translations ([#5615](https://github.com/filebrowser/filebrowser/issues/5615)) ([3fdca6d](https://github.com/filebrowser/filebrowser/commit/3fdca6dfd9a18c3f4895b4ef3cbd216824dbb57a)) + + +### Bug Fixes + +* display the directory name in the shared folder view ([#5617](https://github.com/filebrowser/filebrowser/issues/5617)) ([6d4c867](https://github.com/filebrowser/filebrowser/commit/6d4c86767239dad4f09f30f48678f2f3a716eb12)) +* hide the context menu when changing the route ([#5613](https://github.com/filebrowser/filebrowser/issues/5613)) ([cf96657](https://github.com/filebrowser/filebrowser/commit/cf966578d8c6beab111b74f495bac6bdec173f41)) + +## [2.51.2](https://github.com/filebrowser/filebrowser/compare/v2.51.1...v2.51.2) (2025-12-07) + + +### Bug Fixes + +* **frontend:** add missing i18n strings ([c171599](https://github.com/filebrowser/filebrowser/commit/c1715992bda46517f801c1aa496df8a3b42a4e4d)) + +## [2.51.1](https://github.com/filebrowser/filebrowser/compare/v2.51.0...v2.51.1) (2025-12-07) + + +### Bug Fixes + +* **frontend:** csv viewer i18n strings ([4cbb4b7](https://github.com/filebrowser/filebrowser/commit/4cbb4b73af816104475f15c1d996640b56203602)) +* prevent the right-click from selecting multiple items when the "single-click" option is active ([#5608](https://github.com/filebrowser/filebrowser/issues/5608)) ([152f830](https://github.com/filebrowser/filebrowser/commit/152f8302f7cda21bde37692b175c22c124233f45)) + +## [2.51.0](https://github.com/filebrowser/filebrowser/compare/v2.50.0...v2.51.0) (2025-12-06) + + +### Features + +* update translations ([2d88c06](https://github.com/filebrowser/filebrowser/commit/2d88c067611e936056dbbf04247f1c1c709b2a09)) + + +### Bug Fixes + +* added column separator select (comma, semicolon and both) in CSV viewer ([#5604](https://github.com/filebrowser/filebrowser/issues/5604)) ([204a3f0](https://github.com/filebrowser/filebrowser/commit/204a3f0eeaa0c68781b60651bf27c4b27eac44e6)) + + +### Refactorings + +* cleanup package names ([#5605](https://github.com/filebrowser/filebrowser/issues/5605)) ([f029c30](https://github.com/filebrowser/filebrowser/commit/f029c3005e450cfbebb074c42dbdf65db9c8d56a)) + +## [2.50.0](https://github.com/filebrowser/filebrowser/compare/v2.49.0...v2.50.0) (2025-11-30) + + +### Features + +* configurable logout page URL for proxy/hook auth ([#3884](https://github.com/filebrowser/filebrowser/issues/3884)) ([b9ac45d](https://github.com/filebrowser/filebrowser/commit/b9ac45d5dac4b4eb2ba364629090fbf306cffd2b)) +* render CSVs as table ([#5569](https://github.com/filebrowser/filebrowser/issues/5569)) ([982405e](https://github.com/filebrowser/filebrowser/commit/982405ec944f94baf43594b0ed2f06329ff4e9ed)) +* update frontend/src/i18n/hr.json ([279a5cc](https://github.com/filebrowser/filebrowser/commit/279a5ccd1e8d7bde4568b63cb3c506af48b6c618)) +* update translations ([78e0395](https://github.com/filebrowser/filebrowser/commit/78e039596070a3a9e643a693cc99960c69dcfe92)) + + +### Bug Fixes + +* do not close editor if save failed ([701522a](https://github.com/filebrowser/filebrowser/commit/701522a0600cfa542469540ed764630c0ba1a732)), closes [#5591](https://github.com/filebrowser/filebrowser/issues/5591) + +## [2.49.0](https://github.com/filebrowser/filebrowser/compare/v2.48.2...v2.49.0) (2025-11-22) + + +### Features + +* add "copy download link to clipboard" button to Share prompt ([#5173](https://github.com/filebrowser/filebrowser/issues/5173)) ([d48f566](https://github.com/filebrowser/filebrowser/commit/d48f5665d6975c4cbbdf9be20dc2e0106db02f01)) +* add Bulgarian language ([8db2411](https://github.com/filebrowser/filebrowser/commit/8db2411cd43a23ae3292a817e3524cfdb5ae9b86)) +* Updates for project File Browser ([#5566](https://github.com/filebrowser/filebrowser/issues/5566)) ([54306bd](https://github.com/filebrowser/filebrowser/commit/54306bdc8700fac489326ae81e28ac5db0580d13)) + + +### Bug Fixes + +* display friendly error message for password validation on signup ([#5563](https://github.com/filebrowser/filebrowser/issues/5563)) ([6d5aa35](https://github.com/filebrowser/filebrowser/commit/6d5aa355e433d613e5a3ae137f410c63baeddf0f)) + +## [2.48.2](https://github.com/filebrowser/filebrowser/compare/v2.48.1...v2.48.2) (2025-11-18) + + +### Bug Fixes + +* add transitionary support for FB_BASEURL ([984ea7b](https://github.com/filebrowser/filebrowser/commit/984ea7b569e3bd33b6f91ebdf63684a618d51e94)) + + +### Refactorings + +* rename python for clarification ([fd7b70c](https://github.com/filebrowser/filebrowser/commit/fd7b70cf38ac67c8c9ff79f2e7fde5e2ec45a1de)) + +## [2.48.1](https://github.com/filebrowser/filebrowser/compare/v2.48.0...v2.48.1) (2025-11-17) + + +### Bug Fixes + +* options should only override if set ([420adea](https://github.com/filebrowser/filebrowser/commit/420adea7e61a1c182cddd6fb2544a0752e5709f7)) + +## [2.48.0](https://github.com/filebrowser/filebrowser/compare/v2.47.0...v2.48.0) (2025-11-17) + + +### Features + +* consistent flags and environment variables ([#5549](https://github.com/filebrowser/filebrowser/issues/5549)) ([0a0cb80](https://github.com/filebrowser/filebrowser/commit/0a0cb8046fce52f1ff926171b34bcdb7cd39aab3)) + + +### Bug Fixes + +* add tokenExpirationTime to `config init` and troubleshoot docs ([#5546](https://github.com/filebrowser/filebrowser/issues/5546)) ([8c5dc76](https://github.com/filebrowser/filebrowser/commit/8c5dc7641e6f8aadd9e5d5d3b25a2ad9f1ec9a1e)) +* use all available flags in quick setup ([f41585f](https://github.com/filebrowser/filebrowser/commit/f41585f0392d65c08c01ab65b62d3eeb04c03b7d)) + + +### Refactorings + +* reuse logic for config init and set ([89be0b1](https://github.com/filebrowser/filebrowser/commit/89be0b1873527987dd2dddac746e93b8bc684d46)) + +## [2.47.0](https://github.com/filebrowser/filebrowser/compare/v2.46.1...v2.47.0) (2025-11-16) + + +### Features + +* add TUS settings to the command line ([#5556](https://github.com/filebrowser/filebrowser/issues/5556)) ([e24e1f1](https://github.com/filebrowser/filebrowser/commit/e24e1f1abae9e80add620c4ad65660ca1b575a49)) +* remove importer of v1 config ([#5550](https://github.com/filebrowser/filebrowser/issues/5550)) ([ceb5e72](https://github.com/filebrowser/filebrowser/commit/ceb5e723f3ee2c966bb561a804015246450280ca)) + + +### Bug Fixes + +* exit 0 when gracefully shutting down ([#5555](https://github.com/filebrowser/filebrowser/issues/5555)) ([5de4099](https://github.com/filebrowser/filebrowser/commit/5de4099cba2cf012d4a213c8eb29c412fc72c151)) + +## [2.46.1](https://github.com/filebrowser/filebrowser/compare/v2.46.0...v2.46.1) (2025-11-15) + + +### Bug Fixes + +* env key replacer and remove unused function ([#5547](https://github.com/filebrowser/filebrowser/issues/5547)) ([13814e1](https://github.com/filebrowser/filebrowser/commit/13814e11197ebd9101940883e3ca85998f86d442)) +* remove duplicated 'hide-defaults' flag (is 'hideDefaults') ([#5548](https://github.com/filebrowser/filebrowser/issues/5548)) ([ffc8504](https://github.com/filebrowser/filebrowser/commit/ffc850454e4cb8f10b970511681d6c627340afc7)) + +## [2.46.0](https://github.com/filebrowser/filebrowser/compare/v2.45.3...v2.46.0) (2025-11-14) + + +### Features + +* add 'hide-dotfiles' as command line parameter ([#3802](https://github.com/filebrowser/filebrowser/issues/3802)) ([0d973d3](https://github.com/filebrowser/filebrowser/commit/0d973d3aad70ceb88950f2cd9c297fc76e7955b1)) +* add context menu ([#3343](https://github.com/filebrowser/filebrowser/issues/3343)) ([1ace579](https://github.com/filebrowser/filebrowser/commit/1ace579a553486bb15af2d11f537414156606434)) +* add option to hide the login button from public-facing pages ([#3922](https://github.com/filebrowser/filebrowser/issues/3922)) ([ac7b49c](https://github.com/filebrowser/filebrowser/commit/ac7b49c1484b4e27a1149310542ccd1e90659ee2)) +* Updates for project File Browser ([#5544](https://github.com/filebrowser/filebrowser/issues/5544)) ([fb5d099](https://github.com/filebrowser/filebrowser/commit/fb5d099f8514516216f407be012d2e3f25de2441)) + +## [2.45.3](https://github.com/filebrowser/filebrowser/compare/v2.45.2...v2.45.3) (2025-11-13) + +This is a test release to ensure the updated workflow works. + +## [2.45.2](https://github.com/filebrowser/filebrowser/compare/v2.45.1...v2.45.2) (2025-11-13) + + +### Bug Fixes + +* **deps:** update module github.com/shirou/gopsutil/v3 to v4 ([#5536](https://github.com/filebrowser/filebrowser/issues/5536)) ([fdff7a3](https://github.com/filebrowser/filebrowser/commit/fdff7a38f4711f2b58dfdd60bebbb057bd3a478d)) +* **deps:** update module gopkg.in/yaml.v2 to v3 ([#5537](https://github.com/filebrowser/filebrowser/issues/5537)) ([f26a685](https://github.com/filebrowser/filebrowser/commit/f26a68587d8432b536453093f42dc255d19d10fa)) + +### [2.45.1](https://github.com/filebrowser/filebrowser/compare/v2.45.0...v2.45.1) (2025-11-11) + + +### Bug Fixes + +* share page preview items to contain baseUrl ([#5510](https://github.com/filebrowser/filebrowser/issues/5510)) ([6950c2e](https://github.com/filebrowser/filebrowser/commit/6950c2e4d2868f06235f93c0a18b303b4095ca0a)) + +## [2.45.0](https://github.com/filebrowser/filebrowser/compare/v2.44.2...v2.45.0) (2025-11-01) + + +### Features + +* update translations ([#5458](https://github.com/filebrowser/filebrowser/issues/5458)) ([b9a03fa](https://github.com/filebrowser/filebrowser/commit/b9a03fabd98119d6588882f5ba2a7d29b012d729)) + + +### Bug Fixes + +* support croatian ([#5502](https://github.com/filebrowser/filebrowser/issues/5502)) ([93fe31c](https://github.com/filebrowser/filebrowser/commit/93fe31cc55c9d9d27c634993619a768fa700da1d)) + +### [2.44.2](https://github.com/filebrowser/filebrowser/compare/v2.44.1...v2.44.2) (2025-10-22) + + +### Bug Fixes + +* **http:** remove auth query parameter ([57db25d](https://github.com/filebrowser/filebrowser/commit/57db25d08a1ef2cd0b41f34e312b7b7c35c7ed38)) + + +### Build + +* **deps-dev:** bump vite from 6.3.6 to 6.4.1 in /frontend ([b8f64a1](https://github.com/filebrowser/filebrowser/commit/b8f64a1c1bc235df784d7f52abd3a9e84c6db6ce)) + +### [2.44.1](https://github.com/filebrowser/filebrowser/compare/v2.44.0...v2.44.1) (2025-10-17) + + +### Bug Fixes + +* **auth:** prevent integer overflow in logout timer using safeTimeout ([#5470](https://github.com/filebrowser/filebrowser/issues/5470)) ([dd88398](https://github.com/filebrowser/filebrowser/commit/dd883985bb484af9dfea2677a40d56999fdc72f3)) +* editor discard prompt doesn't save nor discard ([a397e73](https://github.com/filebrowser/filebrowser/commit/a397e7305d1572baf67823413f97a29eea38f0cc)) +* wrong url on settings branding link ([d0039af](https://github.com/filebrowser/filebrowser/commit/d0039afbb76a9364c1e6ac9715ccc3c239dc8cb6)) + + +### Refactorings + +* use slices.Contains to simplify code ([#5483](https://github.com/filebrowser/filebrowser/issues/5483)) ([97b8911](https://github.com/filebrowser/filebrowser/commit/97b8911ba8a65456091cbec0202f6b5209fcf363)) + +## [2.44.0](https://github.com/filebrowser/filebrowser/compare/v2.43.0...v2.44.0) (2025-09-25) + + +### Features + +* allow setting ace editor theme ([#3826](https://github.com/filebrowser/filebrowser/issues/3826)) ([b9787c7](https://github.com/filebrowser/filebrowser/commit/b9787c78f3889171f94db19e7655dce68c64b6fb)) +* Improved path display in the new file and directory modal ([#5451](https://github.com/filebrowser/filebrowser/issues/5451)) ([d29ad35](https://github.com/filebrowser/filebrowser/commit/d29ad356d1067c87b2821debab91286549f512a0)) +* Translate frontend/src/i18n/en.json in no ([dec7a02](https://github.com/filebrowser/filebrowser/commit/dec7a027378fbc6948d203199c44a640a141bcad)) +* Updates for project File Browser ([#5446](https://github.com/filebrowser/filebrowser/issues/5446)) ([4ff247e](https://github.com/filebrowser/filebrowser/commit/4ff247e134e4d61668ee656a258ed67f71414e18)) +* Updates for project File Browser ([#5450](https://github.com/filebrowser/filebrowser/issues/5450)) ([0eade71](https://github.com/filebrowser/filebrowser/commit/0eade717ce9d04bf48051922f11d983edbc7c2d0)) +* Updates for project File Browser ([#5457](https://github.com/filebrowser/filebrowser/issues/5457)) ([1165f00](https://github.com/filebrowser/filebrowser/commit/1165f00bd4dcb0dcfbc084f54f51902ba4b4a714)) + + +### Bug Fixes + +* computation of file path ([c472542](https://github.com/filebrowser/filebrowser/commit/c4725428e07da72b855009e2c13c6ed91d32e0b7)) +* show login when session token expires ([e6c674b](https://github.com/filebrowser/filebrowser/commit/e6c674b3c616831942c4d4aacab0907d58003e23)) +* some formatting issues with i18n files ([949ddff](https://github.com/filebrowser/filebrowser/commit/949ddffef20e38169902c5fd74dca4815dcecf11)) +* **upload:** throttle upload speed calculation to 100ms to avoid Infinity MB/s ([#5456](https://github.com/filebrowser/filebrowser/issues/5456)) ([692ca5e](https://github.com/filebrowser/filebrowser/commit/692ca5eaf01e4dcf346ba03f82c5dbd50cce246b)) + +## [2.43.0](https://github.com/filebrowser/filebrowser/compare/v2.42.5...v2.43.0) (2025-09-13) + + +### Features + +* "save changes" button to discard changes dialog ([84e8632](https://github.com/filebrowser/filebrowser/commit/84e8632b98e315bfef2da77dd7d1049daec99241)) +* Translate frontend/src/i18n/en.json in es ([571ce6c](https://github.com/filebrowser/filebrowser/commit/571ce6cb0d7c8725d1cc1a3238ea506ddc72b060)) +* Translate frontend/src/i18n/en.json in fr ([6b1fa87](https://github.com/filebrowser/filebrowser/commit/6b1fa87ad38ebbb1a9c5d0e5fc88ba796c148bcf)) +* Updates for project File Browser ([#5427](https://github.com/filebrowser/filebrowser/issues/5427)) ([8950585](https://github.com/filebrowser/filebrowser/commit/89505851414bfcee6b9ff02087eb4cec51c330f6)) + + +### Bug Fixes + +* optimize markdown preview height ([783503a](https://github.com/filebrowser/filebrowser/commit/783503aece7fca9e26f7e849b0e7478aba976acb)) + + +### Reverts + +* build(deps): bump github.com/ulikunitz/xz from 0.5.12 to 0.5.14 ([0769265](https://github.com/filebrowser/filebrowser/commit/07692653ffe0ea5e517e6dc1fd3961172e931843)) + + +### Build + +* **deps-dev:** bump vite from 6.1.6 to 6.3.6 in /frontend ([36c6cc2](https://github.com/filebrowser/filebrowser/commit/36c6cc203e10947439519a0413d5817921a1690d)) +* **deps:** bump github.com/go-viper/mapstructure/v2 in /tools ([280fa56](https://github.com/filebrowser/filebrowser/commit/280fa562a67824887ae6e2530a3b73739d6e1bb4)) +* **deps:** bump github.com/ulikunitz/xz from 0.5.12 to 0.5.14 ([950028a](https://github.com/filebrowser/filebrowser/commit/950028abebe2898bac4ecfd8715c0967246310cb)) + + +### Refactorings + +* to use strings.Lines ([b482a9b](https://github.com/filebrowser/filebrowser/commit/b482a9bf0d292ec6542d2145a4408971e4c985f1)) + +## [2.43.0](https://github.com/filebrowser/filebrowser/compare/v2.42.5...v2.43.0) (2025-09-13) + + +### Features + +* "save changes" button to discard changes dialog ([84e8632](https://github.com/filebrowser/filebrowser/commit/84e8632b98e315bfef2da77dd7d1049daec99241)) +* Translate frontend/src/i18n/en.json in es ([571ce6c](https://github.com/filebrowser/filebrowser/commit/571ce6cb0d7c8725d1cc1a3238ea506ddc72b060)) +* Translate frontend/src/i18n/en.json in fr ([6b1fa87](https://github.com/filebrowser/filebrowser/commit/6b1fa87ad38ebbb1a9c5d0e5fc88ba796c148bcf)) +* Updates for project File Browser ([#5427](https://github.com/filebrowser/filebrowser/issues/5427)) ([8950585](https://github.com/filebrowser/filebrowser/commit/89505851414bfcee6b9ff02087eb4cec51c330f6)) + + +### Bug Fixes + +* optimize markdown preview height ([783503a](https://github.com/filebrowser/filebrowser/commit/783503aece7fca9e26f7e849b0e7478aba976acb)) + + +### Build + +* **deps-dev:** bump vite from 6.1.6 to 6.3.6 in /frontend ([36c6cc2](https://github.com/filebrowser/filebrowser/commit/36c6cc203e10947439519a0413d5817921a1690d)) +* **deps:** bump github.com/go-viper/mapstructure/v2 in /tools ([280fa56](https://github.com/filebrowser/filebrowser/commit/280fa562a67824887ae6e2530a3b73739d6e1bb4)) +* **deps:** bump github.com/ulikunitz/xz from 0.5.12 to 0.5.14 ([950028a](https://github.com/filebrowser/filebrowser/commit/950028abebe2898bac4ecfd8715c0967246310cb)) + + +### Refactorings + +* to use strings.Lines ([b482a9b](https://github.com/filebrowser/filebrowser/commit/b482a9bf0d292ec6542d2145a4408971e4c985f1)) + +### [2.42.5](https://github.com/filebrowser/filebrowser/compare/v2.42.4...v2.42.5) (2025-08-16) + + +### Bug Fixes + +* "new folder" button not working in the move and copy popup ([#5368](https://github.com/filebrowser/filebrowser/issues/5368)) ([3107ae4](https://github.com/filebrowser/filebrowser/commit/3107ae41475ae9383c3af414d25a133e549f8087)) + +### [2.42.4](https://github.com/filebrowser/filebrowser/compare/v2.42.3...v2.42.4) (2025-08-16) + + +### Bug Fixes + +* add libcap to Dockerfile.s6 ([342b239](https://github.com/filebrowser/filebrowser/commit/342b239ac6f4af2453d5f7aa27f7f0093024dd72)) + +### [2.42.3](https://github.com/filebrowser/filebrowser/compare/v2.42.2...v2.42.3) (2025-08-09) + + +### Bug Fixes + +* add missing CLI flags for user management ([#5351](https://github.com/filebrowser/filebrowser/issues/5351)) ([cd51a59](https://github.com/filebrowser/filebrowser/commit/cd51a59e72c72560fce7bcc9b12aaf02646b699c)) + +### [2.42.2](https://github.com/filebrowser/filebrowser/compare/v2.42.1...v2.42.2) (2025-08-06) + + +### Bug Fixes + +* show file upload errors ([06e8713](https://github.com/filebrowser/filebrowser/commit/06e8713fa55065d38f02499d3e8d39fc86926cab)) + + +### Refactorings + +* upload progress calculation ([#5350](https://github.com/filebrowser/filebrowser/issues/5350)) ([c14cf86](https://github.com/filebrowser/filebrowser/commit/c14cf86f8304e01d804e01a7eef5ea093627ef37)) + +### [2.42.1](https://github.com/filebrowser/filebrowser/compare/v2.42.0...v2.42.1) (2025-07-31) + + +### Features + +* Translate frontend/src/i18n/en.json in sk ([14ee054](https://github.com/filebrowser/filebrowser/commit/14ee0543599f2ec73b7f5d2dbd8415f47fe592aa)) +* Translate frontend/src/i18n/en.json in vi ([75baf7c](https://github.com/filebrowser/filebrowser/commit/75baf7ce337671a1045f897ba4a19967a31b1aec)) + + +### Bug Fixes + +* directory mode on config init ([4ff6347](https://github.com/filebrowser/filebrowser/commit/4ff634715543b65878943273dff70f340167900b)) + +## [2.42.0](https://github.com/filebrowser/filebrowser/compare/v2.41.0...v2.42.0) (2025-07-27) + + +### Features + +* add Norwegian support ([#5332](https://github.com/filebrowser/filebrowser/issues/5332)) ([25e47c3](https://github.com/filebrowser/filebrowser/commit/25e47c3ce8b35b820b5370a4b8bfdf682bd5ae0b)) +* select item on file list after navigating back ([#5329](https://github.com/filebrowser/filebrowser/issues/5329)) ([cbeec6d](https://github.com/filebrowser/filebrowser/commit/cbeec6d225691723c4750d7f84122ebb14d662bf)) +* Translate frontend/src/i18n/en.json in no ([5eb3bf4](https://github.com/filebrowser/filebrowser/commit/5eb3bf40586c2ffc32f4834b5dd59f0eb719c1f7)) +* Translate frontend/src/i18n/en.json in sk ([07dfdce](https://github.com/filebrowser/filebrowser/commit/07dfdce8e4c371f4ca7480f3cef0bd66ff5c9abb)) + + +### Bug Fixes + +* norsk loading ([619f683](https://github.com/filebrowser/filebrowser/commit/619f6837b0d1ec6c654d30f4ecedd6696874721f)) + + +### Reverts + +* Revert "chore(release): 2.42.0" ([d778c19](https://github.com/filebrowser/filebrowser/commit/d778c192ae02c5e73781f7632e3b7276c5811e17)) + + +### Build + +* bump go version to 1.23.11 ([c7a5c7e](https://github.com/filebrowser/filebrowser/commit/c7a5c7efee2b2bede89ec90bafd1af61c39519ff)) +* bump to go 1.24 ([c1b0207](https://github.com/filebrowser/filebrowser/commit/c1b0207800b4bb52c8dd459c1d69ce0f785473b6)) + +## [2.41.0](https://github.com/filebrowser/filebrowser/compare/v2.40.2...v2.41.0) (2025-07-22) + + +### Features + +* Allow file and directory creation modes to be configured ([21ad653](https://github.com/filebrowser/filebrowser/commit/21ad653b7eb246c0e95ccdc131f8d59267de7818)), closes [#5316](https://github.com/filebrowser/filebrowser/issues/5316) [#5200](https://github.com/filebrowser/filebrowser/issues/5200) +* better error handling for sys kill signals ([1582b8b](https://github.com/filebrowser/filebrowser/commit/1582b8b2cd1c62fa93e60ca9b4e740e940b02e84)) + +### [2.40.2](https://github.com/filebrowser/filebrowser/compare/v2.40.1...v2.40.2) (2025-07-17) + + +### Bug Fixes + +* Location header on TUS endpoint ([#5302](https://github.com/filebrowser/filebrowser/issues/5302)) ([607f570](https://github.com/filebrowser/filebrowser/commit/607f5708a2484428ab837781a5ef26b8cc3194f4)) + + +### Build + +* **deps:** bump vue-i18n from 11.1.9 to 11.1.10 in /frontend ([d61110e](https://github.com/filebrowser/filebrowser/commit/d61110e4d7155a5849557adf3b75dc0191f17e80)) + +### [2.40.1](https://github.com/filebrowser/filebrowser/compare/v2.40.0...v2.40.1) (2025-07-15) + + +### Bug Fixes + +* print correct user on setup ([88f1442](https://github.com/filebrowser/filebrowser/commit/88f144293267260fd4d823e3259783309b1a57b3)) + +## [2.40.0](https://github.com/filebrowser/filebrowser/compare/v2.39.0...v2.40.0) (2025-07-13) + + +### Features + +* add font size botton to text editor ([#5290](https://github.com/filebrowser/filebrowser/issues/5290)) ([035084d](https://github.com/filebrowser/filebrowser/commit/035084d8e83243065fad69bfac1b69559fbad5fb)) + + +### Bug Fixes + +* invalid path when uploading files ([9072cbc](https://github.com/filebrowser/filebrowser/commit/9072cbce340da55477906f5419a4cfb6d6937dc0)) +* Only left click should drag the image in extended image view ([b8454bb](https://github.com/filebrowser/filebrowser/commit/b8454bb2e41ca2848b926b66354468ba4b1c7ba5)) + +## [2.39.0](https://github.com/filebrowser/filebrowser/compare/v2.38.0...v2.39.0) (2025-07-13) + + +### Features + +* Improve Docker entrypoint and config handling ([01c814c](https://github.com/filebrowser/filebrowser/commit/01c814cf98f81f2bcd622aea75e5b1efe3484940)) +* rewrite the archiver and added support for zstd and brotli ([#5283](https://github.com/filebrowser/filebrowser/issues/5283)) ([7c71686](https://github.com/filebrowser/filebrowser/commit/7c716862c1bd3cdedd3c02d3a37207293db197ca)) + + +### Bug Fixes + +* drop modify permission for uploading new file ([#5270](https://github.com/filebrowser/filebrowser/issues/5270)) ([0f27c91](https://github.com/filebrowser/filebrowser/commit/0f27c91eca581482ce4f82f6429f5dac12f8b64e)) +* Settings button in the sidebar ([5a8e717](https://github.com/filebrowser/filebrowser/commit/5a8e7171b1b41eff771fe27133c91d2c250896a8)) + + +### Build + +* improve docker image and binary sizes ([35ca24a](https://github.com/filebrowser/filebrowser/commit/35ca24adb886721fc9d5e1a68cfc577e2c5f0230)) +* lightweight busybox-based container build ([#5285](https://github.com/filebrowser/filebrowser/issues/5285)) ([5c5942d](https://github.com/filebrowser/filebrowser/commit/5c5942d99514b433e09d90624bbe58992eab6be2)) +* remove upx ([1a5c83b](https://github.com/filebrowser/filebrowser/commit/1a5c83bcfe847f1e41a44cef23fd795b19b6b434)) + +## [2.38.0](https://github.com/filebrowser/filebrowser/compare/v2.37.0...v2.38.0) (2025-07-12) + + +### Features + +* Show the current users name in the sidebar ([#2821](https://github.com/filebrowser/filebrowser/issues/2821)) ([528ce92](https://github.com/filebrowser/filebrowser/commit/528ce92fad6dcc8e8b7910036bf9175146e27bf7)) +* Updates for project File Browser ([b4eddf4](https://github.com/filebrowser/filebrowser/commit/b4eddf45e4d7e6f6ccf242e67fe20f89f5e2f9a9)) + + +### Bug Fixes + +* prevent page change if there are outstanding edits ([#5260](https://github.com/filebrowser/filebrowser/issues/5260)) ([fbe169b](https://github.com/filebrowser/filebrowser/commit/fbe169b84f28cba22ea87f01b52f2420f1ea6814)) + +## [2.37.0](https://github.com/filebrowser/filebrowser/compare/v2.36.3...v2.37.0) (2025-07-08) + + +### Features + +* Translate frontend/src/i18n/en.json in zh_CN ([65bbf44](https://github.com/filebrowser/filebrowser/commit/65bbf44e3c0bff83e64193d46e9d6ad302952276)) +* Translate frontend/src/i18n/en.json in zh_TW ([b28952c](https://github.com/filebrowser/filebrowser/commit/b28952cb2582bd4eb44e91d0676e2803c458cf31)) +* Translate frontend/src/i18n/en.json in zh_TW ([1e96fd9](https://github.com/filebrowser/filebrowser/commit/1e96fd9035d5185dc80970a2826ccb573b5f000e)) + + +### Bug Fixes + +* long file name overlap ([fcb248a](https://github.com/filebrowser/filebrowser/commit/fcb248a5feb7b7404ca5923aae17f6d3f8d3cc96)) +* preview PDF is correctly displayed ([bf73e4d](https://github.com/filebrowser/filebrowser/commit/bf73e4dea3b27c01c8f6e60fb2048e1a2122a70e)) +* Upload progress size calculation ([e423395](https://github.com/filebrowser/filebrowser/commit/e423395ef0bcd106ddc7d460c055b95b5208415e)) + +### [2.36.3](https://github.com/filebrowser/filebrowser/compare/v2.36.2...v2.36.3) (2025-07-06) + + +### Bug Fixes + +* log error if branding file exists but cannot be loaded ([3645b57](https://github.com/filebrowser/filebrowser/commit/3645b578cddb9fc8f25a00e0153fb600ad1b9266)) + +### [2.36.2](https://github.com/filebrowser/filebrowser/compare/v2.36.1...v2.36.2) (2025-07-06) + + +### Bug Fixes + +* lookup directory name if blank when downloading shared directory ([046d619](https://github.com/filebrowser/filebrowser/commit/046d6193c57b4df0e3dc583b6518b43d29d302c9)) + +### [2.36.1](https://github.com/filebrowser/filebrowser/compare/v2.36.0...v2.36.1) (2025-07-03) + + +### Bug Fixes + +* remove associated shares when deleting file/folder ([e99e0b3](https://github.com/filebrowser/filebrowser/commit/e99e0b3028e1c8a50e1744bb07ecc8e809bdb8e6)) + +## [2.36.0](https://github.com/filebrowser/filebrowser/compare/v2.35.0...v2.36.0) (2025-07-02) + + +### Features + +* update icons, remove deprecated Microsoft Tiles ([04166e8](https://github.com/filebrowser/filebrowser/commit/04166e81e52d38b1f66ba3313ccb1291c239eea2)) + +## [2.35.0](https://github.com/filebrowser/filebrowser/compare/v2.34.2...v2.35.0) (2025-06-30) + + +### Features + +* Long press selects item in single click mode ([8d75220](https://github.com/filebrowser/filebrowser/commit/8d7522049ced83f28f0933b55772c32e3ad04627)) + + +### Bug Fixes + +* shell value must be joined by blank space ([4403cd3](https://github.com/filebrowser/filebrowser/commit/4403cd35720dbda5a8bb1013b92582accf3317bc)) +* update documentation links ([38d0366](https://github.com/filebrowser/filebrowser/commit/38d0366acf88352b5a9a97c45837b0f865efae0b)) + +### [2.34.2](https://github.com/filebrowser/filebrowser/compare/v2.34.1...v2.34.2) (2025-06-29) + + +### Bug Fixes + +* mitigate unprotected shares ([2b5d6cb](https://github.com/filebrowser/filebrowser/commit/2b5d6cbb996a61a769acc56af0acc12eec2d8d8f)) + +### [2.34.1](https://github.com/filebrowser/filebrowser/compare/v2.34.0...v2.34.1) (2025-06-29) + + +### Bug Fixes + +* exclude to-be-moved folder from move dialog ([#5235](https://github.com/filebrowser/filebrowser/issues/5235)) ([7354eb6](https://github.com/filebrowser/filebrowser/commit/7354eb6cf966244141277c2808988855c004f908)) +* passthrough the minimum password length ([#5236](https://github.com/filebrowser/filebrowser/issues/5236)) ([bf37f88](https://github.com/filebrowser/filebrowser/commit/bf37f88c32222ad9c186482bb97338a9c9b4a93c)) + +## [2.34.0](https://github.com/filebrowser/filebrowser/compare/v2.33.10...v2.34.0) (2025-06-29) + + +### Features + +* Translate frontend/src/i18n/en.json in fa ([0acd69c](https://github.com/filebrowser/filebrowser/commit/0acd69c537ce2909ff62c4bb6980982524ece221)) +* Translate frontend/src/i18n/en.json in fa ([#5233](https://github.com/filebrowser/filebrowser/issues/5233)) ([09f679f](https://github.com/filebrowser/filebrowser/commit/09f679fae43398f5b87d21acc9d974d4d053392f)) +* update translations for project File Browser ([#5226](https://github.com/filebrowser/filebrowser/issues/5226)) ([a5ea2a2](https://github.com/filebrowser/filebrowser/commit/a5ea2a266bef619d1c4322266d1aa7d397d2c856)) + + +### Bug Fixes + +* abort ongoing requests when changing pages ([#3927](https://github.com/filebrowser/filebrowser/issues/3927)) ([93c4b2e](https://github.com/filebrowser/filebrowser/commit/93c4b2e03c5176da01a7e00a03c03ffcce279bc8)) +* add configurable minimum password length ([#5225](https://github.com/filebrowser/filebrowser/issues/5225)) ([464b644](https://github.com/filebrowser/filebrowser/commit/464b644adf22a2178414a6f1e4fa286276de81d2)) +* do not expose the name of the root directory ([#5224](https://github.com/filebrowser/filebrowser/issues/5224)) ([0892559](https://github.com/filebrowser/filebrowser/commit/089255997a653c284cd4249990b58bed00086c61)) +* Graceful shutdown ([8230eb7](https://github.com/filebrowser/filebrowser/commit/8230eb7ab51ccbd00b03f5b9d6964fa4aae331d4)) + + +### Reverts + +* Revert "docs: change cloudflare environment (#5231)" (#5232) ([9e273cd](https://github.com/filebrowser/filebrowser/commit/9e273cd9475d57b9500034e8b341ff8b620bcab8)), closes [#5231](https://github.com/filebrowser/filebrowser/issues/5231) [#5232](https://github.com/filebrowser/filebrowser/issues/5232) + + +### Build + +* add an arm64 target for the site image ([#5229](https://github.com/filebrowser/filebrowser/issues/5229)) ([f5e531c](https://github.com/filebrowser/filebrowser/commit/f5e531c8ae0b9b18717e184856ace0ce19beef82)) +* bump golangci-lint to 2.1.6 ([1d494ff](https://github.com/filebrowser/filebrowser/commit/1d494ff3159ef939cfb4980ccde6f27df3e738b5)) +* **deps:** bump brace-expansion from 1.1.11 to 1.1.12 in /tools ([#5228](https://github.com/filebrowser/filebrowser/issues/5228)) ([5a07291](https://github.com/filebrowser/filebrowser/commit/5a072913062a6b2b0e5c74a02ca7710218ed3e5e)) +* **deps:** bump github.com/go-viper/mapstructure/v2 ([f32f273](https://github.com/filebrowser/filebrowser/commit/f32f27383d1fafa074f038cc873bd37b7f20ee27)) +* **deps:** bump github.com/go-viper/mapstructure/v2 in /tools ([5331969](https://github.com/filebrowser/filebrowser/commit/5331969163f5ae1fd2389f665059fc9e4a98db15)) +* publish docs to cloudflare pages ([#5230](https://github.com/filebrowser/filebrowser/issues/5230)) ([8861933](https://github.com/filebrowser/filebrowser/commit/8861933cf845b104e072f35e5f37d7c26097c9dc)) + +### [2.33.10](https://github.com/filebrowser/filebrowser/compare/v2.33.9...v2.33.10) (2025-06-26) + + +### Bug Fixes + +* correctly check if command is allowed when using shell ([4d830f7](https://github.com/filebrowser/filebrowser/commit/4d830f707fc4314741fd431e70c2ce50cd5a3108)) +* correctly split shell ([f84a6db](https://github.com/filebrowser/filebrowser/commit/f84a6db680b6df1c7c8f06f1816f7e4c9e963668)) +* ignore linting error ([e735491](https://github.com/filebrowser/filebrowser/commit/e735491c57b12c3b19dd2e4b570723df78f4eb44)) + +### [2.33.9](https://github.com/filebrowser/filebrowser/compare/v2.33.8...v2.33.9) (2025-06-26) + + +### Bug Fixes + +* check exact match on command allow list ([e2e1e49](https://github.com/filebrowser/filebrowser/commit/e2e1e4913085cca8917e0f69171dc28d3c6af1b6)) +* remove auth token from /api/command ([d5b39a1](https://github.com/filebrowser/filebrowser/commit/d5b39a14fd3fc0d1c364116b41289484df7c27b2)) +* remove unused import ([c232d41](https://github.com/filebrowser/filebrowser/commit/c232d41f903d3026ec290bbe819b6c59a933048e)) + +### [2.33.8](https://github.com/filebrowser/filebrowser/compare/v2.33.7...v2.33.8) (2025-06-25) + +### [2.33.7](https://github.com/filebrowser/filebrowser/compare/v2.33.6...v2.33.7) (2025-06-25) + + +### Bug Fixes + +* correctly parse negative boolean flags ([221451a](https://github.com/filebrowser/filebrowser/commit/221451a5179c8f139819a315b80d0ecb0e7220c3)) +* linting issues ([4bfbf33](https://github.com/filebrowser/filebrowser/commit/4bfbf332499fc8aea5f6df6aae1efa0de918d1ae)) +* linting issues ([e74c958](https://github.com/filebrowser/filebrowser/commit/e74c95886226c0ee429af1860eed21dd1f8601aa)) + +### [2.33.6](https://github.com/filebrowser/filebrowser/compare/v2.33.5...v2.33.6) (2025-06-24) + + +### Bug Fixes + +* remove incorrect default for password flag ([23bd8f6](https://github.com/filebrowser/filebrowser/commit/23bd8f67155081d707d4799393d3b1e2bebeaa34)) + +### [2.33.5](https://github.com/filebrowser/filebrowser/compare/v2.33.4...v2.33.5) (2025-06-24) + + +### Features + +* update languages for project File Browser ([#5190](https://github.com/filebrowser/filebrowser/issues/5190)) ([f330764](https://github.com/filebrowser/filebrowser/commit/f33076462a133935ca97fb6c7345303fe350e167)) + + +### Bug Fixes + +* actually register the czech language ([#5189](https://github.com/filebrowser/filebrowser/issues/5189)) ([0268506](https://github.com/filebrowser/filebrowser/commit/0268506f80d33d2d31e38055e12530241d27a11b)) + +### [2.33.4](https://github.com/filebrowser/filebrowser/compare/v2.33.3...v2.33.4) (2025-06-22) + + +### Features + +* translation updates for project File Browser ([#5179](https://github.com/filebrowser/filebrowser/issues/5179)) ([f714e71](https://github.com/filebrowser/filebrowser/commit/f714e71a356c2301f394d651c9b6c467440508e3)) + +### [2.33.3](https://github.com/filebrowser/filebrowser/compare/v2.33.2...v2.33.3) (2025-06-22) + + +### Bug Fixes + +* keep command behavior in Dockerfile ([7c0c782](https://github.com/filebrowser/filebrowser/commit/7c0c7820efbbed2f0499353cc76ecb85d00ff7c3)) +* update search hotkey in help prompt ([#5178](https://github.com/filebrowser/filebrowser/issues/5178)) ([2741616](https://github.com/filebrowser/filebrowser/commit/2741616473636d40b7e9f14c9906ada08d328c3c)) + +### [2.33.2](https://github.com/filebrowser/filebrowser/compare/v2.33.1...v2.33.2) (2025-06-21) + + +### Bug Fixes + +* create user dir on signup ([0ca8059](https://github.com/filebrowser/filebrowser/commit/0ca8059d8dea4fe079146471ce4f24acc96021f2)) + +### [2.33.1](https://github.com/filebrowser/filebrowser/compare/v2.33.0...v2.33.1) (2025-06-21) + + +### Bug Fixes + +* downloadUrl of file preview ([#3728](https://github.com/filebrowser/filebrowser/issues/3728)) ([8a14018](https://github.com/filebrowser/filebrowser/commit/8a14018861fe581672bbd27cdc3ae5691f70a108)) +* remove auth query parameter from download and preview links ([cbb7124](https://github.com/filebrowser/filebrowser/commit/cbb712484d3bdabc033acaf3b696ef4f5865813d)) +* search uses ctrl+shift+f instead of hijacking browser's ctrl+f ([#4638](https://github.com/filebrowser/filebrowser/issues/4638)) ([a02b297](https://github.com/filebrowser/filebrowser/commit/a02b2972ebde2a58806ad1377bad46e748b63166)) + +## [2.33.0](https://github.com/filebrowser/filebrowser/compare/v2.32.3...v2.33.0) (2025-06-18) + + +### Features + +* improved docker image volumes and permissions ([#5160](https://github.com/filebrowser/filebrowser/issues/5160)) ([2e26393](https://github.com/filebrowser/filebrowser/commit/2e26393a022df0eaa9e08727407aba8b997aa728)) + +### [2.32.3](https://github.com/filebrowser/filebrowser/compare/v2.32.2...v2.32.3) (2025-06-17) + +### [2.32.2](https://github.com/filebrowser/filebrowser/compare/v2.32.1...v2.32.2) (2025-06-17) + + +### Features + +* updated for project File Browser ([#5159](https://github.com/filebrowser/filebrowser/issues/5159)) ([c34c0af](https://github.com/filebrowser/filebrowser/commit/c34c0afecf3242b16ad5d5584cd90a6ad323361c)) + +### [2.32.1](https://github.com/filebrowser/filebrowser/compare/v2.32.0...v2.32.1) (2025-06-16) + + +### Features + +* add Vietnamese translation ([#3840](https://github.com/filebrowser/filebrowser/issues/3840)) ([56b80b6](https://github.com/filebrowser/filebrowser/commit/56b80b6d9b4710538765ba7df5da1f03898f6b81)) +* improve pt-br translations with new keys and refinements ([#4903](https://github.com/filebrowser/filebrowser/issues/4903)) ([a882fb6](https://github.com/filebrowser/filebrowser/commit/a882fb6c85ab6ccc845ed0bf3908d8e5e60ce346)) +* update translation ko.json ([#3852](https://github.com/filebrowser/filebrowser/issues/3852)) ([d9ebd65](https://github.com/filebrowser/filebrowser/commit/d9ebd65ffcf9b2166fec708d51849796d12b16e0)) + + +### Bug Fixes + +* err shadowing lint ([c606a01](https://github.com/filebrowser/filebrowser/commit/c606a01a2d20932fb32ee896234d57631f8c47e4)) +* generate random admin password on quick setup ([a46acba](https://github.com/filebrowser/filebrowser/commit/a46acba5f92ee044661880d6ae349e289d984328)), closes [#3646](https://github.com/filebrowser/filebrowser/issues/3646) +* imports lint ([54b91b8](https://github.com/filebrowser/filebrowser/commit/54b91b8ff0b8ee1f02f72425ab97d27a5d942fc3)) +* set videojs locale ([#3742](https://github.com/filebrowser/filebrowser/issues/3742)) ([71a8f56](https://github.com/filebrowser/filebrowser/commit/71a8f5662c207e3cd4ee714a5b5a961121f510cd)) + + +### Build + +* **deps-dev:** bump vite from 6.0.11 to 6.1.6 in /frontend ([#3886](https://github.com/filebrowser/filebrowser/issues/3886)) ([5355629](https://github.com/filebrowser/filebrowser/commit/5355629fd1e7bd85ee3222fca22da899ba23ea95)) +* **deps:** bump golang.org/x/crypto from 0.31.0 to 0.35.0 ([#3865](https://github.com/filebrowser/filebrowser/issues/3865)) ([0ba9505](https://github.com/filebrowser/filebrowser/commit/0ba9505a19cb369653fc9f8260dc02fcc6587629)) +* **deps:** bump golang.org/x/net from 0.33.0 to 0.38.0 ([#3869](https://github.com/filebrowser/filebrowser/issues/3869)) ([cfea84f](https://github.com/filebrowser/filebrowser/commit/cfea84fd5e7ec9c1d2366293e5db12baaa4e3a81)) +* **deps:** bump vue-i18n from 11.0.1 to 11.1.2 in /frontend ([#3786](https://github.com/filebrowser/filebrowser/issues/3786)) ([35d1c09](https://github.com/filebrowser/filebrowser/commit/35d1c092434b80b22c89a614a02122e9f5965b39)) + +## [2.32.0](https://github.com/filebrowser/filebrowser/compare/v2.31.2...v2.32.0) (2025-01-31) + + +### Features + +* create user on proxy authentication if user does not exist ([#3569](https://github.com/filebrowser/filebrowser/issues/3569)) ([209acf2](https://github.com/filebrowser/filebrowser/commit/209acf2429b06e2e8d78218937c59fd7e7edd1be)) + + +### Bug Fixes + +* add proper healthcheck for S6 containers ([#3691](https://github.com/filebrowser/filebrowser/issues/3691)) ([045064f](https://github.com/filebrowser/filebrowser/commit/045064f8b8bf9f86058e877448085e38da8b3f2e)) +* disk usage refreshing ([#3692](https://github.com/filebrowser/filebrowser/issues/3692)) ([bbdd313](https://github.com/filebrowser/filebrowser/commit/bbdd313705b8d253f0c47ad717a6e47b2f46e719)) +* Fix user creation on proxy auth ([#3666](https://github.com/filebrowser/filebrowser/issues/3666)) ([5300d00](https://github.com/filebrowser/filebrowser/commit/5300d00d2e7dbb80a252aff57e100113f02506c3)) +* prompts disappearing on copy / move / upload ([#3537](https://github.com/filebrowser/filebrowser/issues/3537)) ([d1c84a8](https://github.com/filebrowser/filebrowser/commit/d1c84a84123c77dede05c023b3697a432b56122c)) + + +### Refactorings + +* Fix eslint warnings ([#3698](https://github.com/filebrowser/filebrowser/issues/3698)) ([0201f9c](https://github.com/filebrowser/filebrowser/commit/0201f9c5c4dd2a4d5a3503e59cdb8045e8d3a91f)), closes [#3407](https://github.com/filebrowser/filebrowser/issues/3407) + + +### Build + +* **deps:** bump cross-spawn from 7.0.3 to 7.0.6 in /tools ([#3601](https://github.com/filebrowser/filebrowser/issues/3601)) ([25372ed](https://github.com/filebrowser/filebrowser/commit/25372edb5c0e616e82b76b5f523633af57d347e0)) +* **deps:** bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 ([#3574](https://github.com/filebrowser/filebrowser/issues/3574)) ([2fdea73](https://github.com/filebrowser/filebrowser/commit/2fdea73430011846276a1cda52458f1d670f5ea7)) +* **deps:** bump golang.org/x/crypto from 0.26.0 to 0.31.0 ([#3634](https://github.com/filebrowser/filebrowser/issues/3634)) ([e92dbb4](https://github.com/filebrowser/filebrowser/commit/e92dbb4bb8b7894264fbf0a48a641712c3b68766)) +* **deps:** bump golang.org/x/net from 0.23.0 to 0.33.0 ([#3712](https://github.com/filebrowser/filebrowser/issues/3712)) ([1194cfe](https://github.com/filebrowser/filebrowser/commit/1194cfe0097a70399c1f06cf0f514b9d70fa463c)) +* **deps:** bump vue-i18n from 9.10.2 to 9.14.2 in /frontend ([#3618](https://github.com/filebrowser/filebrowser/issues/3618)) ([0659594](https://github.com/filebrowser/filebrowser/commit/065959451d3ba12019c6151274aa4e6904cdca99)) +* fix go releaser ([ba797cd](https://github.com/filebrowser/filebrowser/commit/ba797cda3135eddb9b7165dc5ceb932399cb54df)) +* update to node 22 and pnpm ([#3616](https://github.com/filebrowser/filebrowser/issues/3616)) ([d51a343](https://github.com/filebrowser/filebrowser/commit/d51a3438201274a1b826be1b775ca1035ade20c5)) + +### [2.31.2](https://github.com/filebrowser/filebrowser/compare/v2.31.1...v2.31.2) (2024-10-03) + + +### Bug Fixes + +* added whitespace before version ([#3510](https://github.com/filebrowser/filebrowser/issues/3510)) ([2b37e69](https://github.com/filebrowser/filebrowser/commit/2b37e696c9bde4d0c453de236a3555d982346bbb)) +* change location of custom init scripts ([#3493](https://github.com/filebrowser/filebrowser/issues/3493)) ([406d4f7](https://github.com/filebrowser/filebrowser/commit/406d4f78845a1684df7c9c457b208f4dd9b2a930)) +* files list alignment ([#3494](https://github.com/filebrowser/filebrowser/issues/3494)) ([64400ff](https://github.com/filebrowser/filebrowser/commit/64400ffda8b09f66b8662a3c9400235139800a4d)) +* german translation spelling typos ([#3469](https://github.com/filebrowser/filebrowser/issues/3469)) ([1e7c415](https://github.com/filebrowser/filebrowser/commit/1e7c41505fb6a3b9baa1534787492a186e09bcfb)) + + +### Build + +* **deps-dev:** bump vite from 5.2.7 to 5.4.6 in /frontend ([#3496](https://github.com/filebrowser/filebrowser/issues/3496)) ([ec7b643](https://github.com/filebrowser/filebrowser/commit/ec7b643e8e9499f7ff226ec7f8e63a9df9890352)) +* **deps:** bump rollup from 4.21.3 to 4.22.4 in /frontend ([#3504](https://github.com/filebrowser/filebrowser/issues/3504)) ([03d74ee](https://github.com/filebrowser/filebrowser/commit/03d74ee7582196c09720f8d488056339f06c446c)) + +### [2.31.1](https://github.com/filebrowser/filebrowser/compare/v2.31.0...v2.31.1) (2024-08-30) + + +### Bug Fixes + +* command not found in shell ([#3438](https://github.com/filebrowser/filebrowser/issues/3438)) ([121d9ab](https://github.com/filebrowser/filebrowser/commit/121d9abecdc7d4e923cfc5023519995938a6ccae)) + + +### Build + +* update to alpine 3.20 ([#3447](https://github.com/filebrowser/filebrowser/issues/3447)) ([7de6bc4](https://github.com/filebrowser/filebrowser/commit/7de6bc4a912b5734dd0df02ed8391e78619e2615)) + +## [2.31.0](https://github.com/filebrowser/filebrowser/compare/v2.30.0...v2.31.0) (2024-08-29) + + +### Features + +* add Czech translation ([#3416](https://github.com/filebrowser/filebrowser/issues/3416)) ([8e67a12](https://github.com/filebrowser/filebrowser/commit/8e67a12f260caefcbe419c2281025b9b15f02bf3)) +* Added epub preview. Resolves [#3375](https://github.com/filebrowser/filebrowser/issues/3375) ([#3376](https://github.com/filebrowser/filebrowser/issues/3376)) ([99a6382](https://github.com/filebrowser/filebrowser/commit/99a6382b320874e94f9bd74708f46dd9a7485d3c)) +* implement markdown file preview in Ace editor ([#3431](https://github.com/filebrowser/filebrowser/issues/3431)) ([b0f4604](https://github.com/filebrowser/filebrowser/commit/b0f4604f44e6a35e07df3000f106f523cd942cfc)) +* support mime type for epub extension ([#3425](https://github.com/filebrowser/filebrowser/issues/3425)) ([f6f7e5f](https://github.com/filebrowser/filebrowser/commit/f6f7e5fea3ff7073ee652008a51cb5445a6f3d5d)) + + +### Bug Fixes + +* clipboard copy in safari ([#3261](https://github.com/filebrowser/filebrowser/issues/3261)) ([1fccc5d](https://github.com/filebrowser/filebrowser/commit/1fccc5d649add2a56c55e75cf9dec4851e6d7cbf)) +* CSS selectors for listing icons ([#3277](https://github.com/filebrowser/filebrowser/issues/3277)) ([2a90cdf](https://github.com/filebrowser/filebrowser/commit/2a90cdfdaff8655c7cb1167c01994a0978dece8f)) +* fix catalan i18n file ([090272e](https://github.com/filebrowser/filebrowser/commit/090272e3b7c56a940c4aa2d28f860c574aa17d53)) +* fixing an issue where the upload indicator would "jump" around in the UI ([#3354](https://github.com/filebrowser/filebrowser/issues/3354)) ([7be5644](https://github.com/filebrowser/filebrowser/commit/7be564495226bc6846289a56edb8893511036c6e)) +* **frontend:** N files selected hint use i18n ([#3390](https://github.com/filebrowser/filebrowser/issues/3390)) ([10bf3cf](https://github.com/filebrowser/filebrowser/commit/10bf3cffbf8eb7d95fe4e1cc6acf1012329744b9)) +* pdf preview header ([#3274](https://github.com/filebrowser/filebrowser/issues/3274)) ([a838868](https://github.com/filebrowser/filebrowser/commit/a8388689f3019083f263845900f683ddc13884dc)) +* pull down to refresh within editor ([#3378](https://github.com/filebrowser/filebrowser/issues/3378)) ([21783ed](https://github.com/filebrowser/filebrowser/commit/21783ed91a13ad52afdb411e43faf14fb6ef6e42)) + + +### Build + +* bump go libs ([b596567](https://github.com/filebrowser/filebrowser/commit/b596567c6163d57eaefbf3e30d84cfca65c24cdf)) +* bump go version to 1.23.0 ([364fdaa](https://github.com/filebrowser/filebrowser/commit/364fdaaf0c1eace82ff8637d337cc1b32e5e9972)) +* bump golangci-lint to 1.60.3 ([a6347c8](https://github.com/filebrowser/filebrowser/commit/a6347c88586e584b4565277b0010fa9ff2576b1f)) +* **deps-dev:** bump braces from 3.0.2 to 3.0.3 in /frontend ([#3316](https://github.com/filebrowser/filebrowser/issues/3316)) ([e8589be](https://github.com/filebrowser/filebrowser/commit/e8589be6409a2b29edd44ee2edd3fbf6b2d72724)) +* **deps-dev:** bump ws from 8.16.0 to 8.17.1 in /frontend ([#3321](https://github.com/filebrowser/filebrowser/issues/3321)) ([c3465f9](https://github.com/filebrowser/filebrowser/commit/c3465f99136506d51b813be4f31b289e708da0ce)) +* **deps:** bump golang.org/x/image from 0.15.0 to 0.18.0 ([#3335](https://github.com/filebrowser/filebrowser/issues/3335)) ([30a8ddf](https://github.com/filebrowser/filebrowser/commit/30a8ddf113862e3de2c09547662b7f2af8a30dfe)) +* fix goreleaser file ([056cfa8](https://github.com/filebrowser/filebrowser/commit/056cfa8facdca4c397a6b245028d4c9d3f0ca518)) + +## [2.30.0](https://github.com/filebrowser/filebrowser/compare/v2.29.0...v2.30.0) (2024-05-19) + + +### Features + +* allow multi-select with SHIFT key in singleClick mode ([#3185](https://github.com/filebrowser/filebrowser/issues/3185)) ([2e47a03](https://github.com/filebrowser/filebrowser/commit/2e47a038d63de8f848b070578c1d71f765438a24)) +* Enhance MIME Type Detection for Additional File Extensions ([#3183](https://github.com/filebrowser/filebrowser/issues/3183)) ([be62f56](https://github.com/filebrowser/filebrowser/commit/be62f56782551e17d6d5dc23bc29cc56ef961a66)) + + +### Bug Fixes + +* add overlay for sidebar on mobile ([#3197](https://github.com/filebrowser/filebrowser/issues/3197)) ([3b48f75](https://github.com/filebrowser/filebrowser/commit/3b48f75301287fe94cbbacff184b4db03f37f7ea)) +* current folder name in page title ([#3200](https://github.com/filebrowser/filebrowser/issues/3200)) ([e336a25](https://github.com/filebrowser/filebrowser/commit/e336a25ad29ed8b956169d426992860a877ee551)) +* Fixing the inability to play MKV video files online and enhancing the auxiliary features of the VideoPlayer. ([#3181](https://github.com/filebrowser/filebrowser/issues/3181)) ([782375b](https://github.com/filebrowser/filebrowser/commit/782375b1cb4c4f954468c30ec277ce021c82b40d)) +* shell window size ([#3198](https://github.com/filebrowser/filebrowser/issues/3198)) ([4c5b612](https://github.com/filebrowser/filebrowser/commit/4c5b612cb2563817f9da50413c7cf9e89b4c4d4a)) +* The file type icon in the file list is sensitive to the case of the suffix name ([#3187](https://github.com/filebrowser/filebrowser/issues/3187)) ([a9c327c](https://github.com/filebrowser/filebrowser/commit/a9c327cc0687796a3c7bfafd4ddabf4342859e31)) + +## [2.29.0](https://github.com/filebrowser/filebrowser/compare/v2.28.0...v2.29.0) (2024-04-30) + + +### Features + +* Display Upload Progress as Percentage and File Size / Total File Size ([#3111](https://github.com/filebrowser/filebrowser/issues/3111)) ([236ca63](https://github.com/filebrowser/filebrowser/commit/236ca637f99e373adfeaaefc5db6af50bd15b6bf)) +* migrate to vue 3 ([#2689](https://github.com/filebrowser/filebrowser/issues/2689)) ([5100e58](https://github.com/filebrowser/filebrowser/commit/5100e587d73831ecdb5e3bd35a78fef96ad248a4)) + + +### Bug Fixes + +* abort upload behavior to properly handle server-side deletion and frontend state reset ([#3114](https://github.com/filebrowser/filebrowser/issues/3114)) ([434e49b](https://github.com/filebrowser/filebrowser/commit/434e49bf59e4ddf7ec90893fa3fd53faee8c9cbb)) +* apply proper zindex to modal dialogs ([#3172](https://github.com/filebrowser/filebrowser/issues/3172)) ([821f51e](https://github.com/filebrowser/filebrowser/commit/821f51ea5ad1f5c2eb72441bc761031cacee43e1)) +* correct list item selector ([#3126](https://github.com/filebrowser/filebrowser/issues/3126)) ([#3147](https://github.com/filebrowser/filebrowser/issues/3147)) ([22a05e1](https://github.com/filebrowser/filebrowser/commit/22a05e1f02a083cf7b630e16873dad0de89b7854)) +* don't redirect to login when no auth ([#3165](https://github.com/filebrowser/filebrowser/issues/3165)) ([da5a6e0](https://github.com/filebrowser/filebrowser/commit/da5a6e051faa80134c2adf4e621426cbdf046c88)) +* Frontend bug, administrators unable to delete users ([#3170](https://github.com/filebrowser/filebrowser/issues/3170)) ([bee71d9](https://github.com/filebrowser/filebrowser/commit/bee71d93fee137cdd807cd8f7716c7da0830fae7)) +* handle quotes in healthcheck.sh ([#3130](https://github.com/filebrowser/filebrowser/issues/3130)) ([18f04a7](https://github.com/filebrowser/filebrowser/commit/18f04a7d26186927f51f46354f3b2164a68f1b41)) +* the copy method in clipboard.ts ([#3177](https://github.com/filebrowser/filebrowser/issues/3177)) ([4786187](https://github.com/filebrowser/filebrowser/commit/4786187852b8eef07e40aa00cd159ccc1e7e79dc)) + + +### Build + +* bump go version to 1.22.1 ([bbd0abb](https://github.com/filebrowser/filebrowser/commit/bbd0abbdfdbb3ddf3326247b7c6d925751dfabcb)) +* bump go version to 1.22.2 ([#3158](https://github.com/filebrowser/filebrowser/issues/3158)) ([a9da7fd](https://github.com/filebrowser/filebrowser/commit/a9da7fd56c849b5a13133136b35ef5ebee622962)) +* **deps:** bump golang.org/x/net from 0.22.0 to 0.23.0 ([#3133](https://github.com/filebrowser/filebrowser/issues/3133)) ([6b77b8d](https://github.com/filebrowser/filebrowser/commit/6b77b8d683f7357ef71af678550e78910c10ddeb)) + +## [2.28.0](https://github.com/filebrowser/filebrowser/compare/v2.27.0...v2.28.0) (2024-04-01) + + +### Features + +* allow to configure if home directory is automatically created from cli ([#2963](https://github.com/filebrowser/filebrowser/issues/2963)) ([a4b089a](https://github.com/filebrowser/filebrowser/commit/a4b089a6dbf9821ecede428cd7d13e69c8b85231)) +* auto hiding header bar in preview to enlarge the preview window ([#3024](https://github.com/filebrowser/filebrowser/issues/3024)) ([d706506](https://github.com/filebrowser/filebrowser/commit/d70650689c34ce9f631fda6a453fd521faef22fa)) +* close editor when click escape key ([#2947](https://github.com/filebrowser/filebrowser/issues/2947)) ([70c8261](https://github.com/filebrowser/filebrowser/commit/70c826133b8578b8712e6db8f762a15a076cd9a9)) +* enable preview in shared folder ([#3055](https://github.com/filebrowser/filebrowser/issues/3055)) ([4c233c3](https://github.com/filebrowser/filebrowser/commit/4c233c3db39ea5a00d6e602ec0ecbddecb590877)) +* focus editor when opened ([#2946](https://github.com/filebrowser/filebrowser/issues/2946)) ([b19710e](https://github.com/filebrowser/filebrowser/commit/b19710efca6daa7af56dc211d0051d500d2eea22)) +* freezing the list in the background while previewing a file ([#3004](https://github.com/filebrowser/filebrowser/issues/3004)) ([e167c3e](https://github.com/filebrowser/filebrowser/commit/e167c3e1efed8b16be45d994a8d443fda1d8cf49)) +* prompt to confirm discard editor changes ([#2948](https://github.com/filebrowser/filebrowser/issues/2948)) ([fb1a09c](https://github.com/filebrowser/filebrowser/commit/fb1a09c7c172b913c12b30975ca545e505df0c05)) +* select multiple files with ctrl even with singleClick option ([#2953](https://github.com/filebrowser/filebrowser/issues/2953)) ([d49c3df](https://github.com/filebrowser/filebrowser/commit/d49c3dfacfc0ff07e620b3ad2700e64927b06235)) + + +### Bug Fixes + +* dashboard buttons position in rtl layout ([#2949](https://github.com/filebrowser/filebrowser/issues/2949)) ([2cfee21](https://github.com/filebrowser/filebrowser/commit/2cfee2183c98d0cb67fc4e9788644ed4278e25bc)) +* editor discard prompt ([#2990](https://github.com/filebrowser/filebrowser/issues/2990)) ([34a0817](https://github.com/filebrowser/filebrowser/commit/34a08170c894321d49bb843e259a0e59e2245998)) +* files and directories are created with the correct permissions ([#2966](https://github.com/filebrowser/filebrowser/issues/2966)) ([5c5ab6b](https://github.com/filebrowser/filebrowser/commit/5c5ab6b8750a5168f0ae2a26bd5de41e0b6d9637)) +* fix lint warnings ([#2976](https://github.com/filebrowser/filebrowser/issues/2976)) ([fe5ca74](https://github.com/filebrowser/filebrowser/commit/fe5ca74aa1e4257e5cb36f1de58daa0c3548319f)) +* **healthcheck:** use address configured if not empty ([#2938](https://github.com/filebrowser/filebrowser/issues/2938)) ([81cd8fc](https://github.com/filebrowser/filebrowser/commit/81cd8fc6d307b00af278beefcdbad4158a128fea)) +* keyboard shortcut to confirm prompts ([#2932](https://github.com/filebrowser/filebrowser/issues/2932)) ([ff9502f](https://github.com/filebrowser/filebrowser/commit/ff9502ff34790c46f31d175911cd51c9b62804fb)) +* moment locale ([#2952](https://github.com/filebrowser/filebrowser/issues/2952)) ([883383a](https://github.com/filebrowser/filebrowser/commit/883383a5715d82883c51138dfb547805dfad2a3c)) +* shell direction ([#2980](https://github.com/filebrowser/filebrowser/issues/2980)) ([6d7ba65](https://github.com/filebrowser/filebrowser/commit/6d7ba65faf576ee4ed095f3d0c41775b21e498de)) +* stay in the same position after renaming or deleting ([#3039](https://github.com/filebrowser/filebrowser/issues/3039)) ([cdf8def](https://github.com/filebrowser/filebrowser/commit/cdf8def3304315bef261da7f52f8599d90b1f0f0)) + + +### Build + +* **deps-dev:** bump vite from 4.4.12 to 4.5.2 in /frontend ([#2951](https://github.com/filebrowser/filebrowser/issues/2951)) ([bf36cc0](https://github.com/filebrowser/filebrowser/commit/bf36cc00f1369dd10a422f230ccabcbeefae1517)) +* **deps:** bump google.golang.org/protobuf from 1.31.0 to 1.33.0 ([#3045](https://github.com/filebrowser/filebrowser/issues/3045)) ([05bfae2](https://github.com/filebrowser/filebrowser/commit/05bfae264a7a477d1b7db582f06f4efb24d26ec9)) +* **deps:** bump google.golang.org/protobuf in /tools ([#3044](https://github.com/filebrowser/filebrowser/issues/3044)) ([7797a4e](https://github.com/filebrowser/filebrowser/commit/7797a4ef18038a877df31bd34f2ebf70d18823f8)) + +## [2.27.0](https://github.com/filebrowser/filebrowser/compare/v2.26.0...v2.27.0) (2024-01-02) + + +### Features + +* allow setting theme via cli ([#2881](https://github.com/filebrowser/filebrowser/issues/2881)) ([748af71](https://github.com/filebrowser/filebrowser/commit/748af7172ce96f0b66c394e88839bd57c194ffc7)) +* display image resolutions in file details ([#2830](https://github.com/filebrowser/filebrowser/issues/2830)) ([a09dfa8](https://github.com/filebrowser/filebrowser/commit/a09dfa8d9f190243d811a841de44c4abb4403d87)) +* make user session timeout configurable by flags ([#2845](https://github.com/filebrowser/filebrowser/issues/2845)) ([391a078](https://github.com/filebrowser/filebrowser/commit/391a078cd486e618c95a0c5850326076cbc025b6)) + + +### Bug Fixes + +* delete message when delete file from preview ([3264cea](https://github.com/filebrowser/filebrowser/commit/3264cea8307dca9ab5463dc81f2a10a817eb3d54)) +* fix typo ([#2843](https://github.com/filebrowser/filebrowser/issues/2843)) ([4dbc802](https://github.com/filebrowser/filebrowser/commit/4dbc802972c930f5f42fc27507fac35c28c42afd)) +* set correct port in docker healthcheck ([#2812](https://github.com/filebrowser/filebrowser/issues/2812)) ([d59ad59](https://github.com/filebrowser/filebrowser/commit/d59ad594b8649f57f61453b0dfbc350c57b690a2)) +* typo in build error [#2903](https://github.com/filebrowser/filebrowser/issues/2903) ([#2904](https://github.com/filebrowser/filebrowser/issues/2904)) ([c4e955a](https://github.com/filebrowser/filebrowser/commit/c4e955acf4a1a8f8e8e94f697ffc838515e69a60)) + + +### Build + +* **deps-dev:** bump vite from 4.4.9 to 4.4.12 in /frontend ([#2862](https://github.com/filebrowser/filebrowser/issues/2862)) ([fc2ee37](https://github.com/filebrowser/filebrowser/commit/fc2ee373536584d024f7def62f350bdbb712d927)) +* **deps:** bump golang.org/x/crypto from 0.14.0 to 0.17.0 ([#2890](https://github.com/filebrowser/filebrowser/issues/2890)) ([821fba4](https://github.com/filebrowser/filebrowser/commit/821fba41a25ba99d47641f01b10ac51960157888)) + +## [2.26.0](https://github.com/filebrowser/filebrowser/compare/v2.25.0...v2.26.0) (2023-11-02) + + +### Features + +* add modern greek translation ([#2778](https://github.com/filebrowser/filebrowser/issues/2778)) ([c3079d3](https://github.com/filebrowser/filebrowser/commit/c3079d30e22385d7e677f172324cd9cbab6487ce)) +* make user session timeout configurable ([#2753](https://github.com/filebrowser/filebrowser/issues/2753)) ([7fabadc](https://github.com/filebrowser/filebrowser/commit/7fabadc871ea91ea22fe9454e2ca4b33e5c211be)) + + +### Bug Fixes + +* avoid the front-end calling api/renew loop ([#2792](https://github.com/filebrowser/filebrowser/issues/2792)) ([edd808f](https://github.com/filebrowser/filebrowser/commit/edd808f124f4ada99bcbe4bca98ddbe20e5a424c)) +* disable static resource files listing ([da1fe7c](https://github.com/filebrowser/filebrowser/commit/da1fe7c9d76a9c6a25bfa19ebd6cf8023eff5d62)) +* display file size as base 2 (KiB instead of KB) ([#2779](https://github.com/filebrowser/filebrowser/issues/2779)) ([cdcd9a3](https://github.com/filebrowser/filebrowser/commit/cdcd9a313aa50c2e6806a182b6838462d42dcafe)) +* goreleaser yaml ([4d0a68e](https://github.com/filebrowser/filebrowser/commit/4d0a68e7875274f4c939f2bfa15739a9b0ecf70a)) +* revert fetchURL changes in auth (Fixes [#2729](https://github.com/filebrowser/filebrowser/issues/2729)) ([#2739](https://github.com/filebrowser/filebrowser/issues/2739)) ([bd3c194](https://github.com/filebrowser/filebrowser/commit/bd3c1941ff8289a5dae877e08f7e25fa9b2a92c5)) +* solve docker build failed issue ([#2797](https://github.com/filebrowser/filebrowser/issues/2797)) ([6a31af6](https://github.com/filebrowser/filebrowser/commit/6a31af6c0a144128af865d802c8039fa5250e946)) + + +### Build + +* **deps-dev:** bump postcss from 8.4.27 to 8.4.31 in /frontend ([#2749](https://github.com/filebrowser/filebrowser/issues/2749)) ([21d361a](https://github.com/filebrowser/filebrowser/commit/21d361ad308d109d2a6b323597019aaa09ce1781)) +* **deps:** bump @babel/traverse in /frontend ([#2775](https://github.com/filebrowser/filebrowser/issues/2775)) ([bb4bb50](https://github.com/filebrowser/filebrowser/commit/bb4bb508a9d71516e8fa80b3a6285fe002a059d2)) +* **deps:** bump golang.org/x/image from 0.5.0 to 0.10.0 ([#2800](https://github.com/filebrowser/filebrowser/issues/2800)) ([a744bd2](https://github.com/filebrowser/filebrowser/commit/a744bd224f0ff1efc53ab94481fa76ef68788df1)) +* **deps:** bump golang.org/x/net from 0.11.0 to 0.17.0 ([#2758](https://github.com/filebrowser/filebrowser/issues/2758)) ([d574fb6](https://github.com/filebrowser/filebrowser/commit/d574fb6d1af41ec31778b0f402674e5111a7875d)) +* fix deprecated goreleaser config options ([38f7788](https://github.com/filebrowser/filebrowser/commit/38f77882559133b9ff330cfb955a9d4ea4728cf8)) + +## [2.25.0](https://github.com/filebrowser/filebrowser/compare/v2.24.2...v2.25.0) (2023-09-14) + + +### Features + +* add new folder button to move/create dialogs ([#2667](https://github.com/filebrowser/filebrowser/issues/2667)) ([5994224](https://github.com/filebrowser/filebrowser/commit/599422446849fa37d5ab448bbf464afb7304b99d)) +* added shell resizing ([#2648](https://github.com/filebrowser/filebrowser/issues/2648)) ([584b706](https://github.com/filebrowser/filebrowser/commit/584b706b1e310297acc2580c60442ff5c11ae432)) +* implement abort upload functionality ([#2673](https://github.com/filebrowser/filebrowser/issues/2673)) ([a404fb0](https://github.com/filebrowser/filebrowser/commit/a404fb043da2573bf04385863b2d34b1f918b8e1)) +* implement upload speed calculation and ETA estimation ([#2677](https://github.com/filebrowser/filebrowser/issues/2677)) ([ecdd684](https://github.com/filebrowser/filebrowser/commit/ecdd684bf1d537a4591caa38348102b61dd51e5d)) + + +### Bug Fixes + +* refactor path resolution logic for project root ([#2674](https://github.com/filebrowser/filebrowser/issues/2674)) ([95fec7f](https://github.com/filebrowser/filebrowser/commit/95fec7f69430c108e5cf95c428db9d671cd97a94)) +* tus upload with cloudflare proxy ([36af01d](https://github.com/filebrowser/filebrowser/commit/36af01daa6e04005ce3d18985eebaeef06f7393d)), closes [#2593](https://github.com/filebrowser/filebrowser/issues/2593) + + +### Refactorings + +* migrate frontend tooling to vite 4 ([#2645](https://github.com/filebrowser/filebrowser/issues/2645)) ([8838a09](https://github.com/filebrowser/filebrowser/commit/8838a09cf5104deac22b6143050588040c6825e6)) + + +### Build + +* bump go version to 1.21.0 ([#2672](https://github.com/filebrowser/filebrowser/issues/2672)) ([2c97573](https://github.com/filebrowser/filebrowser/commit/2c97573301a1b13179678fb7f9bd8316539ecdff)) +* bump node version to 18 ([#2671](https://github.com/filebrowser/filebrowser/issues/2671)) ([70eba7e](https://github.com/filebrowser/filebrowser/commit/70eba7ecc9d19545c0899ae40eb3897a7c48562f)) + + +### Performance improvements + +* **backend:** optimize subtitles detection performance ([#2637](https://github.com/filebrowser/filebrowser/issues/2637)) ([374bbd3](https://github.com/filebrowser/filebrowser/commit/374bbd3ec199fddbe491ab2b74e520a10a73e54b)) + +### [2.24.2](https://github.com/filebrowser/filebrowser/compare/v2.24.1...v2.24.2) (2023-08-08) + + +### Bug Fixes + +* 403 error error when uploading ([#2598](https://github.com/filebrowser/filebrowser/issues/2598)) ([289c8e6](https://github.com/filebrowser/filebrowser/commit/289c8e6f32eb520cc711389f6b6a4ed94a73ecd4)) +* config init for branding.disableUsedPercentage ([#2576](https://github.com/filebrowser/filebrowser/issues/2576)) ([#2596](https://github.com/filebrowser/filebrowser/issues/2596)) ([ff1e0b8](https://github.com/filebrowser/filebrowser/commit/ff1e0b8185faf14b1f8e91830ca5e71e68ab672e)) + + +### Build + +* add riscv64 binary releases ([#2587](https://github.com/filebrowser/filebrowser/issues/2587)) ([0ac3968](https://github.com/filebrowser/filebrowser/commit/0ac39684f175487314e97403406f4d2c482e3d79)) + +### [2.24.1](https://github.com/filebrowser/filebrowser/compare/v2.24.0...v2.24.1) (2023-07-31) + + +### Bug Fixes + +* add directory creation code to partial upload handler ([#2575](https://github.com/filebrowser/filebrowser/issues/2575)) ([#2580](https://github.com/filebrowser/filebrowser/issues/2580)) ([912f27a](https://github.com/filebrowser/filebrowser/commit/912f27a9e3286ee4bf2a27b366a1d35b3b55799c)) +* resolved CSS rendering issue in Chrome browser ([#2582](https://github.com/filebrowser/filebrowser/issues/2582)) ([2a4a46c](https://github.com/filebrowser/filebrowser/commit/2a4a46c61a5d5376bea65b28d0eb6a7ec2fdf4e5)) + + +### Build + +* **backend:** upgrade golangci-lint to v1.53.3 ([efd41cc](https://github.com/filebrowser/filebrowser/commit/efd41cc4c147b8d2d5e61fb2642df8d934f49362)) + +## [2.24.0](https://github.com/filebrowser/filebrowser/compare/v2.23.0...v2.24.0) (2023-07-29) + + +### Features + +* add a healthcheck script that works with a dynamic port ([#2510](https://github.com/filebrowser/filebrowser/issues/2510)) ([ff4375c](https://github.com/filebrowser/filebrowser/commit/ff4375cf6ce849459889f892dd91304703c52dcd)) +* add a new setting that disables the display of the disk usage ([#2136](https://github.com/filebrowser/filebrowser/issues/2136)) ([428c1c6](https://github.com/filebrowser/filebrowser/commit/428c1c606d1b858ed0eb58b7c31f570bc6a9b792)) +* add Hungarian translation ([#2232](https://github.com/filebrowser/filebrowser/issues/2232)) ([11e9202](https://github.com/filebrowser/filebrowser/commit/11e92021607e12efff9fb2d5c8728483eee31199)) +* add option to copy download links from shares ([#2442](https://github.com/filebrowser/filebrowser/issues/2442)) ([a4ef02a](https://github.com/filebrowser/filebrowser/commit/a4ef02a47b53742a0ac1f639563b0c67116619c8)) +* integrate tus.io for resumable and chunked uploads ([#2145](https://github.com/filebrowser/filebrowser/issues/2145)) ([7b35815](https://github.com/filebrowser/filebrowser/commit/7b35815754690540f76e3ffe114eedb47cfd5c7e)) + + +### Bug Fixes + +* added an early return on non-existent items ([#2571](https://github.com/filebrowser/filebrowser/issues/2571)) ([2744f7d](https://github.com/filebrowser/filebrowser/commit/2744f7d5b9106c7c2eec69010e550e0939c23d80)) +* build on FreeBSD and non-Linux platforms ([#2332](https://github.com/filebrowser/filebrowser/issues/2332)) ([60d1e2d](https://github.com/filebrowser/filebrowser/commit/60d1e2d2913cce591fbee97337bd58310480269f)) +* error while using fallback of dir move ([#2349](https://github.com/filebrowser/filebrowser/issues/2349)) ([853ec90](https://github.com/filebrowser/filebrowser/commit/853ec906efbdee9013c5d34ed1d9b8fee88a6b29)) +* filter ANSI color for shell ([#2529](https://github.com/filebrowser/filebrowser/issues/2529)) ([9bcfa90](https://github.com/filebrowser/filebrowser/commit/9bcfa900f904fe683c8d9085947f57932bfe22a0)) +* goreleaser docker build ([051104b](https://github.com/filebrowser/filebrowser/commit/051104bfa061720d4402c612e61bb0fc80a946bf)) +* solve broken Docker build with alpine image ([#2486](https://github.com/filebrowser/filebrowser/issues/2486)) ([b8ee340](https://github.com/filebrowser/filebrowser/commit/b8ee3404ee480ef1fd439543ab6d46f318ff3647)) +* video preview click next or prev button subtitles not update ([#2423](https://github.com/filebrowser/filebrowser/issues/2423)) ([6744cd4](https://github.com/filebrowser/filebrowser/commit/6744cd47cef87e3a76a2190bdf123b6c2197fe6f)) +* xss vulnerability in /api/raw ([#2570](https://github.com/filebrowser/filebrowser/issues/2570)) ([#2572](https://github.com/filebrowser/filebrowser/issues/2572)) ([b508ac3](https://github.com/filebrowser/filebrowser/commit/b508ac3d4f7f0f75d6b49c99bdc661a6d2173f30)) + + +### Refactorings + +* replace username old focus logic with the autofocus attribute ([#2223](https://github.com/filebrowser/filebrowser/issues/2223)) ([2b2c108](https://github.com/filebrowser/filebrowser/commit/2b2c1085fb50ad68612ad438e527fd316d8aafee)) + + +### Build + +* **backend:** bump go version to 1.20.1 ([fa95299](https://github.com/filebrowser/filebrowser/commit/fa95299df4aa7e4c54d872e786a91ded5bdb01c1)) +* **backend:** bump go version to 1.20.6 ([9bf6b85](https://github.com/filebrowser/filebrowser/commit/9bf6b856e5411e635ba9102ff53dfe927183848e)) +* **deps-dev:** bump word-wrap from 1.2.3 to 1.2.4 in /frontend ([#2556](https://github.com/filebrowser/filebrowser/issues/2556)) ([bb34862](https://github.com/filebrowser/filebrowser/commit/bb3486286c0da112ad97456ad258ddcdfe17c154)) +* **deps:** bump minimatch from 3.0.4 to 3.1.2 in /tools ([#2561](https://github.com/filebrowser/filebrowser/issues/2561)) ([a664ba1](https://github.com/filebrowser/filebrowser/commit/a664ba1f9df45c7f6d03492c85466c5aa07c740e)) +* **deps:** bump semver from 5.7.1 to 5.7.2 in /tools ([#2546](https://github.com/filebrowser/filebrowser/issues/2546)) ([c2f1423](https://github.com/filebrowser/filebrowser/commit/c2f1423c02e4736f4c243c3164dc671879e065f3)) +* remove armv6-s6 docker target ([66dfbb3](https://github.com/filebrowser/filebrowser/commit/66dfbb303cf792b7b01650d0125d948ab8d81ddd)) +* remove armv7-s6 docker target ([4d77ce0](https://github.com/filebrowser/filebrowser/commit/4d77ce0955644551f891af3e4098c37e9cc37e40)) + +## [2.23.0](https://github.com/filebrowser/filebrowser/compare/v2.22.4...v2.23.0) (2022-11-05) + + +### Features + +* add rtl support ([#2178](https://github.com/filebrowser/filebrowser/issues/2178)) ([2c14146](https://github.com/filebrowser/filebrowser/commit/2c14146a314bb271be66a36c63b64852a2848e26)) +* hebrew translation ([#2168](https://github.com/filebrowser/filebrowser/issues/2168)) ([a49105d](https://github.com/filebrowser/filebrowser/commit/a49105db1d5f0d8f3d6641940ea86da959ffe006)) +* hook authentication method ([dda9a38](https://github.com/filebrowser/filebrowser/commit/dda9a389f387e94643a9a2ae56027260b210152a)) +* update Polish translation ([#2089](https://github.com/filebrowser/filebrowser/issues/2089)) ([57c99e0](https://github.com/filebrowser/filebrowser/commit/57c99e0e261b4ed4c2cf468ce3ab09f1a440b359)) + + +### Bug Fixes + +* missing video controls on mobile ([#2180](https://github.com/filebrowser/filebrowser/issues/2180)) ([a5757b9](https://github.com/filebrowser/filebrowser/commit/a5757b94e8ed492d454b9e427b7f45824cc56c5c)) +* modify the delete confirmation interface logic. ([#2138](https://github.com/filebrowser/filebrowser/issues/2138)) ([0401adf](https://github.com/filebrowser/filebrowser/commit/0401adf7f4dd76760fe26b5baee02ebc726b51a9)) + + +### Build + +* **deps:** bump ansi-html and webpack-dev-server in /frontend ([#2184](https://github.com/filebrowser/filebrowser/issues/2184)) ([3a0dace](https://github.com/filebrowser/filebrowser/commit/3a0dace9a93f9d57855801de548891010cf0830e)) +* **deps:** bump terser from 4.8.0 to 4.8.1 in /frontend ([#2054](https://github.com/filebrowser/filebrowser/issues/2054)) ([aaed985](https://github.com/filebrowser/filebrowser/commit/aaed985699b3c63092ecb02c8bc07634123360ab)) + +### [2.22.4](https://github.com/filebrowser/filebrowser/compare/v2.22.3...v2.22.4) (2022-07-18) + + +### Bug Fixes + +* disable cookie auth for non GET requests ([80030de](https://github.com/filebrowser/filebrowser/commit/80030dee32d161043766d57ba4e0ad0b0d99290b)) + + +### Build + +* **deps:** bump moment from 2.29.2 to 2.29.4 in /frontend ([#2036](https://github.com/filebrowser/filebrowser/issues/2036)) ([cb43770](https://github.com/filebrowser/filebrowser/commit/cb437700255e41ff559b9f5a99ab4290b2f8df87)) +* **deps:** bump shell-quote from 1.7.2 to 1.7.3 in /frontend ([#2025](https://github.com/filebrowser/filebrowser/issues/2025)) ([eaba7e5](https://github.com/filebrowser/filebrowser/commit/eaba7e5255f960141e0fc1557f87073df9f6d66a)) + +### [2.22.3](https://github.com/filebrowser/filebrowser/compare/v2.22.2...v2.22.3) (2022-07-05) + + +### Bug Fixes + +* use correct field name in user put api ([#2026](https://github.com/filebrowser/filebrowser/issues/2026)) ([d94acdd](https://github.com/filebrowser/filebrowser/commit/d94acdd89a0069fe87107024fd332a0d59a112fc)) + +### [2.22.2](https://github.com/filebrowser/filebrowser/compare/v2.22.1...v2.22.2) (2022-07-01) + + +### Bug Fixes + +* display disk capacity in a correct format ([#2013](https://github.com/filebrowser/filebrowser/issues/2013)) ([dec3d62](https://github.com/filebrowser/filebrowser/commit/dec3d629d42de567aa708154ebc4e03b5223608c)) +* don't calculate usage for files ([#1973](https://github.com/filebrowser/filebrowser/issues/1973)) ([577c0ef](https://github.com/filebrowser/filebrowser/commit/577c0efa9cff13628d5e3bac710ef568a00949e0)), closes [#1972](https://github.com/filebrowser/filebrowser/issues/1972) [#1967](https://github.com/filebrowser/filebrowser/issues/1967) +* preview url building fix ([#1976](https://github.com/filebrowser/filebrowser/issues/1976)) ([dcf0bc6](https://github.com/filebrowser/filebrowser/commit/dcf0bc65bfcfc7df3804d7392598a92019468cf7)) + + +### Build + +* **backend:** upgrade golangci-lint to 1.46.2 ([#1991](https://github.com/filebrowser/filebrowser/issues/1991)) ([8118afd](https://github.com/filebrowser/filebrowser/commit/8118afd0ac0d25f4503c98879369764c35e7408e)) + +### [2.22.1](https://github.com/filebrowser/filebrowser/compare/v2.22.0...v2.22.1) (2022-06-06) + + +### Bug Fixes + +* use correct basepath prefix for preview urls ([#1971](https://github.com/filebrowser/filebrowser/issues/1971)) ([1e7d3b2](https://github.com/filebrowser/filebrowser/commit/1e7d3b25c283c556d98c65f1c2f46db4e4178995)) + + +### Build + +* **backend:** bump go version to 1.8.3 ([b16982d](https://github.com/filebrowser/filebrowser/commit/b16982df0f7da9eedb678455298b42ac55c86666)) + +## [2.22.0](https://github.com/filebrowser/filebrowser/compare/v2.21.1...v2.22.0) (2022-06-03) + + +### Features + +* add branding to the window title ([#1850](https://github.com/filebrowser/filebrowser/issues/1850)) ([f8dfbf7](https://github.com/filebrowser/filebrowser/commit/f8dfbf7eeecf3ee99ce906276777676f44e81e34)) +* add disk usage information to the sidebar ([d1d8e3e](https://github.com/filebrowser/filebrowser/commit/d1d8e3e3405381b01317fe07ae729d70219415a7)) +* automatically focus username field on login page ([596c732](https://github.com/filebrowser/filebrowser/commit/596c73288f5b53bd7e79ab8046136dc75ff078b9)) +* invalid symlink icon ([b14b911](https://github.com/filebrowser/filebrowser/commit/b14b9114f837cacf9f7788e88c503142a81585be)) +* page title localization ([8a43413](https://github.com/filebrowser/filebrowser/commit/8a43413f888440dc11b11c509abff45f706033d8)) + + +### Bug Fixes + +* allow CSP inline styling ([5da9d74](https://github.com/filebrowser/filebrowser/commit/5da9d74da62c69c431361bcaf0c07dc1da237ea8)) +* disable autocapitalize of login input (closes [#1910](https://github.com/filebrowser/filebrowser/issues/1910)) ([aed3af5](https://github.com/filebrowser/filebrowser/commit/aed3af58384697dc3de30f1450b837b0b74e4fa6)) +* drag-and-drop folder upload ([e677c78](https://github.com/filebrowser/filebrowser/commit/e677c78471f09f8d2c21d63d7388e908924aa6d9)) +* expired token error ([c3bd118](https://github.com/filebrowser/filebrowser/commit/c3bd1188aa396cbf00c593d259a9da0eddeeea3b)) +* folder info on upload list ([d1d7b23](https://github.com/filebrowser/filebrowser/commit/d1d7b23da6cc0c9a2f2f3e17021ec4f13ea557dd)) +* network error object message ([fc209f6](https://github.com/filebrowser/filebrowser/commit/fc209f64deff7a2793980d11ee738f7140c444cf)) +* set correct scope when user home creation is enabled ([02730bb](https://github.com/filebrowser/filebrowser/commit/02730bb9bfa3bfbfa251bb4736fc4c08d33609ab)) + + +### Build + +* **backend:** bump dependency versions ([7c9a75e](https://github.com/filebrowser/filebrowser/commit/7c9a75e72588f92d58fb58d32cdac352bce73b20)) +* **deps:** bump async from 2.6.3 to 2.6.4 in /frontend ([#1933](https://github.com/filebrowser/filebrowser/issues/1933)) ([e5fa96b](https://github.com/filebrowser/filebrowser/commit/e5fa96b666eac2e46a02bde832488baca5f2cd6d)) +* **deps:** bump eventsource from 1.1.0 to 1.1.1 in /frontend ([dd50369](https://github.com/filebrowser/filebrowser/commit/dd503695a1a8119a631643414d3a9070890f3f3c)) +* **deps:** bump minimist from 1.2.5 to 1.2.6 in /frontend ([#1889](https://github.com/filebrowser/filebrowser/issues/1889)) ([a74c72d](https://github.com/filebrowser/filebrowser/commit/a74c72db451207e1275988f3d208fa6d6f0468a9)) +* **deps:** bump minimist from 1.2.5 to 1.2.6 in /tools ([#1891](https://github.com/filebrowser/filebrowser/issues/1891)) ([f5b1e10](https://github.com/filebrowser/filebrowser/commit/f5b1e106183fb2192063a72fd195fc8c181ba8f9)) +* **deps:** bump moment from 2.29.1 to 2.29.2 in /frontend ([#1900](https://github.com/filebrowser/filebrowser/issues/1900)) ([040584c](https://github.com/filebrowser/filebrowser/commit/040584c86563d869c7a05887ef1f781bce653033)) +* **deps:** bump url-parse from 1.5.7 to 1.5.10 in /frontend ([#1841](https://github.com/filebrowser/filebrowser/issues/1841)) ([b2ad3f7](https://github.com/filebrowser/filebrowser/commit/b2ad3f73686a2abaa4fc62963fba6f83c9da9b5e)) +* **frontend:** bump node version from 14 to 16 ([ac3ead8](https://github.com/filebrowser/filebrowser/commit/ac3ead8dcef9c64c6be8b5cbbceee143b2cc77a8)) +* upgrade go version to 1.18.1 ([6bd34c7](https://github.com/filebrowser/filebrowser/commit/6bd34c76324780c1edd8625d5b22f5a84990852b)) + +### [2.21.1](https://github.com/filebrowser/filebrowser/compare/v2.21.0...v2.21.1) (2022-02-22) + + +### Bug Fixes + +* display user scope for admin users ([#1834](https://github.com/filebrowser/filebrowser/issues/1834)) ([6366cf0](https://github.com/filebrowser/filebrowser/commit/6366cf0b181f13eac38f69f1760d6f6f0586a5d1)) + +## [2.21.0](https://github.com/filebrowser/filebrowser/compare/v2.20.1...v2.21.0) (2022-02-21) + + +### Features + +* add colorized file type icons ([2948589](https://github.com/filebrowser/filebrowser/commit/2948589fcde6d1dca7f3ea52a621d8213fa3300c)) +* add gallery view mode ([8888b9f](https://github.com/filebrowser/filebrowser/commit/8888b9f44640394df9e3583db4392472d7027a4b)) +* add Ukrainian translation / update Russian translation ([#1753](https://github.com/filebrowser/filebrowser/issues/1753)) ([665e458](https://github.com/filebrowser/filebrowser/commit/665e45889cd333f1e3500e4bf38d15d229c9fe2a)) +* add upload file list with progress ([#1825](https://github.com/filebrowser/filebrowser/issues/1825)) ([cf85404](https://github.com/filebrowser/filebrowser/commit/cf85404dd25cd7fdd73aa32878b4dc5f85ee3e96)) +* smaller column width to fit 2 columns in landscape mobiles ([7870e89](https://github.com/filebrowser/filebrowser/commit/7870e89bc04f1494f2705795476b5f1c9d621e38)) +* use real image path to calculate cache key ([c198723](https://github.com/filebrowser/filebrowser/commit/c1987237d05adcce77c614e5247a181ae5cdfacd)) + + +### Bug Fixes + +* correctly handle non-ascii passwords for shared resources ([c782f21](https://github.com/filebrowser/filebrowser/commit/c782f21b0fa4511a15e7015117d075eaf5ea332c)) +* don't expose scope for non-admin users ([0942fc7](https://github.com/filebrowser/filebrowser/commit/0942fc7042fd949cce91855169d0bcf16eb75771)) +* open all the pdf files correctly ([#1742](https://github.com/filebrowser/filebrowser/issues/1742)) ([949f0f2](https://github.com/filebrowser/filebrowser/commit/949f0f277f6004904b3edfa716a8365ec93fa0fa)) + + +### Build + +* **deps:** bump browserslist from 4.16.3 to 4.19.1 in /frontend ([8089007](https://github.com/filebrowser/filebrowser/commit/80890075e802e2a4217edbb01d6417122d702f5e)) +* **deps:** bump dns-packet from 1.3.1 to 1.3.4 in /frontend ([a73d7f1](https://github.com/filebrowser/filebrowser/commit/a73d7f14b787935c6ebe525dba64b65f8ed733e2)) +* **deps:** bump follow-redirects from 1.13.3 to 1.14.8 in /frontend ([f1f7f17](https://github.com/filebrowser/filebrowser/commit/f1f7f17ade8d40fc6cfb22c79960bce299876b56)) +* **deps:** bump hosted-git-info from 2.8.8 to 2.8.9 in /frontend ([e7659ea](https://github.com/filebrowser/filebrowser/commit/e7659ea36bdf780ce17005f7170a2fef02a2d5e5)) +* **deps:** bump path-parse from 1.0.6 to 1.0.7 in /frontend ([c014966](https://github.com/filebrowser/filebrowser/commit/c01496624a7ebfc8a7c256bd919a400367281cbb)) +* **deps:** bump postcss from 7.0.35 to 7.0.39 in /frontend ([9182d33](https://github.com/filebrowser/filebrowser/commit/9182d33e1cc375473fb18989a92d20252884f096)) +* **deps:** bump ssri from 6.0.1 to 6.0.2 in /frontend ([3717186](https://github.com/filebrowser/filebrowser/commit/371718634b11f32e68165f31c51b6b1139c829ec)) +* **deps:** bump tar from 6.1.0 to 6.1.11 in /frontend ([010d16f](https://github.com/filebrowser/filebrowser/commit/010d16fc1d8f0200e5662943aef17ee89c5877b7)) +* **deps:** bump url-parse from 1.5.1 to 1.5.4 in /frontend ([8906408](https://github.com/filebrowser/filebrowser/commit/8906408a8f0ed86d1e11ea90fc573b36815c9c0d)) +* **deps:** bump url-parse from 1.5.4 to 1.5.7 in /frontend ([228ebea](https://github.com/filebrowser/filebrowser/commit/228ebea66cc871b33459406590a80ef906298e7d)) +* **deps:** bump ws from 6.2.1 to 6.2.2 in /frontend ([73c8073](https://github.com/filebrowser/filebrowser/commit/73c80732d934bc8802a6d7c7a559cad37df405f0)) + +### [2.20.1](https://github.com/filebrowser/filebrowser/compare/v2.20.0...v2.20.1) (2021-12-21) + + +### Build + +* revert to using the default alpine based docker image ([46d8046](https://github.com/filebrowser/filebrowser/commit/46d80464d2a67927b06a11b83fb137ad364a90ed)) + +## [2.20.0](https://github.com/filebrowser/filebrowser/compare/v2.19.0...v2.20.0) (2021-12-20) + + +### Features + +* detect multiple subtitle languages ([#1723](https://github.com/filebrowser/filebrowser/issues/1723)) ([c2e03bb](https://github.com/filebrowser/filebrowser/commit/c2e03bbfab97fc6716bcdd59158e9d5129bf0ea7)) +* use linuxserver based docker image ([b8f35ce](https://github.com/filebrowser/filebrowser/commit/b8f35ce9322c2b0dbf954cfd3ff584bc9f742fdd)) + + +### Bug Fixes + +* set correct default database path in the config ([988d3e5](https://github.com/filebrowser/filebrowser/commit/988d3e5bdd224509ddc2f08444560e3087e9c67d)) +* upgrade vulnerable versions of the library ([6eb3ab0](https://github.com/filebrowser/filebrowser/commit/6eb3ab063509a015ad630ab704ae3791461d0982)) + + +### Build + +* refactor makefile ([f81857a](https://github.com/filebrowser/filebrowser/commit/f81857acce25936a700945db5ef4af545eaeb1cf)) +* remove deprecated goreleaser use_buildx param ([4d1b9dd](https://github.com/filebrowser/filebrowser/commit/4d1b9dd2112002a93bb26cece07dcfd81c31dc2c)) + +## [2.19.0](https://github.com/filebrowser/filebrowser/compare/v2.18.0...v2.19.0) (2021-11-24) + + +### Features + +* prefetch previous and next images in preview. ([#1627](https://github.com/filebrowser/filebrowser/issues/1627)) ([7401d16](https://github.com/filebrowser/filebrowser/commit/7401d16e457bb232fd7dd7ef427e8960d465705c)) + + +### Bug Fixes + +* empty file listing on share ([e082397](https://github.com/filebrowser/filebrowser/commit/e08239781f61e7bb25d9b8c5c6cce90f34621a76)) +* relative font sizes ([c29698d](https://github.com/filebrowser/filebrowser/commit/c29698dffac769077ab7c7869569a902979ee3d7)) + +## [2.18.0](https://github.com/filebrowser/filebrowser/compare/v2.17.2...v2.18.0) (2021-10-31) + + +### Features + +* add ability to select file modified time format ([#1536](https://github.com/filebrowser/filebrowser/issues/1536)) ([0426629](https://github.com/filebrowser/filebrowser/commit/0426629a59c712849570d3e29956948ae7725a4a)) +* add manifest theme color param ([#1542](https://github.com/filebrowser/filebrowser/issues/1542)) ([0358e42](https://github.com/filebrowser/filebrowser/commit/0358e42d2c206732fffa77714f5a66f4fe50a69d)) + + +### Bug Fixes + +* back button behaviour in preview ([#1573](https://github.com/filebrowser/filebrowser/issues/1573)) ([deabc80](https://github.com/filebrowser/filebrowser/commit/deabc80fd7670983039dfcd29531b45002ca5d9e)) +* fix sidebar navigation on mobile devices ([#1618](https://github.com/filebrowser/filebrowser/issues/1618)) ([f09bf3e](https://github.com/filebrowser/filebrowser/commit/f09bf3e1d076b27d29ba8a91cf448a99993bc444)) +* search box is misaligned when the browser preferred font size is other than 16px ([#1613](https://github.com/filebrowser/filebrowser/issues/1613)) ([6f345be](https://github.com/filebrowser/filebrowser/commit/6f345be3e47ba57ecc1eb9a62587ab949078c125)) +* security issue in command runner (closes [#1621](https://github.com/filebrowser/filebrowser/issues/1621)) ([74b7cd8](https://github.com/filebrowser/filebrowser/commit/74b7cd8e81840537a8206317344f118093153e8d)) +* set correct editor height regardless of preferred font size ([#1614](https://github.com/filebrowser/filebrowser/issues/1614)) ([ddd4ffa](https://github.com/filebrowser/filebrowser/commit/ddd4ffa4caa6b292a3a644ecd897aba1237c7503)) +* zoom pics when dlclick at first time ([#1561](https://github.com/filebrowser/filebrowser/issues/1561)) ([b6a51be](https://github.com/filebrowser/filebrowser/commit/b6a51bed516814944f8aa41440652242d57824c5)) + +### [2.17.2](https://github.com/filebrowser/filebrowser/compare/v2.17.1...v2.17.2) (2021-08-27) + + +### Bug Fixes + +* bug with inlineLink not creating url properly ([#1515](https://github.com/filebrowser/filebrowser/issues/1515)) ([43a4609](https://github.com/filebrowser/filebrowser/commit/43a460993c3f0d158b876db4b20caa7963e9f361)) + +### [2.17.1](https://github.com/filebrowser/filebrowser/compare/v2.17.0...v2.17.1) (2021-08-23) + + +### Bug Fixes + +* internal server error if --disable-preview-resize flag is set (closes [#1510](https://github.com/filebrowser/filebrowser/issues/1510)) ([4c3099a](https://github.com/filebrowser/filebrowser/commit/4c3099a086c206dcb3bc70ee8c8da02eee61c30b)) + +## [2.17.0](https://github.com/filebrowser/filebrowser/compare/v2.16.1...v2.17.0) (2021-08-21) + + +### Features + +* open file option on preview ([76add9e](https://github.com/filebrowser/filebrowser/commit/76add9e5274b0373c6b983e3b20e387a14ea6c9e)) + + +### Bug Fixes + +* 401 error in share view open file button ([#1495](https://github.com/filebrowser/filebrowser/issues/1495)) ([25c8788](https://github.com/filebrowser/filebrowser/commit/25c87883908babde073390a2e2320a8e5880a87c)) +* escape quote on index template ([23d646c](https://github.com/filebrowser/filebrowser/commit/23d646c456876d06cf48e71c1e57b69de99511f0)), closes [#1501](https://github.com/filebrowser/filebrowser/issues/1501) +* file caching directive ([c63cc5a](https://github.com/filebrowser/filebrowser/commit/c63cc5a2d25909cc4e2f2e7235f276ec66c32bf2)) + +### [2.16.1](https://github.com/filebrowser/filebrowser/compare/v2.16.0...v2.16.1) (2021-08-04) + + +### Bug Fixes + +* check symlink target type (closes [#1488](https://github.com/filebrowser/filebrowser/issues/1488)) ([76b466f](https://github.com/filebrowser/filebrowser/commit/76b466f6492e74cf13e66a33e7e5f597ac92b240)) + +## [2.16.0](https://github.com/filebrowser/filebrowser/compare/v2.15.0...v2.16.0) (2021-07-26) + + +### Features + +* browser cache directives ([190cb99](https://github.com/filebrowser/filebrowser/commit/190cb99a79a0d438eca2da13539f8c6449ad73ac)) +* display error messages on settings ([6032038](https://github.com/filebrowser/filebrowser/commit/603203848a8b2221158088b6d849609db4c0c46c)) +* file name on page title ([16a34de](https://github.com/filebrowser/filebrowser/commit/16a34defc02554a77c6ac47b9e17e69d098a09fe)) +* gzip encoding for static js files ([aa172b8](https://github.com/filebrowser/filebrowser/commit/aa172b8bb5f17d5f5cb9666bfb5ee650d8091fb5)) +* loading spinner on views navigation ([976eb55](https://github.com/filebrowser/filebrowser/commit/976eb5583dae474125fd7ddec5dc19b6c291f98f)) +* message for connection error ([5e6f14b](https://github.com/filebrowser/filebrowser/commit/5e6f14b5dcb9c5efdf526f1346e09c2d0b2f6974)) +* mod time title on file info ([7d1e030](https://github.com/filebrowser/filebrowser/commit/7d1e03075d2c27148f60813defa0f68403d1d3c2)) +* open file option on share ([1c25f6e](https://github.com/filebrowser/filebrowser/commit/1c25f6ee69bd71eed82af7020006d0e27537a967)) +* show more button on share ([ba8c09f](https://github.com/filebrowser/filebrowser/commit/ba8c09f454feeadf4a1e97547a34151a81b389d5)) +* support for IE11 browser ([7ec24d9](https://github.com/filebrowser/filebrowser/commit/7ec24d9d7794fa37825f64ca2d1575f568fb1362)) + + +### Bug Fixes + +* break resource create/update handlers on error (closes [#1464](https://github.com/filebrowser/filebrowser/issues/1464)) ([5072bbb](https://github.com/filebrowser/filebrowser/commit/5072bbb2cbf5b29d041629faa8367f15e4d145a2)) +* copying files with special characters ([20ebbf6](https://github.com/filebrowser/filebrowser/commit/20ebbf6611b734371426fb1b9cb5e388be90bf7e)) +* delete image cache when moving ([8973c45](https://github.com/filebrowser/filebrowser/commit/8973c4598ff817647f1f1ad6ee36480054cd2776)) +* don't remove files on unsuccessful updates (closes [#1456](https://github.com/filebrowser/filebrowser/issues/1456)) ([6b19ab6](https://github.com/filebrowser/filebrowser/commit/6b19ab6613b12be7f075299cd98f4b41d43827c7)) +* failure on broken symlink deletion ([8650d2f](https://github.com/filebrowser/filebrowser/commit/8650d2ffe7a29cbafa800efcecbf6a61598a9f0c)) +* inconsistent double click on listing item ([ba7e71a](https://github.com/filebrowser/filebrowser/commit/ba7e71a7c3b0cc71012e5adf94b1c642e554972e)) +* no items displayed on file listing ([18889ad](https://github.com/filebrowser/filebrowser/commit/18889ad725f7f7e5a7e3f7abcf156487556dbeaf)) +* omit file content ([209f9fa](https://github.com/filebrowser/filebrowser/commit/209f9fa77f751054512355f2b74b9b7258465d0b)) +* short commit sha and typo fix in Makefile ([#1411](https://github.com/filebrowser/filebrowser/issues/1411)) ([46ee595](https://github.com/filebrowser/filebrowser/commit/46ee59538914dc2859f0da6b32e2d062d0a01b10)) + +## [2.15.0](https://github.com/filebrowser/filebrowser/compare/v2.14.1...v2.15.0) (2021-04-06) + + +### Features + +* add EXIF thumbnail support for JPEG files ([#1234](https://github.com/filebrowser/filebrowser/issues/1234)) ([7dd5b34](https://github.com/filebrowser/filebrowser/commit/7dd5b34d425dfbc2782152310483cbecf85c800a)) +* dynamic autoplay on previewer ([a76e01d](https://github.com/filebrowser/filebrowser/commit/a76e01d2b78a785f3665a8b3532c7cc566bfabce)) +* dynamic item count on file listing ([6c8ee96](https://github.com/filebrowser/filebrowser/commit/6c8ee96e6a21fae5d4608bdc7a5c5a161d7dafd3)) +* dynamic zoom limit on previewer ([e410272](https://github.com/filebrowser/filebrowser/commit/e410272e6be6a0b660efe8d4eee6c6e9dd834cc5)) + + +### Bug Fixes + +* buttons without permission on header ([1516d99](https://github.com/filebrowser/filebrowser/commit/1516d9932bf9926ac8b4cb3e738a5f51e80d5b1d)) +* check modify permission on file overwrite ([59f9964](https://github.com/filebrowser/filebrowser/commit/59f9964e80c8233775f27be33a4c16a31bfe848a)) +* empty archive name on directory download ([2697093](https://github.com/filebrowser/filebrowser/commit/2697093ac151f74eea3022951d128acfe04d1dcf)) +* empty text file on editor ([e9baf0c](https://github.com/filebrowser/filebrowser/commit/e9baf0c4b688fab291cdc842ec464c7a7a816499)) +* error causes panic on upload ([e1a6f59](https://github.com/filebrowser/filebrowser/commit/e1a6f593e1824e7fa4345a61dff5b1bb8cd22d05)) +* hidden editor header on Safari ([b521dec](https://github.com/filebrowser/filebrowser/commit/b521dec8f9b14dd92248c429e902ebc639046389)) +* image quality switch on previewer ([c0d85f3](https://github.com/filebrowser/filebrowser/commit/c0d85f3d85926c8790757bf142140d19455ae8ca)) +* list item interactions on share ([87f1881](https://github.com/filebrowser/filebrowser/commit/87f1881b429877a740ea84a8e783ad4103248289)) +* missing bold variation for Roboto font ([98d79b8](https://github.com/filebrowser/filebrowser/commit/98d79b8ed955df5691a306d709b4ab60d91da408)) +* mouse wheel zoom on previewer ([fcb115f](https://github.com/filebrowser/filebrowser/commit/fcb115f42d33db2be7a4d428ec53d65d6050320b)) +* no header button animations on file listing ([fe80730](https://github.com/filebrowser/filebrowser/commit/fe80730bb135b38e4d9de470c75cbe10b1aec201)) + +### [2.14.1](https://github.com/filebrowser/filebrowser/compare/v2.14.0...v2.14.1) (2021-03-21) + + +### Bug Fixes + +* display public routes with header proxy auth ([da54bd6](https://github.com/filebrowser/filebrowser/commit/da54bd6c214d7ee39b71d710ddfe6dd25fc4e5d6)) + +## [2.14.0](https://github.com/filebrowser/filebrowser/compare/v2.13.0...v2.14.0) (2021-03-21) + + +### Features + +* add health check handler ([a721dc1](https://github.com/filebrowser/filebrowser/commit/a721dc1f314732e60d331a1a7da97d06e0e8b613)) + + +### Bug Fixes + +* hide dotfile error on share ([5f4a031](https://github.com/filebrowser/filebrowser/commit/5f4a0317ab5685fe4a558df74e604c12e04a1c10)) +* prefix handling on http router ([93a35ad](https://github.com/filebrowser/filebrowser/commit/93a35ad2516accdcb9735db509550979d01de2c3)) +* qr code url on share ([22f4be8](https://github.com/filebrowser/filebrowser/commit/22f4be8f54162b7cf494177705ffb8b09117bd01)) +* text file detection on editor ([eeadc53](https://github.com/filebrowser/filebrowser/commit/eeadc532fe6057969b3c1a4726f236851b154cfa)) + +## [2.13.0](https://github.com/filebrowser/filebrowser/compare/v2.12.1...v2.13.0) (2021-03-14) + + +### Features + +* dual pane settings view ([db5aad8](https://github.com/filebrowser/filebrowser/commit/db5aad8eb679cfe1b1ace5142cf342951217f0f7)) +* improved settings navbar ([5b28aa0](https://github.com/filebrowser/filebrowser/commit/5b28aa0848710b9d3ee02a2aa912856395f48bd2)) +* improved sharing prompt ([1819377](https://github.com/filebrowser/filebrowser/commit/18193778971e27d18b5a35df8c2d0e2953b48111)) +* increased header button counter size ([4fb832c](https://github.com/filebrowser/filebrowser/commit/4fb832c0422107e16f22b7aa928224f36de4978f)) +* larger previewer content ([62fff5c](https://github.com/filebrowser/filebrowser/commit/62fff5ca60da1f887c1f95fa4808d3753596dab2)) + + +### Bug Fixes + +* archive contains parent path on Windows ([54f3570](https://github.com/filebrowser/filebrowser/commit/54f35701a2bd5cb7ec0628ca9789047072c073db)) +* check rules on http resource handlers ([5bf1554](https://github.com/filebrowser/filebrowser/commit/5bf15548d0ad147acfad5000277531be2671f7ce)) +* download current dir on file listing ([488d980](https://github.com/filebrowser/filebrowser/commit/488d98045e7476ed11e53c13d9498a9db3165bbc)) +* encoded file path on share ([7955e07](https://github.com/filebrowser/filebrowser/commit/7955e0720baef3710106c7e69bbbf078d5489220)) +* full file path on share ([e017a19](https://github.com/filebrowser/filebrowser/commit/e017a199850e19dd51b960ba59402c215fd8f1af)) +* header dropdown icon color on previewer ([f8df76f](https://github.com/filebrowser/filebrowser/commit/f8df76f52684f10722ce123fec2c90e321ddf103)) +* item dragging on file listing ([326b35a](https://github.com/filebrowser/filebrowser/commit/326b35a7ac7871afcdf892ca150349665b7f6379)) +* modified time on info prompt ([11ebaec](https://github.com/filebrowser/filebrowser/commit/11ebaec5f0671ec02ebe55d4a73a514bce3a6713)) +* root path name on archive ([426b38b](https://github.com/filebrowser/filebrowser/commit/426b38bb3362d2d477d0d8aa27d880664d537431)) +* stuck icon on header button ([6a734c0](https://github.com/filebrowser/filebrowser/commit/6a734c01391b437c2842f5d97fb63f29a0017510)) +* update image cache when replacing ([81b6f4d](https://github.com/filebrowser/filebrowser/commit/81b6f4d6f6a01886583016f61f4f1951a59f244d)) +* wait for async command exit ([#1326](https://github.com/filebrowser/filebrowser/issues/1326)) ([6d5ceae](https://github.com/filebrowser/filebrowser/commit/6d5ceae8b454edd749b3b65c88aacc0a31ce9215)) + + +### Refactorings + +* migrate from rice to embed.FS ([fc55061](https://github.com/filebrowser/filebrowser/commit/fc5506179a64e9e2f57f7b6d6cce4b95f5ebc235)) + +### [2.12.1](https://github.com/filebrowser/filebrowser/compare/v2.12.0...v2.12.1) (2021-03-07) + + +### Bug Fixes + +* add missing default config into the docker image ([7358b3f](https://github.com/filebrowser/filebrowser/commit/7358b3fe3178c20007b4b5ef5c03705badd538c4)) + +## [2.12.0](https://github.com/filebrowser/filebrowser/compare/v2.11.0...v2.12.0) (2021-03-04) + + +### Features + +* add homebrew tap ([2d2c598](https://github.com/filebrowser/filebrowser/commit/2d2c598fa6bd1ecaf39c542182890c8dd9b1cad0)) +* added tiff files preview support ([#1222](https://github.com/filebrowser/filebrowser/issues/1222)) ([e8c9d1c](https://github.com/filebrowser/filebrowser/commit/e8c9d1c53989b4b52f6fba2a8ac41ae612c03a7c)) +* allow disabling file detections by reading header ([#1175](https://github.com/filebrowser/filebrowser/issues/1175)) ([6914063](https://github.com/filebrowser/filebrowser/commit/6914063853a8a3f3cecfa4b21f223820c2a0b7df)) +* allow to password protect shares ([#1252](https://github.com/filebrowser/filebrowser/issues/1252)) ([d8f415f](https://github.com/filebrowser/filebrowser/commit/d8f415f8abd0c4301803bd968c54429dd3fe4b59)) +* build multi-arch docker images ([cf4836d](https://github.com/filebrowser/filebrowser/commit/cf4836dc757ef79ad615179bb7a6c7bbd3b09c2c)) +* share management delete confirm ([#1212](https://github.com/filebrowser/filebrowser/issues/1212)) ([b600b11](https://github.com/filebrowser/filebrowser/commit/b600b11415fd1fb90ff2f5136be95a9c737ae1cb)) + + +### Bug Fixes + +* don't allow to remove root user ([019ce80](https://github.com/filebrowser/filebrowser/commit/019ce80fc529a0437984fdc3d1ab6916f34dd594)) +* double click to zoom pics in phone's browser ([#1274](https://github.com/filebrowser/filebrowser/issues/1274)) ([f1b7bd5](https://github.com/filebrowser/filebrowser/commit/f1b7bd59f67e719b7bfd203b0d7ec016fd21ab49)) +* environmental variables not expanded in command ([#1241](https://github.com/filebrowser/filebrowser/issues/1241)) ([f3afd5c](https://github.com/filebrowser/filebrowser/commit/f3afd5cb79d6ad8b9cc8d54cb8fc2344b7c07d3d)) +* fetch resource api once when sorting (closes [#1172](https://github.com/filebrowser/filebrowser/issues/1172)) ([#1202](https://github.com/filebrowser/filebrowser/issues/1202)) ([05bb7c8](https://github.com/filebrowser/filebrowser/commit/05bb7c85531349f3e9d1d8a523bb1243587b2ebc)) + + +### Build + +* use make for building the project ([#1304](https://github.com/filebrowser/filebrowser/issues/1304)) ([23f8464](https://github.com/filebrowser/filebrowser/commit/23f84642e6c1e07f89f98d2c1bb6fc9da36cc71c)) + +## [2.11.0](https://github.com/filebrowser/filebrowser/compare/v2.10.0...v2.11.0) (2020-12-28) + + +### Features + +* add sharing management ([#1178](https://github.com/filebrowser/filebrowser/issues/1178)) (closes [#1000](https://github.com/filebrowser/filebrowser/issues/1000)) ([677bce3](https://github.com/filebrowser/filebrowser/commit/677bce376b024d9ff38f34e74243034fe5a1ec3c)) +* download shared subdirectory ([#1184](https://github.com/filebrowser/filebrowser/issues/1184)) ([fb5b28d](https://github.com/filebrowser/filebrowser/commit/fb5b28d9cbdee10d38fcd719b9fd832121be58ef)) + + +### Bug Fixes + +* check user input to prevent permission elevation ([#1196](https://github.com/filebrowser/filebrowser/issues/1196)) (closes [#1195](https://github.com/filebrowser/filebrowser/issues/1195)) ([f62806f](https://github.com/filebrowser/filebrowser/commit/f62806f6c9e9c7f392d1b747d65b8fe40b313e89)) +* delete extra remove prefix ([#1186](https://github.com/filebrowser/filebrowser/issues/1186)) ([7a5298a](https://github.com/filebrowser/filebrowser/commit/7a5298a7556f7dcc52f59b8ea76d040d3ddc3d12)) +* move files between different volumes (closes [#1177](https://github.com/filebrowser/filebrowser/issues/1177)) ([58835b7](https://github.com/filebrowser/filebrowser/commit/58835b7e535cc96e1c8a5d85821c1545743ca757)) +* recaptcha race condition ([#1176](https://github.com/filebrowser/filebrowser/issues/1176)) ([ac3673e](https://github.com/filebrowser/filebrowser/commit/ac3673e111afac6616af9650ca07028b6c27e6cd)) + +## [2.10.0](https://github.com/filebrowser/filebrowser/compare/v2.9.0...v2.10.0) (2020-11-24) + + +### Features + +* add hide dotfiles param ([#1148](https://github.com/filebrowser/filebrowser/issues/1148)) ([10e399b](https://github.com/filebrowser/filebrowser/commit/10e399b3c3dbdcfb4465a9d4138e1da6bae0873d)) +* add single click mode ([#1139](https://github.com/filebrowser/filebrowser/issues/1139)) ([e8b4e9a](https://github.com/filebrowser/filebrowser/commit/e8b4e9af46d6e99dbeb965dd9727d9ed017d52a2)) +* automatically jump to the next photo when deleting while previewing ([#1143](https://github.com/filebrowser/filebrowser/issues/1143)) ([9515cee](https://github.com/filebrowser/filebrowser/commit/9515ceeb42e5ef5267400220a2082dec775e843d)) +* shared folder file listing ([e119bc5](https://github.com/filebrowser/filebrowser/commit/e119bc55ea82cefcbcc0571650107dfd5d73f570)) +* shared item information ([36cacdf](https://github.com/filebrowser/filebrowser/commit/36cacdf598e4e09f064c8ace0ca7a6c24b23028e)) + + +### Bug Fixes + +* empty folder in archive ([7096b3d](https://github.com/filebrowser/filebrowser/commit/7096b3dab92441981c9964e4a6175af0a255d2be)) +* fix hanging when reading a named pipe file (closes [#1155](https://github.com/filebrowser/filebrowser/issues/1155)) ([586d198](https://github.com/filebrowser/filebrowser/commit/586d198d47b525eeccc6fe587573a3ad83adb4f6)) +* previewer title overflow ([4e48ffc](https://github.com/filebrowser/filebrowser/commit/4e48ffc14d09dabeea12dc495144277db62b5b7d)) +* resource rename action invalid path ([1ce3068](https://github.com/filebrowser/filebrowser/commit/1ce3068a99c80c153fd41359255d173bce6e79e8)) + +## [2.9.0](https://github.com/filebrowser/filebrowser/compare/v2.8.0...v2.9.0) (2020-10-21) + + +### Features + +* support WKWebview custom protocol ([#1113](https://github.com/filebrowser/filebrowser/issues/1113)) ([0ac80e8](https://github.com/filebrowser/filebrowser/commit/0ac80e8387a69924284259bde448af2813d84ed1)) + + +### Bug Fixes + +* allow start from Windows explorer ([f2c4e78](https://github.com/filebrowser/filebrowser/commit/f2c4e78381610879eda5316d38a999c89df6c14a)) +* file upload missing path slash ([5e27ba5](https://github.com/filebrowser/filebrowser/commit/5e27ba5c8c1be603c6ae7fec8de48e3532dea1f7)) +* preview case sensitive file extension ([05bff54](https://github.com/filebrowser/filebrowser/commit/05bff54b71543fd232f1089c40504d0cbfd106be)) +* search missing path slash ([2bd163d](https://github.com/filebrowser/filebrowser/commit/2bd163d92a856d65c8d4615e37898470c1edf2f4)) + +## [2.8.0](https://github.com/filebrowser/filebrowser/compare/v2.7.0...v2.8.0) (2020-10-05) + + +### Features + +* add disable exec flag ([#1090](https://github.com/filebrowser/filebrowser/issues/1090)) ([97693cc](https://github.com/filebrowser/filebrowser/commit/97693cc6117ce1c956baede91de5dd48b904e175)) + + +### Bug Fixes + +* empty commands setting ([c6d4fcd](https://github.com/filebrowser/filebrowser/commit/c6d4fcd08f5f1531c2cef514dc86019e23e7289f)) +* file upload path encoding ([babd778](https://github.com/filebrowser/filebrowser/commit/babd7783afe85b790e1c558375d7b5013b2d366f)) +* fix empty command name ([#1106](https://github.com/filebrowser/filebrowser/issues/1106)) ([36fb9f5](https://github.com/filebrowser/filebrowser/commit/36fb9f562a2c005ca4390fdebde0b4690201dff9)) +* fix panic when accessing nonexistent .js file in static path ([#1105](https://github.com/filebrowser/filebrowser/issues/1105)) ([ad99bf1](https://github.com/filebrowser/filebrowser/commit/ad99bf180197e0e6d82231a86457585de16366a8)) +* preview key shortcut conflict ([dd7b9dd](https://github.com/filebrowser/filebrowser/commit/dd7b9ddd8546361060ef99e838a691b2fc6c495a)) +* search results absolute url ([26d62e4](https://github.com/filebrowser/filebrowser/commit/26d62e411716a5eb9a5a703e47484cfb3fbf3bd0)) + +## [2.7.0](https://github.com/filebrowser/filebrowser/compare/v2.6.2...v2.7.0) (2020-09-11) + + +### Features + +* add --socket-perm flag to control unix socket file permissions (closes [#1060](https://github.com/filebrowser/filebrowser/issues/1060)) ([65ac734](https://github.com/filebrowser/filebrowser/commit/65ac73414fadc4686c94803a93ff319e8f7ce9d1)) +* preview mobile dropdown ([7787344](https://github.com/filebrowser/filebrowser/commit/778734419de314d4cb64d07109bbab73f8e2e42a)) +* preview size button ([3d2cb83](https://github.com/filebrowser/filebrowser/commit/3d2cb838d111ee61047599f49e76de80c821f341)) +* put selected files in the root of the archive (closes [#1065](https://github.com/filebrowser/filebrowser/issues/1065)) ([8142b32](https://github.com/filebrowser/filebrowser/commit/8142b32f3865eccd3331328e0d087f805d186ed5)) + +### [2.6.2](https://github.com/filebrowser/filebrowser/compare/v2.6.1...v2.6.2) (2020-08-05) + +### [2.6.1](https://github.com/filebrowser/filebrowser/compare/v2.6.0...v2.6.1) (2020-07-28) + + +### Bug Fixes + +* delete cached previews when deleting file ([f5d02cd](https://github.com/filebrowser/filebrowser/commit/f5d02cdde97923b963878abf5a300393b9feb348)) +* escape special characters in preview url (closes [#1002](https://github.com/filebrowser/filebrowser/issues/1002)) ([c9340af](https://github.com/filebrowser/filebrowser/commit/c9340af8d045671ad3338c5d2d887c335ab92de4)) + +## [2.6.0](https://github.com/filebrowser/filebrowser/compare/v2.5.0...v2.6.0) (2020-07-27) + + +### Features + +* add lazy load of image thumbnails ([bc00165](https://github.com/filebrowser/filebrowser/commit/bc001650944ae963b12b5b2538a68de7cd0d8f82)) +* add param to disable img resizing ([aa78e3a](https://github.com/filebrowser/filebrowser/commit/aa78e3ab1fcae6f618e811ba4e315a7a209f9df2)) +* cache resized images ([95bc929](https://github.com/filebrowser/filebrowser/commit/95bc92955f391ece22c40d9592f2a3e6e26907b9)) +* limit image resize workers ([94ef596](https://github.com/filebrowser/filebrowser/commit/94ef59602fb50fc21b1164feda90a3b9aeb5e972)) + + +### Bug Fixes + +* conflict handling on upload button ([f228fa5](https://github.com/filebrowser/filebrowser/commit/f228fa55408824618e9f0879da67c86d22b0d324)) +* drop feedback ([f2d2c1c](https://github.com/filebrowser/filebrowser/commit/f2d2c1cbf85fba3edffb7b079f121ed3f0bc1e02)) +* missing error message ([d9be370](https://github.com/filebrowser/filebrowser/commit/d9be370e2474b8070fa58db920c9481270cc4a48)) +* parent verification on copy ([727c63b](https://github.com/filebrowser/filebrowser/commit/727c63b98e2964d0960d25914c296570f6c79478)) +* path separator inconsistency on rename ([34dfb49](https://github.com/filebrowser/filebrowser/commit/34dfb49b719c948e709a4639b4af2c5cb73b3887)) + +## [2.5.0](https://github.com/filebrowser/filebrowser/compare/v2.4.0...v2.5.0) (2020-07-17) + + +### Features + +* add previewer title and loading indicator ([716396a](https://github.com/filebrowser/filebrowser/commit/716396a726329f0ba42fc34167dd07497c5bf47c)) +* duplicate files in the same directory ([43526d9](https://github.com/filebrowser/filebrowser/commit/43526d9d1a8c837245e3f5059e0b4737583eeaeb)) +* file copy, move and paste conflict checking ([eed9da1](https://github.com/filebrowser/filebrowser/commit/eed9da1471723ed3fbe6c00b1d6362b1c5fd8b04)) +* rename option on replace prompt ([2636f87](https://github.com/filebrowser/filebrowser/commit/2636f876ab8f88eea6d9548de524ca2339eb0843)) +* upload queue ([6ec6a23](https://github.com/filebrowser/filebrowser/commit/6ec6a2386173410f5cab9941dbf1bacb6b70ddd2)) + + +### Bug Fixes + +* blinking previewer ([9a2ebba](https://github.com/filebrowser/filebrowser/commit/9a2ebbabe2e9f0c292701d33f36f9b7a457b1164)) +* dark theme colors ([b3b6445](https://github.com/filebrowser/filebrowser/commit/b3b644527d5673e16e61d404ff58a3c7bd6b6637)) +* directory conflict checking ([7e5beef](https://github.com/filebrowser/filebrowser/commit/7e5beeff464e75ab185c430cd96e7cc67209ccc1)) +* prompt before closing window ([194030f](https://github.com/filebrowser/filebrowser/commit/194030fcfcf54a2cf5e2f8ececcbb4754474d8f8)) +* remove incomplete uploaded files ([0727496](https://github.com/filebrowser/filebrowser/commit/0727496601a9918c8131c56f62419bfac7ac589a)) +* reset clipboard after pasting cutted files ([10570ad](https://github.com/filebrowser/filebrowser/commit/10570ade442b573ebe00af08369e28b1b0688df6)) + +## [2.4.0](https://github.com/filebrowser/filebrowser/compare/v2.3.0...v2.4.0) (2020-07-07) + + +### Features + +* full screen editor ([0d665e5](https://github.com/filebrowser/filebrowser/commit/0d665e528f880ceda0976ceed66070ac34de7969)) + + +### Bug Fixes + +* add preview bypass for .gif files ([#1012](https://github.com/filebrowser/filebrowser/issues/1012)) ([453636d](https://github.com/filebrowser/filebrowser/commit/453636dfe2bbf177c74617862eb763485d4774bf)) +* prompt key shortcut conflict ([0d69fbd](https://github.com/filebrowser/filebrowser/commit/0d69fbd9a342aa2695859021df0c423e3ae4a4fa)) + +## [2.3.0](https://github.com/filebrowser/filebrowser/compare/v2.2.0...v2.3.0) (2020-06-26) + + +### Features + +* add image thumbnails support ([#980](https://github.com/filebrowser/filebrowser/issues/980)) ([6b0d49b](https://github.com/filebrowser/filebrowser/commit/6b0d49b1fc8bdce89576ba91cc0b8ec594fcd625)) + + +### Bug Fixes + +* typo in image_templates (apline -> alpine) ([#1005](https://github.com/filebrowser/filebrowser/issues/1005)) ([84da110](https://github.com/filebrowser/filebrowser/commit/84da11008516a371fc0446d97863dc14d337aa25)) + +## [2.2.0](https://github.com/filebrowser/filebrowser/compare/v2.1.2...v2.2.0) (2020-06-22) + + +### Features + +* add alpine and debian docker images ([66863b7](https://github.com/filebrowser/filebrowser/commit/66863b72f7664e6cb9417f7da542a92fa77ca635)) +* add folder upload ([#981](https://github.com/filebrowser/filebrowser/issues/981)) ([8977344](https://github.com/filebrowser/filebrowser/commit/89773447a56675b298394149d7a05c5df4039f14)), closes [filebrowser/filebrowser#741](https://github.com/filebrowser/filebrowser/issues/741) +* add key shortcuts ([95316cb](https://github.com/filebrowser/filebrowser/commit/95316cbe8c8ac3dbb28310bc11ec347c0caf699b)) +* upload progress based on total size ([#993](https://github.com/filebrowser/filebrowser/issues/993)) ([cd454ba](https://github.com/filebrowser/filebrowser/commit/cd454bae51f40b1249e6fa6133c2949970eb3018)) + + +### Bug Fixes + +* add a workaround to fix window freezing when viewing a large file [#992](https://github.com/filebrowser/filebrowser/issues/992) ([2412016](https://github.com/filebrowser/filebrowser/commit/241201657c2bf01806d02a297eb846b26102a479)) +* apply all fs user rulles ([68f8348](https://github.com/filebrowser/filebrowser/commit/68f8348ddeecba570a361e7aba4546052cc3e356)) +* frontend token validation ([dd40b0d](https://github.com/filebrowser/filebrowser/commit/dd40b0d9b9cc6268a611306ac4684a1af852b79d)), closes [filebrowser/filebrowser#638](https://github.com/filebrowser/filebrowser/issues/638) +* multiple selection count ([963837e](https://github.com/filebrowser/filebrowser/commit/963837ef1dc6e2e84fcf924606ce388ac30f3891)) +* save event hook ([82c883f](https://github.com/filebrowser/filebrowser/commit/82c883f95eead9eebe215e230f74773c945f864a)), closes [filebrowser/filebrowser#696](https://github.com/filebrowser/filebrowser/issues/696) diff --git a/CODE_OF_CONDUCT.md b/CODE-OF-CONDUCT.md similarity index 87% rename from CODE_OF_CONDUCT.md rename to CODE-OF-CONDUCT.md index f0cc78e8..28bdc607 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE-OF-CONDUCT.md @@ -1,10 +1,12 @@ -# Contributor Covenant Code of Conduct +# Code of Conduct -## Our Pledge +## Contributor Covenant Code of Conduct + +### Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. -## Our Standards +### Our Standards Examples of behavior that contributes to creating a positive environment include: @@ -22,25 +24,23 @@ Examples of unacceptable behavior by participants include: * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting -## Our Responsibilities +### Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. -## Scope +### Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. -## Enforcement +### Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at hacdias@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. -## Attribution +### Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] +This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.4, available at [https://contributor-covenant.org/version/1/4](https://contributor-covenant.org/version/1/4). -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fe47ed8e..311a2fd7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,14 +1,128 @@ # Contributing -If you want to contribute or want to build the code from source, you will need to have the most recent version of Go and, if you want to change the static assets (JS, CSS, ...), Node.js installed on your computer. To start developing, you just need to do the following: +If you're interested in contributing to this project, this is the best place to start. Before contributing to this project, please take a bit of time to read our [Code of Conduct](code-of-conduct.md). Also, note that this project is open-source and licensed under [Apache License 2.0](LICENSE). -1. `go get github.com/hacdias/filemanager` -2. `cd $GOPATH/src/github.com/hacdias/filemanager` -3. `npm install` -4. `npm run dev` - regenerates the static assets automatically -5. `go install github.com/hacdias/filemanager/cmd/filemanager` -6. Execute `$GOPATH/bin/filemanager` +## Project Structure -The steps 3 and 4 are only required **if you want to develop the front-end**. Otherwise, you can ignore them. Before pulling, if you made any change on assets folder, you must run the `build.sh` script on the root of this repository. +The backend side of the application is written in [Go](https://golang.org/), while the frontend (located on a subdirectory of the same name) is written in [Vue.js](https://vuejs.org/). Due to the tight coupling required by some features, basic knowledge of both Go and Vue.js is recommended. + +* Learn Go: [https://github.com/golang/go/wiki/Learn](https://github.com/golang/go/wiki/Learn) +* Learn Vue.js: [https://vuejs.org/guide/introduction.html](https://vuejs.org/guide/introduction.html) + +We encourage you to use git to manage your fork. To clone the main repository, just run: + +```bash +git clone https://github.com/filebrowser/filebrowser +``` + +We use [Taskfile](https://taskfile.dev/) to manage the different processes (building, releasing, etc) automatically. + +## Build + +You can fully build the project in order to produce a binary by running: + +```bash +task build +``` + +## Development + +For development, there are a few things to have in mind. + +### Frontend + +We use [Node.js](https://nodejs.org/en/) on the frontend to manage the build process. Prepare the frontend environment: + +```bash +# From the root of the repo, go to frontend/ +cd frontend + +# Install the dependencies +pnpm install +``` + +If you just want to develop the backend, you can create a static build of the frontend: + +```bash +pnpm run build +``` + +If you want to develop the frontend, start a development server which watches for changes: + +```bash +pnpm run dev +``` + +Please note that you need to access File Browser's interface through the development server of the frontend. + +### Backend + +First prepare the backend environment by downloading all required dependencies: + +```bash +go mod download +``` + +You can now build or run File Browser as any other Go project: + +```bash +# Build +go build + +# Run +go run . +``` + +## Documentation + +We rely on Docker to abstract all the dependencies required for building the documentation. + +To build the documentation to `www/public`: + +```bash +task docs +``` + +To start a local server on port `8000` to view the built documentation: + +```bash +task docs:serve +``` + +## Release + +To make a release, just run: + +```bash +task release +``` + +## Translations + +Translations are managed on Transifex, which is an online website where everyone can contribute and translate strings for our project. It automatically syncs with the main language file \(in English\) and,, for you to contribute, you just need to: + +1. Go to our Transifex web page: [app.transifex.com/file-browser/file-browser](https://app.transifex.com/file-browser/file-browser/) +2. Click on **Join the project** and pick your language. We'll accept you as soon as possible. If you're language is not on the list, please request it via the interface. + +Translations are automatically pushed to GitHub via an integration. + +## Authentication Provider + +To build a new authentication provider, you need to implement the [Auther interface](https://github.com/filebrowser/filebrowser/blob/master/auth/auth.go), whose method will be called on the login page after the user has submitted their login data. + +```go +// Auther is the authentication interface. +type Auther interface { + // Auth is called to authenticate a request. + Auth(r *http.Request, s *users.Storage, root string) (*users.User, error) +} +``` + +After implementing the interface you should: + +1. Add it to [`auth` directory](https://github.com/filebrowser/filebrowser/blob/master/auth). +2. Add it to the [configuration parser](https://github.com/filebrowser/filebrowser/blob/master/cmd/config.go) for the CLI. +3. Add it to the [`authBackend.Get`](https://github.com/filebrowser/filebrowser/blob/master/storage/bolt/auth.go). + +If you need to add more flags, please update the function `addConfigFlags`. -If you are using this as a Caddy plugin, you should use its [official instructions for plugins](https://github.com/mholt/caddy/wiki/Extending-Caddy#2-plug-in-your-plugin) and import `github.com/hacdias/filemanager/caddy/filemanager`. diff --git a/Docker.json b/Docker.json deleted file mode 100644 index 7319c940..00000000 --- a/Docker.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "port": 80, - "address": "", - "database": "/etc/database.db", - "scope": "/srv", - "allowCommands": true, - "allowEdit": true, - "allowNew": true, - "commands": [] -} diff --git a/Dockerfile b/Dockerfile index 91383d60..92bbe1d4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,46 @@ -FROM golang:alpine +## Multistage build: First stage fetches dependencies +FROM alpine:3.23 AS fetcher -COPY . /go/src/github.com/hacdias/filemanager +# install and copy ca-certificates, mailcap, and tini-static; download JSON.sh +RUN apk update && \ + apk --no-cache add ca-certificates mailcap tini-static && \ + wget -O /JSON.sh https://raw.githubusercontent.com/dominictarr/JSON.sh/0d5e5c77365f63809bf6e77ef44a1f34b0e05840/JSON.sh -WORKDIR /go/src/github.com/hacdias/filemanager -RUN apk add --no-cache git -RUN go get ./... +## Second stage: Use lightweight BusyBox image for final runtime environment +FROM busybox:1.37.0-musl -WORKDIR /go/src/github.com/hacdias/filemanager/cmd/filemanager -RUN go install +# Define non-root user UID and GID +ENV UID=1000 +ENV GID=1000 -FROM alpine:latest -COPY --from=0 /go/bin/filemanager /usr/local/bin/filemanager +# Create user group and user +RUN addgroup -g $GID user && \ + adduser -D -u $UID -G user user + +# Copy binary, scripts, and configurations into image with proper ownership +COPY --chown=user:user filebrowser /bin/filebrowser +COPY --chown=user:user docker/common/ / +COPY --chown=user:user docker/alpine/ / +COPY --chown=user:user --from=fetcher /sbin/tini-static /bin/tini +COPY --from=fetcher /JSON.sh /JSON.sh +COPY --from=fetcher /etc/ca-certificates.conf /etc/ca-certificates.conf +COPY --from=fetcher /etc/ca-certificates /etc/ca-certificates +COPY --from=fetcher /etc/mime.types /etc/mime.types +COPY --from=fetcher /etc/ssl /etc/ssl + +# Create data directories, set ownership, and ensure healthcheck script is executable +RUN mkdir -p /config /database /srv && \ + chown -R user:user /config /database /srv \ + && chmod +x /healthcheck.sh + +# Define healthcheck script +HEALTHCHECK --start-period=2s --interval=5s --timeout=3s CMD /healthcheck.sh + +# Set the user, volumes and exposed ports +USER user + +VOLUME /srv /config /database -VOLUME /srv EXPOSE 80 -COPY Docker.json /etc/config.json - -ENTRYPOINT ["/usr/local/bin/filemanager"] -CMD ["--config", "/etc/config.json"] +ENTRYPOINT [ "tini", "--", "/init.sh" ] diff --git a/Dockerfile.s6 b/Dockerfile.s6 new file mode 100644 index 00000000..8b363cb3 --- /dev/null +++ b/Dockerfile.s6 @@ -0,0 +1,24 @@ +FROM ghcr.io/linuxserver/baseimage-alpine:3.23 + +RUN apk update && \ + apk --no-cache add ca-certificates mailcap jq libcap + +# Make user and create necessary directories +RUN mkdir -p /config /database /srv && \ + chown -R abc:abc /config /database /srv + +# Copy files and set permissions +COPY filebrowser /bin/filebrowser +COPY docker/common/ / +COPY docker/s6/ / + +RUN chown -R abc:abc /bin/filebrowser /defaults healthcheck.sh && \ + setcap 'cap_net_bind_service=+ep' /bin/filebrowser + +# Define healthcheck script +HEALTHCHECK --start-period=2s --interval=5s --timeout=3s CMD /healthcheck.sh + +# Set the volumes and exposed ports +VOLUME /srv /config /database + +EXPOSE 80 diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..c8db89a2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 File Browser Contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 5e0fd33c..00000000 --- a/LICENSE.md +++ /dev/null @@ -1,201 +0,0 @@ -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by -the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all -other entities that control, are controlled by, or are under common -control with that entity. For the purposes of this definition, -"control" means (i) the power, direct or indirect, to cause the -direction or management of such entity, whether by contract or -otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity -exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation -source, and configuration files. - -"Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but -not limited to compiled object code, generated documentation, -and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or -Object form, made available under the License, as indicated by a -copyright notice that is included in or attached to the work -(an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object -form, that is based on (or derived from) the Work and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. For the purposes -of this License, Derivative Works shall not include works that remain -separable from, or merely link (or bind by name) to the interfaces of, -the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including -the original version of the Work and any modifications or additions -to that Work or Derivative Works thereof, that is intentionally -submitted to Licensor for inclusion in the Work by the copyright owner -or by an individual or Legal Entity authorized to submit on behalf of -the copyright owner. For the purposes of this definition, "submitted" -means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, -and issue tracking systems that are managed by, or on behalf of, the -Licensor for the purpose of discussing and improving the Work, but -excluding communication that is conspicuously marked or otherwise -designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the -Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -(except as stated in this section) patent license to make, have made, -use, offer to sell, sell, import, and otherwise transfer the Work, -where such license applies only to those patent claims licensable -by such Contributor that are necessarily infringed by their -Contribution(s) alone or by combination of their Contribution(s) -with the Work to which such Contribution(s) was submitted. If You -institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work -or a Contribution incorporated within the Work constitutes direct -or contributory patent infringement, then any patent licenses -granted to You under this License for that Work shall terminate -as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the -Work or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You -meet the following conditions: - -(a) You must give any other recipients of the Work or -Derivative Works a copy of this License; and - -(b) You must cause any modified files to carry prominent notices -stating that You changed the files; and - -(c) You must retain, in the Source form of any Derivative Works -that You distribute, all copyright, patent, trademark, and -attribution notices from the Source form of the Work, -excluding those notices that do not pertain to any part of -the Derivative Works; and - -(d) If the Work includes a "NOTICE" text file as part of its -distribution, then any Derivative Works that You distribute must -include a readable copy of the attribution notices contained -within such NOTICE file, excluding those notices that do not -pertain to any part of the Derivative Works, in at least one -of the following places: within a NOTICE text file distributed -as part of the Derivative Works; within the Source form or -documentation, if provided along with the Derivative Works; or, -within a display generated by the Derivative Works, if and -wherever such third-party notices normally appear. The contents -of the NOTICE file are for informational purposes only and -do not modify the License. You may add Your own attribution -notices within Derivative Works that You distribute, alongside -or as an addendum to the NOTICE text from the Work, provided -that such additional attribution notices cannot be construed -as modifying the License. - -You may add Your own copyright statement to Your modifications and -may provide additional or different license terms and conditions -for use, reproduction, or distribution of Your modifications, or -for any such Derivative Works as a whole, provided Your use, -reproduction, and distribution of the Work otherwise complies with -the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, -any Contribution intentionally submitted for inclusion in the Work -by You to the Licensor shall be under the terms and conditions of -this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify -the terms of any separate license agreement you may have executed -with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or -agreed to in writing, Licensor provides the Work (and each -Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied, including, without limitation, any warranties or conditions -of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -PARTICULAR PURPOSE. You are solely responsible for determining the -appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, -unless required by applicable law (such as deliberate and grossly -negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, -incidental, or consequential damages of any character arising as a -result of this License or out of the use or inability to use the -Work (including but not limited to damages for loss of goodwill, -work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses), even if such Contributor -has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing -the Work or Derivative Works thereof, You may choose to offer, -and charge a fee for, acceptance of support, warranty, indemnity, -or other liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only -on Your own behalf and on Your sole responsibility, not on behalf -of any other Contributor, and only if You agree to indemnify, -defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason -of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - -To apply the Apache License to your work, attach the following -boilerplate notice, with the fields enclosed by brackets "{}" -replaced with your own identifying information. (Don't include -the brackets!) The text should be enclosed in the appropriate -comment syntax for the file format. We also recommend that a -file or class name and description of purpose be included on the -same "printed page" as the copyright notice for easier -identification within third-party archives. - -Copyright {yyyy} {name of copyright owner} - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/README.md b/README.md index d548c397..1e15d592 100644 --- a/README.md +++ b/README.md @@ -1,78 +1,30 @@ -![Preview](https://user-images.githubusercontent.com/5447088/28537288-39be4288-70a2-11e7-8ce9-0813d59f46b7.gif) +

+ +

-# filemanager +[![Build](https://github.com/filebrowser/filebrowser/actions/workflows/ci.yaml/badge.svg)](https://github.com/filebrowser/filebrowser/actions/workflows/ci.yaml) +[![Go Report Card](https://goreportcard.com/badge/github.com/filebrowser/filebrowser/v2)](https://goreportcard.com/report/github.com/filebrowser/filebrowser/v2) +[![Version](https://img.shields.io/github/release/filebrowser/filebrowser.svg)](https://github.com/filebrowser/filebrowser/releases/latest) -[![Build](https://img.shields.io/travis/hacdias/filemanager.svg?style=flat-square)](https://travis-ci.org/hacdias/filemanager) -[![Go Report Card](https://goreportcard.com/badge/github.com/hacdias/filemanager?style=flat-square)](https://goreportcard.com/report/hacdias/filemanager) -[![Documentation](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat-square)](http://godoc.org/github.com/hacdias/filemanager) +File Browser provides a file managing interface within a specified directory and it can be used to upload, delete, preview and edit your files. It is a **create-your-own-cloud**-kind of software where you can just install it on your server, direct it to a path and access your files through a nice web interface. -filemanager provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files. It allows the creation of multiple users and each user can have its own directory. It can be used as a standalone app or as a middleware. +## Documentation -# Table of contents +Documentation on how to install, configure, and contribute to this project is hosted at [filebrowser.org](https://filebrowser.org). -+ [Getting started](#getting-started) -+ [Features](#features) - - [Users](#users) - - [Search](#search) -+ [Contributing](#contributing) -+ [Donate](#donate) +## Project Status -# Getting started +This project is a finished product which fulfills its goal: be a single binary web File Browser which can be run by anyone anywhere. That means that File Browser is currently on **maintenance-only** mode. Therefore, please note the following: -You can find the Getting Started guide on the [documentation](https://henriquedias.com/filemanager/quick-start/). +- It can take a while until someone gets back to you. Please be patient. +- [Issues](https://github.com/filebrowser/filebrowser/issues) are meant to track bugs. Unrelated issues will be converted into [discussions](https://github.com/filebrowser/filebrowser/discussions). +- No new features will be implemented by maintainers. Pull requests for new features will be reviewed on a case by case basis. +- The priority is triaging issues, addressing security issues and reviewing pull requests meant to solve bugs. -# Features +## Contributing -Easy login system. +Contributions are always welcome. To start contributing to this project, read our [guidelines](CONTRIBUTING.md) first. -![Login Page](https://user-images.githubusercontent.com/5447088/28432382-975493dc-6d7f-11e7-9190-23f8037159dc.jpg) +## License -Listings of your files, available in two styles: mosaic and list. You can delete, move, rename, upload and create new files, as well as directories. Single files can be downloaded directly, and multiple files as *.zip*, *.tar*, *.tar.gz*, *.tar.bz2* or *.tar.xz*. - -![Mosaic Listing](https://user-images.githubusercontent.com/5447088/28432384-9771bb4c-6d7f-11e7-8564-3a9bd6a3ce3a.jpg) - -File Manager editor is powered by [Codemirror](https://codemirror.net/) and if you're working with markdown files with metadata, both parts will be separated from each other so you can focus on the content. - -![Markdown Editor](https://user-images.githubusercontent.com/5447088/28432383-9756fdac-6d7f-11e7-8e58-fec49470d15f.jpg) - -On the settings page, a regular user can set its own custom CSS to personalize the experience and change its password. For admins, they can manage the permissions of each user, set commands which can be executed when certain events are triggered (such as before saving and after saving) and change plugin's settings. - -![Settings](https://user-images.githubusercontent.com/5447088/28432385-9776ec66-6d7f-11e7-90a5-891bacd4d02f.jpg) - -We also allow the users to search in the directories and execute commands if allowed. - -## Users - -We support multiple users and each user can have its own scope and custom stylesheet. The administrator is able to choose which permissions should be given to the users, as well as the commands they can execute. Each user also have a set of rules, in which he can be prevented or allowed to access some directories (regular expressions included!). - -![Users](https://user-images.githubusercontent.com/5447088/28432386-977f388a-6d7f-11e7-9006-87d16f05f1f8.jpg) - -## Search - -FileManager allows you to search through your files and it has some options. By default, your search will be something like this: - -``` -this are keywords -``` - -If you search for that it will look at every file that contains "this", "are" or "keywords" on their name. If you want to search for an exact term, you should surround your search by double quotes: - -``` -"this is the name" -``` - -That will search for any file that contains "this is the name" on its name. It won't search for each separated term this time. - -By default, every search will be case sensitive. Although, you can make a case insensitive search by adding `case:insensitive` to the search terms, like this: - -``` -this are keywords case:insensitive -``` - -# Contributing - -The contributing guidelines can be found [here](https://github.com/hacdias/filemanager/blob/master/CONTRIBUTING.md). - -# Donate - -Enjoying this project? You can [donate to its creator](https://henriquedias.com/donate/). He will appreciate. +[Apache License 2.0](LICENSE) © File Browser Contributors diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..490a9bea --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,26 @@ +# Security Policy + +## Supported Versions + +Use this section to tell people about which versions of your project are +currently being supported with security updates. + +| Version | Supported | +| ------- | ------------------ | +| 2.x | :white_check_mark: | +| < 2.0 | :x: | + +## Reporting a Vulnerability + +Vulnerabilities with critical impact should be reported on the [Security](https://github.com/filebrowser/filebrowser/security) page of this repository, which is a private way of communicating vulnerabilities to maintainers. This project is in maintenance-only mode and it can take a while until someone gets back to you. + +If it is not a critical vulnerability, please open an issue and we will categorize it as a security issue. By giving visibility, we can get more help from the community at fixing such issues. + +When reporting an issue, where possible, please provide at least: + +* The commit version the issue was identified at +* A proof of concept (plaintext; no binaries) +* Steps to reproduce +* Your recommended remediation(s), if any. + +The File Browser team is a volunteer-only effort, and may reach back out for clarification. diff --git a/Taskfile.yml b/Taskfile.yml new file mode 100644 index 00000000..378e3409 --- /dev/null +++ b/Taskfile.yml @@ -0,0 +1,83 @@ +version: '3' + +vars: + SITE_DOCKER_FLAGS: >- + -v ./www:/docs + -v ./LICENSE:/docs/docs/LICENSE + -v ./SECURITY.md:/docs/docs/security.md + -v ./CHANGELOG.md:/docs/docs/changelog.md + -v ./CODE-OF-CONDUCT.md:/docs/docs/code-of-conduct.md + -v ./CONTRIBUTING.md:/docs/docs/contributing.md + +tasks: + build:frontend: + desc: Build frontend assets + dir: frontend + cmds: + - pnpm install --frozen-lockfile + - pnpm run build + + build:backend: + desc: Build backend binary + cmds: + - go build -ldflags='-s -w -X "github.com/filebrowser/filebrowser/v2/version.Version={{.VERSION}}" -X "github.com/filebrowser/filebrowser/v2/version.CommitSHA={{.GIT_COMMIT}}"' -o filebrowser . + vars: + GIT_COMMIT: + sh: git log -n 1 --format=%h + VERSION: + sh: git describe --tags --abbrev=0 --match=v* | cut -c 2- + + build: + desc: Build both frontend and backend + cmds: + - task: build:frontend + - task: build:backend + + release:make: + internal: true + prompt: Do you wish to proceed? + cmds: + - pnpm dlx commit-and-tag-version -s + + release:dry-run: + internal: true + cmds: + - pnpm dlx commit-and-tag-version --dry-run --skip + + release: + desc: Create a new release + cmds: + - task: docs:cli:generate + - git add www/docs/cli + - | + if [[ `git status www/docs/cli --porcelain` ]]; then + git commit -m 'chore(docs): update CLI documentation' + fi + - task: release:dry-run + - task: release:make + + docs:cli:generate: + cmds: + - rm -rf www/docs/cli + - mkdir -p www/docs/cli + - go run . docs + generates: + - www/docs/cli + + docs:docker:generate: + internal: true + cmds: + - docker build -f www/Dockerfile --progress=plain -t filebrowser.site www + + docs: + desc: Generate documentation + cmds: + - rm -rf www/public + - task: docs:docker:generate + - docker run --rm {{.SITE_DOCKER_FLAGS}} filebrowser.site build -d "public" + + docs:serve: + desc: Serve documentation + cmds: + - task: docs:docker:generate + - docker run --rm -it -p 8000:8000 {{.SITE_DOCKER_FLAGS}} filebrowser.site diff --git a/assets/build/build.js b/assets/build/build.js deleted file mode 100644 index c7c0fbdb..00000000 --- a/assets/build/build.js +++ /dev/null @@ -1,31 +0,0 @@ -require('./check-versions')() - -process.env.NODE_ENV = 'production' - -var ora = require('ora') -var rm = require('rimraf') -var path = require('path') -var chalk = require('chalk') -var webpack = require('webpack') -var config = require('./config') -var webpackConfig = require('./webpack.prod.conf') - -var spinner = ora('building for production...') -spinner.start() - -rm(path.join(config.assetsRoot, config.assetsSubDirectory), err => { - if (err) throw err - webpack(webpackConfig, function (err, stats) { - spinner.stop() - if (err) throw err - process.stdout.write(stats.toString({ - colors: true, - modules: false, - children: false, - chunks: false, - chunkModules: false - }) + '\n\n') - - console.log(chalk.cyan(' Build complete.\n')) - }) -}) diff --git a/assets/build/check-versions.js b/assets/build/check-versions.js deleted file mode 100644 index f9133e24..00000000 --- a/assets/build/check-versions.js +++ /dev/null @@ -1,48 +0,0 @@ -var chalk = require('chalk') -var semver = require('semver') -var packageConfig = require('../../package.json') -var shell = require('shelljs') -function exec (cmd) { - return require('child_process').execSync(cmd).toString().trim() -} - -var versionRequirements = [ - { - name: 'node', - currentVersion: semver.clean(process.version), - versionRequirement: packageConfig.engines.node - } -] - -if (shell.which('npm')) { - versionRequirements.push({ - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm - }) -} - -module.exports = function () { - var warnings = [] - for (var i = 0; i < versionRequirements.length; i++) { - var mod = versionRequirements[i] - if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { - warnings.push(mod.name + ': ' + - chalk.red(mod.currentVersion) + ' should be ' + - chalk.green(mod.versionRequirement) - ) - } - } - - if (warnings.length) { - console.log('') - console.log(chalk.yellow('To use this template, you must update following to modules:')) - console.log() - for (var i = 0; i < warnings.length; i++) { - var warning = warnings[i] - console.log(' ' + warning) - } - console.log() - process.exit(1) - } -} diff --git a/assets/build/config.js b/assets/build/config.js deleted file mode 100644 index 885ac29d..00000000 --- a/assets/build/config.js +++ /dev/null @@ -1,26 +0,0 @@ -// see http://vuejs-templates.github.io/webpack for documentation. -var path = require('path') - -module.exports = { - index: path.resolve(__dirname, '../dist/index.html'), - assetsRoot: path.resolve(__dirname, '../dist'), - assetsSubDirectory: 'static', - assetsPublicPath: '{{ .BaseURL }}/', - build: { - env: { - NODE_ENV: '"production"' - }, - productionSourceMap: true, - // Run the build command with an extra argument to - // View the bundle analyzer report after build finishes: - // `npm run build --report` - // Set to `true` or `false` to always turn it on or off - bundleAnalyzerReport: process.env.npm_config_report - }, - dev: { - env: { - NODE_ENV: '"development"' - }, - produceSourceMap: true - } -} diff --git a/assets/build/dev.js b/assets/build/dev.js deleted file mode 100644 index 9b42a437..00000000 --- a/assets/build/dev.js +++ /dev/null @@ -1,35 +0,0 @@ -require('./check-versions')() - -process.env.NODE_ENV = 'development' - -var rm = require('rimraf') -var path = require('path') -var chalk = require('chalk') -var webpack = require('webpack') -var config = require('./config') -var webpackConfig = require('./webpack.dev.conf') -var fs = require('fs') - -if (fs.existsSync('./rice-box.go')) { - fs.unlinkSync('./rice-box.go') -} - -if (fs.existsSync('./plugins/rice-box.go')) { - fs.unlinkSync('./plugins/rice-box.go') -} - -rm(path.join(config.assetsRoot, config.assetsSubDirectory), err => { - if (err) throw err - webpack(webpackConfig, function (err, stats) { - if (err) throw err - process.stdout.write(stats.toString({ - colors: true, - modules: false, - children: false, - chunks: false, - chunkModules: false - }) + '\n\n') - - console.log(chalk.cyan(' Build complete.\n')) - }) -}) diff --git a/assets/build/service-worker-dev.js b/assets/build/service-worker-dev.js deleted file mode 100644 index 979e1962..00000000 --- a/assets/build/service-worker-dev.js +++ /dev/null @@ -1,17 +0,0 @@ -// This service worker file is effectively a 'no-op' that will reset any -// previous service worker registered for the same host:port combination. -// In the production build, this file is replaced with an actual service worker -// file that will precache your site's local assets. -// See https://github.com/facebookincubator/create-react-app/issues/2272#issuecomment-302832432 - -self.addEventListener('install', () => self.skipWaiting()); - -self.addEventListener('activate', () => { - self.clients.matchAll({ type: 'window' }).then(windowClients => { - for (let windowClient of windowClients) { - // Force open pages to refresh, so that they have a chance to load the - // fresh navigation response from the local dev server. - windowClient.navigate(windowClient.url); - } - }); -}); \ No newline at end of file diff --git a/assets/build/service-worker-prod.js b/assets/build/service-worker-prod.js deleted file mode 100644 index 1179ec20..00000000 --- a/assets/build/service-worker-prod.js +++ /dev/null @@ -1,55 +0,0 @@ -(function() { - 'use strict'; - - // Check to make sure service workers are supported in the current browser, - // and that the current page is accessed from a secure origin. Using a - // service worker from an insecure origin will trigger JS console errors. - const isLocalhost = Boolean(window.location.hostname === 'localhost' || - // [::1] is the IPv6 localhost address. - window.location.hostname === '[::1]' || - // 127.0.0.1/8 is considered localhost for IPv4. - window.location.hostname.match( - /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ - ) - ); - - window.addEventListener('load', function() { - if ('serviceWorker' in navigator && - (window.location.protocol === 'https:' || isLocalhost)) { - navigator.serviceWorker.register('{{ .BaseURL }}/sw.js') - .then(function(registration) { - // updatefound is fired if service-worker.js changes. - registration.onupdatefound = function() { - // updatefound is also fired the very first time the SW is installed, - // and there's no need to prompt for a reload at that point. - // So check here to see if the page is already controlled, - // i.e. whether there's an existing service worker. - if (navigator.serviceWorker.controller) { - // The updatefound event implies that registration.installing is set - const installingWorker = registration.installing; - - installingWorker.onstatechange = function() { - switch (installingWorker.state) { - case 'installed': - // At this point, the old content will have been purged and the - // fresh content will have been added to the cache. - // It's the perfect time to display a "New content is - // available; please refresh." message in the page's interface. - break; - - case 'redundant': - throw new Error('The installing ' + - 'service worker became redundant.'); - - default: - // Ignore - } - }; - } - }; - }).catch(function(e) { - console.error('Error during service worker registration:', e); - }); - } - }); -})(); diff --git a/assets/build/utils.js b/assets/build/utils.js deleted file mode 100644 index 616ceb3a..00000000 --- a/assets/build/utils.js +++ /dev/null @@ -1,70 +0,0 @@ -var path = require('path') -var config = require('./config') -var ExtractTextPlugin = require('extract-text-webpack-plugin') - -exports.assetsPath = function (_path) { - var assetsSubDirectory = config.assetsSubDirectory - - return path.posix.join(assetsSubDirectory, _path) -} - -exports.cssLoaders = function (options) { - options = options || {} - - var cssLoader = { - loader: 'css-loader', - options: { - minimize: process.env.NODE_ENV === 'production', - sourceMap: options.sourceMap - } - } - - // generate loader string to be used with extract text plugin - function generateLoaders (loader, loaderOptions) { - var loaders = [cssLoader] - if (loader) { - loaders.push({ - loader: loader + '-loader', - options: Object.assign({}, loaderOptions, { - sourceMap: options.sourceMap - }) - }) - } - - // Extract CSS when that option is specified - // (which is the case during production build) - if (options.extract) { - return ExtractTextPlugin.extract({ - use: loaders, - fallback: 'vue-style-loader' - }) - } else { - return ['vue-style-loader'].concat(loaders) - } - } - - // https://vue-loader.vuejs.org/en/configurations/extract-css.html - return { - css: generateLoaders(), - postcss: generateLoaders(), - less: generateLoaders('less'), - sass: generateLoaders('sass', { indentedSyntax: true }), - scss: generateLoaders('sass'), - stylus: generateLoaders('stylus'), - styl: generateLoaders('stylus') - } -} - -// Generate loaders for standalone style files (outside of .vue) -exports.styleLoaders = function (options) { - var output = [] - var loaders = exports.cssLoaders(options) - for (var extension in loaders) { - var loader = loaders[extension] - output.push({ - test: new RegExp('\\.' + extension + '$'), - use: loader - }) - } - return output -} diff --git a/assets/build/vue-loader.conf.js b/assets/build/vue-loader.conf.js deleted file mode 100644 index a17529fc..00000000 --- a/assets/build/vue-loader.conf.js +++ /dev/null @@ -1,12 +0,0 @@ -var utils = require('./utils') -var config = require('./config') -var isProduction = process.env.NODE_ENV === 'production' - -module.exports = { - loaders: utils.cssLoaders({ - sourceMap: isProduction - ? config.build.productionSourceMap - : config.dev.produceSourceMap, - extract: isProduction - }) -} diff --git a/assets/build/webpack.base.conf.js b/assets/build/webpack.base.conf.js deleted file mode 100644 index 5016698b..00000000 --- a/assets/build/webpack.base.conf.js +++ /dev/null @@ -1,65 +0,0 @@ -var path = require('path') -var utils = require('./utils') -var config = require('./config') -var vueLoaderConfig = require('./vue-loader.conf') - -function resolve (dir) { - return path.join(__dirname, '..', dir) -} - -module.exports = { - entry: { - app: './assets/src/main.js' - }, - output: { - path: config.assetsRoot, - filename: '[name].js', - publicPath: config.assetsPublicPath - }, - resolve: { - extensions: ['.js', '.vue', '.json'], - alias: { - 'vue$': 'vue/dist/vue.esm.js', - '@': resolve('src') - } - }, - module: { - rules: [ - { - test: /\.(js|vue)$/, - loader: 'eslint-loader', - enforce: 'pre', - include: [resolve('src'), resolve('test')], - options: { - formatter: require('eslint-friendly-formatter') - } - }, - { - test: /\.vue$/, - loader: 'vue-loader', - options: vueLoaderConfig - }, - { - test: /\.js$/, - loader: 'babel-loader', - include: [resolve('src'), resolve('test')] - }, - { - test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('img/[name].[hash:7].[ext]') - } - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - options: { - // limit: 10000, - name: utils.assetsPath('fonts/[name].[hash:7].[ext]') - } - } - ] - } -} diff --git a/assets/build/webpack.dev.conf.js b/assets/build/webpack.dev.conf.js deleted file mode 100644 index dd75ac4e..00000000 --- a/assets/build/webpack.dev.conf.js +++ /dev/null @@ -1,81 +0,0 @@ -var fs = require('fs') -var path = require('path') -var utils = require('./utils') -var webpack = require('webpack') -var config = require('./config') -var merge = require('webpack-merge') -var baseWebpackConfig = require('./webpack.base.conf') -var HtmlWebpackPlugin = require('html-webpack-plugin') -var ExtractTextPlugin = require('extract-text-webpack-plugin') -var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') -var CopyWebpackPlugin = require('copy-webpack-plugin') - -module.exports = merge(baseWebpackConfig, { - watch: true, - module: { - rules: utils.styleLoaders({ - sourceMap: config.dev.produceSourceMap, - extract: true - }) - }, - devtool: '#cheap-module-eval-source-map', - output: { - path: config.assetsRoot, - filename: utils.assetsPath('js/[name].[chunkhash].js'), - chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') - }, - plugins: [ - new webpack.NoEmitOnErrorsPlugin(), - new FriendlyErrorsPlugin(), - new webpack.DefinePlugin({ - 'process.env': config.dev.env - }), - // extract css into its own file - new ExtractTextPlugin({ - filename: utils.assetsPath('css/[name].[contenthash].css') - }), - // generate dist index.html with correct asset hash for caching. - // you can customize output by editing /index.html - // see https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: config.index, - template: 'assets/index.html', - inject: true, - // necessary to consistently work with multiple chunks via CommonsChunkPlugin - chunksSortMode: 'dependency', - serviceWorkerLoader: `` - }), - // split vendor js into its own file - new webpack.optimize.CommonsChunkPlugin({ - name: 'vendor', - minChunks: function (module, count) { - // any required modules inside node_modules are extracted to vendor - return ( - module.resource && - /\.js$/.test(module.resource) && - module.resource.indexOf( - path.join(__dirname, '../../node_modules') - ) === 0 - ) - } - }), - // extract webpack runtime and module manifest to its own file in order to - // prevent vendor hash from being updated whenever app bundle is updated - new webpack.optimize.CommonsChunkPlugin({ - name: 'manifest', - chunks: ['vendor'] - }), - new CopyWebpackPlugin([ - { - from: path.resolve(__dirname, '../static'), - to: config.assetsSubDirectory, - ignore: ['.*'] - }, - { - from: path.resolve(__dirname, '../../node_modules/codemirror/mode/*/*'), - to: path.join(config.assetsSubDirectory, 'js/codemirror/mode/[name]/[name].js') - } - ]) - ] -}) diff --git a/assets/build/webpack.prod.conf.js b/assets/build/webpack.prod.conf.js deleted file mode 100644 index 7912ad3f..00000000 --- a/assets/build/webpack.prod.conf.js +++ /dev/null @@ -1,127 +0,0 @@ -var fs = require('fs') -var path = require('path') -var utils = require('./utils') -var webpack = require('webpack') -var config = require('./config') -var merge = require('webpack-merge') -var baseWebpackConfig = require('./webpack.base.conf') -var CopyWebpackPlugin = require('copy-webpack-plugin') -var HtmlWebpackPlugin = require('html-webpack-plugin') -var ExtractTextPlugin = require('extract-text-webpack-plugin') -var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') -var SWPrecacheWebpackPlugin = require('sw-precache-webpack-plugin') -var UglifyJS = require('uglify-js') - -var env = config.build.env - -var webpackConfig = merge(baseWebpackConfig, { - module: { - rules: utils.styleLoaders({ - sourceMap: config.build.productionSourceMap, - extract: true - }) - }, - devtool: config.build.productionSourceMap ? '#source-map' : false, - output: { - path: config.assetsRoot, - filename: utils.assetsPath('js/[name].[chunkhash].js'), - chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') - }, - plugins: [ - new CopyWebpackPlugin([ - { - from: path.resolve(__dirname, '../static'), - to: config.assetsSubDirectory, - ignore: ['.*'] - }, - { - from: path.resolve(__dirname, '../../node_modules/codemirror/mode/*/*'), - to: path.join(config.assetsSubDirectory, 'js/codemirror/mode/[name]/[name].js'), - transform: function (source, path) { - let result = UglifyJS.minify(source.toString('utf8')) - if (result.error !== undefined) { - return source - } - return result.code - } - } - ]), - // http://vuejs.github.io/vue-loader/en/workflow/production.html - new webpack.DefinePlugin({ - 'process.env': env - }), - new webpack.optimize.UglifyJsPlugin({ - compress: { - warnings: false - }, - sourceMap: true - }), - // extract css into its own file - new ExtractTextPlugin({ - filename: utils.assetsPath('css/[name].[contenthash].css') - }), - // Compress extracted CSS. We are using this plugin so that possible - // duplicated CSS from different components can be deduped. - new OptimizeCSSPlugin({ - cssProcessorOptions: { - safe: true - } - }), - // generate dist index.html with correct asset hash for caching. - // you can customize output by editing /index.html - // see https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: config.index, - template: 'assets/index.html', - inject: true, - minify: { - removeComments: true, - collapseWhitespace: true, - removeAttributeQuotes: true, - minifyCSS: true - // more options: - // https://github.com/kangax/html-minifier#options-quick-reference - }, - // necessary to consistently work with multiple chunks via CommonsChunkPlugin - chunksSortMode: 'dependency', - serviceWorkerLoader: `` - }), - // split vendor js into its own file - new webpack.optimize.CommonsChunkPlugin({ - name: 'vendor', - minChunks: function (module, count) { - // any required modules inside node_modules are extracted to vendor - return ( - module.resource && - /\.js$/.test(module.resource) && - module.resource.indexOf( - path.join(__dirname, '../../node_modules') - ) === 0 - ) - } - }), - // extract webpack runtime and module manifest to its own file in order to - // prevent vendor hash from being updated whenever app bundle is updated - new webpack.optimize.CommonsChunkPlugin({ - name: 'manifest', - chunks: ['vendor'] - }), - // service worker caching - new SWPrecacheWebpackPlugin({ - cacheId: 'File Manager', - filename: 'sw.js', - replacePrefix: '{{ .BaseURL }}/', - staticFileGlobs: ['dist/**/*.{js,html,css}'], - minify: true, - stripPrefix: 'dist/' - }) - ] -}) - -if (config.build.bundleAnalyzerReport) { - var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin - webpackConfig.plugins.push(new BundleAnalyzerPlugin()) -} - -module.exports = webpackConfig diff --git a/assets/index.html b/assets/index.html deleted file mode 100644 index 31f4cab4..00000000 --- a/assets/index.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - File Manager - - - - - - - - - - - - - - - - - <% for (var chunk of webpack.chunks) { - for (var file of chunk.files) { - if (file.match(/\.(js|css)$/)) { %> - <% }}} %> - - - - - - -
- -
-
-
-
-
-
-
- - <%= htmlWebpackPlugin.options.serviceWorkerLoader %> - - diff --git a/assets/src/App.vue b/assets/src/App.vue deleted file mode 100644 index 8baf0567..00000000 --- a/assets/src/App.vue +++ /dev/null @@ -1,22 +0,0 @@ - - - - - diff --git a/assets/src/assets/fonts/material/icons.woff2 b/assets/src/assets/fonts/material/icons.woff2 deleted file mode 100644 index 05a8ab5d..00000000 Binary files a/assets/src/assets/fonts/material/icons.woff2 and /dev/null differ diff --git a/assets/src/assets/logo.svg b/assets/src/assets/logo.svg deleted file mode 100644 index 62e6798a..00000000 --- a/assets/src/assets/logo.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/assets/src/components/Editor.vue b/assets/src/components/Editor.vue deleted file mode 100644 index af789b1d..00000000 --- a/assets/src/components/Editor.vue +++ /dev/null @@ -1,129 +0,0 @@ - - - - - diff --git a/assets/src/components/Files.vue b/assets/src/components/Files.vue deleted file mode 100644 index 65309c65..00000000 --- a/assets/src/components/Files.vue +++ /dev/null @@ -1,233 +0,0 @@ - - - diff --git a/assets/src/components/GlobalSettings.vue b/assets/src/components/GlobalSettings.vue deleted file mode 100644 index 0c852b94..00000000 --- a/assets/src/components/GlobalSettings.vue +++ /dev/null @@ -1,177 +0,0 @@ - - - diff --git a/assets/src/components/Header.vue b/assets/src/components/Header.vue deleted file mode 100644 index 9f9b2a77..00000000 --- a/assets/src/components/Header.vue +++ /dev/null @@ -1,229 +0,0 @@ - - - diff --git a/assets/src/components/Listing.vue b/assets/src/components/Listing.vue deleted file mode 100644 index 3abddcf6..00000000 --- a/assets/src/components/Listing.vue +++ /dev/null @@ -1,311 +0,0 @@ - - - diff --git a/assets/src/components/ListingItem.vue b/assets/src/components/ListingItem.vue deleted file mode 100644 index 20f13db2..00000000 --- a/assets/src/components/ListingItem.vue +++ /dev/null @@ -1,139 +0,0 @@ - - - diff --git a/assets/src/components/Login.vue b/assets/src/components/Login.vue deleted file mode 100644 index 62a642f8..00000000 --- a/assets/src/components/Login.vue +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - diff --git a/assets/src/components/Main.vue b/assets/src/components/Main.vue deleted file mode 100644 index b09a5598..00000000 --- a/assets/src/components/Main.vue +++ /dev/null @@ -1,53 +0,0 @@ - - - diff --git a/assets/src/components/Preview.vue b/assets/src/components/Preview.vue deleted file mode 100644 index 142cf2ba..00000000 --- a/assets/src/components/Preview.vue +++ /dev/null @@ -1,135 +0,0 @@ - - - diff --git a/assets/src/components/ProfileSettings.vue b/assets/src/components/ProfileSettings.vue deleted file mode 100644 index ccb70947..00000000 --- a/assets/src/components/ProfileSettings.vue +++ /dev/null @@ -1,82 +0,0 @@ - - - diff --git a/assets/src/components/Search.vue b/assets/src/components/Search.vue deleted file mode 100644 index 369d2b59..00000000 --- a/assets/src/components/Search.vue +++ /dev/null @@ -1,201 +0,0 @@ - - - diff --git a/assets/src/components/Sidebar.vue b/assets/src/components/Sidebar.vue deleted file mode 100644 index cd462a94..00000000 --- a/assets/src/components/Sidebar.vue +++ /dev/null @@ -1,78 +0,0 @@ - - - diff --git a/assets/src/components/User.vue b/assets/src/components/User.vue deleted file mode 100644 index a2f0546d..00000000 --- a/assets/src/components/User.vue +++ /dev/null @@ -1,275 +0,0 @@ - - - - - diff --git a/assets/src/components/Users.vue b/assets/src/components/Users.vue deleted file mode 100644 index 71ce0c53..00000000 --- a/assets/src/components/Users.vue +++ /dev/null @@ -1,42 +0,0 @@ - - - diff --git a/assets/src/components/buttons/Copy.vue b/assets/src/components/buttons/Copy.vue deleted file mode 100644 index 9ee554a4..00000000 --- a/assets/src/components/buttons/Copy.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/assets/src/components/buttons/Delete.vue b/assets/src/components/buttons/Delete.vue deleted file mode 100644 index 69c43c6e..00000000 --- a/assets/src/components/buttons/Delete.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/assets/src/components/buttons/Download.vue b/assets/src/components/buttons/Download.vue deleted file mode 100644 index d2bf4a0c..00000000 --- a/assets/src/components/buttons/Download.vue +++ /dev/null @@ -1,39 +0,0 @@ - - - diff --git a/assets/src/components/buttons/Info.vue b/assets/src/components/buttons/Info.vue deleted file mode 100644 index 6e2ef91f..00000000 --- a/assets/src/components/buttons/Info.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/assets/src/components/buttons/Move.vue b/assets/src/components/buttons/Move.vue deleted file mode 100644 index a7b5834d..00000000 --- a/assets/src/components/buttons/Move.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/assets/src/components/buttons/Rename.vue b/assets/src/components/buttons/Rename.vue deleted file mode 100644 index 9b2922b0..00000000 --- a/assets/src/components/buttons/Rename.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/assets/src/components/buttons/SwitchView.vue b/assets/src/components/buttons/SwitchView.vue deleted file mode 100644 index d4e3fba2..00000000 --- a/assets/src/components/buttons/SwitchView.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - diff --git a/assets/src/components/buttons/Upload.vue b/assets/src/components/buttons/Upload.vue deleted file mode 100644 index a2922ea9..00000000 --- a/assets/src/components/buttons/Upload.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/assets/src/components/errors/403.vue b/assets/src/components/errors/403.vue deleted file mode 100644 index 5c19daf5..00000000 --- a/assets/src/components/errors/403.vue +++ /dev/null @@ -1,13 +0,0 @@ - - - - diff --git a/assets/src/components/errors/404.vue b/assets/src/components/errors/404.vue deleted file mode 100644 index d73682e3..00000000 --- a/assets/src/components/errors/404.vue +++ /dev/null @@ -1,13 +0,0 @@ - - - - diff --git a/assets/src/components/errors/500.vue b/assets/src/components/errors/500.vue deleted file mode 100644 index 681f78a9..00000000 --- a/assets/src/components/errors/500.vue +++ /dev/null @@ -1,13 +0,0 @@ - - - - diff --git a/assets/src/components/prompts/Copy.vue b/assets/src/components/prompts/Copy.vue deleted file mode 100644 index 184182f6..00000000 --- a/assets/src/components/prompts/Copy.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - diff --git a/assets/src/components/prompts/Delete.vue b/assets/src/components/prompts/Delete.vue deleted file mode 100644 index e0cba26e..00000000 --- a/assets/src/components/prompts/Delete.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - diff --git a/assets/src/components/prompts/Download.vue b/assets/src/components/prompts/Download.vue deleted file mode 100644 index 18b401ba..00000000 --- a/assets/src/components/prompts/Download.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - diff --git a/assets/src/components/prompts/Error.vue b/assets/src/components/prompts/Error.vue deleted file mode 100644 index 2312eae8..00000000 --- a/assets/src/components/prompts/Error.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - diff --git a/assets/src/components/prompts/FileList.vue b/assets/src/components/prompts/FileList.vue deleted file mode 100644 index 52864096..00000000 --- a/assets/src/components/prompts/FileList.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - diff --git a/assets/src/components/prompts/Help.vue b/assets/src/components/prompts/Help.vue deleted file mode 100644 index 454e76bf..00000000 --- a/assets/src/components/prompts/Help.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - - diff --git a/assets/src/components/prompts/Info.vue b/assets/src/components/prompts/Info.vue deleted file mode 100644 index 8f625e43..00000000 --- a/assets/src/components/prompts/Info.vue +++ /dev/null @@ -1,114 +0,0 @@ - - - diff --git a/assets/src/components/prompts/Move.vue b/assets/src/components/prompts/Move.vue deleted file mode 100644 index ebfb7ad2..00000000 --- a/assets/src/components/prompts/Move.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - diff --git a/assets/src/components/prompts/NewDir.vue b/assets/src/components/prompts/NewDir.vue deleted file mode 100644 index bee602fd..00000000 --- a/assets/src/components/prompts/NewDir.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - - diff --git a/assets/src/components/prompts/NewFile.vue b/assets/src/components/prompts/NewFile.vue deleted file mode 100644 index c40e2844..00000000 --- a/assets/src/components/prompts/NewFile.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - - diff --git a/assets/src/components/prompts/Prompts.vue b/assets/src/components/prompts/Prompts.vue deleted file mode 100644 index a78e3c78..00000000 --- a/assets/src/components/prompts/Prompts.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - diff --git a/assets/src/components/prompts/Rename.vue b/assets/src/components/prompts/Rename.vue deleted file mode 100644 index 2e0bbd92..00000000 --- a/assets/src/components/prompts/Rename.vue +++ /dev/null @@ -1,71 +0,0 @@ - - - diff --git a/assets/src/components/prompts/Success.vue b/assets/src/components/prompts/Success.vue deleted file mode 100644 index 263a846c..00000000 --- a/assets/src/components/prompts/Success.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - diff --git a/assets/src/css/base.css b/assets/src/css/base.css deleted file mode 100644 index 0bc872b4..00000000 --- a/assets/src/css/base.css +++ /dev/null @@ -1,147 +0,0 @@ -body { - font-family: 'Roboto', sans-serif; - padding-top: 4em; - background-color: #f8f8f8; - user-select: none; - color: #212121; -} - -* { - box-sizing: border-box; -} - -*, -*:hover, -*:active, -*:focus { - outline: 0 -} - -a { - text-decoration: none; -} - -img { - max-width: 100%; -} - -audio, -video { - width: 100%; -} - -pre { - padding: 1em; - border: 1px solid #e6e6e6; - border-radius: 0.5em; - background-color: #f5f5f5; - white-space: pre-wrap; - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - word-wrap: break-word; -} - -input, -button { - outline: 0 !important; -} - -input[type="submit"], -button { - border: 0; - padding: .5em 1em; - margin-left: .5em; - border-radius: .1em; - cursor: pointer; - background: #2196f3; - color: #fff; - border: 1px solid rgba(0, 0, 0, 0.05); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.05); - transition: .1s ease all; -} - -input[type="submit"]:hover, -button:hover { - background-color: #1E88E5; -} - -.mobile-only { - display: none !important; -} - -.container { - width: 95%; - max-width: 960px; - margin: 1em auto 0; -} - -i.spin { - animation: 1s spin linear infinite; -} - -#app { - transition: .2s ease padding; -} - -#app.multiple { - padding-bottom: 4em; -} - -nav { - width: 16em; - position: fixed; - top: 4em; - left: 0; -} - -nav .action { - width: 100%; - display: block; - border-radius: 0; - font-size: 1.1em; - padding: .5em; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -nav>div { - border-top: 1px solid rgba(0, 0, 0, 0.05); -} - -nav .action>* { - vertical-align: middle; -} - -main { - min-height: 1em; - margin: 0 1em 1em auto; - width: calc(100% - 19em); -} - -#breadcrumbs { - height: 3em; - border-bottom: 1px solid rgba(0, 0, 0, 0.05); -} - -#breadcrumbs span, -#breadcrumbs { - display: flex; - align-items: center; - color: #6f6f6f; -} - -#breadcrumbs a { - color: inherit; - transition: .1s ease-in; - border-radius: .125em; -} - -#breadcrumbs a:hover { - background-color: rgba(0,0,0, 0.05); -} - -#breadcrumbs span a { - padding: .2em; -} diff --git a/assets/src/css/dashboard.css b/assets/src/css/dashboard.css deleted file mode 100644 index c873c6bc..00000000 --- a/assets/src/css/dashboard.css +++ /dev/null @@ -1,120 +0,0 @@ -.dashboard { - max-width: 600px; - box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 3px, rgba(0, 0, 0, 0.12) 0px 1px 2px; - border-radius: .5em; - background: #fff; - padding: 1em; - margin: 1em 0; -} - -.dashboard a { - color: inherit -} - -.dashboard h1 button { - font-size: 0.5em; - float: right; -} - -.dashboard table { - width: 100%; -} - -.dashboard table th { - font-weight: 500; - color: #757575; - text-align: left; -} - -.dashboard table th, -.dashboard table td { - padding: .5em 0; -} - -.dashboard table td:last-child { - width: 1em -} - -.dashboard > *:first-child { - margin-top: 0; -} - -.dashboard form > p:last-child, -form.dashboard > p:last-child { - text-align: right -} - -.dashboard > *:last-child { - margin-bottom: 0; -} - -.dashboard textarea, -.dashboard input[type="text"], -.dashboard input[type="password"] { - padding: 0; - line-height: 1.7; - display: block; - border: 0; - border-bottom: 1px solid #dddddd; - transition: .2s ease border; - width: 100%; -} - -.dashboard #username, -.dashboard #password, -.dashboard #scope { - max-width: 18em; -} - -.dashboard textarea:focus, -.dashboard textarea:hover, -.dashboard input[type="text"]:focus, -.dashboard input[type="password"]:focus, -.dashboard input[type="text"]:hover, -.dashboard input[type="password"]:hover { - border-color: #2979ff; -} - -.dashboard input.red { - border-color: red; -} - -.dashboard input.green { - border-color: green; -} - -.dashboard button.delete { - background: #F44336; -} - -.dashboard button.delete:hover { - background: #D32F2F; -} - -.dashboard textarea { - line-height: 1.15; - padding: .5em; - border: 1px solid #ddd; - font-family: monospace; - min-height: 10em; - resize: vertical; -} - -.dashboard p label { - margin-bottom: .2em; - display: block; - font-size: .8em; - font-weight: bold; -} - -li code, -p code { - background: rgba(0, 0, 0, 0.05); - padding: .1em; - border-radius: .2em; -} - -.small { - font-size: .8em; - line-height: 1.5; -} diff --git a/assets/src/css/editor.css b/assets/src/css/editor.css deleted file mode 100644 index 971bf423..00000000 --- a/assets/src/css/editor.css +++ /dev/null @@ -1,184 +0,0 @@ -@import "~codemirror/lib/codemirror.css"; -@import "~codemirror/theme/ttcn.css"; -#editor { - max-width: 800px; - margin: 0 auto; -} - -#editor .CodeMirror { - box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 3px, rgba(0, 0, 0, 0.12) 0px 1px 2px; - margin: 2em 0; - border-radius: .5em; -} - -#editor h2 { - color: rgba(0, 0, 0, 0.3); - font-weight: 500; -} - -.CodeMirror { - height: auto; -} - -.markdown .CodeMirror { - padding: .75em; -} - -.cm-s-markdown .CodeMirror-gutter { - border-right: 1px solid #eff3f5; - padding-right: 5px; - margin-right: 15px; - min-width: 2.5em; - padding-bottom: 30px; -} - -.cm-s-markdown .CodeMirror-cursor { - border-right: 2px solid #667880; -} - -.cm-s-markdown .CodeMirror-lines { - margin: 0; -} - -.cm-s-markdown { - color: #3D494E; -} - -.cm-s-markdown span.cm-header { - color: #3D494E; - font-weight: bold; -} - -.cm-s-markdown span.cm-variable-2 { - color: #3D494E; -} - -.cm-s-markdown span.cm-meta { - color: #516066; -} - -.cm-s-markdown span.cm-hr { - color: #516066; -} - -.cm-s-markdown span.cm-comment { - color: #868f93; -} - -.cm-s-markdown span.cm-qualifier { - color: #868f93; -} - -.cm-s-markdown span.cm-number { - color: #197987; -} - -.cm-s-markdown span.cm-variable { - color: #197987; -} - -.cm-s-markdown span.cm-builtin { - color: #197987; -} - -.cm-s-markdown span.cm-link { - color: #197987; - text-decoration: underline; -} - -.cm-s-markdown span.cm-tag { - color: #197987; -} - -.cm-s-markdown span.cm-string { - color: #48abb9; -} - -.cm-s-markdown span.cm-string-2 { - color: #48abb9; -} - -.cm-s-markdown span.cm-quote { - color: #48abb9; -} - -.cm-s-markdown span.cm-atom { - color: #48abb9; -} - -.cm-s-markdown span.cm-property { - color: #82a367; -} - -.cm-s-markdown span.cm-operator { - color: #82a367; -} - -.cm-s-markdown span.cm-variable-3 { - color: #82a367; -} - -.cm-s-markdown span.cm-attribute { - color: #90bb74; -} - -.cm-s-markdown span.cm-def { - color: #90bb74; -} - -.cm-s-markdown span.cm-keyword { - color: #ec6c45; -} - -.cm-s-markdown span.cm-bracket { - color: #ec6c45; -} - -.cm-s-markdown span.cm-error { - color: #e45346; -} - -.cm-s-markdown span.cm-em { - font-style: italic; -} - -.cm-s-markdown span.cm-strong { - font-weight: bold; -} - -.cm-s-markdown .cm-header-1 { - font-size: 200%; - line-height: 200%; -} - -.cm-s-markdown .cm-header-2 { - font-size: 160%; - line-height: 160%; -} - -.cm-s-markdown .cm-header-3 { - font-size: 125%; - line-height: 125%; -} - -.cm-s-markdown .cm-header-4 { - font-size: 110%; - line-height: 110%; -} - -.cm-s-markdown .cm-comment { - background: rgba(0, 0, 0, .05); - border-radius: 2px; -} - -.cm-s-markdown .cm-link { - color: #7f8c8d; -} - -.cm-s-markdown .cm-url { - color: #aab2b3; -} - -.cm-s-markdown .cm-strikethrough { - text-decoration: line-through; -} diff --git a/assets/src/css/fonts.css b/assets/src/css/fonts.css deleted file mode 100644 index f355f0e8..00000000 --- a/assets/src/css/fonts.css +++ /dev/null @@ -1,137 +0,0 @@ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(../assets/fonts/roboto/normal-cyrillic-ext.woff2) format('woff2'); - unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(../assets/fonts/roboto/normal-cyrillic.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(../assets/fonts/roboto/normal-greek-ext.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(../assets/fonts/roboto/normal-greek.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(../assets/fonts/roboto/normal-vietnamese.woff2) format('woff2'); - unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(../assets/fonts/roboto/normal-latin-ext.woff2) format('woff2'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(../assets/fonts/roboto/normal-latin.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(../assets/fonts/roboto/medium-cyrillic-ext.woff2) format('woff2'); - unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(../assets/fonts/roboto/medium-cyrillic.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(../assets/fonts/roboto/medium-greek-ext.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(../assets/fonts/roboto/medium-greek.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(../assets/fonts/roboto/medium-vietnamese.woff2) format('woff2'); - unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(../assets/fonts/roboto/medium-latin-ext.woff2) format('woff2'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(../assets/fonts/roboto/medium-latin.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} - -@font-face { - font-family: 'Material Icons'; - font-style: normal; - font-weight: 400; - src: local('Material Icons'), local('MaterialIcons-Regular'), url(../assets/fonts/material/icons.woff2) format('woff2'); -} - -.prompt .file-list ul li:before, -.material-icons { - font-family: 'Material Icons'; - font-weight: normal; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline-block; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - -moz-osx-font-smoothing: grayscale; - font-feature-settings: 'liga'; -} diff --git a/assets/src/css/header.css b/assets/src/css/header.css deleted file mode 100644 index 0fa0e7be..00000000 --- a/assets/src/css/header.css +++ /dev/null @@ -1,201 +0,0 @@ -header { - z-index: 1000; - background-color: #fff; - border-bottom: 1px solid rgba(0, 0, 0, 0.075); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - position: fixed; - top: 0; - left: 0; - width: 100%; - padding: 0; - display: flex; -} - -header .overlay { - width: 0; - height: 0; -} - -header a, -header a:hover { - color: inherit; -} - -header>div:first-child>.action, -header img { - margin-right: 1em; -} - -header img { - height: 2.5em; -} - -header>div:first-child>.action { - display: none; -} - -header>div { - display: flex; - width: 100%; - padding: 0.5em 0.5em 0.5em 1em; - align-items: center; -} - -header .action span { - display: none; -} - -header>div div { - vertical-align: middle; - position: relative; -} - -header > div:last-child div { - display: flex; -} - -header>div:first-child { - height: 4em; -} - -header>div:last-child { - justify-content: flex-end; -} - -header .search-button { - display: none; -} - -#more { - display: none; -} - -#search { - position: relative; - height: 100%; - width: 100%; - max-width: 25em; -} - -#search.active { - position: fixed; - top: 0; - right: 0; - width: 100%; - max-width: 100%; - height: 100%; - z-index: 9999; -} - -#search #input { - background-color: #f5f5f5; - display: flex; - padding: 0.75em; - border-radius: 0.3em; - transition: .1s ease all; - align-items: center; - z-index: 2; -} - -#search.active #input { - border-bottom: 1px solid rgba(0, 0, 0, 0.075); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - background-color: #fff; - height: 4em; -} - -#search.active>div { - border-radius: 0 !important; -} - -#search.active i, -#search.active input { - color: #212121; -} - -#search #input>.action, -#search #input>i { - margin-right: 0.3em; - user-select: none; -} - -#search input { - width: 100%; - border: 0; - outline: 0; - background-color: transparent; -} - -#search #result { - visibility: visible; - max-height: none; - background-color: #fff; - text-align: left; - color: #ccc; - padding: 0; - height: 0; - transition: .1s ease height, .1s ease padding; - overflow-x: hidden; - overflow-y: auto; - z-index: 1; -} - -#search.active #result { - padding: .5em; - height: calc(100% - 4em); -} - -#search ul { - padding: 0; - margin: 0; - list-style: none; -} - -#search li { - margin-bottom: .5em; -} - -#search #result div { - white-space: pre-wrap; - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - word-wrap: break-word; -} - -#search #result p { - width: 100%; - text-align: center; - display: none; - margin: 0; - max-width: none; -} - -#search.ongoing #result p { - display: block; -} - -#search.active #result i { - color: #ccc; - text-align: center; - margin: 0 auto; - display: table; -} - -#search::-webkit-input-placeholder { - color: rgba(255, 255, 255, .5); -} - -#search:-moz-placeholder { - opacity: 1; - color: rgba(255, 255, 255, .5); -} - -#search::-moz-placeholder { - opacity: 1; - color: rgba(255, 255, 255, .5); -} - -#search:-ms-input-placeholder { - color: rgba(255, 255, 255, .5); -} diff --git a/assets/src/css/mobile.css b/assets/src/css/mobile.css deleted file mode 100644 index 5fd57a8d..00000000 --- a/assets/src/css/mobile.css +++ /dev/null @@ -1,113 +0,0 @@ -@media (max-width: 1024px) { - nav { - width: 10em - } -} - -@media (max-width: 1024px) { - #listing.list .item.header, - main { - width: calc(100% - 13em) - } -} - -@media (max-width: 736px) { - #more { - display: inherit - } - header .overlay { - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.1); - } - #dropdown { - position: fixed; - top: 1em; - right: 1em; - display: block; - background-color: #fff; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - transform: scale(0); - transition: .1s ease-in-out transform; - transform-origin: top right; - z-index: 99999; - } - #dropdown > div { - display: block; - } - #dropdown.active { - transform: scale(1); - } - #dropdown .action { - display: flex; - align-items: center; - border-radius: 0; - width: 100%; - } - #dropdown .action span:not(.counter) { - display: inline-block; - padding: .4em; - } - #dropdown .counter { - left: 2.25em; - } - #file-selection { - position: fixed; - bottom: 1em; - left: 50%; - transform: translateX(-50%); - display: flex; - align-items: center; - background: #fff; - box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 3px, rgba(0, 0, 0, 0.12) 0px 1px 2px; - width: 95%; - max-width: 18em; - } - #file-selection .action { - border-radius: 50%; - width: auto; - } - #file-selection > span { - display: inline-block; - margin-left: 1em; - color: #6f6f6f; - margin-right: auto; - } - nav { - top: 0; - z-index: 99999; - background: #fff; - height: 100%; - width: 16em; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - transition: .1s ease left; - left: -17em; - } - nav.active { - left: 0; - } - header .search-button, - header>div:first-child>.action { - display: inherit; - } - header img { - display: none; - } - #listing { - margin-bottom: 5em; - } - #listing.list .item.header, - main { - width: calc(100% - 2em); - } - main { - margin: 0 1em; - width: calc(100% - 2em); - } - #search { - display: none; - } - #search.active { - display: block; - } -} diff --git a/assets/src/css/prompts.css b/assets/src/css/prompts.css deleted file mode 100644 index 01c3802d..00000000 --- a/assets/src/css/prompts.css +++ /dev/null @@ -1,179 +0,0 @@ -.prompt { - position: fixed; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - background: #fff; - border: 1px solid rgba(0, 0, 0, 0.075); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); - padding: 2em; - max-width: 25em; - width: 90%; - max-height: 95%; - z-index: 99999; - animation: .1s show forwards; -} - -.overlay { - background-color: rgba(0, 0, 0, 0.5); - position: fixed; - top: 0; - left: 0; - height: 100%; - width: 100%; - z-index: 9999; - animation: .1s show forwards; -} - -.prompt h3 { - margin: 0; - font-weight: 500; - font-size: 1.5em; -} - -.prompt p { - font-size: .9em; - color: rgba(0, 0, 0, 0.8); - margin: .5em 0 1em; -} - -.prompt input:not([type="submit"]) { - width: 100%; - border: 1px solid #dadada; - line-height: 1; - padding: .3em; - margin: .3em 0; -} - -.prompt code { - word-wrap: break-word; -} - -.prompt div:last-of-type { - margin-top: 1em; - display: flex; - justify-content: flex-start; - flex-direction: row-reverse; -} - -.prompt .cancel { - background-color: #ECEFF1; - color: #37474F; -} - -.prompt .cancel:hover { - background-color: #e9eaeb; -} - -.prompt.success i, -.prompt.error i { - color: #F44336; - display: block; - margin: 0 auto .15em; - text-align: center; - font-size: 5em; -} - -.prompt.success h3, -.prompt.error h3 { - text-align: center; -} - -.prompt.error button:not(.cancel) { - background-color: #F44336 -} - -.prompt.success i { - color: #8BC34A; -} - -.prompt.success button { - background-color: #8BC34A; -} - - -/* * * * * * * * * * * * * * * * - * PROMPT - MOVE * - * * * * * * * * * * * * * * * */ - -.file-list { - max-height: 50vh; - overflow: auto; - list-style: none; - margin: 0; - padding: 0; - width: 100%; -} - -.file-list li { - width: 100%; - user-select: none; - border-radius: .2em; - padding: .3em; -} - -.file-list li[aria-selected=true] { - background: #2196f3 !important; - color: #fff !important; - transition: .1s ease all; -} - -.file-list li:hover { - background-color: #e9eaeb; - cursor: pointer; -} - -.file-list li:before { - content: "folder"; - color: #6f6f6f; - vertical-align: middle; - line-height: 1.4; - font-family: 'Material Icons'; - font-size: 1.75em; - margin-right: .25em; -} - -.file-list li[aria-selected=true]:before { - color: white; -} - -.prompt#download { - max-width: 15em; -} - -.prompt#download button { - width: 100%; - display: block; - margin: 0 0 1em; - background-color: #ECEFF1; - color: #37474F; -} - -.prompt#download button:last-of-type { - margin-bottom: 0; -} - -.help { - max-width: 24em; -} - -.help ul { - padding: 0; - margin: 1em 0; - list-style: none; -} - -@keyframes show { - 0% { - display: none; - opacity: 0; - } - 1% { - display: block; - opacity: 0; - } - 100% { - display: block; - opacity: 1; - } -} diff --git a/assets/src/css/styles.css b/assets/src/css/styles.css deleted file mode 100644 index fbd1c131..00000000 --- a/assets/src/css/styles.css +++ /dev/null @@ -1,216 +0,0 @@ -@import "~normalize.css/normalize.css"; -@import "./fonts.css"; -@import "./base.css"; -@import "./header.css"; -@import "./prompts.css"; -@import "./listing.css"; -@import "./editor.css"; -@import "./dashboard.css"; - -/* * * * * * * * * * * * * * * * - * ACTION * - * * * * * * * * * * * * * * * */ - -.action { - display: inline-block; - cursor: pointer; - transition: 0.2s ease all; - border: 0; - margin: 0; - color: #546E7A; - border-radius: 50%; - background: transparent; - padding: 0; - box-shadow: none; - vertical-align: middle; - text-align: left; - position: relative; -} - -.action.disabled { - opacity: 0.2; - cursor: not-allowed; -} - -.action i { - padding: 0.4em; - transition: .1s ease-in-out all; - border-radius: 50%; -} - -.action:hover { - background-color: rgba(0, 0, 0, .1); -} - -.action ul { - position: absolute; - top: 0; - color: #7d7d7d; - list-style: none; - margin: 0; - padding: 0; - flex-direction: column; - display: flex; -} - -.action ul li { - line-height: 1; - padding: .7em; - transition: .1s ease background-color; -} - -.action ul li:hover { - background-color: rgba(0, 0, 0, 0.04); -} - -#click-overlay { - display: none; - position: fixed; - cursor: pointer; - top: 0; - left: 0; - height: 100%; - width: 100%; -} - -#click-overlay.active { - display: block; -} - -.action .counter { - display: block; - position: absolute; - bottom: 0; - right: 0; - background: #2196f3; - color: #fff; - border-radius: 50%; - font-size: .75em; - width: 1.5em; - height: 1.5em; - text-align: center; - line-height: 1.25em; - border: 2px solid white; -} - - -/* PREVIEWER */ - -#previewer { - background-color: rgba(0, 0, 0, 0.9); - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 9999; - overflow: hidden; -} - -#previewer .bar { - width: 100%; - text-align: right; - display: flex; - padding: 0.5em; - height: 3.7em; -} - -#previewer .action:first-of-type { - margin-right: auto; -} - -#previewer .action i { - color: #fff; -} - -#previewer .action:hover { - background-color: rgba(255, 255, 255, 0.3) -} - -#previewer .action span { - display: none; -} - -#previewer .preview { - margin: 2em auto 4em; - max-width: 80%; - text-align: center; - height: calc(100vh - 9.7em); -} - -#previewer .preview pre { - text-align: left; - overflow: auto; -} - -#previewer .preview pre, -#previewer .preview video, -#previewer .preview img { - max-height: 100%; - margin: 0; -} - -#previewer .pdf { - width: 100%; - height: 100%; -} - -#previewer h2.message { - color: rgba(255, 255, 255, 0.5) -} - -#previewer>button { - margin: 0; - position: fixed; - top: 50%; - transform: translateY(-50%); -} - -#previewer>button:first-of-type { - left: 0.5em; -} - -#previewer>button:last-of-type { - right: 0.5em; -} - - -/* * * * * * * * * * * * * * * * - * PROMPT * - * * * * * * * * * * * * * * * */ - - -/* * * * * * * * * * * * * * * * - * FOOTER * - * * * * * * * * * * * * * * * */ - -.credits { - font-size: 0.6em; - margin: 3em 2.5em; - color: #a5a5a5; -} - -.credits span { - display: block; - margin: .3em 0; -} - -.credits a, -.credits a:hover { - color: inherit; - cursor: pointer; -} - - -/* * * * * * * * * * * * * * * * - * ANIMATIONS * - * * * * * * * * * * * * * * * */ - -@keyframes spin { - 100% { - -webkit-transform: rotate(-360deg); - transform: rotate(-360deg); - } -} - -@import './mobile.css'; diff --git a/assets/src/main.js b/assets/src/main.js deleted file mode 100644 index 47008899..00000000 --- a/assets/src/main.js +++ /dev/null @@ -1,15 +0,0 @@ -import Vue from 'vue' -import App from './App' -import store from './store' -import router from './router' - -Vue.config.productionTip = true - -/* eslint-disable no-new */ -new Vue({ - el: '#app', - store, - router, - template: '', - components: { App } -}) diff --git a/assets/src/router/index.js b/assets/src/router/index.js deleted file mode 100644 index 74e24481..00000000 --- a/assets/src/router/index.js +++ /dev/null @@ -1,159 +0,0 @@ -import Vue from 'vue' -import Router from 'vue-router' -import Login from '@/components/Login' -import Main from '@/components/Main' -import Files from '@/components/Files' -import Users from '@/components/Users' -import User from '@/components/User' -import GlobalSettings from '@/components/GlobalSettings' -import ProfileSettings from '@/components/ProfileSettings' -import error403 from '@/components/errors/403' -import error404 from '@/components/errors/404' -import error500 from '@/components/errors/500' -import auth from '@/utils/auth.js' -import store from '@/store' - -Vue.use(Router) - -const router = new Router({ - base: document.querySelector('meta[name="base"]').getAttribute('content'), - mode: 'history', - routes: [ - { - path: '/login', - name: 'Login', - component: Login, - beforeEnter: function (to, from, next) { - auth.loggedIn() - .then(() => { - next({ path: '/files' }) - }) - .catch(() => { - document.title = 'Login' - next() - }) - } - }, - { - path: '/', - redirect: { - path: '/files/' - } - }, - { - path: '/*', - component: Main, - meta: { - requiresAuth: true - }, - children: [ - { - path: '/files/*', - name: 'Files', - component: Files - }, - { - path: '/settings', - name: 'Settings', - redirect: { - path: '/settings/profile' - } - }, - { - path: '/settings/profile', - name: 'Profile Settings', - component: ProfileSettings - }, - { - path: '/settings/global', - name: 'Global Settings', - component: GlobalSettings, - meta: { - requiresAdmin: true - } - }, - { - path: '/403', - name: 'Forbidden', - component: error403 - }, - { - path: '/404', - name: 'Not Found', - component: error404 - }, - { - path: '/500', - name: 'Internal Server Error', - component: error500 - }, - { - path: '/users', - name: 'Users', - component: Users, - meta: { - requiresAdmin: true - } - }, - { - path: '/users/', - redirect: { - path: '/users' - } - }, - { - path: '/users/*', - name: 'User', - component: User, - meta: { - requiresAdmin: true - } - }, - { - path: '/*', - redirect: { - name: 'Files' - } - } - ] - } - ] -}) - -router.beforeEach((to, from, next) => { - document.title = to.name - - if (to.matched.some(record => record.meta.requiresAuth)) { - // this route requires auth, check if logged in - // if not, redirect to login page. - auth.loggedIn() - .then(() => { - if (to.matched.some(record => record.meta.requiresAdmin)) { - if (store.state.user.admin) { - next() - return - } - - next({ - path: '/403' - }) - - return - } - - next() - }) - .catch(e => { - next({ - path: '/login', - query: { redirect: to.fullPath } - }) - }) - - return - } - - next() -}) - -export default router diff --git a/assets/src/store/getters.js b/assets/src/store/getters.js deleted file mode 100644 index 370bc589..00000000 --- a/assets/src/store/getters.js +++ /dev/null @@ -1,5 +0,0 @@ -const getters = { - selectedCount: state => state.selected.length -} - -export default getters diff --git a/assets/src/store/index.js b/assets/src/store/index.js deleted file mode 100644 index 6d851b91..00000000 --- a/assets/src/store/index.js +++ /dev/null @@ -1,31 +0,0 @@ -import Vue from 'vue' -import Vuex from 'vuex' -import mutations from './mutations' -import getters from './getters' - -Vue.use(Vuex) - -const state = { - user: {}, - req: {}, - plugins: window.plugins || [], - clipboard: { - key: '', - items: [] - }, - baseURL: document.querySelector('meta[name="base"]').getAttribute('content'), - jwt: '', - loading: false, - reload: false, - selected: [], - multiple: false, - show: null, - showMessage: null -} - -export default new Vuex.Store({ - strict: process.env.NODE_ENV !== 'production', - state, - getters, - mutations -}) diff --git a/assets/src/store/mutations.js b/assets/src/store/mutations.js deleted file mode 100644 index 6797ef2c..00000000 --- a/assets/src/store/mutations.js +++ /dev/null @@ -1,54 +0,0 @@ -const mutations = { - closeHovers: state => { - state.show = null - state.showMessage = null - }, - showHover: (state, value) => { - if (typeof value !== 'object') { - state.show = value - return - } - - state.show = value.prompt - state.showMessage = value.message - }, - showError: (state, value) => { - state.show = 'error' - state.showMessage = value - }, - showSuccess: (state, value) => { - state.show = 'success' - state.showMessage = value - }, - setLoading: (state, value) => { state.loading = value }, - setReload: (state, value) => { state.reload = value }, - setUser: (state, value) => (state.user = value), - setUserCSS: (state, value) => (state.user.css = value), - setJWT: (state, value) => (state.jwt = value), - multiple: (state, value) => (state.multiple = value), - addSelected: (state, value) => (state.selected.push(value)), - removeSelected: (state, value) => { - let i = state.selected.indexOf(value) - if (i === -1) return - state.selected.splice(i, 1) - }, - resetSelected: (state) => { - state.selected = [] - }, - listingDisplay: (state, value) => { - state.req.display = value - }, - updateRequest: (state, value) => { - state.req = value - }, - updateClipboard: (state, value) => { - state.clipboard.key = value.key - state.clipboard.items = value.items - }, - resetClipboard: (state) => { - state.clipboard.key = '' - state.clipboard.items = [] - } -} - -export default mutations diff --git a/assets/src/utils/api.js b/assets/src/utils/api.js deleted file mode 100644 index e9b74f48..00000000 --- a/assets/src/utils/api.js +++ /dev/null @@ -1,463 +0,0 @@ -import store from '@/store' - -const ssl = (window.location.protocol === 'https:') - -function removePrefix (url) { - if (url.startsWith('/files')) { - return url.slice(6) - } - - return url -} - -function fetch (url) { - url = removePrefix(url) - - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('GET', `${store.state.baseURL}/api/resource${url}`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - switch (request.status) { - case 200: - resolve(JSON.parse(request.responseText)) - break - default: - reject({ - message: request.responseText, - status: request.status - }) - break - } - } - request.onerror = (error) => reject(error) - request.send() - }) -} - -function rm (url) { - url = removePrefix(url) - - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('DELETE', `${store.state.baseURL}/api/resource${url}`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - if (request.status === 200) { - resolve(request.responseText) - } else { - reject(request.responseText) - } - } - - request.onerror = (error) => reject(error) - request.send() - }) -} - -function post (url, content = '') { - url = removePrefix(url) - - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('POST', `${store.state.baseURL}/api/resource${url}`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - if (request.status === 200) { - resolve(request.responseText) - } else { - reject(request.responseText) - } - } - - request.onerror = (error) => reject(error) - request.send(content) - }) -} - -function put (url, content = '') { - url = removePrefix(url) - - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('PUT', `${store.state.baseURL}/api/resource${url}`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - if (request.status === 200) { - resolve(request.responseText) - } else { - reject(request.responseText) - } - } - - request.onerror = (error) => reject(error) - request.send(content) - }) -} - -function moveCopy (items, copy = false) { - let promises = [] - - for (let item of items) { - let from = removePrefix(item.from) - let to = removePrefix(item.to) - - promises.push(new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('PATCH', `${store.state.baseURL}/api/resource${from}`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - request.setRequestHeader('Destination', to) - - if (copy) { - request.setRequestHeader('Action', 'copy') - } - - request.onload = () => { - if (request.status === 200) { - resolve(request.responseText) - } else { - reject(request.responseText) - } - } - - request.onerror = (error) => reject(error) - request.send() - })) - } - - return Promise.all(promises) -} - -function move (items) { - return moveCopy(items) -} - -function copy (items) { - return moveCopy(items, true) -} - -function checksum (url, algo) { - url = removePrefix(url) - - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('GET', `${store.state.baseURL}/api/checksum${url}?algo=${algo}`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - if (request.status === 200) { - resolve(request.responseText) - } else { - reject(request.responseText) - } - } - request.onerror = (error) => reject(error) - request.send() - }) -} - -function command (url, command, onmessage, onclose) { - let protocol = (ssl ? 'wss:' : 'ws:') - url = removePrefix(url) - url = `${protocol}//${window.location.host}${store.state.baseURL}/api/command${url}` - - let conn = new window.WebSocket(url) - conn.onopen = () => conn.send(command) - conn.onmessage = onmessage - conn.onclose = onclose -} - -function search (url, search, onmessage, onclose) { - let protocol = (ssl ? 'wss:' : 'ws:') - url = removePrefix(url) - url = `${protocol}//${window.location.host}${store.state.baseURL}/api/search${url}` - - let conn = new window.WebSocket(url) - conn.onopen = () => conn.send(search) - conn.onmessage = onmessage - conn.onclose = onclose -} - -function download (format, ...files) { - let url = `${store.state.baseURL}/api/download` - - if (files.length === 1) { - url += removePrefix(files[0]) + '?' - } else { - let arg = '' - - for (let file of files) { - arg += removePrefix(file) + ',' - } - - arg = arg.substring(0, arg.length - 1) - arg = encodeURIComponent(arg) - url += `/?files=${arg}&` - } - - if (format !== null) { - url += `&format=${format}` - } - - window.open(url) -} - -function getUsers () { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('GET', `${store.state.baseURL}/api/users/`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - switch (request.status) { - case 200: - resolve(JSON.parse(request.responseText)) - break - default: - reject(request.responseText) - break - } - } - request.onerror = (error) => reject(error) - request.send() - }) -} - -function getUser (id) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('GET', `${store.state.baseURL}/api/users/${id}`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - switch (request.status) { - case 200: - resolve(JSON.parse(request.responseText)) - break - default: - reject(request.responseText) - break - } - } - request.onerror = (error) => reject(error) - request.send() - }) -} - -function newUser (user) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('POST', `${store.state.baseURL}/api/users/`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - switch (request.status) { - case 201: - resolve(request.getResponseHeader('Location')) - break - default: - reject(request.responseText) - break - } - } - request.onerror = (error) => reject(error) - request.send(JSON.stringify(user)) - }) -} - -function updateUser (user) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('PUT', `${store.state.baseURL}/api/users/${user.ID}`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - switch (request.status) { - case 200: - resolve(request.getResponseHeader('Location')) - break - default: - reject(request.responseText) - break - } - } - request.onerror = (error) => reject(error) - request.send(JSON.stringify(user)) - }) -} - -function deleteUser (id) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('DELETE', `${store.state.baseURL}/api/users/${id}`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - switch (request.status) { - case 200: - resolve() - break - default: - reject(request.responseText) - break - } - } - request.onerror = (error) => reject(error) - request.send() - }) -} - -function updatePassword (password) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('PUT', `${store.state.baseURL}/api/users/change-password`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - switch (request.status) { - case 200: - resolve() - break - default: - reject(request.responseText) - break - } - } - request.onerror = (error) => reject(error) - request.send(JSON.stringify({ 'password': password })) - }) -} - -function updateCSS (css) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('PUT', `${store.state.baseURL}/api/users/change-css`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - switch (request.status) { - case 200: - resolve() - break - default: - reject(request.responseText) - break - } - } - request.onerror = (error) => reject(error) - request.send(JSON.stringify({ 'css': css })) - }) -} - -function getCommands () { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('GET', `${store.state.baseURL}/api/commands/`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - switch (request.status) { - case 200: - resolve(JSON.parse(request.responseText)) - break - default: - reject(request.responseText) - break - } - } - request.onerror = (error) => reject(error) - request.send() - }) -} - -function updateCommands (commands) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('PUT', `${store.state.baseURL}/api/commands/`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - switch (request.status) { - case 200: - resolve() - break - default: - reject(request.responseText) - break - } - } - request.onerror = (error) => reject(error) - request.send(JSON.stringify(commands)) - }) -} - -function getPlugins () { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('GET', `${store.state.baseURL}/api/plugins/`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - switch (request.status) { - case 200: - resolve(JSON.parse(request.responseText)) - break - default: - reject(request.responseText) - break - } - } - request.onerror = (error) => reject(error) - request.send() - }) -} - -function updatePlugins (data) { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('PUT', `${store.state.baseURL}/api/plugins/`, true) - request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`) - - request.onload = () => { - switch (request.status) { - case 200: - resolve() - break - default: - reject(request.responseText) - break - } - } - request.onerror = (error) => reject(error) - request.send(JSON.stringify(data)) - }) -} - -export default { - delete: rm, - fetch, - checksum, - move, - put, - copy, - post, - command, - search, - download, - getUser, - newUser, - updateUser, - getUsers, - updatePassword, - updateCSS, - getCommands, - updateCommands, - removePrefix, - getPlugins, - updatePlugins, - deleteUser -} diff --git a/assets/src/utils/auth.js b/assets/src/utils/auth.js deleted file mode 100644 index bc25b343..00000000 --- a/assets/src/utils/auth.js +++ /dev/null @@ -1,64 +0,0 @@ -import cookie from './cookie' -import store from '@/store' -import router from '@/router' - -function parseToken (token) { - let path = store.state.baseURL - if (path === '') path = '/' - document.cookie = `auth=${token}; max-age=86400; path=${path}` - let res = token.split('.') - let user = JSON.parse(window.atob(res[1])) - store.commit('setJWT', token) - store.commit('setUser', user) -} - -function loggedIn () { - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('GET', `${store.state.baseURL}/api/auth/renew`, true) - request.setRequestHeader('Authorization', `Bearer ${cookie('auth')}`) - - request.onload = () => { - if (request.status === 200) { - parseToken(request.responseText) - resolve() - } else { - reject() - } - } - request.onerror = () => reject() - request.send() - }) -} - -function login (user, password) { - let data = {username: user, password: password} - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('POST', `${store.state.baseURL}/api/auth/get`, true) - - request.onload = () => { - if (request.status === 200) { - parseToken(request.responseText) - resolve() - } else { - reject(request.responseText) - } - } - request.onerror = () => reject() - request.send(JSON.stringify(data)) - }) -} - -function logout () { - let path = store.state.baseURL - if (path === '') path = '/' - document.cookie = `auth='nothing'; max-age=0; path=${path}` - router.push({path: '/login'}) -} - -export default { - loggedIn: loggedIn, - login: login, - logout: logout -} diff --git a/assets/src/utils/buttons.js b/assets/src/utils/buttons.js deleted file mode 100644 index bf083ece..00000000 --- a/assets/src/utils/buttons.js +++ /dev/null @@ -1,39 +0,0 @@ -function loading (button) { - let el = document.querySelector(`#${button}-button > i`) - - if (el === undefined || el === null) { - console.log('Error getting button ' + button) - return - } - - el.dataset.icon = el.innerHTML - el.style.opacity = 0 - - setTimeout(() => { - el.classList.add('spin') - el.innerHTML = 'autorenew' - el.style.opacity = 1 - }, 100) -} - -function done (button, success = true) { - let el = document.querySelector(`#${button}-button > i`) - - if (el === undefined || el === null) { - console.log('Error getting button ' + button) - return - } - - el.style.opacity = 0 - - setTimeout(() => { - el.classList.remove('spin') - el.innerHTML = el.dataset.icon - el.style.opacity = 1 - }, 100) -} - -export default { - loading, - done -} diff --git a/assets/src/utils/codemirror.js b/assets/src/utils/codemirror.js deleted file mode 100644 index e40ba58c..00000000 --- a/assets/src/utils/codemirror.js +++ /dev/null @@ -1,60 +0,0 @@ -// Most of the code from this file comes from: -// https://github.com/codemirror/CodeMirror/blob/master/addon/mode/loadmode.js -import * as CodeMirror from 'codemirror' -import store from '@/store' - -// Make CodeMirror available globally so the modes' can register themselves. -window.CodeMirror = CodeMirror -CodeMirror.modeURL = store.state.baseURL + '/static/js/codemirror/mode/%N/%N.js' - -var loading = {} - -function splitCallback (cont, n) { - var countDown = n - return function () { - if (--countDown === 0) cont() - } -} - -function ensureDeps (mode, cont) { - var deps = CodeMirror.modes[mode].dependencies - if (!deps) return cont() - var missing = [] - for (var i = 0; i < deps.length; ++i) { - if (!CodeMirror.modes.hasOwnProperty(deps[i])) missing.push(deps[i]) - } - if (!missing.length) return cont() - var split = splitCallback(cont, missing.length) - for (i = 0; i < missing.length; ++i) CodeMirror.requireMode(missing[i], split) -} - -CodeMirror.requireMode = function (mode, cont) { - if (typeof mode !== 'string') mode = mode.name - if (CodeMirror.modes.hasOwnProperty(mode)) return ensureDeps(mode, cont) - if (loading.hasOwnProperty(mode)) return loading[mode].push(cont) - - var file = CodeMirror.modeURL.replace(/%N/g, mode) - - var script = document.createElement('script') - script.src = file - var others = document.getElementsByTagName('script')[0] - var list = loading[mode] = [cont] - - CodeMirror.on(script, 'load', function () { - ensureDeps(mode, function () { - for (var i = 0; i < list.length; ++i) list[i]() - }) - }) - - others.parentNode.insertBefore(script, others) -} - -CodeMirror.autoLoadMode = function (instance, mode) { - if (CodeMirror.modes.hasOwnProperty(mode)) return - - CodeMirror.requireMode(mode, function () { - instance.setOption('mode', mode) - }) -} - -export default CodeMirror diff --git a/assets/src/utils/cookie.js b/assets/src/utils/cookie.js deleted file mode 100644 index 5004b602..00000000 --- a/assets/src/utils/cookie.js +++ /dev/null @@ -1,4 +0,0 @@ -export default function (name) { - let re = new RegExp('(?:(?:^|.*;\\s*)' + name + '\\s*\\=\\s*([^;]*).*$)|^.*$') - return document.cookie.replace(re, '$1') -} diff --git a/assets/src/utils/css.js b/assets/src/utils/css.js deleted file mode 100644 index 15ab99fe..00000000 --- a/assets/src/utils/css.js +++ /dev/null @@ -1,28 +0,0 @@ -export default function getRule (rules) { - for (let i = 0; i < rules.length; i++) { - rules[i] = rules[i].toLowerCase() - } - - let result = null - let find = Array.prototype.find - - find.call(document.styleSheets, styleSheet => { - result = find.call(styleSheet.cssRules, cssRule => { - let found = false - - if (cssRule instanceof window.CSSStyleRule) { - for (let i = 0; i < rules.length; i++) { - if (cssRule.selectorText.toLowerCase() === rules[i]) { - found = true - } - } - } - - return found - }) - - return result != null - }) - - return result -} diff --git a/assets/src/utils/url.js b/assets/src/utils/url.js deleted file mode 100644 index 2649a592..00000000 --- a/assets/src/utils/url.js +++ /dev/null @@ -1,12 +0,0 @@ -function removeLastDir (url) { - var arr = url.split('/') - if (arr.pop() === '') { - arr.pop() - } - - return arr.join('/') -} - -export default { - removeLastDir: removeLastDir -} diff --git a/assets/static/img/icons/android-chrome-192x192.png b/assets/static/img/icons/android-chrome-192x192.png deleted file mode 100644 index 685cdea9..00000000 Binary files a/assets/static/img/icons/android-chrome-192x192.png and /dev/null differ diff --git a/assets/static/img/icons/android-chrome-512x512.png b/assets/static/img/icons/android-chrome-512x512.png deleted file mode 100644 index be4f0526..00000000 Binary files a/assets/static/img/icons/android-chrome-512x512.png and /dev/null differ diff --git a/assets/static/img/icons/apple-touch-icon-120x120.png b/assets/static/img/icons/apple-touch-icon-120x120.png deleted file mode 100644 index f204c14b..00000000 Binary files a/assets/static/img/icons/apple-touch-icon-120x120.png and /dev/null differ diff --git a/assets/static/img/icons/apple-touch-icon-152x152.png b/assets/static/img/icons/apple-touch-icon-152x152.png deleted file mode 100644 index f7f0e00f..00000000 Binary files a/assets/static/img/icons/apple-touch-icon-152x152.png and /dev/null differ diff --git a/assets/static/img/icons/apple-touch-icon-180x180.png b/assets/static/img/icons/apple-touch-icon-180x180.png deleted file mode 100644 index 8c3ee3a9..00000000 Binary files a/assets/static/img/icons/apple-touch-icon-180x180.png and /dev/null differ diff --git a/assets/static/img/icons/apple-touch-icon-60x60.png b/assets/static/img/icons/apple-touch-icon-60x60.png deleted file mode 100644 index 00f82e94..00000000 Binary files a/assets/static/img/icons/apple-touch-icon-60x60.png and /dev/null differ diff --git a/assets/static/img/icons/apple-touch-icon-76x76.png b/assets/static/img/icons/apple-touch-icon-76x76.png deleted file mode 100644 index d9cc0f35..00000000 Binary files a/assets/static/img/icons/apple-touch-icon-76x76.png and /dev/null differ diff --git a/assets/static/img/icons/apple-touch-icon.png b/assets/static/img/icons/apple-touch-icon.png deleted file mode 100644 index 685cdea9..00000000 Binary files a/assets/static/img/icons/apple-touch-icon.png and /dev/null differ diff --git a/assets/static/img/icons/favicon-16x16.png b/assets/static/img/icons/favicon-16x16.png deleted file mode 100644 index 8de7c05e..00000000 Binary files a/assets/static/img/icons/favicon-16x16.png and /dev/null differ diff --git a/assets/static/img/icons/favicon-32x32.png b/assets/static/img/icons/favicon-32x32.png deleted file mode 100644 index 9b74a094..00000000 Binary files a/assets/static/img/icons/favicon-32x32.png and /dev/null differ diff --git a/assets/static/img/icons/favicon.ico b/assets/static/img/icons/favicon.ico deleted file mode 100644 index cc2b4690..00000000 Binary files a/assets/static/img/icons/favicon.ico and /dev/null differ diff --git a/assets/static/img/icons/msapplication-icon-144x144.png b/assets/static/img/icons/msapplication-icon-144x144.png deleted file mode 100644 index a7db463f..00000000 Binary files a/assets/static/img/icons/msapplication-icon-144x144.png and /dev/null differ diff --git a/assets/static/img/icons/mstile-150x150.png b/assets/static/img/icons/mstile-150x150.png deleted file mode 100644 index 8515f250..00000000 Binary files a/assets/static/img/icons/mstile-150x150.png and /dev/null differ diff --git a/assets/static/manifest.json b/assets/static/manifest.json deleted file mode 100644 index 25bd2d98..00000000 --- a/assets/static/manifest.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "File Manager", - "short_name": "File Manager", - "icons": [ - { - "src": "{{ .BaseURL }}/static/img/icons/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "{{ .BaseURL }}/static/img/icons/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "start_url": "{{ .BaseURL }}/", - "display": "standalone", - "background_color": "#ffffff", - "theme_color": "#2979ff" -} diff --git a/auth.go b/auth.go deleted file mode 100644 index 81736ea9..00000000 --- a/auth.go +++ /dev/null @@ -1,164 +0,0 @@ -package filemanager - -import ( - "crypto/rand" - "encoding/json" - "net/http" - "strings" - "time" - - "golang.org/x/crypto/bcrypt" - - jwt "github.com/dgrijalva/jwt-go" - "github.com/dgrijalva/jwt-go/request" -) - -// authHandler proccesses the authentication for the user. -func authHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - // Receive the credentials from the request and unmarshal them. - var cred User - if r.Body == nil { - return http.StatusForbidden, nil - } - - err := json.NewDecoder(r.Body).Decode(&cred) - if err != nil { - return http.StatusForbidden, nil - } - - // Checks if the user exists. - u, ok := c.FM.Users[cred.Username] - if !ok { - return http.StatusForbidden, nil - } - - // Checks if the password is correct. - if !checkPasswordHash(cred.Password, u.Password) { - return http.StatusForbidden, nil - } - - c.User = u - return printToken(c, w) -} - -// renewAuthHandler is used when the front-end already has a JWT token -// and is checking if it is up to date. If so, updates its info. -func renewAuthHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - ok, u := validateAuth(c, r) - if !ok { - return http.StatusForbidden, nil - } - - c.User = u - return printToken(c, w) -} - -// claims is the JWT claims. -type claims struct { - User - jwt.StandardClaims -} - -// printToken prints the final JWT token to the user. -func printToken(c *RequestContext, w http.ResponseWriter) (int, error) { - // Creates a copy of the user and removes it password - // hash so it never arrives to the user. - u := User{} - u = *c.User - u.Password = "" - - // Builds the claims. - claims := claims{ - u, - jwt.StandardClaims{ - ExpiresAt: time.Now().Add(time.Hour * 24).Unix(), - Issuer: "File Manager", - }, - } - - // Creates the token and signs it. - token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) - string, err := token.SignedString(c.FM.key) - - if err != nil { - return http.StatusInternalServerError, err - } - - // Writes the token. - w.Header().Set("Content-Type", "cty") - w.Write([]byte(string)) - return 0, nil -} - -type extractor []string - -func (e extractor) ExtractToken(r *http.Request) (string, error) { - token, _ := request.AuthorizationHeaderExtractor.ExtractToken(r) - - // Checks if the token isn't empty and if it contains two dots. - // The former prevents incompatibility with URLs that previously - // used basic auth. - if token != "" && strings.Count(token, ".") == 2 { - return token, nil - } - - cookie, err := r.Cookie("auth") - if err != nil { - return "", request.ErrNoTokenInRequest - } - - return cookie.Value, nil -} - -// validateAuth is used to validate the authentication and returns the -// User if it is valid. -func validateAuth(c *RequestContext, r *http.Request) (bool, *User) { - keyFunc := func(token *jwt.Token) (interface{}, error) { - return c.FM.key, nil - } - var claims claims - token, err := request.ParseFromRequestWithClaims(r, - extractor{}, - &claims, - keyFunc, - ) - - if err != nil || !token.Valid { - return false, nil - } - - u, ok := c.FM.Users[claims.User.Username] - if !ok { - return false, nil - } - - c.User = u - return true, u -} - -// hashPassword generates an hash from a password using bcrypt. -func hashPassword(password string) (string, error) { - bytes, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost) - return string(bytes), err -} - -// checkPasswordHash compares a password with an hash to check if they match. -func checkPasswordHash(password, hash string) bool { - err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password)) - return err == nil -} - -// generateRandomBytes returns securely generated random bytes. -// It will return an error if the system's secure random -// number generator fails to function correctly, in which -// case the caller should not continue. -func generateRandomBytes(n int) ([]byte, error) { - b := make([]byte, n) - _, err := rand.Read(b) - // Note that err == nil only if we read len(b) bytes. - if err != nil { - return nil, err - } - - return b, nil -} diff --git a/auth/auth.go b/auth/auth.go new file mode 100644 index 00000000..53d5d839 --- /dev/null +++ b/auth/auth.go @@ -0,0 +1,16 @@ +package auth + +import ( + "net/http" + + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/users" +) + +// Auther is the authentication interface. +type Auther interface { + // Auth is called to authenticate a request. + Auth(r *http.Request, usr users.Store, stg *settings.Settings, srv *settings.Server) (*users.User, error) + // LoginPage indicates if this auther needs a login page. + LoginPage() bool +} diff --git a/auth/hook.go b/auth/hook.go new file mode 100644 index 00000000..0c5efac5 --- /dev/null +++ b/auth/hook.go @@ -0,0 +1,301 @@ +package auth + +import ( + "encoding/json" + "errors" + "fmt" + "log" + "net/http" + "os" + "os/exec" + "slices" + "strings" + + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/files" + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/users" +) + +// MethodHookAuth is used to identify hook auth. +const MethodHookAuth settings.AuthMethod = "hook" + +type hookCred struct { + Password string `json:"password"` + Username string `json:"username"` +} + +// HookAuth is a hook implementation of an Auther. +type HookAuth struct { + Users users.Store `json:"-"` + Settings *settings.Settings `json:"-"` + Server *settings.Server `json:"-"` + Cred hookCred `json:"-"` + Fields hookFields `json:"-"` + Command string `json:"command"` +} + +// Auth authenticates the user via a json in content body. +func (a *HookAuth) Auth(r *http.Request, usr users.Store, stg *settings.Settings, srv *settings.Server) (*users.User, error) { + var cred hookCred + + if r.Body == nil { + return nil, os.ErrPermission + } + + err := json.NewDecoder(r.Body).Decode(&cred) + if err != nil { + return nil, os.ErrPermission + } + + a.Users = usr + a.Settings = stg + a.Server = srv + a.Cred = cred + + action, err := a.RunCommand() + if err != nil { + return nil, err + } + + switch action { + case "auth": + u, err := a.SaveUser() + if err != nil { + return nil, err + } + return u, nil + case "block": + return nil, os.ErrPermission + case "pass": + u, err := a.Users.Get(a.Server.Root, a.Cred.Username) + if err != nil || !users.CheckPwd(a.Cred.Password, u.Password) { + return nil, os.ErrPermission + } + return u, nil + default: + return nil, fmt.Errorf("invalid hook action: %s", action) + } +} + +// LoginPage tells that hook auth requires a login page. +func (a *HookAuth) LoginPage() bool { + return true +} + +// RunCommand starts the hook command and returns the action +func (a *HookAuth) RunCommand() (string, error) { + command := strings.Split(a.Command, " ") + envMapping := func(key string) string { + switch key { + case "USERNAME": + return a.Cred.Username + case "PASSWORD": + return a.Cred.Password + default: + return os.Getenv(key) + } + } + for i, arg := range command { + if i == 0 { + continue + } + command[i] = os.Expand(arg, envMapping) + } + + cmd := exec.Command(command[0], command[1:]...) + cmd.Env = append(os.Environ(), fmt.Sprintf("USERNAME=%s", a.Cred.Username)) + cmd.Env = append(cmd.Env, fmt.Sprintf("PASSWORD=%s", a.Cred.Password)) + out, err := cmd.Output() + if err != nil { + return "", err + } + + a.GetValues(string(out)) + + return a.Fields.Values["hook.action"], nil +} + +// GetValues creates a map with values from the key-value format string +func (a *HookAuth) GetValues(s string) { + m := map[string]string{} + + // make line breaks consistent on Windows platform + s = strings.ReplaceAll(s, "\r\n", "\n") + + // iterate input lines + for val := range strings.Lines(s) { + v := strings.SplitN(val, "=", 2) + + // skips non key and value format + if len(v) != 2 { + continue + } + + fieldKey := strings.TrimSpace(v[0]) + fieldValue := strings.TrimSpace(v[1]) + + if a.Fields.IsValid(fieldKey) { + m[fieldKey] = fieldValue + } + } + + a.Fields.Values = m +} + +// SaveUser updates the existing user or creates a new one when not found +func (a *HookAuth) SaveUser() (*users.User, error) { + u, err := a.Users.Get(a.Server.Root, a.Cred.Username) + if err != nil && !errors.Is(err, fberrors.ErrNotExist) { + return nil, err + } + + if u == nil { + pass, err := users.ValidateAndHashPwd(a.Cred.Password, a.Settings.MinimumPasswordLength) + if err != nil { + return nil, err + } + + // create user with the provided credentials + d := &users.User{ + Username: a.Cred.Username, + Password: pass, + Scope: a.Settings.Defaults.Scope, + Locale: a.Settings.Defaults.Locale, + ViewMode: a.Settings.Defaults.ViewMode, + SingleClick: a.Settings.Defaults.SingleClick, + RedirectAfterCopyMove: a.Settings.Defaults.RedirectAfterCopyMove, + Sorting: a.Settings.Defaults.Sorting, + Perm: a.Settings.Defaults.Perm, + Commands: a.Settings.Defaults.Commands, + HideDotfiles: a.Settings.Defaults.HideDotfiles, + } + u = a.GetUser(d) + + userHome, err := a.Settings.MakeUserDir(u.Username, u.Scope, a.Server.Root) + if err != nil { + return nil, fmt.Errorf("user: failed to mkdir user home dir: [%s]", userHome) + } + u.Scope = userHome + log.Printf("user: %s, home dir: [%s].", u.Username, userHome) + + err = a.Users.Save(u) + if err != nil { + return nil, err + } + } else if p := !users.CheckPwd(a.Cred.Password, u.Password); len(a.Fields.Values) > 1 || p { + u = a.GetUser(u) + + // update the password when it doesn't match the current + if p { + pass, err := users.ValidateAndHashPwd(a.Cred.Password, a.Settings.MinimumPasswordLength) + if err != nil { + return nil, err + } + u.Password = pass + } + + // update user with provided fields + err := a.Users.Update(u) + if err != nil { + return nil, err + } + } + + return u, nil +} + +// GetUser returns a User filled with hook values or provided defaults +func (a *HookAuth) GetUser(d *users.User) *users.User { + // adds all permissions when user is admin + isAdmin := a.Fields.GetBoolean("user.perm.admin", d.Perm.Admin) + perms := users.Permissions{ + Admin: isAdmin, + Execute: isAdmin || a.Fields.GetBoolean("user.perm.execute", d.Perm.Execute), + Create: isAdmin || a.Fields.GetBoolean("user.perm.create", d.Perm.Create), + Rename: isAdmin || a.Fields.GetBoolean("user.perm.rename", d.Perm.Rename), + Modify: isAdmin || a.Fields.GetBoolean("user.perm.modify", d.Perm.Modify), + Delete: isAdmin || a.Fields.GetBoolean("user.perm.delete", d.Perm.Delete), + Share: isAdmin || a.Fields.GetBoolean("user.perm.share", d.Perm.Share), + Download: isAdmin || a.Fields.GetBoolean("user.perm.download", d.Perm.Download), + } + user := users.User{ + ID: d.ID, + Username: d.Username, + Password: d.Password, + Scope: a.Fields.GetString("user.scope", d.Scope), + Locale: a.Fields.GetString("user.locale", d.Locale), + ViewMode: users.ViewMode(a.Fields.GetString("user.viewMode", string(d.ViewMode))), + SingleClick: a.Fields.GetBoolean("user.singleClick", d.SingleClick), + RedirectAfterCopyMove: a.Fields.GetBoolean("user.redirectAfterCopyMove", d.RedirectAfterCopyMove), + Sorting: files.Sorting{ + Asc: a.Fields.GetBoolean("user.sorting.asc", d.Sorting.Asc), + By: a.Fields.GetString("user.sorting.by", d.Sorting.By), + }, + Commands: a.Fields.GetArray("user.commands", d.Commands), + HideDotfiles: a.Fields.GetBoolean("user.hideDotfiles", d.HideDotfiles), + Perm: perms, + LockPassword: true, + } + + return &user +} + +// hookFields is used to access fields from the hook +type hookFields struct { + Values map[string]string +} + +// validHookFields contains names of the fields that can be used +var validHookFields = []string{ + "hook.action", + "user.scope", + "user.locale", + "user.viewMode", + "user.singleClick", + "user.redirectAfterCopyMove", + "user.sorting.by", + "user.sorting.asc", + "user.commands", + "user.hideDotfiles", + "user.perm.admin", + "user.perm.execute", + "user.perm.create", + "user.perm.rename", + "user.perm.modify", + "user.perm.delete", + "user.perm.share", + "user.perm.download", +} + +// IsValid checks if the provided field is on the valid fields list +func (hf *hookFields) IsValid(field string) bool { + return slices.Contains(validHookFields, field) +} + +// GetString returns the string value or provided default +func (hf *hookFields) GetString(k, dv string) string { + val, ok := hf.Values[k] + if ok { + return val + } + return dv +} + +// GetBoolean returns the bool value or provided default +func (hf *hookFields) GetBoolean(k string, dv bool) bool { + val, ok := hf.Values[k] + if ok { + return val == "true" + } + return dv +} + +// GetArray returns the array value or provided default +func (hf *hookFields) GetArray(k string, dv []string) []string { + val, ok := hf.Values[k] + if ok && strings.TrimSpace(val) != "" { + return strings.Split(val, " ") + } + return dv +} diff --git a/auth/json.go b/auth/json.go new file mode 100644 index 00000000..2284dc7f --- /dev/null +++ b/auth/json.go @@ -0,0 +1,122 @@ +package auth + +import ( + "encoding/json" + "net/http" + "net/url" + "os" + "strings" + + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/users" +) + +// MethodJSONAuth is used to identify json auth. +const MethodJSONAuth settings.AuthMethod = "json" + +// dummyHash is used to prevent user enumeration timing attacks. +// It MUST be a valid bcrypt hash. +const dummyHash = "$2a$10$O4mEMeOL/nit6zqe.WQXauLRbRlzb3IgLHsa26Pf0N/GiU9b.wK1m" + +type jsonCred struct { + Password string `json:"password"` + Username string `json:"username"` + ReCaptcha string `json:"recaptcha"` +} + +// JSONAuth is a json implementation of an Auther. +type JSONAuth struct { + ReCaptcha *ReCaptcha `json:"recaptcha" yaml:"recaptcha"` +} + +// Auth authenticates the user via a json in content body. +func (a JSONAuth) Auth(r *http.Request, usr users.Store, _ *settings.Settings, srv *settings.Server) (*users.User, error) { + var cred jsonCred + + if r.Body == nil { + return nil, os.ErrPermission + } + + err := json.NewDecoder(r.Body).Decode(&cred) + if err != nil { + return nil, os.ErrPermission + } + + // If ReCaptcha is enabled, check the code. + if a.ReCaptcha != nil && a.ReCaptcha.Secret != "" { + ok, err := a.ReCaptcha.Ok(cred.ReCaptcha) + + if err != nil { + return nil, err + } + + if !ok { + return nil, os.ErrPermission + } + } + + u, err := usr.Get(srv.Root, cred.Username) + + hash := dummyHash + if err == nil { + hash = u.Password + } + + if !users.CheckPwd(cred.Password, hash) { + return nil, os.ErrPermission + } + + if err != nil { + return nil, os.ErrPermission + } + + return u, nil +} + +// LoginPage tells that json auth doesn't require a login page. +func (a JSONAuth) LoginPage() bool { + return true +} + +const reCaptchaAPI = "/recaptcha/api/siteverify" + +// ReCaptcha identifies a recaptcha connection. +type ReCaptcha struct { + Host string `json:"host"` + Key string `json:"key"` + Secret string `json:"secret"` +} + +// Ok checks if a reCaptcha responde is correct. +func (r *ReCaptcha) Ok(response string) (bool, error) { + body := url.Values{} + body.Set("secret", r.Secret) + body.Add("response", response) + + client := &http.Client{} + + resp, err := client.Post( + r.Host+reCaptchaAPI, + "application/x-www-form-urlencoded", + strings.NewReader(body.Encode()), + ) + if err != nil { + return false, err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return false, nil + } + + var data struct { + Success bool `json:"success"` + } + + err = json.NewDecoder(resp.Body).Decode(&data) + if err != nil { + return false, err + } + + return data.Success, nil +} diff --git a/auth/none.go b/auth/none.go new file mode 100644 index 00000000..c9381a83 --- /dev/null +++ b/auth/none.go @@ -0,0 +1,24 @@ +package auth + +import ( + "net/http" + + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/users" +) + +// MethodNoAuth is used to identify no auth. +const MethodNoAuth settings.AuthMethod = "noauth" + +// NoAuth is no auth implementation of auther. +type NoAuth struct{} + +// Auth uses authenticates user 1. +func (a NoAuth) Auth(_ *http.Request, usr users.Store, _ *settings.Settings, srv *settings.Server) (*users.User, error) { + return usr.Get(srv.Root, uint(1)) +} + +// LoginPage tells that no auth doesn't require a login page. +func (a NoAuth) LoginPage() bool { + return false +} diff --git a/auth/proxy.go b/auth/proxy.go new file mode 100644 index 00000000..3f4a627c --- /dev/null +++ b/auth/proxy.go @@ -0,0 +1,68 @@ +package auth + +import ( + "errors" + "net/http" + + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/users" +) + +// MethodProxyAuth is used to identify no auth. +const MethodProxyAuth settings.AuthMethod = "proxy" + +// ProxyAuth is a proxy implementation of an auther. +type ProxyAuth struct { + Header string `json:"header"` +} + +// Auth authenticates the user via an HTTP header. +func (a ProxyAuth) Auth(r *http.Request, usr users.Store, setting *settings.Settings, srv *settings.Server) (*users.User, error) { + username := r.Header.Get(a.Header) + user, err := usr.Get(srv.Root, username) + if errors.Is(err, fberrors.ErrNotExist) { + return a.createUser(usr, setting, srv, username) + } + return user, err +} + +func (a ProxyAuth) createUser(usr users.Store, setting *settings.Settings, srv *settings.Server, username string) (*users.User, error) { + const randomPasswordLength = settings.DefaultMinimumPasswordLength + 10 + pwd, err := users.RandomPwd(randomPasswordLength) + if err != nil { + return nil, err + } + + var hashedRandomPassword string + hashedRandomPassword, err = users.ValidateAndHashPwd(pwd, setting.MinimumPasswordLength) + if err != nil { + return nil, err + } + + user := &users.User{ + Username: username, + Password: hashedRandomPassword, + LockPassword: true, + } + setting.Defaults.Apply(user) + + var userHome string + userHome, err = setting.MakeUserDir(user.Username, user.Scope, srv.Root) + if err != nil { + return nil, err + } + user.Scope = userHome + + err = usr.Save(user) + if err != nil { + return nil, err + } + + return user, nil +} + +// LoginPage tells that proxy auth doesn't require a login page. +func (a ProxyAuth) LoginPage() bool { + return false +} diff --git a/auth/storage.go b/auth/storage.go new file mode 100644 index 00000000..c0723ba5 --- /dev/null +++ b/auth/storage.go @@ -0,0 +1,33 @@ +package auth + +import ( + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/users" +) + +// StorageBackend is a storage backend for auth storage. +type StorageBackend interface { + Get(settings.AuthMethod) (Auther, error) + Save(Auther) error +} + +// Storage is a auth storage. +type Storage struct { + back StorageBackend + users *users.Storage +} + +// NewStorage creates a auth storage from a backend. +func NewStorage(back StorageBackend, userStore *users.Storage) *Storage { + return &Storage{back: back, users: userStore} +} + +// Get wraps a StorageBackend.Get. +func (s *Storage) Get(t settings.AuthMethod) (Auther, error) { + return s.back.Get(t) +} + +// Save wraps a StorageBackend.Save. +func (s *Storage) Save(a Auther) error { + return s.back.Save(a) +} diff --git a/auth_test.go b/auth_test.go deleted file mode 100644 index e549bf03..00000000 --- a/auth_test.go +++ /dev/null @@ -1,92 +0,0 @@ -package filemanager - -import ( - "net/http" - "net/http/httptest" - "strings" - "testing" - "time" -) - -var defaultCredentials = "{\"username\":\"admin\",\"password\":\"admin\"}" - -var authHandlerTests = []struct { - Data string - Expected int -}{ - {defaultCredentials, http.StatusOK}, - {"{\"username\":\"admin\",\"password\":\"wrong\"}", http.StatusForbidden}, - {"{\"username\":\"wrong\",\"password\":\"admin\"}", http.StatusForbidden}, -} - -func TestAuthHandler(t *testing.T) { - fm := newTest(t) - defer fm.Clean() - - for _, test := range authHandlerTests { - req, err := http.NewRequest("POST", "/api/auth/get", strings.NewReader(test.Data)) - if err != nil { - t.Fatal(err) - } - - w := httptest.NewRecorder() - fm.ServeHTTP(w, req) - - if w.Code != test.Expected { - t.Errorf("Wrong status code: got %v want %v", w.Code, test.Expected) - } - } -} - -func TestRenewHandler(t *testing.T) { - fm := newTest(t) - defer fm.Clean() - - // First, we have to make an auth request to get the user authenticated, - r, err := http.NewRequest("POST", "/api/auth/get", strings.NewReader(defaultCredentials)) - if err != nil { - t.Fatal(err) - } - - w := httptest.NewRecorder() - fm.ServeHTTP(w, r) - - if w.Code != http.StatusOK { - t.Errorf("Couldn't authenticate: got %v", w.Code) - } - - token := w.Body.String() - - // Test renew authorization via Authorization Header. - r, err = http.NewRequest("GET", "/api/auth/renew", nil) - if err != nil { - t.Fatal(err) - } - - r.Header.Set("Authorization", "Bearer "+token) - w = httptest.NewRecorder() - fm.ServeHTTP(w, r) - - if w.Code != http.StatusOK { - t.Errorf("Can't renew auth via header: got %v", w.Code) - } - - // Test renew authorization via cookie field. - r, err = http.NewRequest("GET", "/api/auth/renew", nil) - if err != nil { - t.Fatal(err) - } - - r.AddCookie(&http.Cookie{ - Value: token, - Name: "auth", - Expires: time.Now().Add(1 * time.Hour), - }) - - w = httptest.NewRecorder() - fm.ServeHTTP(w, r) - - if w.Code != http.StatusOK { - t.Errorf("Can't renew auth via cookie: got %v", w.Code) - } -} diff --git a/branding/banner.png b/branding/banner.png new file mode 100644 index 00000000..9a533bfc Binary files /dev/null and b/branding/banner.png differ diff --git a/branding/banner.svg b/branding/banner.svg new file mode 100644 index 00000000..85de7525 --- /dev/null +++ b/branding/banner.svg @@ -0,0 +1 @@ +File Browser diff --git a/branding/icon.png b/branding/icon.png new file mode 100644 index 00000000..ba267bc0 Binary files /dev/null and b/branding/icon.png differ diff --git a/branding/icon.svg b/branding/icon.svg new file mode 100644 index 00000000..df65444a --- /dev/null +++ b/branding/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/branding/logo.png b/branding/logo.png new file mode 100644 index 00000000..22225604 Binary files /dev/null and b/branding/logo.png differ diff --git a/branding/logo.svg b/branding/logo.svg new file mode 100644 index 00000000..dac88ae2 --- /dev/null +++ b/branding/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build.sh b/build.sh deleted file mode 100644 index f38a139f..00000000 --- a/build.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -# Install rice tool if not present -if ! [ -x "$(command -v rice)" ]; then - go get github.com/GeertJohan/go.rice/rice -fi - -# Clean the dist folder and build the assets -rm -rf assets/dist -npm run build - -# Embed the assets using rice -rice embed-go diff --git a/caddy/filemanager/filemanager.go b/caddy/filemanager/filemanager.go deleted file mode 100644 index 948de73d..00000000 --- a/caddy/filemanager/filemanager.go +++ /dev/null @@ -1,155 +0,0 @@ -// Package filemanager provides middleware for managing files in a directory -// when directory path is requested instead of a specific file. Based on browse -// middleware. -package filemanager - -import ( - "crypto/md5" - "encoding/hex" - "fmt" - "net/http" - "os" - "path/filepath" - "strings" - - . "github.com/hacdias/filemanager" - "github.com/hacdias/fileutils" - "github.com/mholt/caddy" - "github.com/mholt/caddy/caddyhttp/httpserver" -) - -func init() { - caddy.RegisterPlugin("filemanager", caddy.Plugin{ - ServerType: "http", - Action: setup, - }) -} - -type plugin struct { - Next httpserver.Handler - Configs []*config -} - -type config struct { - *FileManager - baseURL string -} - -// ServeHTTP determines if the request is for this plugin, and if all prerequisites are met. -func (f plugin) ServeHTTP(w http.ResponseWriter, r *http.Request) (int, error) { - for i := range f.Configs { - // Checks if this Path should be handled by File Manager. - if !httpserver.Path(r.URL.Path).Matches(f.Configs[i].baseURL) { - continue - } - - f.Configs[i].ServeHTTP(w, r) - return 0, nil - } - - return f.Next.ServeHTTP(w, r) -} - -// setup configures a new FileManager middleware instance. -func setup(c *caddy.Controller) error { - configs, err := parse(c) - if err != nil { - return err - } - - httpserver.GetConfig(c).AddMiddleware(func(next httpserver.Handler) httpserver.Handler { - return plugin{Configs: configs, Next: next} - }) - - return nil -} - -func parse(c *caddy.Controller) ([]*config, error) { - var ( - configs []*config - ) - - for c.Next() { - baseURL := "/" - baseScope := "." - database := "" - - // Get the baseURL and baseScope - args := c.RemainingArgs() - - if len(args) >= 1 { - baseURL = args[0] - } - - if len(args) > 1 { - baseScope = args[1] - } - - for c.NextBlock() { - switch c.Val() { - case "database": - if !c.NextArg() { - return nil, c.ArgErr() - } - - database = c.Val() - } - } - - caddyConf := httpserver.GetConfig(c) - - path := filepath.Join(caddy.AssetsPath(), "filemanager") - err := os.MkdirAll(path, 0700) - if err != nil { - return nil, err - } - - // if there is a database path and it is not absolute, - // it will be relative to Caddy folder. - if !filepath.IsAbs(database) && database != "" { - database = filepath.Join(path, database) - } - - // If there is no database path on the settings, - // store one in .caddy/filemanager/name.db. - if database == "" { - // The name of the database is the hashed value of a string composed - // by the host, address path and the baseurl of this File Manager - // instance. - hasher := md5.New() - hasher.Write([]byte(caddyConf.Addr.Host + caddyConf.Addr.Path + baseURL)) - sha := hex.EncodeToString(hasher.Sum(nil)) - database = filepath.Join(path, sha+".db") - - fmt.Println("[WARNING] A database is going to be created for your File Manager instace at " + database + - ". It is highly recommended that you set the 'database' option to '" + sha + ".db'\n") - } - - fm, err := New(database, User{ - AllowCommands: true, - AllowEdit: true, - AllowNew: true, - Commands: []string{"git", "svn", "hg"}, - Rules: []*Rule{{ - Regex: true, - Allow: false, - Regexp: &Regexp{Raw: "\\/\\..+"}, - }}, - CSS: "", - FileSystem: fileutils.Dir(baseScope), - }) - - if err != nil { - return nil, err - } - - m := &config{FileManager: fm} - m.SetBaseURL(baseURL) - m.SetPrefixURL(strings.TrimSuffix(caddyConf.Addr.Path, "/")) - m.baseURL = strings.TrimSuffix(baseURL, "/") - - configs = append(configs, m) - } - - return configs, nil -} diff --git a/caddy/hugo/README.md b/caddy/hugo/README.md deleted file mode 100644 index 74b1275a..00000000 --- a/caddy/hugo/README.md +++ /dev/null @@ -1,79 +0,0 @@ -# hugo - a caddy plugin - -[![community](https://img.shields.io/badge/community-forum-ff69b4.svg?style=flat-square)](https://caddy.community) - -hugo fills the gap between Hugo and the browser. [Hugo][6] is an easy and fast static website generator. This plugin fills the gap between Hugo and the end-user, providing you a web interface to manage the whole website. - -Using this plugin, you won't need to have your own computer to edit posts, neither regenerate your static website, because you can do all of that just through your browser. It is an implementation of [hacdias/filemanager][1] library. - -**Requirements:** you need to have the hugo executable in your PATH. You can download it from its [official page][6]. - -## Get Started - -To start using this plugin you just need to go to the [download Caddy page][3] and choose `http.hugo` in the directives section. For further information on how Caddy works refer to [its documentation][4]. - -The default credentials are `admin` for both the user and the password. It is highy recommended to change them after logging in for the first time and to use HTTPS. You can create more users and define their own permissions using the web interface. - -## Syntax - -``` -hugo [directory] [admin] { - database path -} -``` - -+ `directory` is the path, relative or absolute to the directory of your Hugo files. Defaults to `./`. -+ `admin` is the URL path where you will access the admin interface. Defaults to `/admin`. -+ `path` is the database path where the settings will be stored. By default, the settings will be stored on [`.caddy`][5] folder. - -## Database - -By default the database will be stored on [`.caddy`][5] directory, in a sub-directory called `hugo`. Each file name is an hash of the combination of the host and the base URL. - -If you don't set a database path, you will receive a warning like this: - -> [WARNING] A database is going to be created for your File Manager instace at ~/.caddy/hugo/xxx.db. It is highly recommended that you set the 'database' option to 'xxx.db' - -Why? If you don't set a database path and you change the host or the base URL, your settings will be reseted. So it is *highly* recommended to set this option. - -When you set a relative path, such as `xxxxxxxxxx.db`, it will always be relative to `.caddy/hugo` directory. Although, you may also use an absolute path if you wish to store the database in other place. - -## Examples - -Manage the current working directory's Hugo website at `/admin` and display the ```public``` folder to the user. - -``` -root public -hugo { - database myinstance.db -} -``` - -Manage the Hugo website located at `/var/www/mysite` at `/admin` and display the ```public``` folder to the user. - -``` -root /var/www/mysite/public -hugo /var/www/mysite { - database myinstance.db -} -``` - -Manage the Hugo website located at `/var/www/mysite` at `/private` and display the ```public``` folder to the user. - -``` -root /var/www/mysite/public -hugo /var/www/mysite /private { - database myinstance.db -} -``` - -## Known Issues - -If you are having troubles **handling large files** you might need to check out the [`timeouts`][2] plugin, which can be used to change the default HTTP Timeouts. - -[1]:https://github.com/hacdias/filemanager -[2]:https://caddyserver.com/docs/timeouts -[3]:https://caddyserver.com/download -[4]:https://caddyserver.com/docs -[5]:https://caddyserver.com/docs/automatic-https#dot-caddy -[6]:http://gohugo.io diff --git a/caddy/hugo/hugo.go b/caddy/hugo/hugo.go deleted file mode 100644 index 7da39d58..00000000 --- a/caddy/hugo/hugo.go +++ /dev/null @@ -1,168 +0,0 @@ -package hugo - -import ( - "crypto/md5" - "encoding/hex" - "fmt" - "net/http" - "os" - "path/filepath" - "strings" - - "github.com/hacdias/filemanager" - "github.com/hacdias/filemanager/plugins" - "github.com/hacdias/fileutils" - "github.com/mholt/caddy" - "github.com/mholt/caddy/caddyhttp/httpserver" -) - -// setup configures a new FileManager middleware instance. -func setup(c *caddy.Controller) error { - configs, err := parse(c) - if err != nil { - return err - } - - httpserver.GetConfig(c).AddMiddleware(func(next httpserver.Handler) httpserver.Handler { - return plugin{Configs: configs, Next: next} - }) - - return nil -} - -func parse(c *caddy.Controller) ([]*filemanager.FileManager, error) { - var ( - configs []*filemanager.FileManager - ) - - for c.Next() { - // hugo [directory] [admin] { - // database path - // } - directory := "." - admin := "/admin" - database := "" - - // Get the baseURL and baseScope - args := c.RemainingArgs() - - if len(args) >= 1 { - directory = args[0] - } - - if len(args) > 1 { - admin = args[1] - } - - for c.NextBlock() { - switch c.Val() { - case "database": - if !c.NextArg() { - return nil, c.ArgErr() - } - - database = c.Val() - } - } - - caddyConf := httpserver.GetConfig(c) - - path := filepath.Join(caddy.AssetsPath(), "hugo") - err := os.MkdirAll(path, 0700) - if err != nil { - return nil, err - } - - // if there is a database path and it is not absolute, - // it will be relative to ".caddy" folder. - if !filepath.IsAbs(database) && database != "" { - database = filepath.Join(path, database) - } - - // If there is no database path on the settings, - // store one in .caddy/hugo/{name}.db. - if database == "" { - // The name of the database is the hashed value of a string composed - // by the host, address path and the baseurl of this File Manager - // instance. - hasher := md5.New() - hasher.Write([]byte(caddyConf.Addr.Host + caddyConf.Addr.Path + admin)) - sha := hex.EncodeToString(hasher.Sum(nil)) - database = filepath.Join(path, sha+".db") - - fmt.Println("[WARNING] A database is going to be created for your Hugo instace at " + database + - ". It is highly recommended that you set the 'database' option to '" + sha + ".db'\n") - } - - m, err := filemanager.New(database, filemanager.User{ - AllowCommands: true, - AllowEdit: true, - AllowNew: true, - Permissions: map[string]bool{}, - Commands: []string{"git", "svn", "hg"}, - Rules: []*filemanager.Rule{{ - Regex: true, - Allow: false, - Regexp: &filemanager.Regexp{Raw: "\\/\\..+"}, - }}, - CSS: "", - FileSystem: fileutils.Dir(directory), - }) - - if err != nil { - return nil, err - } - - // Initialize the default settings for Hugo. - hugo := &plugins.Hugo{ - Root: directory, - Public: filepath.Join(directory, "public"), - Args: []string{}, - CleanPublic: true, - } - - // Try to find the Hugo executable path. - if err = hugo.Find(); err != nil { - return nil, err - } - - // Attaches Hugo plugin to this file manager instance. - err = m.ActivatePlugin("hugo", hugo) - if err != nil { - return nil, err - } - - m.SetBaseURL(admin) - m.SetPrefixURL(strings.TrimSuffix(caddyConf.Addr.Path, "/")) - configs = append(configs, m) - } - - return configs, nil -} - -// ServeHTTP determines if the request is for this plugin, and if all prerequisites are met. -func (p plugin) ServeHTTP(w http.ResponseWriter, r *http.Request) (int, error) { - for i := range p.Configs { - // Checks if this Path should be handled by File Manager. - if !httpserver.Path(r.URL.Path).Matches(p.Configs[i].BaseURL) { - continue - } - - p.Configs[i].ServeHTTP(w, r) - return 0, nil - } - - return p.Next.ServeHTTP(w, r) -} - -func init() { - caddy.RegisterPlugin("hugo", caddy.Plugin{ - ServerType: "http", - Action: setup, - }) -} - -type plugin struct { - Next httpserver.Handler - Configs []*filemanager.FileManager -} diff --git a/cmd/cmd.go b/cmd/cmd.go new file mode 100644 index 00000000..2dc02107 --- /dev/null +++ b/cmd/cmd.go @@ -0,0 +1,6 @@ +package cmd + +// Execute executes the commands. +func Execute() error { + return rootCmd.Execute() +} diff --git a/cmd/cmd_test.go b/cmd/cmd_test.go new file mode 100644 index 00000000..e4b45c47 --- /dev/null +++ b/cmd/cmd_test.go @@ -0,0 +1,35 @@ +package cmd + +import ( + "testing" + + "github.com/samber/lo" + "github.com/spf13/cobra" +) + +// TestEnvCollisions ensures that there are no collisions in the produced environment +// variable names for all commands and their flags. +func TestEnvCollisions(t *testing.T) { + testEnvCollisions(t, rootCmd) +} + +func testEnvCollisions(t *testing.T, cmd *cobra.Command) { + for _, cmd := range cmd.Commands() { + testEnvCollisions(t, cmd) + } + + replacements := generateEnvKeyReplacements(cmd) + envVariables := []string{} + + for i := range replacements { + if i%2 != 0 { + envVariables = append(envVariables, replacements[i]) + } + } + + duplicates := lo.FindDuplicates(envVariables) + + if len(duplicates) > 0 { + t.Errorf("Found duplicate environment variable keys for command %q: %v", cmd.Name(), duplicates) + } +} diff --git a/cmd/cmds.go b/cmd/cmds.go new file mode 100644 index 00000000..cf951995 --- /dev/null +++ b/cmd/cmds.go @@ -0,0 +1,26 @@ +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +func init() { + rootCmd.AddCommand(cmdsCmd) +} + +var cmdsCmd = &cobra.Command{ + Use: "cmds", + Short: "Command runner management utility", + Long: `Command runner management utility.`, + Args: cobra.NoArgs, +} + +func printEvents(m map[string][]string) { + for evt, cmds := range m { + for i, cmd := range cmds { + fmt.Printf("%s(%d): %s\n", evt, i, cmd) + } + } +} diff --git a/cmd/cmds_add.go b/cmd/cmds_add.go new file mode 100644 index 00000000..a209b83f --- /dev/null +++ b/cmd/cmds_add.go @@ -0,0 +1,32 @@ +package cmd + +import ( + "strings" + + "github.com/spf13/cobra" +) + +func init() { + cmdsCmd.AddCommand(cmdsAddCmd) +} + +var cmdsAddCmd = &cobra.Command{ + Use: "add ", + Short: "Add a command to run on a specific event", + Long: `Add a command to run on a specific event.`, + Args: cobra.MinimumNArgs(2), + RunE: withStore(func(_ *cobra.Command, args []string, st *store) error { + s, err := st.Settings.Get() + if err != nil { + return err + } + command := strings.Join(args[1:], " ") + s.Commands[args[0]] = append(s.Commands[args[0]], command) + err = st.Settings.Save(s) + if err != nil { + return err + } + printEvents(s.Commands) + return nil + }, storeOptions{}), +} diff --git a/cmd/cmds_ls.go b/cmd/cmds_ls.go new file mode 100644 index 00000000..694be178 --- /dev/null +++ b/cmd/cmds_ls.go @@ -0,0 +1,39 @@ +package cmd + +import ( + "github.com/spf13/cobra" +) + +func init() { + cmdsCmd.AddCommand(cmdsLsCmd) + cmdsLsCmd.Flags().StringP("event", "e", "", "event name, without 'before' or 'after'") +} + +var cmdsLsCmd = &cobra.Command{ + Use: "ls", + Short: "List all commands for each event", + Long: `List all commands for each event.`, + Args: cobra.NoArgs, + RunE: withStore(func(cmd *cobra.Command, _ []string, st *store) error { + s, err := st.Settings.Get() + if err != nil { + return err + } + + evt, err := cmd.Flags().GetString("event") + if err != nil { + return err + } + + if evt == "" { + printEvents(s.Commands) + } else { + show := map[string][]string{} + show["before_"+evt] = s.Commands["before_"+evt] + show["after_"+evt] = s.Commands["after_"+evt] + printEvents(show) + } + + return nil + }, storeOptions{}), +} diff --git a/cmd/cmds_rm.go b/cmd/cmds_rm.go new file mode 100644 index 00000000..861f495f --- /dev/null +++ b/cmd/cmds_rm.go @@ -0,0 +1,65 @@ +package cmd + +import ( + "strconv" + + "github.com/spf13/cobra" +) + +func init() { + cmdsCmd.AddCommand(cmdsRmCmd) +} + +var cmdsRmCmd = &cobra.Command{ + Use: "rm [index_end]", + Short: "Removes a command from an event hooker", + Long: `Removes a command from an event hooker. The provided index +is the same that's printed when you run 'cmds ls'. Note +that after each removal/addition, the index of the +commands change. So be careful when removing them after each +other. + +You can also specify an optional parameter (index_end) so +you can remove all commands from 'index' to 'index_end', +including 'index_end'.`, + Args: func(cmd *cobra.Command, args []string) error { + if err := cobra.RangeArgs(2, 3)(cmd, args); err != nil { + return err + } + + for _, arg := range args[1:] { + if _, err := strconv.Atoi(arg); err != nil { + return err + } + } + + return nil + }, + RunE: withStore(func(_ *cobra.Command, args []string, st *store) error { + s, err := st.Settings.Get() + if err != nil { + return err + } + evt := args[0] + + i, err := strconv.Atoi(args[1]) + if err != nil { + return err + } + f := i + if len(args) == 3 { + f, err = strconv.Atoi(args[2]) + if err != nil { + return err + } + } + + s.Commands[evt] = append(s.Commands[evt][:i], s.Commands[evt][f+1:]...) + err = st.Settings.Save(s) + if err != nil { + return err + } + printEvents(s.Commands) + return nil + }, storeOptions{}), +} diff --git a/cmd/config.go b/cmd/config.go new file mode 100644 index 00000000..5b3314ed --- /dev/null +++ b/cmd/config.go @@ -0,0 +1,391 @@ +package cmd + +import ( + "encoding/json" + "errors" + "fmt" + "os" + "strings" + "text/tabwriter" + + "github.com/spf13/cobra" + "github.com/spf13/pflag" + + "github.com/filebrowser/filebrowser/v2/auth" + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/settings" +) + +func init() { + rootCmd.AddCommand(configCmd) +} + +var configCmd = &cobra.Command{ + Use: "config", + Short: "Configuration management utility", + Long: `Configuration management utility.`, + Args: cobra.NoArgs, +} + +func addConfigFlags(flags *pflag.FlagSet) { + addServerFlags(flags) + addUserFlags(flags) + + flags.BoolP("signup", "s", false, "allow users to signup") + flags.Bool("hideLoginButton", false, "hide login button from public pages") + flags.Bool("createUserDir", false, "generate user's home directory automatically") + flags.Uint("minimumPasswordLength", settings.DefaultMinimumPasswordLength, "minimum password length for new users") + flags.String("shell", "", "shell command to which other commands should be appended") + + // NB: these are string so they can be presented as octal in the help text + // as that's the conventional representation for modes in Unix. + flags.String("fileMode", fmt.Sprintf("%O", settings.DefaultFileMode), "mode bits that new files are created with") + flags.String("dirMode", fmt.Sprintf("%O", settings.DefaultDirMode), "mode bits that new directories are created with") + + flags.String("auth.method", string(auth.MethodJSONAuth), "authentication type") + flags.String("auth.header", "", "HTTP header for auth.method=proxy") + flags.String("auth.command", "", "command for auth.method=hook") + flags.String("auth.logoutPage", "", "url of custom logout page") + + flags.String("recaptcha.host", "https://www.google.com", "use another host for ReCAPTCHA. recaptcha.net might be useful in China") + flags.String("recaptcha.key", "", "ReCaptcha site key") + flags.String("recaptcha.secret", "", "ReCaptcha secret") + + flags.String("branding.name", "", "replace 'File Browser' by this name") + flags.String("branding.theme", "", "set the theme") + flags.String("branding.color", "", "set the theme color") + flags.String("branding.files", "", "path to directory with images and custom styles") + flags.Bool("branding.disableExternal", false, "disable external links such as GitHub links") + flags.Bool("branding.disableUsedPercentage", false, "disable used disk percentage graph") + + flags.Uint64("tus.chunkSize", settings.DefaultTusChunkSize, "the tus chunk size") + flags.Uint16("tus.retryCount", settings.DefaultTusRetryCount, "the tus retry count") +} + +func getAuthMethod(flags *pflag.FlagSet, defaults ...interface{}) (settings.AuthMethod, map[string]interface{}, error) { + methodStr, err := flags.GetString("auth.method") + if err != nil { + return "", nil, err + } + method := settings.AuthMethod(methodStr) + + var defaultAuther map[string]interface{} + if len(defaults) > 0 { + if hasAuth := defaults[0]; hasAuth != true { + for _, arg := range defaults { + switch def := arg.(type) { + case *settings.Settings: + method = def.AuthMethod + case auth.Auther: + ms, err := json.Marshal(def) + if err != nil { + return "", nil, err + } + err = json.Unmarshal(ms, &defaultAuther) + if err != nil { + return "", nil, err + } + } + } + } + } + + return method, defaultAuther, nil +} + +func getProxyAuth(flags *pflag.FlagSet, defaultAuther map[string]interface{}) (auth.Auther, error) { + header, err := flags.GetString("auth.header") + if err != nil { + return nil, err + } + + if header == "" && defaultAuther != nil { + header = defaultAuther["header"].(string) + } + + if header == "" { + return nil, errors.New("you must set the flag 'auth.header' for method 'proxy'") + } + + return &auth.ProxyAuth{Header: header}, nil +} + +func getNoAuth() auth.Auther { + return &auth.NoAuth{} +} + +func getJSONAuth(flags *pflag.FlagSet, defaultAuther map[string]interface{}) (auth.Auther, error) { + jsonAuth := &auth.JSONAuth{} + host, err := flags.GetString("recaptcha.host") + if err != nil { + return nil, err + } + + key, err := flags.GetString("recaptcha.key") + if err != nil { + return nil, err + } + + secret, err := flags.GetString("recaptcha.secret") + if err != nil { + return nil, err + } + + if key == "" { + if kmap, ok := defaultAuther["recaptcha"].(map[string]interface{}); ok { + key = kmap["key"].(string) + } + } + + if secret == "" { + if smap, ok := defaultAuther["recaptcha"].(map[string]interface{}); ok { + secret = smap["secret"].(string) + } + } + + if key != "" && secret != "" { + jsonAuth.ReCaptcha = &auth.ReCaptcha{ + Host: host, + Key: key, + Secret: secret, + } + } + return jsonAuth, nil +} + +func getHookAuth(flags *pflag.FlagSet, defaultAuther map[string]interface{}) (auth.Auther, error) { + command, err := flags.GetString("auth.command") + if err != nil { + return nil, err + } + if command == "" { + command = defaultAuther["command"].(string) + } + + if command == "" { + return nil, errors.New("you must set the flag 'auth.command' for method 'hook'") + } + + return &auth.HookAuth{Command: command}, nil +} + +func getAuthentication(flags *pflag.FlagSet, defaults ...interface{}) (settings.AuthMethod, auth.Auther, error) { + method, defaultAuther, err := getAuthMethod(flags, defaults...) + if err != nil { + return "", nil, err + } + + var auther auth.Auther + switch method { + case auth.MethodProxyAuth: + auther, err = getProxyAuth(flags, defaultAuther) + case auth.MethodNoAuth: + auther = getNoAuth() + case auth.MethodJSONAuth: + auther, err = getJSONAuth(flags, defaultAuther) + case auth.MethodHookAuth: + auther, err = getHookAuth(flags, defaultAuther) + default: + return "", nil, fberrors.ErrInvalidAuthMethod + } + + if err != nil { + return "", nil, err + } + + return method, auther, nil +} + +func printSettings(ser *settings.Server, set *settings.Settings, auther auth.Auther) error { + w := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0) + + fmt.Fprintf(w, "Sign up:\t%t\n", set.Signup) + fmt.Fprintf(w, "Hide Login Button:\t%t\n", set.HideLoginButton) + fmt.Fprintf(w, "Create User Dir:\t%t\n", set.CreateUserDir) + fmt.Fprintf(w, "Logout Page:\t%s\n", set.LogoutPage) + fmt.Fprintf(w, "Minimum Password Length:\t%d\n", set.MinimumPasswordLength) + fmt.Fprintf(w, "Auth Method:\t%s\n", set.AuthMethod) + fmt.Fprintf(w, "Shell:\t%s\t\n", strings.Join(set.Shell, " ")) + + fmt.Fprintln(w, "\nBranding:") + fmt.Fprintf(w, "\tName:\t%s\n", set.Branding.Name) + fmt.Fprintf(w, "\tFiles override:\t%s\n", set.Branding.Files) + fmt.Fprintf(w, "\tDisable external links:\t%t\n", set.Branding.DisableExternal) + fmt.Fprintf(w, "\tDisable used disk percentage graph:\t%t\n", set.Branding.DisableUsedPercentage) + fmt.Fprintf(w, "\tColor:\t%s\n", set.Branding.Color) + fmt.Fprintf(w, "\tTheme:\t%s\n", set.Branding.Theme) + + fmt.Fprintln(w, "\nServer:") + fmt.Fprintf(w, "\tLog:\t%s\n", ser.Log) + fmt.Fprintf(w, "\tPort:\t%s\n", ser.Port) + fmt.Fprintf(w, "\tBase URL:\t%s\n", ser.BaseURL) + fmt.Fprintf(w, "\tRoot:\t%s\n", ser.Root) + fmt.Fprintf(w, "\tSocket:\t%s\n", ser.Socket) + fmt.Fprintf(w, "\tAddress:\t%s\n", ser.Address) + fmt.Fprintf(w, "\tTLS Cert:\t%s\n", ser.TLSCert) + fmt.Fprintf(w, "\tTLS Key:\t%s\n", ser.TLSKey) + fmt.Fprintf(w, "\tToken Expiration Time:\t%s\n", ser.TokenExpirationTime) + fmt.Fprintf(w, "\tExec Enabled:\t%t\n", ser.EnableExec) + fmt.Fprintf(w, "\tThumbnails Enabled:\t%t\n", ser.EnableThumbnails) + fmt.Fprintf(w, "\tResize Preview:\t%t\n", ser.ResizePreview) + fmt.Fprintf(w, "\tType Detection by Header:\t%t\n", ser.TypeDetectionByHeader) + + fmt.Fprintln(w, "\nTUS:") + fmt.Fprintf(w, "\tChunk size:\t%d\n", set.Tus.ChunkSize) + fmt.Fprintf(w, "\tRetry count:\t%d\n", set.Tus.RetryCount) + + fmt.Fprintln(w, "\nDefaults:") + fmt.Fprintf(w, "\tScope:\t%s\n", set.Defaults.Scope) + fmt.Fprintf(w, "\tHideDotfiles:\t%t\n", set.Defaults.HideDotfiles) + fmt.Fprintf(w, "\tLocale:\t%s\n", set.Defaults.Locale) + fmt.Fprintf(w, "\tView mode:\t%s\n", set.Defaults.ViewMode) + fmt.Fprintf(w, "\tSingle Click:\t%t\n", set.Defaults.SingleClick) + fmt.Fprintf(w, "\tRedirect after Copy/Move:\t%t\n", set.Defaults.RedirectAfterCopyMove) + fmt.Fprintf(w, "\tFile Creation Mode:\t%O\n", set.FileMode) + fmt.Fprintf(w, "\tDirectory Creation Mode:\t%O\n", set.DirMode) + fmt.Fprintf(w, "\tCommands:\t%s\n", strings.Join(set.Defaults.Commands, " ")) + fmt.Fprintf(w, "\tAce editor syntax highlighting theme:\t%s\n", set.Defaults.AceEditorTheme) + + fmt.Fprintf(w, "\tSorting:\n") + fmt.Fprintf(w, "\t\tBy:\t%s\n", set.Defaults.Sorting.By) + fmt.Fprintf(w, "\t\tAsc:\t%t\n", set.Defaults.Sorting.Asc) + + fmt.Fprintf(w, "\tPermissions:\n") + fmt.Fprintf(w, "\t\tAdmin:\t%t\n", set.Defaults.Perm.Admin) + fmt.Fprintf(w, "\t\tExecute:\t%t\n", set.Defaults.Perm.Execute) + fmt.Fprintf(w, "\t\tCreate:\t%t\n", set.Defaults.Perm.Create) + fmt.Fprintf(w, "\t\tRename:\t%t\n", set.Defaults.Perm.Rename) + fmt.Fprintf(w, "\t\tModify:\t%t\n", set.Defaults.Perm.Modify) + fmt.Fprintf(w, "\t\tDelete:\t%t\n", set.Defaults.Perm.Delete) + fmt.Fprintf(w, "\t\tShare:\t%t\n", set.Defaults.Perm.Share) + fmt.Fprintf(w, "\t\tDownload:\t%t\n", set.Defaults.Perm.Download) + + w.Flush() + + b, err := json.MarshalIndent(auther, "", " ") + if err != nil { + return err + } + fmt.Printf("\nAuther configuration (raw):\n\n%s\n\n", string(b)) + return nil +} + +func getSettings(flags *pflag.FlagSet, set *settings.Settings, ser *settings.Server, auther auth.Auther, all bool) (auth.Auther, error) { + errs := []error{} + hasAuth := false + + visit := func(flag *pflag.Flag) { + var err error + + switch flag.Name { + // Server flags from [addServerFlags] + case "address": + ser.Address, err = flags.GetString(flag.Name) + case "log": + ser.Log, err = flags.GetString(flag.Name) + case "port": + ser.Port, err = flags.GetString(flag.Name) + case "cert": + ser.TLSCert, err = flags.GetString(flag.Name) + case "key": + ser.TLSKey, err = flags.GetString(flag.Name) + case "root": + ser.Root, err = flags.GetString(flag.Name) + case "socket": + ser.Socket, err = flags.GetString(flag.Name) + case "baseURL": + ser.BaseURL, err = flags.GetString(flag.Name) + case "tokenExpirationTime": + ser.TokenExpirationTime, err = flags.GetString(flag.Name) + case "disableThumbnails": + ser.EnableThumbnails, err = flags.GetBool(flag.Name) + ser.EnableThumbnails = !ser.EnableThumbnails + case "disablePreviewResize": + ser.ResizePreview, err = flags.GetBool(flag.Name) + ser.ResizePreview = !ser.ResizePreview + case "disableExec": + ser.EnableExec, err = flags.GetBool(flag.Name) + ser.EnableExec = !ser.EnableExec + case "disableTypeDetectionByHeader": + ser.TypeDetectionByHeader, err = flags.GetBool(flag.Name) + ser.TypeDetectionByHeader = !ser.TypeDetectionByHeader + case "disableImageResolutionCalc": + ser.ImageResolutionCal, err = flags.GetBool(flag.Name) + ser.ImageResolutionCal = !ser.ImageResolutionCal + + // Settings flags from [addConfigFlags] + case "signup": + set.Signup, err = flags.GetBool(flag.Name) + case "hideLoginButton": + set.HideLoginButton, err = flags.GetBool(flag.Name) + case "createUserDir": + set.CreateUserDir, err = flags.GetBool(flag.Name) + case "minimumPasswordLength": + set.MinimumPasswordLength, err = flags.GetUint(flag.Name) + case "shell": + var shell string + shell, err = flags.GetString(flag.Name) + if err == nil { + set.Shell = convertCmdStrToCmdArray(shell) + } + case "fileMode": + set.FileMode, err = getAndParseFileMode(flags, flag.Name) + case "dirMode": + set.DirMode, err = getAndParseFileMode(flags, flag.Name) + case "auth.method": + hasAuth = true + case "auth.logoutPage": + set.LogoutPage, err = flags.GetString(flag.Name) + case "branding.name": + set.Branding.Name, err = flags.GetString(flag.Name) + case "branding.theme": + set.Branding.Theme, err = flags.GetString(flag.Name) + case "branding.color": + set.Branding.Color, err = flags.GetString(flag.Name) + case "branding.files": + set.Branding.Files, err = flags.GetString(flag.Name) + case "branding.disableExternal": + set.Branding.DisableExternal, err = flags.GetBool(flag.Name) + case "branding.disableUsedPercentage": + set.Branding.DisableUsedPercentage, err = flags.GetBool(flag.Name) + case "tus.chunkSize": + set.Tus.ChunkSize, err = flags.GetUint64(flag.Name) + case "tus.retryCount": + set.Tus.RetryCount, err = flags.GetUint16(flag.Name) + } + + if err != nil { + errs = append(errs, err) + } + } + + if all { + flags.VisitAll(visit) + } else { + flags.Visit(visit) + } + + err := errors.Join(errs...) + if err != nil { + return nil, err + } + + err = getUserDefaults(flags, &set.Defaults, all) + if err != nil { + return nil, err + } + + if all { + set.AuthMethod, auther, err = getAuthentication(flags) + if err != nil { + return nil, err + } + } else { + set.AuthMethod, auther, err = getAuthentication(flags, hasAuth, set, auther) + if err != nil { + return nil, err + } + } + + return auther, nil +} diff --git a/cmd/config_cat.go b/cmd/config_cat.go new file mode 100644 index 00000000..b8d2f48f --- /dev/null +++ b/cmd/config_cat.go @@ -0,0 +1,31 @@ +package cmd + +import ( + "github.com/spf13/cobra" +) + +func init() { + configCmd.AddCommand(configCatCmd) +} + +var configCatCmd = &cobra.Command{ + Use: "cat", + Short: "Prints the configuration", + Long: `Prints the configuration.`, + Args: cobra.NoArgs, + RunE: withStore(func(_ *cobra.Command, _ []string, st *store) error { + set, err := st.Settings.Get() + if err != nil { + return err + } + ser, err := st.Settings.GetServer() + if err != nil { + return err + } + auther, err := st.Auth.Get(set.AuthMethod) + if err != nil { + return err + } + return printSettings(ser, set, auther) + }, storeOptions{}), +} diff --git a/cmd/config_export.go b/cmd/config_export.go new file mode 100644 index 00000000..b19c10b6 --- /dev/null +++ b/cmd/config_export.go @@ -0,0 +1,46 @@ +package cmd + +import ( + "github.com/spf13/cobra" +) + +func init() { + configCmd.AddCommand(configExportCmd) +} + +var configExportCmd = &cobra.Command{ + Use: "export ", + Short: "Export the configuration to a file", + Long: `Export the configuration to a file. The path must be for a +json or yaml file. This exported configuration can be changed, +and imported again with 'config import' command.`, + Args: jsonYamlArg, + RunE: withStore(func(_ *cobra.Command, args []string, st *store) error { + settings, err := st.Settings.Get() + if err != nil { + return err + } + + server, err := st.Settings.GetServer() + if err != nil { + return err + } + + auther, err := st.Auth.Get(settings.AuthMethod) + if err != nil { + return err + } + + data := &settingsFile{ + Settings: settings, + Auther: auther, + Server: server, + } + + err = marshal(args[0], data) + if err != nil { + return err + } + return nil + }, storeOptions{}), +} diff --git a/cmd/config_import.go b/cmd/config_import.go new file mode 100644 index 00000000..9a838721 --- /dev/null +++ b/cmd/config_import.go @@ -0,0 +1,126 @@ +package cmd + +import ( + "encoding/json" + "errors" + "path/filepath" + "reflect" + + "github.com/spf13/cobra" + + "github.com/filebrowser/filebrowser/v2/auth" + "github.com/filebrowser/filebrowser/v2/settings" +) + +func init() { + configCmd.AddCommand(configImportCmd) +} + +type settingsFile struct { + Settings *settings.Settings `json:"settings"` + Server *settings.Server `json:"server"` + Auther interface{} `json:"auther"` +} + +var configImportCmd = &cobra.Command{ + Use: "import ", + Short: "Import a configuration file", + Long: `Import a configuration file. This will replace all the existing +configuration. Can be used with or without unexisting databases. + +If used with a nonexisting database, a key will be generated +automatically. Otherwise the key will be kept the same as in the +database. + +The path must be for a json or yaml file.`, + Args: jsonYamlArg, + RunE: withStore(func(_ *cobra.Command, args []string, st *store) error { + var key []byte + var err error + if st.databaseExisted { + settings, settingErr := st.Settings.Get() + if settingErr != nil { + return settingErr + } + key = settings.Key + } else { + key = generateKey() + } + + file := settingsFile{} + err = unmarshal(args[0], &file) + if err != nil { + return err + } + + if file.Settings == nil || file.Server == nil { + return errors.New("invalid configuration file: 'settings' or 'server' fields are missing. Please ensure you are importing a file generated by the 'config export' command") + } + + file.Settings.Key = key + err = st.Settings.Save(file.Settings) + if err != nil { + return err + } + + err = st.Settings.SaveServer(file.Server) + if err != nil { + return err + } + + var rawAuther interface{} + if filepath.Ext(args[0]) != ".json" { + rawAuther = cleanUpInterfaceMap(file.Auther.(map[interface{}]interface{})) + } else { + rawAuther = file.Auther + } + + var auther auth.Auther + var autherErr error + switch file.Settings.AuthMethod { + case auth.MethodJSONAuth: + var a interface{} + a, autherErr = getAuther(auth.JSONAuth{}, rawAuther) + auther = a.(*auth.JSONAuth) + case auth.MethodNoAuth: + var a interface{} + a, autherErr = getAuther(auth.NoAuth{}, rawAuther) + auther = a.(*auth.NoAuth) + case auth.MethodProxyAuth: + var a interface{} + a, autherErr = getAuther(auth.ProxyAuth{}, rawAuther) + auther = a.(*auth.ProxyAuth) + case auth.MethodHookAuth: + var a interface{} + a, autherErr = getAuther(&auth.HookAuth{}, rawAuther) + auther = a.(*auth.HookAuth) + default: + return errors.New("invalid auth method") + } + + if autherErr != nil { + return autherErr + } + + err = st.Auth.Save(auther) + if err != nil { + return err + } + + return printSettings(file.Server, file.Settings, auther) + }, storeOptions{allowsNoDatabase: true}), +} + +func getAuther(sample auth.Auther, data interface{}) (interface{}, error) { + authType := reflect.TypeOf(sample) + auther := reflect.New(authType).Interface() + bytes, err := json.Marshal(data) + if err != nil { + return nil, err + } + err = json.Unmarshal(bytes, &auther) + if err != nil { + return nil, err + } + return auther, nil +} diff --git a/cmd/config_init.go b/cmd/config_init.go new file mode 100644 index 00000000..359d02a3 --- /dev/null +++ b/cmd/config_init.go @@ -0,0 +1,61 @@ +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" + + "github.com/filebrowser/filebrowser/v2/settings" +) + +func init() { + configCmd.AddCommand(configInitCmd) + addConfigFlags(configInitCmd.Flags()) +} + +var configInitCmd = &cobra.Command{ + Use: "init", + Short: "Initialize a new database", + Long: `Initialize a new database to use with File Browser. All of +this options can be changed in the future with the command +'filebrowser config set'. The user related flags apply +to the defaults when creating new users and you don't +override the options.`, + Args: cobra.NoArgs, + RunE: withStore(func(cmd *cobra.Command, _ []string, st *store) error { + flags := cmd.Flags() + + // Initialize config + s := &settings.Settings{Key: generateKey()} + ser := &settings.Server{} + + // Fill config with options + auther, err := getSettings(flags, s, ser, nil, true) + if err != nil { + return err + } + + // Save updated config + err = st.Settings.Save(s) + if err != nil { + return err + } + + err = st.Settings.SaveServer(ser) + if err != nil { + return err + } + + err = st.Auth.Save(auther) + if err != nil { + return err + } + + fmt.Printf(` +Congratulations! You've set up your database to use with File Browser. +Now add your first user via 'filebrowser users add' and then you just +need to call the main command to boot up the server. +`) + return printSettings(ser, s, auther) + }, storeOptions{expectsNoDatabase: true}), +} diff --git a/cmd/config_set.go b/cmd/config_set.go new file mode 100644 index 00000000..df357a02 --- /dev/null +++ b/cmd/config_set.go @@ -0,0 +1,61 @@ +package cmd + +import ( + "github.com/spf13/cobra" +) + +func init() { + configCmd.AddCommand(configSetCmd) + addConfigFlags(configSetCmd.Flags()) +} + +var configSetCmd = &cobra.Command{ + Use: "set", + Short: "Updates the configuration", + Long: `Updates the configuration. Set the flags for the options +you want to change. Other options will remain unchanged.`, + Args: cobra.NoArgs, + RunE: withStore(func(cmd *cobra.Command, _ []string, st *store) error { + flags := cmd.Flags() + + // Read existing config + set, err := st.Settings.Get() + if err != nil { + return err + } + + ser, err := st.Settings.GetServer() + if err != nil { + return err + } + + auther, err := st.Auth.Get(set.AuthMethod) + if err != nil { + return err + } + + // Get updated config + auther, err = getSettings(flags, set, ser, auther, false) + if err != nil { + return err + } + + // Save updated config + err = st.Auth.Save(auther) + if err != nil { + return err + } + + err = st.Settings.Save(set) + if err != nil { + return err + } + + err = st.Settings.SaveServer(ser) + if err != nil { + return err + } + + return printSettings(ser, set, auther) + }, storeOptions{}), +} diff --git a/cmd/docs.go b/cmd/docs.go new file mode 100644 index 00000000..d65a29be --- /dev/null +++ b/cmd/docs.go @@ -0,0 +1,82 @@ +package cmd + +import ( + "bytes" + "fmt" + "os" + "path" + "regexp" + "strings" + + "github.com/spf13/cobra" + "github.com/spf13/cobra/doc" +) + +func init() { + rootCmd.AddCommand(docsCmd) + docsCmd.Flags().String("out", "www/docs/cli", "directory to write the docs to") +} + +var docsCmd = &cobra.Command{ + Use: "docs", + Hidden: true, + Args: cobra.NoArgs, + RunE: func(cmd *cobra.Command, _ []string) error { + outputDir, err := cmd.Flags().GetString("out") + if err != nil { + return err + } + + tempDir, err := os.MkdirTemp(os.TempDir(), "filebrowser-docs-") + if err != nil { + return err + } + defer os.RemoveAll(tempDir) + + rootCmd.Root().DisableAutoGenTag = true + + err = doc.GenMarkdownTreeCustom(cmd.Root(), tempDir, func(_ string) string { + return "" + }, func(s string) string { + return s + }) + if err != nil { + return err + } + + entries, err := os.ReadDir(tempDir) + if err != nil { + return err + } + + headerRegex := regexp.MustCompile(`(?m)^(##)(.*)$`) + linkRegex := regexp.MustCompile(`\(filebrowser(.*)\.md\)`) + + fmt.Println("Generated Documents:") + + for _, entry := range entries { + srcPath := path.Join(tempDir, entry.Name()) + dstPath := path.Join(outputDir, strings.ReplaceAll(entry.Name(), "_", "-")) + + data, err := os.ReadFile(srcPath) + if err != nil { + return err + } + + data = headerRegex.ReplaceAll(data, []byte("#$2")) + data = linkRegex.ReplaceAllFunc(data, func(b []byte) []byte { + return bytes.ReplaceAll(b, []byte("_"), []byte("-")) + }) + data = bytes.ReplaceAll(data, []byte("## SEE ALSO"), []byte("## See Also")) + + err = os.WriteFile(dstPath, data, 0666) + if err != nil { + return err + } + + fmt.Println("- " + dstPath) + } + + return nil + }, +} diff --git a/cmd/filemanager/main.go b/cmd/filemanager/main.go deleted file mode 100644 index 6848c36a..00000000 --- a/cmd/filemanager/main.go +++ /dev/null @@ -1,169 +0,0 @@ -package main - -import ( - "fmt" - "io/ioutil" - "log" - "net" - "net/http" - "os" - "path/filepath" - "strings" - - lumberjack "gopkg.in/natefinch/lumberjack.v2" - - "github.com/hacdias/filemanager/plugins" - - "github.com/hacdias/filemanager" - "github.com/hacdias/fileutils" - flag "github.com/spf13/pflag" - "github.com/spf13/viper" -) - -var ( - addr string - config string - database string - scope string - commands string - logfile string - plugin string - port int - allowCommands bool - allowEdit bool - allowNew bool -) - -func init() { - flag.StringVarP(&config, "config", "c", "", "Configuration file") - flag.IntVarP(&port, "port", "p", 0, "HTTP Port (default is random)") - flag.StringVarP(&addr, "address", "a", "", "Address to listen to (default is all of them)") - flag.StringVarP(&database, "database", "d", "./filemanager.db", "Database file") - flag.StringVarP(&logfile, "log", "l", "stdout", "Errors logger; can use 'stdout', 'stderr' or file") - flag.StringVarP(&scope, "scope", "s", ".", "Default scope option for new users") - flag.StringVar(&commands, "commands", "git svn hg", "Default commands option for new users") - flag.BoolVar(&allowCommands, "allow-commands", true, "Default allow commands option for new users") - flag.BoolVar(&allowEdit, "allow-edit", true, "Default allow edit option for new users") - flag.BoolVar(&allowNew, "allow-new", true, "Default allow new option for new users") - flag.StringVar(&plugin, "plugin", "", "Plugin you want to enable") -} - -func setupViper() { - viper.SetDefault("Address", "") - viper.SetDefault("Port", "0") - viper.SetDefault("Database", "./filemanager.db") - viper.SetDefault("Scope", ".") - viper.SetDefault("Logger", "stdout") - viper.SetDefault("Commands", []string{"git", "svn", "hg"}) - viper.SetDefault("AllowCommmands", true) - viper.SetDefault("AllowEdit", true) - viper.SetDefault("AllowNew", true) - viper.SetDefault("Plugin", "") - - viper.BindPFlag("Port", flag.Lookup("port")) - viper.BindPFlag("Address", flag.Lookup("address")) - viper.BindPFlag("Database", flag.Lookup("database")) - viper.BindPFlag("Scope", flag.Lookup("scope")) - viper.BindPFlag("Logger", flag.Lookup("log")) - viper.BindPFlag("Commands", flag.Lookup("commands")) - viper.BindPFlag("AllowCommands", flag.Lookup("allow-commands")) - viper.BindPFlag("AllowEdit", flag.Lookup("allow-edit")) - viper.BindPFlag("AlowNew", flag.Lookup("allow-new")) - viper.BindPFlag("Plugin", flag.Lookup("plugin")) - - viper.SetConfigName("filemanager") - viper.AddConfigPath(".") -} - -func main() { - setupViper() - flag.Parse() - - // Add a configuration file if set. - if config != "" { - ext := filepath.Ext(config) - dir := filepath.Dir(config) - config = strings.TrimSuffix(config, ext) - - if dir != "" { - viper.AddConfigPath(dir) - config = strings.TrimPrefix(config, dir) - } - - viper.SetConfigName(config) - } - - // Read configuration from a file if exists. - err := viper.ReadInConfig() - if err != nil { - if _, ok := err.(viper.ConfigParseError); ok { - panic(err) - } - } - - // Set up process log before anything bad happens. - switch viper.GetString("Logger") { - case "stdout": - log.SetOutput(os.Stdout) - case "stderr": - log.SetOutput(os.Stderr) - case "": - log.SetOutput(ioutil.Discard) - default: - log.SetOutput(&lumberjack.Logger{ - Filename: logfile, - MaxSize: 100, - MaxAge: 14, - MaxBackups: 10, - }) - } - - // Create a File Manager instance. - fm, err := filemanager.New(viper.GetString("Database"), filemanager.User{ - AllowCommands: viper.GetBool("AllowCommands"), - AllowEdit: viper.GetBool("AllowEdit"), - AllowNew: viper.GetBool("AllowNew"), - Commands: viper.GetStringSlice("Commands"), - Rules: []*filemanager.Rule{}, - CSS: "", - FileSystem: fileutils.Dir(viper.GetString("Scope")), - }) - - if err != nil { - log.Fatal(err) - } - - if viper.GetString("Plugin") == "hugo" { - // Initialize the default settings for Hugo. - hugo := &plugins.Hugo{ - Root: viper.GetString("Scope"), - Public: filepath.Join(viper.GetString("Scope"), "public"), - Args: []string{}, - CleanPublic: true, - } - - // Try to find the Hugo executable path. - if err = hugo.Find(); err != nil { - log.Fatal(err) - } - - if err = fm.ActivatePlugin("hugo", hugo); err != nil { - log.Fatal(err) - } - } - - // Builds the address and a listener. - laddr := viper.GetString("Address") + ":" + viper.GetString("Port") - listener, err := net.Listen("tcp", laddr) - if err != nil { - log.Fatal(err) - } - - // Tell the user the port in which is listening. - fmt.Println("Listening on", listener.Addr().String()) - - // Starts the server. - if err := http.Serve(listener, fm); err != nil { - log.Fatal(err) - } -} diff --git a/cmd/hash.go b/cmd/hash.go new file mode 100644 index 00000000..3e7d8cdc --- /dev/null +++ b/cmd/hash.go @@ -0,0 +1,28 @@ +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" + + "github.com/filebrowser/filebrowser/v2/users" +) + +func init() { + rootCmd.AddCommand(hashCmd) +} + +var hashCmd = &cobra.Command{ + Use: "hash ", + Short: "Hashes a password", + Long: `Hashes a password using bcrypt algorithm.`, + Args: cobra.ExactArgs(1), + RunE: func(_ *cobra.Command, args []string) error { + pwd, err := users.HashPwd(args[0]) + if err != nil { + return err + } + fmt.Println(pwd) + return nil + }, +} diff --git a/cmd/root.go b/cmd/root.go new file mode 100644 index 00000000..981eec4f --- /dev/null +++ b/cmd/root.go @@ -0,0 +1,494 @@ +package cmd + +import ( + "context" + "crypto/tls" + "errors" + "fmt" + "io" + "io/fs" + "log" + "net" + "net/http" + "os" + "os/signal" + "path/filepath" + "syscall" + "time" + + "github.com/spf13/afero" + "github.com/spf13/cobra" + "github.com/spf13/pflag" + "github.com/spf13/viper" + lumberjack "gopkg.in/natefinch/lumberjack.v2" + + "github.com/filebrowser/filebrowser/v2/auth" + "github.com/filebrowser/filebrowser/v2/diskcache" + "github.com/filebrowser/filebrowser/v2/frontend" + fbhttp "github.com/filebrowser/filebrowser/v2/http" + "github.com/filebrowser/filebrowser/v2/img" + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/storage" + "github.com/filebrowser/filebrowser/v2/users" +) + +var ( + flagNamesMigrations = map[string]string{ + "file-mode": "fileMode", + "dir-mode": "dirMode", + "hide-login-button": "hideLoginButton", + "create-user-dir": "createUserDir", + "minimum-password-length": "minimumPasswordLength", + "socket-perm": "socketPerm", + "disable-thumbnails": "disableThumbnails", + "disable-preview-resize": "disablePreviewResize", + "disable-exec": "disableExec", + "disable-type-detection-by-header": "disableTypeDetectionByHeader", + "img-processors": "imageProcessors", + "cache-dir": "cacheDir", + "token-expiration-time": "tokenExpirationTime", + "baseurl": "baseURL", + } + + warnedFlags = map[string]bool{} +) + +// TODO(remove): remove after July 2026. +func migrateFlagNames(_ *pflag.FlagSet, name string) pflag.NormalizedName { + if newName, ok := flagNamesMigrations[name]; ok { + + if !warnedFlags[name] { + warnedFlags[name] = true + log.Printf("DEPRECATION NOTICE: Flag --%s has been deprecated, use --%s instead\n", name, newName) + } + + name = newName + } + + return pflag.NormalizedName(name) +} + +func init() { + rootCmd.SilenceUsage = true + rootCmd.SetGlobalNormalizationFunc(migrateFlagNames) + + cobra.MousetrapHelpText = "" + + rootCmd.SetVersionTemplate("File Browser version {{printf \"%s\" .Version}}\n") + + // Flags available across the whole program + persistent := rootCmd.PersistentFlags() + persistent.StringP("config", "c", "", "config file path") + persistent.StringP("database", "d", "./filebrowser.db", "database path") + + // Runtime flags for the root command + flags := rootCmd.Flags() + flags.Bool("noauth", false, "use the noauth auther when using quick setup") + flags.String("username", "admin", "username for the first user when using quick setup") + flags.String("password", "", "hashed password for the first user when using quick setup") + flags.Uint32("socketPerm", 0666, "unix socket file permissions") + flags.String("cacheDir", "", "file cache directory (disabled if empty)") + flags.Int("imageProcessors", 4, "image processors count") + addServerFlags(flags) +} + +// addServerFlags adds server related flags to the given FlagSet. These flags are available +// in both the root command, config set and config init commands. +func addServerFlags(flags *pflag.FlagSet) { + flags.StringP("address", "a", "127.0.0.1", "address to listen on") + flags.StringP("log", "l", "stdout", "log output") + flags.StringP("port", "p", "8080", "port to listen on") + flags.StringP("cert", "t", "", "tls certificate") + flags.StringP("key", "k", "", "tls key") + flags.StringP("root", "r", ".", "root to prepend to relative paths") + flags.String("socket", "", "socket to listen to (cannot be used with address, port, cert nor key flags)") + flags.StringP("baseURL", "b", "", "base url") + flags.String("tokenExpirationTime", "2h", "user session timeout") + flags.Bool("disableThumbnails", false, "disable image thumbnails") + flags.Bool("disablePreviewResize", false, "disable resize of image previews") + flags.Bool("disableExec", true, "disables Command Runner feature") + flags.Bool("disableTypeDetectionByHeader", false, "disables type detection by reading file headers") + flags.Bool("disableImageResolutionCalc", false, "disables image resolution calculation by reading image files") +} + +var rootCmd = &cobra.Command{ + Use: "filebrowser", + Short: "A stylish web-based file browser", + Long: `File Browser CLI lets you create the database to use with File Browser, +manage your users and all the configurations without accessing the +web interface. + +If you've never run File Browser, you'll need to have a database for +it. Don't worry: you don't need to setup a separate database server. +We're using Bolt DB which is a single file database and all managed +by ourselves. + +For this command, all flags are available as environmental variables, +except for "--config", which specifies the configuration file to use. +The environment variables are prefixed by "FB_" followed by the flag name in +UPPER_SNAKE_CASE. For example, the flag "--disablePreviewResize" is available +as FB_DISABLE_PREVIEW_RESIZE. + +If "--config" is not specified, File Browser will look for a configuration +file named .filebrowser.{json, toml, yaml, yml} in the following directories: + +- ./ +- $HOME/ +- /etc/filebrowser/ + +**Note:** Only the options listed below can be set via the config file or +environment variables. Other configuration options live exclusively in the +database and so they must be set by the "config set" or "config +import" commands. + +The precedence of the configuration values are as follows: + +- Flags +- Environment variables +- Configuration file +- Database values +- Defaults + +Also, if the database path doesn't exist, File Browser will enter into +the quick setup mode and a new database will be bootstrapped and a new +user created with the credentials from options "username" and "password".`, + RunE: withViperAndStore(func(_ *cobra.Command, _ []string, v *viper.Viper, st *store) error { + if !st.databaseExisted { + err := quickSetup(v, st.Storage) + if err != nil { + return err + } + } + + // build img service + imgWorkersCount := v.GetInt("imageProcessors") + if imgWorkersCount < 1 { + return errors.New("image resize workers count could not be < 1") + } + imageService := img.New(imgWorkersCount) + + var fileCache diskcache.Interface = diskcache.NewNoOp() + cacheDir := v.GetString("cacheDir") + if cacheDir != "" { + if err := os.MkdirAll(cacheDir, 0700); err != nil { + return fmt.Errorf("can't make directory %s: %w", cacheDir, err) + } + fileCache = diskcache.New(afero.NewOsFs(), cacheDir) + } + + server, err := getServerSettings(v, st.Storage) + if err != nil { + return err + } + setupLog(server.Log) + + root, err := filepath.Abs(server.Root) + if err != nil { + return err + } + server.Root = root + + adr := server.Address + ":" + server.Port + + var listener net.Listener + + switch { + case server.Socket != "": + listener, err = net.Listen("unix", server.Socket) + if err != nil { + return err + } + socketPerm := v.GetUint32("socketPerm") + err = os.Chmod(server.Socket, os.FileMode(socketPerm)) + if err != nil { + return err + } + case server.TLSKey != "" && server.TLSCert != "": + cer, err := tls.LoadX509KeyPair(server.TLSCert, server.TLSKey) + if err != nil { + return err + } + listener, err = tls.Listen("tcp", adr, &tls.Config{ + MinVersion: tls.VersionTLS12, + Certificates: []tls.Certificate{cer}}, + ) + if err != nil { + return err + } + default: + listener, err = net.Listen("tcp", adr) + if err != nil { + return err + } + } + + assetsFs, err := fs.Sub(frontend.Assets(), "dist") + if err != nil { + panic(err) + } + + handler, err := fbhttp.NewHandler(imageService, fileCache, st.Storage, server, assetsFs) + if err != nil { + return err + } + + defer listener.Close() + + log.Println("Listening on", listener.Addr().String()) + srv := &http.Server{ + Handler: handler, + ReadHeaderTimeout: 60 * time.Second, + } + + go func() { + if err := srv.Serve(listener); !errors.Is(err, http.ErrServerClosed) { + log.Fatalf("HTTP server error: %v", err) + } + + log.Println("Stopped serving new connections.") + }() + + sigc := make(chan os.Signal, 1) + signal.Notify(sigc, + os.Interrupt, + syscall.SIGHUP, + syscall.SIGINT, + syscall.SIGTERM, + syscall.SIGQUIT, + ) + sig := <-sigc + log.Println("Got signal:", sig) + + shutdownCtx, shutdownRelease := context.WithTimeout(context.Background(), 10*time.Second) + defer shutdownRelease() + + if err := srv.Shutdown(shutdownCtx); err != nil { + log.Fatalf("HTTP shutdown error: %v", err) + } + log.Println("Graceful shutdown complete.") + + return nil + }, storeOptions{allowsNoDatabase: true}), +} + +func getServerSettings(v *viper.Viper, st *storage.Storage) (*settings.Server, error) { + server, err := st.Settings.GetServer() + if err != nil { + return nil, err + } + + isSocketSet := false + isAddrSet := false + + if v.IsSet("address") { + server.Address = v.GetString("address") + isAddrSet = true + } + + if v.IsSet("log") { + server.Log = v.GetString("log") + } + + if v.IsSet("port") { + server.Port = v.GetString("port") + isAddrSet = true + } + + if v.IsSet("cert") { + server.TLSCert = v.GetString("cert") + isAddrSet = true + } + + if v.IsSet("key") { + server.TLSKey = v.GetString("key") + isAddrSet = true + } + + if v.IsSet("root") { + server.Root = v.GetString("root") + } + + if v.IsSet("socket") { + server.Socket = v.GetString("socket") + isSocketSet = true + } + + if v.IsSet("baseURL") { + server.BaseURL = v.GetString("baseURL") + // TODO(remove): remove after July 2026. + } else if v := os.Getenv("FB_BASEURL"); v != "" { + log.Println("DEPRECATION NOTICE: Environment variable FB_BASEURL has been deprecated, use FB_BASE_URL instead") + server.BaseURL = v + } + + if v.IsSet("tokenExpirationTime") { + server.TokenExpirationTime = v.GetString("tokenExpirationTime") + } + + if v.IsSet("disableThumbnails") { + server.EnableThumbnails = !v.GetBool("disableThumbnails") + } + + if v.IsSet("disablePreviewResize") { + server.ResizePreview = !v.GetBool("disablePreviewResize") + } + + if v.IsSet("disableTypeDetectionByHeader") { + server.TypeDetectionByHeader = !v.GetBool("disableTypeDetectionByHeader") + } + + if v.IsSet("disableImageResolutionCalc") { + server.ImageResolutionCal = !v.GetBool("disableImageResolutionCalc") + } + + if v.IsSet("disableExec") { + server.EnableExec = !v.GetBool("disableExec") + } + + if isAddrSet && isSocketSet { + return nil, errors.New("--socket flag cannot be used with --address, --port, --key nor --cert") + } + + // Do not use saved Socket if address was manually set. + if isAddrSet && server.Socket != "" { + server.Socket = "" + } + + if server.EnableExec { + log.Println("WARNING: Command Runner feature enabled!") + log.Println("WARNING: This feature has known security vulnerabilities and should not") + log.Println("WARNING: you fully understand the risks involved. For more information") + log.Println("WARNING: read https://github.com/filebrowser/filebrowser/issues/5199") + } + + return server, nil +} + +func setupLog(logMethod string) { + switch logMethod { + case "stdout": + log.SetOutput(os.Stdout) + case "stderr": + log.SetOutput(os.Stderr) + case "": + log.SetOutput(io.Discard) + default: + log.SetOutput(&lumberjack.Logger{ + Filename: logMethod, + MaxSize: 100, + MaxAge: 14, + MaxBackups: 10, + }) + } +} + +func quickSetup(v *viper.Viper, s *storage.Storage) error { + log.Println("Performing quick setup") + + set := &settings.Settings{ + Key: generateKey(), + Signup: false, + HideLoginButton: true, + CreateUserDir: false, + MinimumPasswordLength: settings.DefaultMinimumPasswordLength, + UserHomeBasePath: settings.DefaultUsersHomeBasePath, + Defaults: settings.UserDefaults{ + Scope: ".", + Locale: "en", + SingleClick: false, + RedirectAfterCopyMove: true, + AceEditorTheme: v.GetString("defaults.aceEditorTheme"), + Perm: users.Permissions{ + Admin: false, + Execute: true, + Create: true, + Rename: true, + Modify: true, + Delete: true, + Share: true, + Download: true, + }, + }, + AuthMethod: "", + Branding: settings.Branding{}, + Tus: settings.Tus{ + ChunkSize: settings.DefaultTusChunkSize, + RetryCount: settings.DefaultTusRetryCount, + }, + Commands: nil, + Shell: nil, + Rules: nil, + } + + var err error + if v.GetBool("noauth") { + set.AuthMethod = auth.MethodNoAuth + err = s.Auth.Save(&auth.NoAuth{}) + } else { + set.AuthMethod = auth.MethodJSONAuth + err = s.Auth.Save(&auth.JSONAuth{}) + } + if err != nil { + return err + } + + err = s.Settings.Save(set) + if err != nil { + return err + } + + ser := &settings.Server{ + BaseURL: v.GetString("baseURL"), + Port: v.GetString("port"), + Log: v.GetString("log"), + TLSKey: v.GetString("key"), + TLSCert: v.GetString("cert"), + Address: v.GetString("address"), + Root: v.GetString("root"), + TokenExpirationTime: v.GetString("tokenExpirationTime"), + EnableThumbnails: !v.GetBool("disableThumbnails"), + ResizePreview: !v.GetBool("disablePreviewResize"), + EnableExec: !v.GetBool("disableExec"), + TypeDetectionByHeader: !v.GetBool("disableTypeDetectionByHeader"), + ImageResolutionCal: !v.GetBool("disableImageResolutionCalc"), + } + + err = s.Settings.SaveServer(ser) + if err != nil { + return err + } + + username := v.GetString("username") + password := v.GetString("password") + + if password == "" { + var pwd string + pwd, err = users.RandomPwd(set.MinimumPasswordLength) + if err != nil { + return err + } + + log.Printf("User '%s' initialized with randomly generated password: %s\n", username, pwd) + password, err = users.ValidateAndHashPwd(pwd, set.MinimumPasswordLength) + if err != nil { + return err + } + } else { + log.Printf("User '%s' initialize wth user-provided password\n", username) + } + + if username == "" || password == "" { + log.Fatal("username and password cannot be empty during quick setup") + } + + user := &users.User{ + Username: username, + Password: password, + LockPassword: false, + } + + set.Defaults.Apply(user) + user.Perm.Admin = true + + return s.Users.Save(user) +} diff --git a/cmd/rule_rm.go b/cmd/rule_rm.go new file mode 100644 index 00000000..8ed8f151 --- /dev/null +++ b/cmd/rule_rm.go @@ -0,0 +1,68 @@ +package cmd + +import ( + "strconv" + + "github.com/spf13/cobra" + + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/users" +) + +func init() { + rulesCmd.AddCommand(rulesRmCommand) + rulesRmCommand.Flags().Uint("index", 0, "index of rule to remove") + _ = rulesRmCommand.MarkFlagRequired("index") +} + +var rulesRmCommand = &cobra.Command{ + Use: "rm [index_end]", + Short: "Remove a global rule or user rule", + Long: `Remove a global rule or user rule. The provided index +is the same that's printed when you run 'rules ls'. Note +that after each removal/addition, the index of the +commands change. So be careful when removing them after each +other. + +You can also specify an optional parameter (index_end) so +you can remove all commands from 'index' to 'index_end', +including 'index_end'.`, + Args: func(cmd *cobra.Command, args []string) error { + if err := cobra.RangeArgs(1, 2)(cmd, args); err != nil { + return err + } + + for _, arg := range args { + if _, err := strconv.Atoi(arg); err != nil { + return err + } + } + + return nil + }, + RunE: withStore(func(cmd *cobra.Command, args []string, st *store) error { + i, err := strconv.Atoi(args[0]) + if err != nil { + return err + } + f := i + if len(args) == 2 { + f, err = strconv.Atoi(args[1]) + if err != nil { + return err + } + } + + user := func(u *users.User) error { + u.Rules = append(u.Rules[:i], u.Rules[f+1:]...) + return st.Users.Save(u) + } + + global := func(s *settings.Settings) error { + s.Rules = append(s.Rules[:i], s.Rules[f+1:]...) + return st.Settings.Save(s) + } + + return runRules(st.Storage, cmd, user, global) + }, storeOptions{}), +} diff --git a/cmd/rules.go b/cmd/rules.go new file mode 100644 index 00000000..bdb1d1cf --- /dev/null +++ b/cmd/rules.go @@ -0,0 +1,114 @@ +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" + "github.com/spf13/pflag" + + "github.com/filebrowser/filebrowser/v2/rules" + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/storage" + "github.com/filebrowser/filebrowser/v2/users" +) + +func init() { + rootCmd.AddCommand(rulesCmd) + rulesCmd.PersistentFlags().StringP("username", "u", "", "username of user to which the rules apply") + rulesCmd.PersistentFlags().UintP("id", "i", 0, "id of user to which the rules apply") +} + +var rulesCmd = &cobra.Command{ + Use: "rules", + Short: "Rules management utility", + Long: `On each subcommand you'll have available at least two flags: +"username" and "id". You must either set only one of them +or none. If you set one of them, the command will apply to +an user, otherwise it will be applied to the global set or +rules.`, + Args: cobra.NoArgs, +} + +func runRules(st *storage.Storage, cmd *cobra.Command, usersFn func(*users.User) error, globalFn func(*settings.Settings) error) error { + id, err := getUserIdentifier(cmd.Flags()) + if err != nil { + return err + } + if id != nil { + var user *users.User + user, err = st.Users.Get("", id) + if err != nil { + return err + } + + if usersFn != nil { + err = usersFn(user) + if err != nil { + return err + } + } + + printRules(user.Rules, id) + return nil + } + + s, err := st.Settings.Get() + if err != nil { + return err + } + + if globalFn != nil { + err = globalFn(s) + if err != nil { + return err + } + } + + printRules(s.Rules, id) + return nil +} + +func getUserIdentifier(flags *pflag.FlagSet) (interface{}, error) { + id, err := flags.GetUint("id") + if err != nil { + return nil, err + } + + username, err := flags.GetString("username") + if err != nil { + return nil, err + } + + if id != 0 { + return id, nil + } else if username != "" { + return username, nil + } + + return nil, nil +} + +func printRules(rulez []rules.Rule, id interface{}) { + if id == nil { + fmt.Printf("Global Rules:\n\n") + } else { + fmt.Printf("Rules for user %v:\n\n", id) + } + + for id, rule := range rulez { + fmt.Printf("(%d) ", id) + if rule.Regex { + if rule.Allow { + fmt.Printf("Allow Regex: \t%s\n", rule.Regexp.Raw) + } else { + fmt.Printf("Disallow Regex: \t%s\n", rule.Regexp.Raw) + } + } else { + if rule.Allow { + fmt.Printf("Allow Path: \t%s\n", rule.Path) + } else { + fmt.Printf("Disallow Path: \t%s\n", rule.Path) + } + } + } +} diff --git a/cmd/rules_add.go b/cmd/rules_add.go new file mode 100644 index 00000000..3b34d940 --- /dev/null +++ b/cmd/rules_add.go @@ -0,0 +1,66 @@ +package cmd + +import ( + "regexp" + + "github.com/spf13/cobra" + + "github.com/filebrowser/filebrowser/v2/rules" + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/users" +) + +func init() { + rulesCmd.AddCommand(rulesAddCmd) + rulesAddCmd.Flags().BoolP("allow", "a", false, "indicates this is an allow rule") + rulesAddCmd.Flags().BoolP("regex", "r", false, "indicates this is a regex rule") +} + +var rulesAddCmd = &cobra.Command{ + Use: "add ", + Short: "Add a global rule or user rule", + Long: `Add a global rule or user rule.`, + Args: cobra.ExactArgs(1), + RunE: withStore(func(cmd *cobra.Command, args []string, st *store) error { + flags := cmd.Flags() + + allow, err := flags.GetBool("allow") + if err != nil { + return err + } + + regex, err := flags.GetBool("regex") + if err != nil { + return err + } + + exp := args[0] + + if regex { + regexp.MustCompile(exp) + } + + rule := rules.Rule{ + Allow: allow, + Regex: regex, + } + + if regex { + rule.Regexp = &rules.Regexp{Raw: exp} + } else { + rule.Path = exp + } + + user := func(u *users.User) error { + u.Rules = append(u.Rules, rule) + return st.Users.Save(u) + } + + global := func(s *settings.Settings) error { + s.Rules = append(s.Rules, rule) + return st.Settings.Save(s) + } + + return runRules(st.Storage, cmd, user, global) + }, storeOptions{}), +} diff --git a/cmd/rules_ls.go b/cmd/rules_ls.go new file mode 100644 index 00000000..9aa073d0 --- /dev/null +++ b/cmd/rules_ls.go @@ -0,0 +1,19 @@ +package cmd + +import ( + "github.com/spf13/cobra" +) + +func init() { + rulesCmd.AddCommand(rulesLsCommand) +} + +var rulesLsCommand = &cobra.Command{ + Use: "ls", + Short: "List global rules or user specific rules", + Long: `List global rules or user specific rules.`, + Args: cobra.NoArgs, + RunE: withStore(func(cmd *cobra.Command, _ []string, st *store) error { + return runRules(st.Storage, cmd, nil, nil) + }, storeOptions{}), +} diff --git a/cmd/users.go b/cmd/users.go new file mode 100644 index 00000000..66487862 --- /dev/null +++ b/cmd/users.go @@ -0,0 +1,157 @@ +package cmd + +import ( + "errors" + "fmt" + "os" + "strconv" + "text/tabwriter" + + "github.com/spf13/cobra" + "github.com/spf13/pflag" + + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/users" +) + +func init() { + rootCmd.AddCommand(usersCmd) +} + +var usersCmd = &cobra.Command{ + Use: "users", + Short: "Users management utility", + Long: `Users management utility.`, + Args: cobra.NoArgs, +} + +func printUsers(usrs []*users.User) { + w := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0) + fmt.Fprintln(w, "ID\tUsername\tScope\tLocale\tV. Mode\tS.Click\tAdmin\tExecute\tCreate\tRename\tModify\tDelete\tShare\tDownload\tPwd Lock") + + for _, u := range usrs { + fmt.Fprintf(w, "%d\t%s\t%s\t%s\t%s\t%t\t%t\t%t\t%t\t%t\t%t\t%t\t%t\t%t\t%t\t%t\t\n", + u.ID, + u.Username, + u.Scope, + u.Locale, + u.ViewMode, + u.SingleClick, + u.RedirectAfterCopyMove, + u.Perm.Admin, + u.Perm.Execute, + u.Perm.Create, + u.Perm.Rename, + u.Perm.Modify, + u.Perm.Delete, + u.Perm.Share, + u.Perm.Download, + u.LockPassword, + ) + } + + w.Flush() +} + +func parseUsernameOrID(arg string) (username string, id uint) { + id64, err := strconv.ParseUint(arg, 10, 64) + if err != nil { + return arg, 0 + } + return "", uint(id64) +} + +func addUserFlags(flags *pflag.FlagSet) { + flags.Bool("perm.admin", false, "admin perm for users") + flags.Bool("perm.execute", true, "execute perm for users") + flags.Bool("perm.create", true, "create perm for users") + flags.Bool("perm.rename", true, "rename perm for users") + flags.Bool("perm.modify", true, "modify perm for users") + flags.Bool("perm.delete", true, "delete perm for users") + flags.Bool("perm.share", true, "share perm for users") + flags.Bool("perm.download", true, "download perm for users") + flags.String("sorting.by", "name", "sorting mode (name, size or modified)") + flags.Bool("sorting.asc", false, "sorting by ascending order") + flags.Bool("lockPassword", false, "lock password") + flags.StringSlice("commands", nil, "a list of the commands a user can execute") + flags.String("scope", ".", "scope for users") + flags.String("locale", "en", "locale for users") + flags.String("viewMode", string(users.ListViewMode), "view mode for users") + flags.Bool("singleClick", false, "use single clicks only") + flags.Bool("redirectAfterCopyMove", false, "redirect to destination after copy/move") + flags.Bool("dateFormat", false, "use date format (true for absolute time, false for relative)") + flags.Bool("hideDotfiles", false, "hide dotfiles") + flags.String("aceEditorTheme", "", "ace editor's syntax highlighting theme for users") +} + +func getAndParseViewMode(flags *pflag.FlagSet) (users.ViewMode, error) { + viewModeStr, err := flags.GetString("viewMode") + if err != nil { + return "", err + } + + viewMode := users.ViewMode(viewModeStr) + if viewMode != users.ListViewMode && viewMode != users.MosaicViewMode { + return "", errors.New("view mode must be \"" + string(users.ListViewMode) + "\" or \"" + string(users.MosaicViewMode) + "\"") + } + + return viewMode, nil +} + +func getUserDefaults(flags *pflag.FlagSet, defaults *settings.UserDefaults, all bool) error { + errs := []error{} + + visit := func(flag *pflag.Flag) { + var err error + switch flag.Name { + case "scope": + defaults.Scope, err = flags.GetString(flag.Name) + case "locale": + defaults.Locale, err = flags.GetString(flag.Name) + case "viewMode": + defaults.ViewMode, err = getAndParseViewMode(flags) + case "singleClick": + defaults.SingleClick, err = flags.GetBool(flag.Name) + case "redirectAfterCopyMove": + defaults.RedirectAfterCopyMove, err = flags.GetBool(flag.Name) + case "aceEditorTheme": + defaults.AceEditorTheme, err = flags.GetString(flag.Name) + case "perm.admin": + defaults.Perm.Admin, err = flags.GetBool(flag.Name) + case "perm.execute": + defaults.Perm.Execute, err = flags.GetBool(flag.Name) + case "perm.create": + defaults.Perm.Create, err = flags.GetBool(flag.Name) + case "perm.rename": + defaults.Perm.Rename, err = flags.GetBool(flag.Name) + case "perm.modify": + defaults.Perm.Modify, err = flags.GetBool(flag.Name) + case "perm.delete": + defaults.Perm.Delete, err = flags.GetBool(flag.Name) + case "perm.share": + defaults.Perm.Share, err = flags.GetBool(flag.Name) + case "perm.download": + defaults.Perm.Download, err = flags.GetBool(flag.Name) + case "commands": + defaults.Commands, err = flags.GetStringSlice(flag.Name) + case "sorting.by": + defaults.Sorting.By, err = flags.GetString(flag.Name) + case "sorting.asc": + defaults.Sorting.Asc, err = flags.GetBool(flag.Name) + case "hideDotfiles": + defaults.HideDotfiles, err = flags.GetBool(flag.Name) + } + + if err != nil { + errs = append(errs, err) + } + } + + if all { + flags.VisitAll(visit) + } else { + flags.Visit(visit) + } + + return errors.Join(errs...) +} diff --git a/cmd/users_add.go b/cmd/users_add.go new file mode 100644 index 00000000..daf59aa3 --- /dev/null +++ b/cmd/users_add.go @@ -0,0 +1,82 @@ +package cmd + +import ( + "github.com/spf13/cobra" + + "github.com/filebrowser/filebrowser/v2/users" +) + +func init() { + usersCmd.AddCommand(usersAddCmd) + addUserFlags(usersAddCmd.Flags()) +} + +var usersAddCmd = &cobra.Command{ + Use: "add ", + Short: "Create a new user", + Long: `Create a new user and add it to the database.`, + Args: cobra.ExactArgs(2), + RunE: withStore(func(cmd *cobra.Command, args []string, st *store) error { + flags := cmd.Flags() + s, err := st.Settings.Get() + if err != nil { + return err + } + err = getUserDefaults(flags, &s.Defaults, false) + if err != nil { + return err + } + + password, err := users.ValidateAndHashPwd(args[1], s.MinimumPasswordLength) + if err != nil { + return err + } + + user := &users.User{ + Username: args[0], + Password: password, + } + + user.LockPassword, err = flags.GetBool("lockPassword") + if err != nil { + return err + } + + user.DateFormat, err = flags.GetBool("dateFormat") + if err != nil { + return err + } + + user.HideDotfiles, err = flags.GetBool("hideDotfiles") + if err != nil { + return err + } + + s.Defaults.Apply(user) + + servSettings, err := st.Settings.GetServer() + if err != nil { + return err + } + // since getUserDefaults() polluted s.Defaults.Scope + // which makes the Scope not the one saved in the db + // we need the right s.Defaults.Scope here + s2, err := st.Settings.Get() + if err != nil { + return err + } + + userHome, err := s2.MakeUserDir(user.Username, user.Scope, servSettings.Root) + if err != nil { + return err + } + user.Scope = userHome + + err = st.Users.Save(user) + if err != nil { + return err + } + printUsers([]*users.User{user}) + return nil + }, storeOptions{}), +} diff --git a/cmd/users_export.go b/cmd/users_export.go new file mode 100644 index 00000000..9bbec6d8 --- /dev/null +++ b/cmd/users_export.go @@ -0,0 +1,29 @@ +package cmd + +import ( + "github.com/spf13/cobra" +) + +func init() { + usersCmd.AddCommand(usersExportCmd) +} + +var usersExportCmd = &cobra.Command{ + Use: "export ", + Short: "Export all users to a file.", + Long: `Export all users to a json or yaml file. Please indicate the +path to the file where you want to write the users.`, + Args: jsonYamlArg, + RunE: withStore(func(_ *cobra.Command, args []string, st *store) error { + list, err := st.Users.Gets("") + if err != nil { + return err + } + + err = marshal(args[0], list) + if err != nil { + return err + } + return nil + }, storeOptions{}), +} diff --git a/cmd/users_find.go b/cmd/users_find.go new file mode 100644 index 00000000..09bc8d47 --- /dev/null +++ b/cmd/users_find.go @@ -0,0 +1,54 @@ +package cmd + +import ( + "github.com/spf13/cobra" + + "github.com/filebrowser/filebrowser/v2/users" +) + +func init() { + usersCmd.AddCommand(usersFindCmd) + usersCmd.AddCommand(usersLsCmd) +} + +var usersFindCmd = &cobra.Command{ + Use: "find ", + Short: "Find a user by username or id", + Long: `Find a user by username or id. If no flag is set, all users will be printed.`, + Args: cobra.ExactArgs(1), + RunE: findUsers, +} + +var usersLsCmd = &cobra.Command{ + Use: "ls", + Short: "List all users.", + Args: cobra.NoArgs, + RunE: findUsers, +} + +var findUsers = withStore(func(_ *cobra.Command, args []string, st *store) error { + var ( + list []*users.User + user *users.User + err error + ) + + if len(args) == 1 { + username, id := parseUsernameOrID(args[0]) + if username != "" { + user, err = st.Users.Get("", username) + } else { + user, err = st.Users.Get("", id) + } + + list = []*users.User{user} + } else { + list, err = st.Users.Gets("") + } + + if err != nil { + return err + } + printUsers(list) + return nil +}, storeOptions{}) diff --git a/cmd/users_import.go b/cmd/users_import.go new file mode 100644 index 00000000..73effca6 --- /dev/null +++ b/cmd/users_import.go @@ -0,0 +1,113 @@ +package cmd + +import ( + "errors" + "fmt" + "os" + "strconv" + + "github.com/spf13/cobra" + + "github.com/filebrowser/filebrowser/v2/users" +) + +func init() { + usersCmd.AddCommand(usersImportCmd) + usersImportCmd.Flags().Bool("overwrite", false, "overwrite users with the same id/username combo") + usersImportCmd.Flags().Bool("replace", false, "replace the entire user base") +} + +var usersImportCmd = &cobra.Command{ + Use: "import ", + Short: "Import users from a file", + Long: `Import users from a file. The path must be for a json or yaml +file. You can use this command to import new users to your +installation. For that, just don't place their ID on the files +list or set it to 0.`, + Args: jsonYamlArg, + RunE: withStore(func(cmd *cobra.Command, args []string, st *store) error { + flags := cmd.Flags() + fd, err := os.Open(args[0]) + if err != nil { + return err + } + defer fd.Close() + + list := []*users.User{} + err = unmarshal(args[0], &list) + if err != nil { + return err + } + + for _, user := range list { + err = user.Clean("") + if err != nil { + return err + } + } + + replace, err := flags.GetBool("replace") + if err != nil { + return err + } + + if replace { + oldUsers, userImportErr := st.Users.Gets("") + if userImportErr != nil { + return userImportErr + } + + err = marshal("users.backup.json", list) + if err != nil { + return err + } + + for _, user := range oldUsers { + err = st.Users.Delete(user.ID) + if err != nil { + return err + } + } + } + + overwrite, err := flags.GetBool("overwrite") + if err != nil { + return err + } + + for _, user := range list { + onDB, err := st.Users.Get("", user.ID) + + // User exists in DB. + if err == nil { + if !overwrite { + return errors.New("user " + strconv.Itoa(int(user.ID)) + " is already registered") + } + + // If the usernames mismatch, check if there is another one in the DB + // with the new username. If there is, print an error and cancel the + // operation + if user.Username != onDB.Username { + if conflictuous, err := st.Users.Get("", user.Username); err == nil { + return usernameConflictError(user.Username, conflictuous.ID, user.ID) + } + } + } else { + // If it doesn't exist, set the ID to 0 to automatically get a new + // one that make sense in this DB. + user.ID = 0 + } + + err = st.Users.Save(user) + if err != nil { + return err + } + } + return nil + }, storeOptions{}), +} + +func usernameConflictError(username string, originalID, newID uint) error { + return fmt.Errorf(`can't import user with ID %d and username "%s" because the username is already registered with the user %d`, + newID, username, originalID) +} diff --git a/cmd/users_rm.go b/cmd/users_rm.go new file mode 100644 index 00000000..492a55c3 --- /dev/null +++ b/cmd/users_rm.go @@ -0,0 +1,34 @@ +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +func init() { + usersCmd.AddCommand(usersRmCmd) +} + +var usersRmCmd = &cobra.Command{ + Use: "rm ", + Short: "Delete a user by username or id", + Long: `Delete a user by username or id`, + Args: cobra.ExactArgs(1), + RunE: withStore(func(_ *cobra.Command, args []string, st *store) error { + username, id := parseUsernameOrID(args[0]) + var err error + + if username != "" { + err = st.Users.Delete(username) + } else { + err = st.Users.Delete(id) + } + + if err != nil { + return err + } + fmt.Println("user deleted successfully") + return nil + }, storeOptions{}), +} diff --git a/cmd/users_update.go b/cmd/users_update.go new file mode 100644 index 00000000..e9a484fc --- /dev/null +++ b/cmd/users_update.go @@ -0,0 +1,111 @@ +package cmd + +import ( + "github.com/spf13/cobra" + + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/users" +) + +func init() { + usersCmd.AddCommand(usersUpdateCmd) + + usersUpdateCmd.Flags().StringP("password", "p", "", "new password") + usersUpdateCmd.Flags().StringP("username", "u", "", "new username") + addUserFlags(usersUpdateCmd.Flags()) +} + +var usersUpdateCmd = &cobra.Command{ + Use: "update ", + Short: "Updates an existing user", + Long: `Updates an existing user. Set the flags for the +options you want to change.`, + Args: cobra.ExactArgs(1), + RunE: withStore(func(cmd *cobra.Command, args []string, st *store) error { + flags := cmd.Flags() + username, id := parseUsernameOrID(args[0]) + password, err := flags.GetString("password") + if err != nil { + return err + } + + newUsername, err := flags.GetString("username") + if err != nil { + return err + } + + s, err := st.Settings.Get() + if err != nil { + return err + } + + var ( + user *users.User + ) + if id != 0 { + user, err = st.Users.Get("", id) + } else { + user, err = st.Users.Get("", username) + } + if err != nil { + return err + } + + defaults := settings.UserDefaults{ + Scope: user.Scope, + Locale: user.Locale, + ViewMode: user.ViewMode, + SingleClick: user.SingleClick, + RedirectAfterCopyMove: user.RedirectAfterCopyMove, + Perm: user.Perm, + Sorting: user.Sorting, + Commands: user.Commands, + } + + err = getUserDefaults(flags, &defaults, false) + if err != nil { + return err + } + + user.Scope = defaults.Scope + user.Locale = defaults.Locale + user.ViewMode = defaults.ViewMode + user.SingleClick = defaults.SingleClick + user.RedirectAfterCopyMove = defaults.RedirectAfterCopyMove + user.Perm = defaults.Perm + user.Commands = defaults.Commands + user.Sorting = defaults.Sorting + user.LockPassword, err = flags.GetBool("lockPassword") + if err != nil { + return err + } + + user.DateFormat, err = flags.GetBool("dateFormat") + if err != nil { + return err + } + + user.HideDotfiles, err = flags.GetBool("hideDotfiles") + if err != nil { + return err + } + + if newUsername != "" { + user.Username = newUsername + } + + if password != "" { + user.Password, err = users.ValidateAndHashPwd(password, s.MinimumPasswordLength) + if err != nil { + return err + } + } + + err = st.Users.Update(user) + if err != nil { + return err + } + printUsers([]*users.User{user}) + return nil + }, storeOptions{}), +} diff --git a/cmd/utils.go b/cmd/utils.go new file mode 100644 index 00000000..ee637fa3 --- /dev/null +++ b/cmd/utils.go @@ -0,0 +1,289 @@ +package cmd + +import ( + "encoding/json" + "errors" + "fmt" + "io/fs" + "log" + "os" + "path/filepath" + "strconv" + "strings" + + "github.com/asdine/storm/v3" + homedir "github.com/mitchellh/go-homedir" + "github.com/samber/lo" + "github.com/spf13/cobra" + "github.com/spf13/pflag" + "github.com/spf13/viper" + yaml "gopkg.in/yaml.v3" + + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/storage" + "github.com/filebrowser/filebrowser/v2/storage/bolt" +) + +const databasePermissions = 0640 + +func getAndParseFileMode(flags *pflag.FlagSet, name string) (fs.FileMode, error) { + mode, err := flags.GetString(name) + if err != nil { + return 0, err + } + + b, err := strconv.ParseUint(mode, 0, 32) + if err != nil { + return 0, err + } + + return fs.FileMode(b), nil +} + +func generateKey() []byte { + k, err := settings.GenerateKey() + if err != nil { + panic(err) + } + return k +} + +func dbExists(path string) (bool, error) { + stat, err := os.Stat(path) + if err == nil { + return stat.Size() != 0, nil + } + + if os.IsNotExist(err) { + d := filepath.Dir(path) + _, err = os.Stat(d) + if os.IsNotExist(err) { + if err := os.MkdirAll(d, 0700); err != nil { + return false, err + } + return false, nil + } + } + + return false, err +} + +// Generate the replacements for all environment variables. This allows to +// use FB_BRANDING_DISABLE_EXTERNAL environment variables, even when the +// option name is branding.disableExternal. +func generateEnvKeyReplacements(cmd *cobra.Command) []string { + replacements := []string{} + + cmd.Flags().VisitAll(func(f *pflag.Flag) { + oldName := strings.ToUpper(f.Name) + newName := strings.ToUpper(lo.SnakeCase(f.Name)) + replacements = append(replacements, oldName, newName) + }) + + return replacements +} + +func initViper(cmd *cobra.Command) (*viper.Viper, error) { + v := viper.New() + + // Get config file from flag + cfgFile, err := cmd.Flags().GetString("config") + if err != nil { + return nil, err + } + + // Configuration file + if cfgFile == "" { + home, err := homedir.Dir() + if err != nil { + return nil, err + } + v.AddConfigPath(".") + v.AddConfigPath(home) + v.AddConfigPath("/etc/filebrowser/") + v.SetConfigName(".filebrowser") + } else { + v.SetConfigFile(cfgFile) + } + + // Environment variables + v.SetEnvPrefix("FB") + v.AutomaticEnv() + v.SetEnvKeyReplacer(strings.NewReplacer(generateEnvKeyReplacements(cmd)...)) + + // Bind the flags + err = v.BindPFlags(cmd.Flags()) + if err != nil { + return nil, err + } + + // Read in configuration + if err := v.ReadInConfig(); err != nil { + if errors.Is(err, viper.ConfigParseError{}) { + return nil, err + } + + log.Println("No config file used") + } else { + log.Printf("Using config file: %s", v.ConfigFileUsed()) + } + + // Return Viper + return v, nil +} + +type store struct { + *storage.Storage + databaseExisted bool +} + +type storeOptions struct { + expectsNoDatabase bool + allowsNoDatabase bool +} + +type cobraFunc func(cmd *cobra.Command, args []string) error + +// withViperAndStore initializes Viper and the storage.Store and passes them to the callback function. +// This function should only be used by [withStore] and the root command. No other command should call +// this function directly. +func withViperAndStore(fn func(cmd *cobra.Command, args []string, v *viper.Viper, store *store) error, options storeOptions) cobraFunc { + return func(cmd *cobra.Command, args []string) error { + v, err := initViper(cmd) + if err != nil { + return err + } + + path, err := filepath.Abs(v.GetString("database")) + if err != nil { + return err + } + + exists, err := dbExists(path) + switch { + case err != nil: + return err + case exists && options.expectsNoDatabase: + log.Fatal(path + " already exists") + case !exists && !options.expectsNoDatabase && !options.allowsNoDatabase: + log.Fatal(path + " does not exist. Please run 'filebrowser config init' first.") + case !exists && !options.expectsNoDatabase: + log.Println("WARNING: filebrowser.db can't be found. Initialing in " + strings.TrimSuffix(path, "filebrowser.db")) + } + + log.Println("Using database: " + path) + + db, err := storm.Open(path, storm.BoltOptions(databasePermissions, nil)) + if err != nil { + return err + } + defer db.Close() + + storage, err := bolt.NewStorage(db) + if err != nil { + return err + } + + store := &store{ + Storage: storage, + databaseExisted: exists, + } + + return fn(cmd, args, v, store) + } +} + +func withStore(fn func(cmd *cobra.Command, args []string, store *store) error, options storeOptions) cobraFunc { + return withViperAndStore(func(cmd *cobra.Command, args []string, _ *viper.Viper, store *store) error { + return fn(cmd, args, store) + }, options) +} + +func marshal(filename string, data interface{}) error { + fd, err := os.Create(filename) + if err != nil { + return err + } + defer fd.Close() + + switch ext := filepath.Ext(filename); ext { + case ".json": + encoder := json.NewEncoder(fd) + encoder.SetIndent("", " ") + return encoder.Encode(data) + case ".yml", ".yaml": + encoder := yaml.NewEncoder(fd) + return encoder.Encode(data) + default: + return errors.New("invalid format: " + ext) + } +} + +func unmarshal(filename string, data interface{}) error { + fd, err := os.Open(filename) + if err != nil { + return err + } + defer fd.Close() + + switch ext := filepath.Ext(filename); ext { + case ".json": + return json.NewDecoder(fd).Decode(data) + case ".yml", ".yaml": + return yaml.NewDecoder(fd).Decode(data) + default: + return errors.New("invalid format: " + ext) + } +} + +func jsonYamlArg(cmd *cobra.Command, args []string) error { + if err := cobra.ExactArgs(1)(cmd, args); err != nil { + return err + } + + switch ext := filepath.Ext(args[0]); ext { + case ".json", ".yml", ".yaml": + return nil + default: + return errors.New("invalid format: " + ext) + } +} + +func cleanUpInterfaceMap(in map[interface{}]interface{}) map[string]interface{} { + result := make(map[string]interface{}) + for k, v := range in { + result[fmt.Sprintf("%v", k)] = cleanUpMapValue(v) + } + return result +} + +func cleanUpInterfaceArray(in []interface{}) []interface{} { + result := make([]interface{}, len(in)) + for i, v := range in { + result[i] = cleanUpMapValue(v) + } + return result +} + +func cleanUpMapValue(v interface{}) interface{} { + switch v := v.(type) { + case []interface{}: + return cleanUpInterfaceArray(v) + case map[interface{}]interface{}: + return cleanUpInterfaceMap(v) + default: + return v + } +} + +// convertCmdStrToCmdArray checks if cmd string is blank (whitespace included) +// then returns empty string array, else returns the split word array of cmd. +// This is to ensure the result will never be []string{""} +func convertCmdStrToCmdArray(cmd string) []string { + var cmdArray []string + trimmedCmdStr := strings.TrimSpace(cmd) + if trimmedCmdStr != "" { + cmdArray = strings.Split(trimmedCmdStr, " ") + } + return cmdArray +} diff --git a/cmd/version.go b/cmd/version.go new file mode 100644 index 00000000..fe770792 --- /dev/null +++ b/cmd/version.go @@ -0,0 +1,21 @@ +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" + + "github.com/filebrowser/filebrowser/v2/version" +) + +func init() { + rootCmd.AddCommand(versionCmd) +} + +var versionCmd = &cobra.Command{ + Use: "version", + Short: "Print the version number", + Run: func(_ *cobra.Command, _ []string) { + fmt.Println("File Browser v" + version.Version + "/" + version.CommitSHA) + }, +} diff --git a/diskcache/cache.go b/diskcache/cache.go new file mode 100644 index 00000000..2a2eff3d --- /dev/null +++ b/diskcache/cache.go @@ -0,0 +1,11 @@ +package diskcache + +import ( + "context" +) + +type Interface interface { + Store(ctx context.Context, key string, value []byte) error + Load(ctx context.Context, key string) (value []byte, exist bool, err error) + Delete(ctx context.Context, key string) error +} diff --git a/diskcache/file_cache.go b/diskcache/file_cache.go new file mode 100644 index 00000000..b2979e4b --- /dev/null +++ b/diskcache/file_cache.go @@ -0,0 +1,110 @@ +package diskcache + +import ( + "context" + "crypto/sha1" + "encoding/hex" + "errors" + "fmt" + "io" + "os" + "path/filepath" + "sync" + + "github.com/spf13/afero" +) + +type FileCache struct { + fs afero.Fs + + // granular locks + scopedLocks struct { + sync.Mutex + sync.Once + locks map[string]sync.Locker + } +} + +func New(fs afero.Fs, root string) *FileCache { + return &FileCache{ + fs: afero.NewBasePathFs(fs, root), + } +} + +func (f *FileCache) Store(_ context.Context, key string, value []byte) error { + mu := f.getScopedLocks(key) + mu.Lock() + defer mu.Unlock() + + fileName := f.getFileName(key) + if err := f.fs.MkdirAll(filepath.Dir(fileName), 0700); err != nil { + return err + } + + if err := afero.WriteFile(f.fs, fileName, value, 0700); err != nil { + return err + } + + return nil +} + +func (f *FileCache) Load(_ context.Context, key string) (value []byte, exist bool, err error) { + r, ok, err := f.open(key) + if err != nil || !ok { + return nil, ok, err + } + defer r.Close() + + value, err = io.ReadAll(r) + if err != nil { + return nil, false, err + } + return value, true, nil +} + +func (f *FileCache) Delete(_ context.Context, key string) error { + mu := f.getScopedLocks(key) + mu.Lock() + defer mu.Unlock() + + fileName := f.getFileName(key) + if err := f.fs.Remove(fileName); err != nil && !errors.Is(err, os.ErrNotExist) { + return err + } + return nil +} + +func (f *FileCache) open(key string) (afero.File, bool, error) { + fileName := f.getFileName(key) + file, err := f.fs.Open(fileName) + if err != nil { + if errors.Is(err, os.ErrNotExist) { + return nil, false, nil + } + return nil, false, err + } + + return file, true, nil +} + +// getScopedLocks pull lock from the map if found or create a new one +func (f *FileCache) getScopedLocks(key string) (lock sync.Locker) { + f.scopedLocks.Do(func() { f.scopedLocks.locks = map[string]sync.Locker{} }) + + f.scopedLocks.Lock() + lock, ok := f.scopedLocks.locks[key] + if !ok { + lock = &sync.Mutex{} + f.scopedLocks.locks[key] = lock + } + f.scopedLocks.Unlock() + + return lock +} + +func (f *FileCache) getFileName(key string) string { + hasher := sha1.New() + _, _ = hasher.Write([]byte(key)) + hash := hex.EncodeToString(hasher.Sum(nil)) + return fmt.Sprintf("%s/%s/%s", hash[:1], hash[1:3], hash) +} diff --git a/diskcache/file_cache_test.go b/diskcache/file_cache_test.go new file mode 100644 index 00000000..c6c750c0 --- /dev/null +++ b/diskcache/file_cache_test.go @@ -0,0 +1,55 @@ +package diskcache + +import ( + "context" + "path/filepath" + "testing" + + "github.com/spf13/afero" + "github.com/stretchr/testify/require" +) + +func TestFileCache(t *testing.T) { + ctx := context.Background() + const ( + key = "key" + value = "some text" + newValue = "new text" + cacheRoot = "/cache" + cachedFilePath = "a/62/a62f2225bf70bfaccbc7f1ef2a397836717377de" + ) + + fs := afero.NewMemMapFs() + cache := New(fs, "/cache") + + // store new key + err := cache.Store(ctx, key, []byte(value)) + require.NoError(t, err) + checkValue(ctx, t, fs, filepath.Join(cacheRoot, cachedFilePath), cache, key, value) + + // update existing key + err = cache.Store(ctx, key, []byte(newValue)) + require.NoError(t, err) + checkValue(ctx, t, fs, filepath.Join(cacheRoot, cachedFilePath), cache, key, newValue) + + // delete key + err = cache.Delete(ctx, key) + require.NoError(t, err) + exists, err := afero.Exists(fs, filepath.Join(cacheRoot, cachedFilePath)) + require.NoError(t, err) + require.False(t, exists) +} + +func checkValue(ctx context.Context, t *testing.T, fs afero.Fs, fileFullPath string, cache *FileCache, key, wantValue string) { + t.Helper() + // check actual file content + b, err := afero.ReadFile(fs, fileFullPath) + require.NoError(t, err) + require.Equal(t, wantValue, string(b)) + + // check cache content + b, ok, err := cache.Load(ctx, key) + require.NoError(t, err) + require.True(t, ok) + require.Equal(t, wantValue, string(b)) +} diff --git a/diskcache/noop_cache.go b/diskcache/noop_cache.go new file mode 100644 index 00000000..faeaf07a --- /dev/null +++ b/diskcache/noop_cache.go @@ -0,0 +1,24 @@ +package diskcache + +import ( + "context" +) + +type NoOp struct { +} + +func NewNoOp() *NoOp { + return &NoOp{} +} + +func (n *NoOp) Store(_ context.Context, _ string, _ []byte) error { + return nil +} + +func (n *NoOp) Load(_ context.Context, _ string) (value []byte, exist bool, err error) { + return nil, false, nil +} + +func (n *NoOp) Delete(_ context.Context, _ string) error { + return nil +} diff --git a/docker/alpine/healthcheck.sh b/docker/alpine/healthcheck.sh new file mode 100644 index 00000000..f86550dc --- /dev/null +++ b/docker/alpine/healthcheck.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +PORT=${FB_PORT:-$(cat /config/settings.json | sh /JSON.sh | grep '\["port"\]' | awk '{print $2}')} +ADDRESS=${FB_ADDRESS:-$(cat /config/settings.json | sh /JSON.sh | grep '\["address"\]' | awk '{print $2}' | sed 's/"//g')} +ADDRESS=${ADDRESS:-localhost} + +wget -q --spider http://$ADDRESS:$PORT/health || exit 1 diff --git a/docker/alpine/init.sh b/docker/alpine/init.sh new file mode 100755 index 00000000..a4ac72ae --- /dev/null +++ b/docker/alpine/init.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +set -e + +# Ensure configuration exists +if [ ! -f "/config/settings.json" ]; then + cp -a /defaults/settings.json /config/settings.json +fi + +# Extract config file path from arguments +config_file="" +next_is_config=0 +for arg in "$@"; do + if [ "$next_is_config" -eq 1 ]; then + config_file="$arg" + break + fi + case "$arg" in + -c|--config) + next_is_config=1 + ;; + -c=*|--config=*) + config_file="${arg#*=}" + break + ;; + esac +done + +# If no config argument is provided, set the default and add it to the args +if [ -z "$config_file" ]; then + config_file="/config/settings.json" + set -- --config=/config/settings.json "$@" +fi + +exec filebrowser "$@" diff --git a/docker/common/defaults/settings.json b/docker/common/defaults/settings.json new file mode 100644 index 00000000..cf7fb4ee --- /dev/null +++ b/docker/common/defaults/settings.json @@ -0,0 +1,8 @@ +{ + "port": 80, + "baseURL": "", + "address": "", + "log": "stdout", + "database": "/database/filebrowser.db", + "root": "/srv" +} diff --git a/docker/common/healthcheck.sh b/docker/common/healthcheck.sh new file mode 100755 index 00000000..3984adb6 --- /dev/null +++ b/docker/common/healthcheck.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +PORT=${FB_PORT:-$(jq -r .port /config/settings.json)} +ADDRESS=${FB_ADDRESS:-$(jq -r .address /config/settings.json)} +ADDRESS=${ADDRESS:-localhost} + +wget -q --spider http://$ADDRESS:$PORT/health || exit 1 diff --git a/docker/s6/custom-cont-init.d/20-config b/docker/s6/custom-cont-init.d/20-config new file mode 100755 index 00000000..a4ba52cf --- /dev/null +++ b/docker/s6/custom-cont-init.d/20-config @@ -0,0 +1,12 @@ +#!/usr/bin/with-contenv bash + +# Ensure configuration exists +if [ ! -f "/config/settings.json" ]; then + cp -a /defaults/settings.json /config/settings.json +fi + +# permissions +chown abc:abc \ + /config/settings.json \ + /database \ + /srv diff --git a/docker/s6/etc/services.d/filebrowser/run b/docker/s6/etc/services.d/filebrowser/run new file mode 100755 index 00000000..f4f2fb8e --- /dev/null +++ b/docker/s6/etc/services.d/filebrowser/run @@ -0,0 +1,3 @@ +#!/usr/bin/with-contenv bash + +exec s6-setuidgid abc filebrowser -c /config/settings.json; diff --git a/download.go b/download.go deleted file mode 100644 index 5b6a5130..00000000 --- a/download.go +++ /dev/null @@ -1,112 +0,0 @@ -package filemanager - -import ( - "io" - "io/ioutil" - "net/http" - "net/url" - "os" - "path/filepath" - "strings" - - "github.com/hacdias/fileutils" - "github.com/mholt/archiver" -) - -// downloadHandler creates an archive in one of the supported formats (zip, tar, -// tar.gz or tar.bz2) and sends it to be downloaded. -func downloadHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - query := r.URL.Query().Get("format") - - // If the file isn't a directory, serve it using http.ServeFile. We display it - // inline if it is requested. - if !c.FI.IsDir { - if r.URL.Query().Get("inline") == "true" { - w.Header().Set("Content-Disposition", "inline") - } else { - w.Header().Set("Content-Disposition", "attachment; filename="+c.FI.Name) - } - - http.ServeFile(w, r, c.FI.Path) - return 0, nil - } - - files := []string{} - names := strings.Split(r.URL.Query().Get("files"), ",") - - // If there are files in the query, sanitize their names. - // Otherwise, just append the current path. - if len(names) != 0 { - for _, name := range names { - // Unescape the name. - name, err := url.QueryUnescape(name) - if err != nil { - return http.StatusInternalServerError, err - } - - // Clean the slashes. - name = fileutils.SlashClean(name) - files = append(files, filepath.Join(c.FI.Path, name)) - } - } else { - files = append(files, c.FI.Path) - } - - // If the format is true, just set it to "zip". - if query == "true" { - query = "zip" - } - - var ( - extension string - temp string - err error - tempfile string - ) - - // Create a temporary directory. - temp, err = ioutil.TempDir("", "") - if err != nil { - return http.StatusInternalServerError, err - } - defer os.RemoveAll(temp) - - tempfile = filepath.Join(temp, "temp") - - switch query { - case "zip": - extension, err = ".zip", archiver.Zip.Make(tempfile, files) - case "tar": - extension, err = ".tar", archiver.Tar.Make(tempfile, files) - case "targz": - extension, err = ".tar.gz", archiver.TarGz.Make(tempfile, files) - case "tarbz2": - extension, err = ".tar.bz2", archiver.TarBz2.Make(tempfile, files) - case "tarxz": - extension, err = ".tar.xz", archiver.TarXZ.Make(tempfile, files) - default: - return http.StatusNotImplemented, nil - } - - if err != nil { - return http.StatusInternalServerError, err - } - - // Defines the file name. - name := c.FI.Name - if name == "." || name == "" { - name = "download" - } - name += extension - - // Opens the file so it can be downloaded. - file, err := os.Open(temp + "/temp") - if err != nil { - return http.StatusInternalServerError, err - } - defer file.Close() - - w.Header().Set("Content-Disposition", "attachment; filename="+name) - _, err = io.Copy(w, file) - return 0, err -} diff --git a/errors/errors.go b/errors/errors.go new file mode 100644 index 00000000..748354a8 --- /dev/null +++ b/errors/errors.go @@ -0,0 +1,34 @@ +package fberrors + +import ( + "errors" + "fmt" +) + +var ( + ErrEmptyKey = errors.New("empty key") + ErrExist = errors.New("the resource already exists") + ErrNotExist = errors.New("the resource does not exist") + ErrEmptyPassword = errors.New("password is empty") + ErrEasyPassword = errors.New("password is too easy") + ErrEmptyUsername = errors.New("username is empty") + ErrEmptyRequest = errors.New("empty request") + ErrScopeIsRelative = errors.New("scope is a relative path") + ErrInvalidDataType = errors.New("invalid data type") + ErrIsDirectory = errors.New("file is directory") + ErrInvalidOption = errors.New("invalid option") + ErrInvalidAuthMethod = errors.New("invalid auth method") + ErrPermissionDenied = errors.New("permission denied") + ErrInvalidRequestParams = errors.New("invalid request params") + ErrSourceIsParent = errors.New("source is parent") + ErrRootUserDeletion = errors.New("user with id 1 can't be deleted") + ErrCurrentPasswordIncorrect = errors.New("the current password is incorrect") +) + +type ErrShortPassword struct { + MinimumLength uint +} + +func (e ErrShortPassword) Error() string { + return fmt.Sprintf("password is too short, minimum length is %d", e.MinimumLength) +} diff --git a/file.go b/file.go deleted file mode 100644 index 675744f2..00000000 --- a/file.go +++ /dev/null @@ -1,470 +0,0 @@ -package filemanager - -import ( - "bytes" - "crypto/md5" - "crypto/sha1" - "crypto/sha256" - "crypto/sha512" - "encoding/hex" - "errors" - "hash" - "io" - "io/ioutil" - "mime" - "net/http" - "net/url" - "os" - "path/filepath" - "sort" - "strings" - "time" - - "github.com/spf13/hugo/parser" -) - -var ( - errInvalidOption = errors.New("Invalid option") -) - -// file contains the information about a particular file or directory. -type file struct { - // Indicates the Kind of view on the front-end (listing, editor or preview). - Kind string `json:"kind"` - // The name of the file. - Name string `json:"name"` - // The Size of the file. - Size int64 `json:"size"` - // The absolute URL. - URL string `json:"url"` - // The extension of the file. - Extension string `json:"extension"` - // The last modified time. - ModTime time.Time `json:"modified"` - // The File Mode. - Mode os.FileMode `json:"mode"` - // Indicates if this file is a directory. - IsDir bool `json:"isDir"` - // Absolute path. - Path string `json:"path"` - // Relative path to user's virtual File System. - VirtualPath string `json:"virtualPath"` - // Indicates the file content type: video, text, image, music or blob. - Type string `json:"type"` - // Stores the content of a text file. - Content string `json:"content,omitempty"` - - *listing `json:",omitempty"` - - Metadata string `json:"metadata,omitempty"` - Language string `json:"language,omitempty"` -} - -// A listing is the context used to fill out a template. -type listing struct { - // The items (files and folders) in the path. - Items []*file `json:"items"` - // The number of directories in the listing. - NumDirs int `json:"numDirs"` - // The number of files (items that aren't directories) in the listing. - NumFiles int `json:"numFiles"` - // Which sorting order is used. - Sort string `json:"sort"` - // And which order. - Order string `json:"order"` - // Displays in mosaic or list. - Display string `json:"display"` -} - -// getInfo gets the file information and, in case of error, returns the -// respective HTTP error code -func getInfo(url *url.URL, c *FileManager, u *User) (*file, error) { - var err error - - i := &file{ - URL: "/files" + url.String(), - VirtualPath: url.Path, - Path: filepath.Join(string(u.FileSystem), url.Path), - } - - info, err := u.FileSystem.Stat(url.Path) - if err != nil { - return i, err - } - - i.Name = info.Name() - i.ModTime = info.ModTime() - i.Mode = info.Mode() - i.IsDir = info.IsDir() - i.Size = info.Size() - i.Extension = filepath.Ext(i.Name) - - if i.IsDir && !strings.HasSuffix(i.URL, "/") { - i.URL += "/" - } - - return i, nil -} - -// getListing gets the information about a specific directory and its files. -func (i *file) getListing(c *RequestContext, r *http.Request) error { - // Gets the directory information using the Virtual File System of - // the user configuration. - f, err := c.User.FileSystem.OpenFile(c.FI.VirtualPath, os.O_RDONLY, 0) - if err != nil { - return err - } - defer f.Close() - - // Reads the directory and gets the information about the files. - files, err := f.Readdir(-1) - if err != nil { - return err - } - - var ( - fileinfos []*file - dirCount, fileCount int - ) - - baseurl, err := url.PathUnescape(i.URL) - if err != nil { - return err - } - - for _, f := range files { - name := f.Name() - allowed := c.User.Allowed("/" + name) - - if !allowed { - continue - } - - if f.IsDir() { - name += "/" - dirCount++ - } else { - fileCount++ - } - - // Absolute URL - url := url.URL{Path: baseurl + name} - - i := &file{ - Name: f.Name(), - Size: f.Size(), - ModTime: f.ModTime(), - Mode: f.Mode(), - IsDir: f.IsDir(), - URL: url.String(), - Extension: filepath.Ext(name), - VirtualPath: filepath.Join(i.VirtualPath, name), - Path: filepath.Join(i.Path, name), - } - - i.GetFileType(false) - fileinfos = append(fileinfos, i) - } - - i.listing = &listing{ - Items: fileinfos, - NumDirs: dirCount, - NumFiles: fileCount, - } - - return nil -} - -// getEditor gets the editor based on a Info struct -func (i *file) getEditor() error { - i.Language = editorLanguage(i.Extension) - // If the editor will hold only content, leave now. - if editorMode(i.Language) == "content" { - return nil - } - - // If the file doesn't have any kind of metadata, leave now. - if !hasRune(i.Content) { - return nil - } - - buffer := bytes.NewBuffer([]byte(i.Content)) - page, err := parser.ReadFrom(buffer) - - // If there is an error, just ignore it and return nil. - // This way, the file can be served for editing. - if err != nil { - - return nil - } - - i.Content = strings.TrimSpace(string(page.Content())) - i.Metadata = strings.TrimSpace(string(page.FrontMatter())) - return nil -} - -// GetFileType obtains the mimetype and converts it to a simple -// type nomenclature. -func (i *file) GetFileType(checkContent bool) error { - var content []byte - var err error - - // Tries to get the file mimetype using its extension. - mimetype := mime.TypeByExtension(i.Extension) - - if mimetype == "" && checkContent { - file, err := os.Open(i.Path) - if err != nil { - return err - } - defer file.Close() - - // Only the first 512 bytes are used to sniff the content type. - buffer := make([]byte, 512) - _, err = file.Read(buffer) - if err != nil && err != io.EOF { - return err - } - - // Tries to get the file mimetype using its first - // 512 bytes. - mimetype = http.DetectContentType(buffer) - } - - if strings.HasPrefix(mimetype, "video") { - i.Type = "video" - return nil - } - - if strings.HasPrefix(mimetype, "audio") { - i.Type = "audio" - return nil - } - - if strings.HasPrefix(mimetype, "image") { - i.Type = "image" - return nil - } - - if strings.HasPrefix(mimetype, "text") { - i.Type = "text" - goto End - } - - if strings.HasPrefix(mimetype, "application/javascript") { - i.Type = "text" - goto End - } - - // If the type isn't text (and is blob for example), it will check some - // common types that are mistaken not to be text. - for _, extension := range textExtensions { - if strings.HasSuffix(i.Name, extension) { - i.Type = "text" - goto End - } - } - - i.Type = "blob" - -End: - // If the file type is text, save its content. - if i.Type == "text" { - if len(content) == 0 { - content, err = ioutil.ReadFile(i.Path) - if err != nil { - return err - } - } - - i.Content = string(content) - } - - return nil -} - -func (i file) Checksum(kind string) (string, error) { - file, err := os.Open(i.Path) - if err != nil { - return "", err - } - - defer file.Close() - - var h hash.Hash - - switch kind { - case "md5": - h = md5.New() - case "sha1": - h = sha1.New() - case "sha256": - h = sha256.New() - case "sha512": - h = sha512.New() - default: - return "", errInvalidOption - } - - _, err = io.Copy(h, file) - if err != nil { - return "", err - } - - return hex.EncodeToString(h.Sum(nil)), nil -} - -// CanBeEdited checks if the extension of a file is supported by the editor -func (i file) CanBeEdited() bool { - return i.Type == "text" -} - -// ApplySort applies the sort order using .Order and .Sort -func (l listing) ApplySort() { - // Check '.Order' to know how to sort - if l.Order == "desc" { - switch l.Sort { - case "name": - sort.Sort(sort.Reverse(byName(l))) - case "size": - sort.Sort(sort.Reverse(bySize(l))) - case "modified": - sort.Sort(sort.Reverse(byModified(l))) - default: - // If not one of the above, do nothing - return - } - } else { // If we had more Orderings we could add them here - switch l.Sort { - case "name": - sort.Sort(byName(l)) - case "size": - sort.Sort(bySize(l)) - case "modified": - sort.Sort(byModified(l)) - default: - sort.Sort(byName(l)) - return - } - } -} - -// Implement sorting for listing -type byName listing -type bySize listing -type byModified listing - -// By Name -func (l byName) Len() int { - return len(l.Items) -} - -func (l byName) Swap(i, j int) { - l.Items[i], l.Items[j] = l.Items[j], l.Items[i] -} - -// Treat upper and lower case equally -func (l byName) Less(i, j int) bool { - if l.Items[i].IsDir && !l.Items[j].IsDir { - return true - } - - if !l.Items[i].IsDir && l.Items[j].IsDir { - return false - } - - return strings.ToLower(l.Items[i].Name) < strings.ToLower(l.Items[j].Name) -} - -// By Size -func (l bySize) Len() int { - return len(l.Items) -} - -func (l bySize) Swap(i, j int) { - l.Items[i], l.Items[j] = l.Items[j], l.Items[i] -} - -const directoryOffset = -1 << 31 // = math.MinInt32 -func (l bySize) Less(i, j int) bool { - iSize, jSize := l.Items[i].Size, l.Items[j].Size - if l.Items[i].IsDir { - iSize = directoryOffset + iSize - } - if l.Items[j].IsDir { - jSize = directoryOffset + jSize - } - return iSize < jSize -} - -// By Modified -func (l byModified) Len() int { - return len(l.Items) -} - -func (l byModified) Swap(i, j int) { - l.Items[i], l.Items[j] = l.Items[j], l.Items[i] -} - -func (l byModified) Less(i, j int) bool { - iModified, jModified := l.Items[i].ModTime, l.Items[j].ModTime - return iModified.Sub(jModified) < 0 -} - -var textExtensions = [...]string{ - ".md", ".markdown", ".mdown", ".mmark", - ".asciidoc", ".adoc", ".ad", - ".rst", - ".json", ".toml", ".yaml", ".csv", ".xml", ".rss", ".conf", ".ini", - ".tex", ".sty", - ".css", ".sass", ".scss", - ".js", - ".html", - ".txt", ".rtf", - ".sh", ".bash", ".ps1", ".bat", ".cmd", - ".php", ".pl", ".py", - "Caddyfile", - ".c", ".cc", ".h", ".hh", ".cpp", ".hpp", ".f90", - ".f", ".bas", ".d", ".ada", ".nim", ".cr", ".java", ".cs", ".vala", ".vapi", -} - -// hasRune checks if the file has the frontmatter rune -func hasRune(file string) bool { - return strings.HasPrefix(file, "---") || - strings.HasPrefix(file, "+++") || - strings.HasPrefix(file, "{") -} - -func editorMode(language string) string { - switch language { - case "markdown", "asciidoc", "rst": - return "content+metadata" - } - - return "content" -} - -func editorLanguage(mode string) string { - mode = strings.TrimPrefix(mode, ".") - - switch mode { - case "md", "markdown", "mdown", "mmark": - mode = "markdown" - case "yml": - mode = "yaml" - case "asciidoc", "adoc", "ad": - mode = "asciidoc" - case "rst": - mode = "rst" - case "html", "htm", "xml": - mode = "htmlmixed" - case "js": - mode = "javascript" - case "go": - mode = "golang" - case "": - mode = "text" - } - - return mode -} diff --git a/filemanager.go b/filemanager.go deleted file mode 100644 index f92b03f0..00000000 --- a/filemanager.go +++ /dev/null @@ -1,527 +0,0 @@ -// Package filemanager provides a web interface to access your files -// wherever you are. To use this package as a middleware for your app, -// you'll need to create a filemanager instance: -// -// m, err := filemanager.New(database, user) -// -// Where 'user' contains the default options for new users. You can just -// use 'filemanager.DefaultUser' or create yourself a default user: -// -// m, err := filemanager.New(database, filemanager.User{ -// Admin: false, -// AllowCommands: false, -// AllowEdit: true, -// AllowNew: true, -// Commands: []string{ -// "git", -// }, -// Rules: []*filemanager.Rule{}, -// CSS: "", -// FileSystem: webdav.Dir("/path/to/files"), -// }) -// -// The credentials for the first user are always 'admin' for both the user and -// the password, and they can be changed later through the settings. The first -// user is always an Admin and has all of the permissions set to 'true'. -// -// Then, you should set the Prefix URL and the Base URL, using the following -// functions: -// -// m.SetBaseURL("/") -// m.SetPrefixURL("/") -// -// The Prefix URL is a part of the path that is already stripped from the -// r.URL.Path variable before the request arrives to File Manager's handler. -// This is a function that will rarely be used. You can see one example on Caddy -// filemanager plugin. -// -// The Base URL is the URL path where you want File Manager to be available in. If -// you want to be available at the root path, you should call: -// -// m.SetBaseURL("/") -// -// But if you want to access it at '/admin', you would call: -// -// m.SetBaseURL("/admin") -// -// Now, that you already have a File Manager instance created, you just need to -// add it to your handlers using m.ServeHTTP which is compatible to http.Handler. -// We also have a m.ServeWithErrorsHTTP that returns the status code and an error. -// -// One simple implementation for this, at port 80, in the root of the domain, would be: -// -// http.ListenAndServe(":80", m) -package filemanager - -import ( - "errors" - "log" - "net/http" - "os" - "os/exec" - "reflect" - "regexp" - "strings" - - rice "github.com/GeertJohan/go.rice" - "github.com/asdine/storm" - "github.com/hacdias/fileutils" - "github.com/mholt/caddy" -) - -var ( - errUserExist = errors.New("user already exists") - errUserNotExist = errors.New("user does not exist") - errEmptyRequest = errors.New("request body is empty") - errEmptyPassword = errors.New("password is empty") - plugins = map[string]Plugin{} -) - -// FileManager is a file manager instance. It should be creating using the -// 'New' function and not directly. -type FileManager struct { - // The BoltDB database for this instance. - db *storm.DB - - // The key used to sign the JWT tokens. - key []byte - - // The static assets. - assets *rice.Box - - // PrefixURL is a part of the URL that is already trimmed from the request URL before it - // arrives to our handlers. It may be useful when using File Manager as a middleware - // such as in caddy-filemanager plugin. It is only useful in certain situations. - PrefixURL string - - // BaseURL is the path where the GUI will be accessible. It musn't end with - // a trailing slash and mustn't contain PrefixURL, if set. It shouldn't be - // edited directly. Use SetBaseURL. - BaseURL string - - // The Default User needed to build the New User page. - DefaultUser *User - - // Users is a map with the different configurations for each user. - Users map[string]*User - - // A map of events to a slice of commands. - Commands map[string][]string - - // The options of the plugins that have been plugged into this instance. - Plugins map[string]interface{} -} - -// Command is a command function. -type Command func(r *http.Request, m *FileManager, u *User) error - -// User contains the configuration for each user. -type User struct { - // ID is the required primary key with auto increment0 - ID int `storm:"id,increment"` - - // Username is the user username used to login. - Username string `json:"username" storm:"index,unique"` - - // The hashed password. This never reaches the front-end because it's temporarily - // emptied during JSON marshall. - Password string `json:"password"` - - // Tells if this user is an admin. - Admin bool `json:"admin"` - - // FileSystem is the virtual file system the user has access. - FileSystem fileutils.Dir `json:"filesystem"` - - // Rules is an array of access and deny rules. - Rules []*Rule `json:"rules"` - - // Custom styles for this user. - CSS string `json:"css"` - - // These indicate if the user can perform certain actions. - AllowNew bool `json:"allowNew"` // Create files and folders - AllowEdit bool `json:"allowEdit"` // Edit/rename files - AllowCommands bool `json:"allowCommands"` // Execute commands - Permissions map[string]bool `json:"permissions"` // Permissions added by plugins - - // Commands is the list of commands the user can execute. - Commands []string `json:"commands"` -} - -// Rule is a dissalow/allow rule. -type Rule struct { - // Regex indicates if this rule uses Regular Expressions or not. - Regex bool `json:"regex"` - - // Allow indicates if this is an allow rule. Set 'false' to be a disallow rule. - Allow bool `json:"allow"` - - // Path is the corresponding URL path for this rule. - Path string `json:"path"` - - // Regexp is the regular expression. Only use this when 'Regex' was set to true. - Regexp *Regexp `json:"regexp"` -} - -// Regexp is a regular expression wrapper around native regexp. -type Regexp struct { - Raw string `json:"raw"` - regexp *regexp.Regexp -} - -type Plugin struct { - JavaScript string - CommandEvents []string - Permissions []Permission - Handler PluginHandler - Options interface{} -} - -type Permission struct { - Name string - Value bool -} - -type PluginHandler interface { - // If the Plugin returns (0, nil), the executation of File Manager will procced as usual. - // Otherwise it will stop. - Before(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) - After(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) -} - -func RegisterPlugin(name string, plugin Plugin) { - if _, ok := plugins[name]; ok { - panic(name + " plugin is already registred") - } - - plugins[name] = plugin -} - -// DefaultUser is used on New, when no 'base' user is provided. -var DefaultUser = User{ - AllowCommands: true, - AllowEdit: true, - AllowNew: true, - Permissions: map[string]bool{}, - Commands: []string{}, - Rules: []*Rule{}, - CSS: "", - Admin: true, - FileSystem: fileutils.Dir("."), -} - -// New creates a new File Manager instance. If 'database' file already -// exists, it will load the users from there. Otherwise, a new user -// will be created using the 'base' variable. The 'base' User should -// not have the Password field hashed. -func New(database string, base User) (*FileManager, error) { - // Creates a new File Manager instance with the Users - // map and Assets box. - m := &FileManager{ - Users: map[string]*User{}, - Plugins: map[string]interface{}{}, - assets: rice.MustFindBox("./assets/dist"), - } - - // Tries to open a database on the location provided. This - // function will automatically create a new one if it doesn't - // exist. - db, err := storm.Open(database) - if err != nil { - return nil, err - } - - // Tries to get the encryption key from the database. - // If it doesn't exist, create a new one of 256 bits. - err = db.Get("config", "key", &m.key) - if err != nil && err == storm.ErrNotFound { - var bytes []byte - bytes, err = generateRandomBytes(64) - if err != nil { - return nil, err - } - - m.key = bytes - err = db.Set("config", "key", m.key) - } - - if err != nil { - return nil, err - } - - // Tries to get the event commands from the database. - // If they don't exist, initialize them. - err = db.Get("config", "commands", &m.Commands) - if err != nil && err == storm.ErrNotFound { - m.Commands = map[string][]string{ - "before_save": {}, - "after_save": {}, - } - err = db.Set("config", "commands", m.Commands) - } - - if err != nil { - return nil, err - } - - // Tries to fetch the users from the database and if there are - // any, add them to the current File Manager instance. - var users []User - err = db.All(&users) - if err != nil { - return nil, err - } - - for i := range users { - m.Users[users[i].Username] = &users[i] - } - - // If there are no users in the database, it creates a new one - // based on 'base' User that must be provided by the function caller. - if len(users) == 0 { - u := base - u.Username = "admin" - - // Hashes the password. - u.Password, err = hashPassword("admin") - if err != nil { - return nil, err - } - - // The first user must be an administrator. - u.Admin = true - u.AllowCommands = true - u.AllowNew = true - u.AllowEdit = true - - // Saves the user to the database. - if err := db.Save(&u); err != nil { - return nil, err - } - - m.Users[u.Username] = &u - } - - // Attaches db to this File Manager instance. - m.db = db - - // Create the default user, making a copy of the base. - base.Username = "" - base.Password = "" - m.DefaultUser = &base - return m, nil -} - -// RootURL returns the actual URL where -// File Manager interface can be accessed. -func (m FileManager) RootURL() string { - return m.PrefixURL + m.BaseURL -} - -// SetPrefixURL updates the prefixURL of a File -// Manager object. -func (m *FileManager) SetPrefixURL(url string) { - url = strings.TrimPrefix(url, "/") - url = strings.TrimSuffix(url, "/") - url = "/" + url - m.PrefixURL = strings.TrimSuffix(url, "/") -} - -// SetBaseURL updates the baseURL of a File Manager -// object. -func (m *FileManager) SetBaseURL(url string) { - url = strings.TrimPrefix(url, "/") - url = strings.TrimSuffix(url, "/") - url = "/" + url - m.BaseURL = strings.TrimSuffix(url, "/") -} - -// ActivatePlugin activates a plugin to a File Manager instance and -// loads its options from the database. -func (m *FileManager) ActivatePlugin(name string, options interface{}) error { - if reflect.TypeOf(options).Kind() != reflect.Ptr { - return errors.New("options should be a pointer to interface, not interface") - } - - var plugin Plugin - - if p, ok := plugins[name]; !ok { - plugin = p - return errors.New(name + " plugin is not registred") - } - - if _, ok := m.Plugins[name]; ok { - return errors.New(name + " plugin is already activated") - } - - err := m.db.Get("plugins", name, &plugin) - if err != nil && err == storm.ErrNotFound { - err = m.db.Set("plugin", name, plugin) - } - - if err != nil { - return err - } - - // Register the command event hooks. - for _, evt := range plugin.CommandEvents { - if _, ok := m.Commands[evt]; ok { - continue - } - - m.Commands[evt] = []string{} - } - - err = m.db.Set("config", "commands", m.Commands) - if err != nil { - return err - } - - // Register the user permissions. - for _, perm := range plugin.Permissions { - err = m.registerPermission(perm.Name, perm.Value) - if err != nil { - return err - } - } - - m.Plugins[name] = options - return nil -} - -// registerPermission registers a new user permission and adds it to every -// user with it default's 'value'. If the user is an admin, it will -// be true. -func (m *FileManager) registerPermission(name string, value bool) error { - if _, ok := m.DefaultUser.Permissions[name]; ok { - return nil - } - - // Add the default value for this permission on the default user. - m.DefaultUser.Permissions[name] = value - - for _, u := range m.Users { - // Bypass the user if it is already defined. - if _, ok := u.Permissions[name]; ok { - continue - } - - if u.Permissions == nil { - u.Permissions = m.DefaultUser.Permissions - } - - if u.Admin { - u.Permissions[name] = true - } - - err := m.db.Save(u) - if err != nil { - return err - } - } - - return nil -} - -// ServeHTTP determines if the request is for this plugin, and if all prerequisites are met. -// Compatible with http.Handler. -func (m *FileManager) ServeHTTP(w http.ResponseWriter, r *http.Request) { - code, err := serveHTTP(&RequestContext{ - FM: m, - User: nil, - FI: nil, - }, w, r) - - if code != 0 { - w.WriteHeader(code) - - if err != nil { - log.Print(err) - w.Write([]byte(err.Error())) - } else { - log.Print(code) - w.Write([]byte(http.StatusText(code))) - } - } -} - -// Allowed checks if the user has permission to access a directory/file. -func (u User) Allowed(url string) bool { - var rule *Rule - i := len(u.Rules) - 1 - - for i >= 0 { - rule = u.Rules[i] - - if rule.Regex { - if rule.Regexp.MatchString(url) { - return rule.Allow - } - } else if strings.HasPrefix(url, rule.Path) { - return rule.Allow - } - - i-- - } - - return true -} - -// MatchString checks if this string matches the regular expression. -func (r *Regexp) MatchString(s string) bool { - if r.regexp == nil { - r.regexp = regexp.MustCompile(r.Raw) - } - - return r.regexp.MatchString(s) -} - -// Runner runs the commands for a certain event type. -func (m FileManager) Runner(event string, path string) error { - commands := []string{} - - // Get the commands from the File Manager instance itself. - if val, ok := m.Commands[event]; ok { - commands = append(commands, val...) - } - - // Execute the commands. - for _, command := range commands { - args := strings.Split(command, " ") - nonblock := false - - if len(args) > 1 && args[len(args)-1] == "&" { - // Run command in background; non-blocking - nonblock = true - args = args[:len(args)-1] - } - - command, args, err := caddy.SplitCommandAndArgs(strings.Join(args, " ")) - if err != nil { - return err - } - - cmd := exec.Command(command, args...) - cmd.Env = append(os.Environ(), "file="+path) - cmd.Stdin = os.Stdin - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - - if nonblock { - log.Printf("[INFO] Nonblocking Command:\"%s %s\"", command, strings.Join(args, " ")) - if err := cmd.Start(); err != nil { - return err - } - - continue - } - - log.Printf("[INFO] Blocking Command:\"%s %s\"", command, strings.Join(args, " ")) - if err := cmd.Run(); err != nil { - return err - } - } - - return nil -} diff --git a/filemanager_test.go b/filemanager_test.go deleted file mode 100644 index cca8a1ce..00000000 --- a/filemanager_test.go +++ /dev/null @@ -1,49 +0,0 @@ -package filemanager - -import ( - "io/ioutil" - "os" - "path/filepath" - "testing" - - "github.com/hacdias/fileutils" -) - -type test struct { - *FileManager - Temp string -} - -func (t test) Clean() { - t.db.Close() - os.RemoveAll(t.Temp) -} - -func newTest(t *testing.T) *test { - temp, err := ioutil.TempDir("", t.Name()) - if err != nil { - t.Fatalf("Error creating temporary directory: %v", err) - } - - scope := filepath.Join(temp, "scope") - database := filepath.Join(temp, "database.db") - - err = fileutils.CopyDir("./testdata", scope) - if err != nil { - t.Fatalf("Error copying the test data: %v", err) - } - - user := DefaultUser - user.FileSystem = fileutils.Dir(scope) - - fm, err := New(database, user) - - if err != nil { - t.Fatalf("Error creating a file manager instance: %v", err) - } - - return &test{ - FileManager: fm, - Temp: temp, - } -} diff --git a/files/file.go b/files/file.go new file mode 100644 index 00000000..2ba432dc --- /dev/null +++ b/files/file.go @@ -0,0 +1,469 @@ +package files + +import ( + "crypto/md5" + "crypto/sha1" + "crypto/sha256" + "crypto/sha512" + "encoding/hex" + "errors" + "hash" + "image" + "io" + "io/fs" + "log" + "mime" + "net/http" + "os" + "path" + "path/filepath" + "regexp" + "strings" + "time" + + "github.com/spf13/afero" + + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/rules" +) + +var ( + reSubDirs = regexp.MustCompile("(?i)^sub(s|titles)$") + reSubExts = regexp.MustCompile("(?i)(.vtt|.srt|.ass|.ssa)$") +) + +// FileInfo describes a file. +type FileInfo struct { + *Listing + Fs afero.Fs `json:"-"` + Path string `json:"path"` + Name string `json:"name"` + Size int64 `json:"size"` + Extension string `json:"extension"` + ModTime time.Time `json:"modified"` + Mode os.FileMode `json:"mode"` + IsDir bool `json:"isDir"` + IsSymlink bool `json:"isSymlink"` + Type string `json:"type"` + Subtitles []string `json:"subtitles,omitempty"` + Content string `json:"content,omitempty"` + Checksums map[string]string `json:"checksums,omitempty"` + Token string `json:"token,omitempty"` + currentDir []os.FileInfo `json:"-"` + Resolution *ImageResolution `json:"resolution,omitempty"` +} + +// FileOptions are the options when getting a file info. +type FileOptions struct { + Fs afero.Fs + Path string + Modify bool + Expand bool + ReadHeader bool + CalcImgRes bool + Token string + Checker rules.Checker + Content bool +} + +type ImageResolution struct { + Width int `json:"width"` + Height int `json:"height"` +} + +// NewFileInfo creates a File object from a path and a given user. This File +// object will be automatically filled depending on if it is a directory +// or a file. If it's a video file, it will also detect any subtitles. +func NewFileInfo(opts *FileOptions) (*FileInfo, error) { + if !opts.Checker.Check(opts.Path) { + return nil, os.ErrPermission + } + + file, err := stat(opts) + if err != nil { + return nil, err + } + + // Do not expose the name of root directory. + if file.Path == "/" { + file.Name = "" + } + + if opts.Expand { + if file.IsDir { + if err := file.readListing(opts.Checker, opts.ReadHeader, opts.CalcImgRes); err != nil { + return nil, err + } + return file, nil + } + + err = file.detectType(opts.Modify, opts.Content, true, opts.CalcImgRes) + if err != nil { + return nil, err + } + } + + return file, err +} + +func stat(opts *FileOptions) (*FileInfo, error) { + var file *FileInfo + + if lstaterFs, ok := opts.Fs.(afero.Lstater); ok { + info, _, err := lstaterFs.LstatIfPossible(opts.Path) + if err != nil { + return nil, err + } + file = &FileInfo{ + Fs: opts.Fs, + Path: opts.Path, + Name: info.Name(), + ModTime: info.ModTime(), + Mode: info.Mode(), + IsDir: info.IsDir(), + IsSymlink: IsSymlink(info.Mode()), + Size: info.Size(), + Extension: filepath.Ext(info.Name()), + Token: opts.Token, + } + } + + // regular file + if file != nil && !file.IsSymlink { + return file, nil + } + + // fs doesn't support afero.Lstater interface or the file is a symlink + info, err := opts.Fs.Stat(opts.Path) + if err != nil { + // can't follow symlink + if file != nil && file.IsSymlink { + return file, nil + } + return nil, err + } + + // set correct file size in case of symlink + if file != nil && file.IsSymlink { + file.Size = info.Size() + file.IsDir = info.IsDir() + return file, nil + } + + file = &FileInfo{ + Fs: opts.Fs, + Path: opts.Path, + Name: info.Name(), + ModTime: info.ModTime(), + Mode: info.Mode(), + IsDir: info.IsDir(), + Size: info.Size(), + Extension: filepath.Ext(info.Name()), + Token: opts.Token, + } + + return file, nil +} + +// Checksum checksums a given File for a given User, using a specific +// algorithm. The checksums data is saved on File object. +func (i *FileInfo) Checksum(algo string) error { + if i.IsDir { + return fberrors.ErrIsDirectory + } + + if i.Checksums == nil { + i.Checksums = map[string]string{} + } + + reader, err := i.Fs.Open(i.Path) + if err != nil { + return err + } + defer reader.Close() + + var h hash.Hash + + switch algo { + case "md5": + h = md5.New() + case "sha1": + h = sha1.New() + case "sha256": + h = sha256.New() + case "sha512": + h = sha512.New() + default: + return fberrors.ErrInvalidOption + } + + _, err = io.Copy(h, reader) + if err != nil { + return err + } + + i.Checksums[algo] = hex.EncodeToString(h.Sum(nil)) + return nil +} + +func (i *FileInfo) RealPath() string { + if realPathFs, ok := i.Fs.(interface { + RealPath(name string) (fPath string, err error) + }); ok { + realPath, err := realPathFs.RealPath(i.Path) + if err == nil { + return realPath + } + } + + return i.Path +} + +func (i *FileInfo) detectType(modify, saveContent, readHeader bool, calcImgRes bool) error { + if IsNamedPipe(i.Mode) { + i.Type = "blob" + return nil + } + // failing to detect the type should not return error. + // imagine the situation where a file in a dir with thousands + // of files couldn't be opened: we'd have immediately + // a 500 even though it doesn't matter. So we just log it. + + mimetype := mime.TypeByExtension(i.Extension) + + var buffer []byte + if readHeader { + buffer = i.readFirstBytes() + + if mimetype == "" { + mimetype = http.DetectContentType(buffer) + } + } + + switch { + case strings.HasPrefix(mimetype, "video"): + i.Type = "video" + i.detectSubtitles() + return nil + case strings.HasPrefix(mimetype, "audio"): + i.Type = "audio" + return nil + case strings.HasPrefix(mimetype, "image"): + i.Type = "image" + if calcImgRes { + resolution, err := calculateImageResolution(i.Fs, i.Path) + if err != nil { + log.Printf("Error calculating image resolution: %v", err) + } else { + i.Resolution = resolution + } + } + return nil + case strings.HasSuffix(mimetype, "pdf"): + i.Type = "pdf" + return nil + case (strings.HasPrefix(mimetype, "text") || !isBinary(buffer)) && i.Size <= 10*1024*1024: // 10 MB + i.Type = "text" + + if !modify { + i.Type = "textImmutable" + } + + if saveContent { + afs := &afero.Afero{Fs: i.Fs} + content, err := afs.ReadFile(i.Path) + if err != nil { + return err + } + + i.Content = string(content) + } + return nil + default: + i.Type = "blob" + } + + return nil +} + +func calculateImageResolution(fSys afero.Fs, filePath string) (*ImageResolution, error) { + file, err := fSys.Open(filePath) + if err != nil { + return nil, err + } + defer func() { + if cErr := file.Close(); cErr != nil { + log.Printf("Failed to close file: %v", cErr) + } + }() + + config, _, err := image.DecodeConfig(file) + if err != nil { + return nil, err + } + + return &ImageResolution{ + Width: config.Width, + Height: config.Height, + }, nil +} + +func (i *FileInfo) readFirstBytes() []byte { + reader, err := i.Fs.Open(i.Path) + if err != nil { + log.Print(err) + i.Type = "blob" + return nil + } + defer reader.Close() + + buffer := make([]byte, 512) + n, err := reader.Read(buffer) + if err != nil && !errors.Is(err, io.EOF) { + log.Print(err) + i.Type = "blob" + return nil + } + + return buffer[:n] +} + +func (i *FileInfo) detectSubtitles() { + if i.Type != "video" { + return + } + + i.Subtitles = []string{} + ext := filepath.Ext(i.Path) + + // detect multiple languages. Base*.vtt + parentDir := strings.TrimRight(i.Path, i.Name) + var dir []os.FileInfo + if len(i.currentDir) > 0 { + dir = i.currentDir + } else { + var err error + dir, err = afero.ReadDir(i.Fs, parentDir) + if err != nil { + return + } + } + + base := strings.TrimSuffix(i.Name, ext) + for _, f := range dir { + // load all supported subtitles from subs directories + // should cover all instances of subtitle distributions + // like tv-shows with multiple episodes in single dir + if f.IsDir() && reSubDirs.MatchString(f.Name()) { + subsDir := path.Join(parentDir, f.Name()) + i.loadSubtitles(subsDir, base, true) + } else if isSubtitleMatch(f, base) { + i.addSubtitle(path.Join(parentDir, f.Name())) + } + } +} + +func (i *FileInfo) loadSubtitles(subsPath, baseName string, recursive bool) { + dir, err := afero.ReadDir(i.Fs, subsPath) + if err == nil { + for _, f := range dir { + if isSubtitleMatch(f, "") { + i.addSubtitle(path.Join(subsPath, f.Name())) + } else if f.IsDir() && recursive && strings.HasPrefix(f.Name(), baseName) { + subsDir := path.Join(subsPath, f.Name()) + i.loadSubtitles(subsDir, baseName, false) + } + } + } +} + +func IsSupportedSubtitle(fileName string) bool { + return reSubExts.MatchString(fileName) +} + +func isSubtitleMatch(f fs.FileInfo, baseName string) bool { + return !f.IsDir() && strings.HasPrefix(f.Name(), baseName) && + IsSupportedSubtitle(f.Name()) +} + +func (i *FileInfo) addSubtitle(fPath string) { + i.Subtitles = append(i.Subtitles, fPath) +} + +func (i *FileInfo) readListing(checker rules.Checker, readHeader bool, calcImgRes bool) error { + afs := &afero.Afero{Fs: i.Fs} + dir, err := afs.ReadDir(i.Path) + if err != nil { + return err + } + + listing := &Listing{ + Items: []*FileInfo{}, + NumDirs: 0, + NumFiles: 0, + } + + for _, f := range dir { + name := f.Name() + fPath := path.Join(i.Path, name) + + if !checker.Check(fPath) { + continue + } + + isSymlink, isInvalidLink := false, false + if IsSymlink(f.Mode()) { + isSymlink = true + // It's a symbolic link. We try to follow it. If it doesn't work, + // we stay with the link information instead of the target's. + info, err := i.Fs.Stat(fPath) + if err == nil { + f = info + } else { + isInvalidLink = true + } + } + + file := &FileInfo{ + Fs: i.Fs, + Name: name, + Size: f.Size(), + ModTime: f.ModTime(), + Mode: f.Mode(), + IsDir: f.IsDir(), + IsSymlink: isSymlink, + Extension: filepath.Ext(name), + Path: fPath, + currentDir: dir, + } + + if !file.IsDir && strings.HasPrefix(mime.TypeByExtension(file.Extension), "image/") && calcImgRes { + resolution, err := calculateImageResolution(file.Fs, file.Path) + if err != nil { + log.Printf("Error calculating resolution for image %s: %v", file.Path, err) + } else { + file.Resolution = resolution + } + } + + if file.IsDir { + listing.NumDirs++ + } else { + listing.NumFiles++ + + if isInvalidLink { + file.Type = "invalid_link" + } else { + err := file.detectType(true, false, readHeader, calcImgRes) + if err != nil { + return err + } + } + } + + listing.Items = append(listing.Items, file) + } + + i.Listing = listing + return nil +} diff --git a/files/listing.go b/files/listing.go new file mode 100644 index 00000000..ad60e51e --- /dev/null +++ b/files/listing.go @@ -0,0 +1,108 @@ +package files + +import ( + "sort" + "strings" + + "github.com/maruel/natural" +) + +// Listing is a collection of files. +type Listing struct { + Items []*FileInfo `json:"items"` + NumDirs int `json:"numDirs"` + NumFiles int `json:"numFiles"` + Sorting Sorting `json:"sorting"` +} + +// ApplySort applies the sort order using .Order and .Sort +func (l Listing) ApplySort() { + // Check '.Order' to know how to sort + if !l.Sorting.Asc { + switch l.Sorting.By { + case "name": + sort.Sort(sort.Reverse(byName(l))) + case "size": + sort.Sort(sort.Reverse(bySize(l))) + case "modified": + sort.Sort(sort.Reverse(byModified(l))) + default: + // If not one of the above, do nothing + return + } + } else { // If we had more Orderings we could add them here + switch l.Sorting.By { + case "name": + sort.Sort(byName(l)) + case "size": + sort.Sort(bySize(l)) + case "modified": + sort.Sort(byModified(l)) + default: + sort.Sort(byName(l)) + return + } + } +} + +// Implement sorting for Listing +type byName Listing +type bySize Listing +type byModified Listing + +// By Name +func (l byName) Len() int { + return len(l.Items) +} + +func (l byName) Swap(i, j int) { + l.Items[i], l.Items[j] = l.Items[j], l.Items[i] +} + +// Treat upper and lower case equally +func (l byName) Less(i, j int) bool { + if l.Items[i].IsDir && !l.Items[j].IsDir { + return l.Sorting.Asc + } + + if !l.Items[i].IsDir && l.Items[j].IsDir { + return !l.Sorting.Asc + } + + return natural.Less(strings.ToLower(l.Items[j].Name), strings.ToLower(l.Items[i].Name)) +} + +// By Size +func (l bySize) Len() int { + return len(l.Items) +} + +func (l bySize) Swap(i, j int) { + l.Items[i], l.Items[j] = l.Items[j], l.Items[i] +} + +const directoryOffset = -1 << 31 // = math.MinInt32 +func (l bySize) Less(i, j int) bool { + iSize, jSize := l.Items[i].Size, l.Items[j].Size + if l.Items[i].IsDir { + iSize = directoryOffset + iSize + } + if l.Items[j].IsDir { + jSize = directoryOffset + jSize + } + return iSize < jSize +} + +// By Modified +func (l byModified) Len() int { + return len(l.Items) +} + +func (l byModified) Swap(i, j int) { + l.Items[i], l.Items[j] = l.Items[j], l.Items[i] +} + +func (l byModified) Less(i, j int) bool { + iModified, jModified := l.Items[i].ModTime, l.Items[j].ModTime + return iModified.Sub(jModified) < 0 +} diff --git a/files/mime.go b/files/mime.go new file mode 100644 index 00000000..baa4d6d5 --- /dev/null +++ b/files/mime.go @@ -0,0 +1,608 @@ +package files + +// This file contains code primarily sourced from:: +// github.com/kataras/iris + +import ( + "mime" +) + +const ( + // ContentBinaryHeaderValue header value for binary data. + ContentBinaryHeaderValue = "application/octet-stream" + // ContentWebassemblyHeaderValue header value for web assembly files. + ContentWebassemblyHeaderValue = "application/wasm" + // ContentHTMLHeaderValue is the string of text/html response header's content type value. + ContentHTMLHeaderValue = "text/html" + // ContentJSONHeaderValue header value for JSON data. + ContentJSONHeaderValue = "application/json" + // ContentJSONProblemHeaderValue header value for JSON API problem error. + // Read more at: https://tools.ietf.org/html/rfc7807 + ContentJSONProblemHeaderValue = "application/problem+json" + // ContentXMLProblemHeaderValue header value for XML API problem error. + // Read more at: https://tools.ietf.org/html/rfc7807 + ContentXMLProblemHeaderValue = "application/problem+xml" + // ContentJavascriptHeaderValue header value for JSONP & Javascript data. + ContentJavascriptHeaderValue = "text/javascript" + // ContentTextHeaderValue header value for Text data. + ContentTextHeaderValue = "text/plain" + // ContentXMLHeaderValue header value for XML data. + ContentXMLHeaderValue = "text/xml" + // ContentXMLUnreadableHeaderValue obsolete header value for XML. + ContentXMLUnreadableHeaderValue = "application/xml" + // ContentMarkdownHeaderValue custom key/content type, the real is the text/html. + ContentMarkdownHeaderValue = "text/markdown" + // ContentYAMLHeaderValue header value for YAML data. + ContentYAMLHeaderValue = "application/x-yaml" + // ContentYAMLTextHeaderValue header value for YAML plain text. + ContentYAMLTextHeaderValue = "text/yaml" + // ContentProtobufHeaderValue header value for Protobuf messages data. + ContentProtobufHeaderValue = "application/x-protobuf" + // ContentMsgPackHeaderValue header value for MsgPack data. + ContentMsgPackHeaderValue = "application/msgpack" + // ContentMsgPack2HeaderValue alternative header value for MsgPack data. + ContentMsgPack2HeaderValue = "application/x-msgpack" + // ContentFormHeaderValue header value for post form data. + ContentFormHeaderValue = "application/x-www-form-urlencoded" + // ContentFormMultipartHeaderValue header value for post multipart form data. + ContentFormMultipartHeaderValue = "multipart/form-data" + // ContentMultipartRelatedHeaderValue header value for multipart related data. + ContentMultipartRelatedHeaderValue = "multipart/related" + // ContentGRPCHeaderValue Content-Type header value for gRPC. + ContentGRPCHeaderValue = "application/grpc" +) + +var types = map[string]string{ + ".3dm": "x-world/x-3dmf", + ".3dmf": "x-world/x-3dmf", + ".7z": "application/x-7z-compressed", + ".a": "application/octet-stream", + ".aab": "application/x-authorware-bin", + ".aam": "application/x-authorware-map", + ".aas": "application/x-authorware-seg", + ".abc": "text/vndabc", + ".ace": "application/x-ace-compressed", + ".acgi": "text/html", + ".afl": "video/animaflex", + ".ai": "application/postscript", + ".aif": "audio/aiff", + ".aifc": "audio/aiff", + ".aiff": "audio/aiff", + ".aim": "application/x-aim", + ".aip": "text/x-audiosoft-intra", + ".alz": "application/x-alz-compressed", + ".ani": "application/x-navi-animation", + ".aos": "application/x-nokia-9000-communicator-add-on-software", + ".aps": "application/mime", + ".apk": "application/vnd.android.package-archive", + ".arc": "application/x-arc-compressed", + ".arj": "application/arj", + ".art": "image/x-jg", + ".asf": "video/x-ms-asf", + ".asm": "text/x-asm", + ".asp": "text/asp", + ".asx": "application/x-mplayer2", + ".au": "audio/basic", + ".avi": "video/x-msvideo", + ".avs": "video/avs-video", + ".bcpio": "application/x-bcpio", + ".bin": "application/mac-binary", + ".bmp": "image/bmp", + ".boo": "application/book", + ".book": "application/book", + ".boz": "application/x-bzip2", + ".bsh": "application/x-bsh", + ".bz2": "application/x-bzip2", + ".bz": "application/x-bzip", + ".c++": ContentTextHeaderValue, + ".c": "text/x-c", + ".cab": "application/vnd.ms-cab-compressed", + ".cat": "application/vndms-pkiseccat", + ".cc": "text/x-c", + ".ccad": "application/clariscad", + ".cco": "application/x-cocoa", + ".cdf": "application/cdf", + ".cer": "application/pkix-cert", + ".cha": "application/x-chat", + ".chat": "application/x-chat", + ".chrt": "application/vnd.kde.kchart", + ".class": "application/java", + ".com": ContentTextHeaderValue, + ".conf": ContentTextHeaderValue, + ".cpio": "application/x-cpio", + ".cpp": "text/x-c", + ".cpt": "application/mac-compactpro", + ".crl": "application/pkcs-crl", + ".crt": "application/pkix-cert", + ".crx": "application/x-chrome-extension", + ".csh": "text/x-scriptcsh", + ".css": "text/css", + ".csv": "text/csv", + ".cxx": ContentTextHeaderValue, + ".dar": "application/x-dar", + ".dcr": "application/x-director", + ".deb": "application/x-debian-package", + ".deepv": "application/x-deepv", + ".def": ContentTextHeaderValue, + ".der": "application/x-x509-ca-cert", + ".dif": "video/x-dv", + ".dir": "application/x-director", + ".divx": "video/divx", + ".dl": "video/dl", + ".dmg": "application/x-apple-diskimage", + ".doc": "application/msword", + ".dot": "application/msword", + ".dp": "application/commonground", + ".drw": "application/drafting", + ".dump": "application/octet-stream", + ".dv": "video/x-dv", + ".dvi": "application/x-dvi", + ".dwf": "drawing/x-dwf=(old)", + ".dwg": "application/acad", + ".dxf": "application/dxf", + ".dxr": "application/x-director", + ".el": "text/x-scriptelisp", + ".elc": "application/x-bytecodeelisp=(compiled=elisp)", + ".eml": "message/rfc822", + ".env": "application/x-envoy", + ".eps": "application/postscript", + ".es": "application/x-esrehber", + ".etx": "text/x-setext", + ".evy": "application/envoy", + ".exe": "application/octet-stream", + ".f77": "text/x-fortran", + ".f90": "text/x-fortran", + ".f": "text/x-fortran", + ".fdf": "application/vndfdf", + ".fif": "application/fractals", + ".fli": "video/fli", + ".flo": "image/florian", + ".flv": "video/x-flv", + ".flx": "text/vndfmiflexstor", + ".fmf": "video/x-atomic3d-feature", + ".for": "text/x-fortran", + ".fpx": "image/vndfpx", + ".frl": "application/freeloader", + ".funk": "audio/make", + ".g3": "image/g3fax", + ".g": ContentTextHeaderValue, + ".gif": "image/gif", + ".gl": "video/gl", + ".gsd": "audio/x-gsm", + ".gsm": "audio/x-gsm", + ".gsp": "application/x-gsp", + ".gss": "application/x-gss", + ".gtar": "application/x-gtar", + ".gz": "application/x-compressed", + ".gzip": "application/x-gzip", + ".h": "text/x-h", + ".hdf": "application/x-hdf", + ".help": "application/x-helpfile", + ".hgl": "application/vndhp-hpgl", + ".hh": "text/x-h", + ".hlb": "text/x-script", + ".hlp": "application/hlp", + ".hpg": "application/vndhp-hpgl", + ".hpgl": "application/vndhp-hpgl", + ".hqx": "application/binhex", + ".hta": "application/hta", + ".htc": "text/x-component", + ".htm": "text/html", + ".html": "text/html", + ".htmls": "text/html", + ".htt": "text/webviewhtml", + ".htx": "text/html", + ".ice": "x-conference/x-cooltalk", + ".ico": "image/x-icon", + ".ics": "text/calendar", + ".icz": "text/calendar", + ".idc": ContentTextHeaderValue, + ".ief": "image/ief", + ".iefs": "image/ief", + ".iges": "application/iges", + ".igs": "application/iges", + ".ima": "application/x-ima", + ".imap": "application/x-httpd-imap", + ".inf": "application/inf", + ".ins": "application/x-internett-signup", + ".ip": "application/x-ip2", + ".isu": "video/x-isvideo", + ".it": "audio/it", + ".iv": "application/x-inventor", + ".ivr": "i-world/i-vrml", + ".ivy": "application/x-livescreen", + ".jam": "audio/x-jam", + ".jav": "text/x-java-source", + ".java": "text/x-java-source", + ".jcm": "application/x-java-commerce", + ".jfif-tbnl": "image/jpeg", + ".jfif": "image/jpeg", + ".jnlp": "application/x-java-jnlp-file", + ".jpe": "image/jpeg", + ".jpeg": "image/jpeg", + ".jpg": "image/jpeg", + ".jps": "image/x-jps", + ".js": ContentJavascriptHeaderValue, + ".mjs": ContentJavascriptHeaderValue, + ".json": ContentJSONHeaderValue, + ".vue": ContentJavascriptHeaderValue, + ".jut": "image/jutvision", + ".kar": "audio/midi", + ".karbon": "application/vnd.kde.karbon", + ".kfo": "application/vnd.kde.kformula", + ".flw": "application/vnd.kde.kivio", + ".kml": "application/vnd.google-earth.kml+xml", + ".kmz": "application/vnd.google-earth.kmz", + ".kon": "application/vnd.kde.kontour", + ".kpr": "application/vnd.kde.kpresenter", + ".kpt": "application/vnd.kde.kpresenter", + ".ksp": "application/vnd.kde.kspread", + ".kwd": "application/vnd.kde.kword", + ".kwt": "application/vnd.kde.kword", + ".ksh": "text/x-scriptksh", + ".la": "audio/nspaudio", + ".lam": "audio/x-liveaudio", + ".latex": "application/x-latex", + ".lha": "application/lha", + ".lhx": "application/octet-stream", + ".list": ContentTextHeaderValue, + ".lma": "audio/nspaudio", + ".log": ContentTextHeaderValue, + ".lsp": "text/x-scriptlisp", + ".lst": ContentTextHeaderValue, + ".lsx": "text/x-la-asf", + ".ltx": "application/x-latex", + ".lzh": "application/octet-stream", + ".lzx": "application/lzx", + ".m1v": "video/mpeg", + ".m2a": "audio/mpeg", + ".m2v": "video/mpeg", + ".m3u": "audio/x-mpegurl", + ".m": "text/x-m", + ".man": "application/x-troff-man", + ".manifest": "text/cache-manifest", + ".map": "application/x-navimap", + ".mar": ContentTextHeaderValue, + ".mbd": "application/mbedlet", + ".mc$": "application/x-magic-cap-package-10", + ".mcd": "application/mcad", + ".mcf": "text/mcf", + ".mcp": "application/netmc", + ".me": "application/x-troff-me", + ".mht": "message/rfc822", + ".mhtml": "message/rfc822", + ".mid": "application/x-midi", + ".midi": "application/x-midi", + ".mif": "application/x-frame", + ".mime": "message/rfc822", + ".mjf": "audio/x-vndaudioexplosionmjuicemediafile", + ".mjpg": "video/x-motion-jpeg", + ".mm": "application/base64", + ".mme": "application/base64", + ".mod": "audio/mod", + ".moov": "video/quicktime", + ".mov": "video/quicktime", + ".movie": "video/x-sgi-movie", + ".mp2": "audio/mpeg", + ".mp3": "audio/mpeg", + ".mp4": "video/mp4", + ".mpa": "audio/mpeg", + ".mpc": "application/x-project", + ".mpe": "video/mpeg", + ".mpeg": "video/mpeg", + ".mpg": "video/mpeg", + ".mpga": "audio/mpeg", + ".mpp": "application/vndms-project", + ".mpt": "application/x-project", + ".mpv": "application/x-project", + ".mpx": "application/x-project", + ".mrc": "application/marc", + ".ms": "application/x-troff-ms", + ".mv": "video/x-sgi-movie", + ".my": "audio/make", + ".mzz": "application/x-vndaudioexplosionmzz", + ".nap": "image/naplps", + ".naplps": "image/naplps", + ".nc": "application/x-netcdf", + ".ncm": "application/vndnokiaconfiguration-message", + ".nif": "image/x-niff", + ".niff": "image/x-niff", + ".nix": "application/x-mix-transfer", + ".nsc": "application/x-conference", + ".nvd": "application/x-navidoc", + ".o": "application/octet-stream", + ".oda": "application/oda", + ".odb": "application/vnd.oasis.opendocument.database", + ".odc": "application/vnd.oasis.opendocument.chart", + ".odf": "application/vnd.oasis.opendocument.formula", + ".odg": "application/vnd.oasis.opendocument.graphics", + ".odi": "application/vnd.oasis.opendocument.image", + ".odm": "application/vnd.oasis.opendocument.text-master", + ".odp": "application/vnd.oasis.opendocument.presentation", + ".ods": "application/vnd.oasis.opendocument.spreadsheet", + ".odt": "application/vnd.oasis.opendocument.text", + ".oga": "audio/ogg", + ".ogg": "audio/ogg", + ".ogv": "video/ogg", + ".omc": "application/x-omc", + ".omcd": "application/x-omcdatamaker", + ".omcr": "application/x-omcregerator", + ".otc": "application/vnd.oasis.opendocument.chart-template", + ".otf": "application/vnd.oasis.opendocument.formula-template", + ".otg": "application/vnd.oasis.opendocument.graphics-template", + ".oth": "application/vnd.oasis.opendocument.text-web", + ".oti": "application/vnd.oasis.opendocument.image-template", + ".otm": "application/vnd.oasis.opendocument.text-master", + ".otp": "application/vnd.oasis.opendocument.presentation-template", + ".ots": "application/vnd.oasis.opendocument.spreadsheet-template", + ".ott": "application/vnd.oasis.opendocument.text-template", + ".p10": "application/pkcs10", + ".p12": "application/pkcs-12", + ".p7a": "application/x-pkcs7-signature", + ".p7c": "application/pkcs7-mime", + ".p7m": "application/pkcs7-mime", + ".p7r": "application/x-pkcs7-certreqresp", + ".p7s": "application/pkcs7-signature", + ".p": "text/x-pascal", + ".part": "application/pro_eng", + ".pas": "text/pascal", + ".pbm": "image/x-portable-bitmap", + ".pcl": "application/vndhp-pcl", + ".pct": "image/x-pict", + ".pcx": "image/x-pcx", + ".pdb": "chemical/x-pdb", + ".pdf": "application/pdf", + ".pfunk": "audio/make", + ".pgm": "image/x-portable-graymap", + ".pic": "image/pict", + ".pict": "image/pict", + ".pkg": "application/x-newton-compatible-pkg", + ".pko": "application/vndms-pkipko", + ".pl": "text/x-scriptperl", + ".plx": "application/x-pixclscript", + ".pm4": "application/x-pagemaker", + ".pm5": "application/x-pagemaker", + ".pm": "text/x-scriptperl-module", + ".png": "image/png", + ".pnm": "application/x-portable-anymap", + ".pot": "application/mspowerpoint", + ".pov": "model/x-pov", + ".ppa": "application/vndms-powerpoint", + ".ppm": "image/x-portable-pixmap", + ".pps": "application/mspowerpoint", + ".ppt": "application/mspowerpoint", + ".ppz": "application/mspowerpoint", + ".pre": "application/x-freelance", + ".prt": "application/pro_eng", + ".ps": "application/postscript", + ".psd": "application/octet-stream", + ".pvu": "paleovu/x-pv", + ".pwz": "application/vndms-powerpoint", + ".py": "text/x-scriptphyton", + ".pyc": "application/x-bytecodepython", + ".qcp": "audio/vndqcelp", + ".qd3": "x-world/x-3dmf", + ".qd3d": "x-world/x-3dmf", + ".qif": "image/x-quicktime", + ".qt": "video/quicktime", + ".qtc": "video/x-qtc", + ".qti": "image/x-quicktime", + ".qtif": "image/x-quicktime", + ".ra": "audio/x-pn-realaudio", + ".ram": "audio/x-pn-realaudio", + ".rar": "application/x-rar-compressed", + ".ras": "application/x-cmu-raster", + ".rast": "image/cmu-raster", + ".rexx": "text/x-scriptrexx", + ".rf": "image/vndrn-realflash", + ".rgb": "image/x-rgb", + ".rm": "application/vndrn-realmedia", + ".rmi": "audio/mid", + ".rmm": "audio/x-pn-realaudio", + ".rmp": "audio/x-pn-realaudio", + ".rng": "application/ringing-tones", + ".rnx": "application/vndrn-realplayer", + ".roff": "application/x-troff", + ".rp": "image/vndrn-realpix", + ".rpm": "audio/x-pn-realaudio-plugin", + ".rt": "text/vndrn-realtext", + ".rtf": "text/richtext", + ".rtx": "text/richtext", + ".rv": "video/vndrn-realvideo", + ".s": "text/x-asm", + ".s3m": "audio/s3m", + ".s7z": "application/x-7z-compressed", + ".saveme": "application/octet-stream", + ".sbk": "application/x-tbook", + ".scm": "text/x-scriptscheme", + ".sdml": ContentTextHeaderValue, + ".sdp": "application/sdp", + ".sdr": "application/sounder", + ".sea": "application/sea", + ".set": "application/set", + ".sgm": "text/x-sgml", + ".sgml": "text/x-sgml", + ".sh": "text/x-scriptsh", + ".shar": "application/x-bsh", + ".shtml": "text/x-server-parsed-html", + ".sid": "audio/x-psid", + ".skd": "application/x-koan", + ".skm": "application/x-koan", + ".skp": "application/x-koan", + ".skt": "application/x-koan", + ".sit": "application/x-stuffit", + ".sitx": "application/x-stuffitx", + ".sl": "application/x-seelogo", + ".smi": "application/smil", + ".smil": "application/smil", + ".snd": "audio/basic", + ".sol": "application/solids", + ".spc": "text/x-speech", + ".spl": "application/futuresplash", + ".spr": "application/x-sprite", + ".sprite": "application/x-sprite", + ".spx": "audio/ogg", + ".src": "application/x-wais-source", + ".ssi": "text/x-server-parsed-html", + ".ssm": "application/streamingmedia", + ".sst": "application/vndms-pkicertstore", + ".step": "application/step", + ".stl": "application/sla", + ".stp": "application/step", + ".sv4cpio": "application/x-sv4cpio", + ".sv4crc": "application/x-sv4crc", + ".svf": "image/vnddwg", + ".svg": "image/svg+xml", + ".svr": "application/x-world", + ".swf": "application/x-shockwave-flash", + ".t": "application/x-troff", + ".talk": "text/x-speech", + ".tar": "application/x-tar", + ".tbk": "application/toolbook", + ".tcl": "text/x-scripttcl", + ".tcsh": "text/x-scripttcsh", + ".tex": "application/x-tex", + ".texi": "application/x-texinfo", + ".texinfo": "application/x-texinfo", + ".text": ContentTextHeaderValue, + ".tgz": "application/gnutar", + ".tif": "image/tiff", + ".tiff": "image/tiff", + ".tr": "application/x-troff", + ".tsi": "audio/tsp-audio", + ".tsp": "application/dsptype", + ".tsv": "text/tab-separated-values", + ".turbot": "image/florian", + ".txt": ContentTextHeaderValue, + ".uil": "text/x-uil", + ".uni": "text/uri-list", + ".unis": "text/uri-list", + ".unv": "application/i-deas", + ".uri": "text/uri-list", + ".uris": "text/uri-list", + ".ustar": "application/x-ustar", + ".uu": "text/x-uuencode", + ".uue": "text/x-uuencode", + ".vcd": "application/x-cdlink", + ".vcf": "text/x-vcard", + ".vcard": "text/x-vcard", + ".vcs": "text/x-vcalendar", + ".vda": "application/vda", + ".vdo": "video/vdo", + ".vew": "application/groupwise", + ".viv": "video/vivo", + ".vivo": "video/vivo", + ".vmd": "application/vocaltec-media-desc", + ".vmf": "application/vocaltec-media-file", + ".voc": "audio/voc", + ".vos": "video/vosaic", + ".vox": "audio/voxware", + ".vqe": "audio/x-twinvq-plugin", + ".vqf": "audio/x-twinvq", + ".vql": "audio/x-twinvq-plugin", + ".vrml": "application/x-vrml", + ".vrt": "x-world/x-vrt", + ".vsd": "application/x-visio", + ".vst": "application/x-visio", + ".vsw": "application/x-visio", + ".w60": "application/wordperfect60", + ".w61": "application/wordperfect61", + ".w6w": "application/msword", + ".wav": "audio/wav", + ".wb1": "application/x-qpro", + ".wbmp": "image/vnd.wap.wbmp", + ".web": "application/vndxara", + ".wiz": "application/msword", + ".wk1": "application/x-123", + ".wmf": "windows/metafile", + ".wml": "text/vnd.wap.wml", + ".wmlc": "application/vnd.wap.wmlc", + ".wmls": "text/vnd.wap.wmlscript", + ".wmlsc": "application/vnd.wap.wmlscriptc", + ".word": "application/msword", + ".wp5": "application/wordperfect", + ".wp6": "application/wordperfect", + ".wp": "application/wordperfect", + ".wpd": "application/wordperfect", + ".wq1": "application/x-lotus", + ".wri": "application/mswrite", + ".wrl": "application/x-world", + ".wrz": "model/vrml", + ".wsc": "text/scriplet", + ".wsrc": "application/x-wais-source", + ".wtk": "application/x-wintalk", + ".x-png": "image/png", + ".xbm": "image/x-xbitmap", + ".xdr": "video/x-amt-demorun", + ".xgz": "xgl/drawing", + ".xif": "image/vndxiff", + ".xl": "application/excel", + ".xla": "application/excel", + ".xlb": "application/excel", + ".xlc": "application/excel", + ".xld": "application/excel", + ".xlk": "application/excel", + ".xll": "application/excel", + ".xlm": "application/excel", + ".xls": "application/excel", + ".xlt": "application/excel", + ".xlv": "application/excel", + ".xlw": "application/excel", + ".xm": "audio/xm", + ".xml": ContentXMLHeaderValue, + ".xmz": "xgl/movie", + ".xpix": "application/x-vndls-xpix", + ".xpm": "image/x-xpixmap", + ".xsr": "video/x-amt-showrun", + ".xwd": "image/x-xwd", + ".xyz": "chemical/x-pdb", + ".z": "application/x-compress", + ".zip": "application/zip", + ".zoo": "application/octet-stream", + ".zsh": "text/x-scriptzsh", + ".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + ".docm": "application/vnd.ms-word.document.macroEnabled.12", + ".dotx": "application/vnd.openxmlformats-officedocument.wordprocessingml.template", + ".dotm": "application/vnd.ms-word.template.macroEnabled.12", + ".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + ".xlsm": "application/vnd.ms-excel.sheet.macroEnabled.12", + ".xltx": "application/vnd.openxmlformats-officedocument.spreadsheetml.template", + ".xltm": "application/vnd.ms-excel.template.macroEnabled.12", + ".xlsb": "application/vnd.ms-excel.sheet.binary.macroEnabled.12", + ".xlam": "application/vnd.ms-excel.addin.macroEnabled.12", + ".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation", + ".pptm": "application/vnd.ms-powerpoint.presentation.macroEnabled.12", + ".ppsx": "application/vnd.openxmlformats-officedocument.presentationml.slideshow", + ".ppsm": "application/vnd.ms-powerpoint.slideshow.macroEnabled.12", + ".potx": "application/vnd.openxmlformats-officedocument.presentationml.template", + ".potm": "application/vnd.ms-powerpoint.template.macroEnabled.12", + ".ppam": "application/vnd.ms-powerpoint.addin.macroEnabled.12", + ".sldx": "application/vnd.openxmlformats-officedocument.presentationml.slide", + ".sldm": "application/vnd.ms-powerpoint.slide.macroEnabled.12", + ".thmx": "application/vnd.ms-officetheme", + ".onetoc": "application/onenote", + ".onetoc2": "application/onenote", + ".onetmp": "application/onenote", + ".onepkg": "application/onenote", + ".xpi": "application/x-xpinstall", + ".wasm": "application/wasm", + ".m4a": "audio/mp4", + ".flac": "audio/x-flac", + ".amr": "audio/amr", + ".aac": "audio/aac", + ".opus": "video/ogg", + ".m4v": "video/mp4", + ".mkv": "video/x-matroska", + ".caf": "audio/x-caf", + ".m3u8": "application/x-mpegURL", + ".mpd": "application/dash+xml", + ".webp": "image/webp", + ".epub": "application/epub+zip", +} + +func init() { + for ext, typ := range types { + // skip errors + _ = mime.AddExtensionType(ext, typ) + } +} diff --git a/files/sorting.go b/files/sorting.go new file mode 100644 index 00000000..ecdc3df6 --- /dev/null +++ b/files/sorting.go @@ -0,0 +1,7 @@ +package files + +// Sorting contains a sorting order. +type Sorting struct { + By string `json:"by"` + Asc bool `json:"asc"` +} diff --git a/files/utils.go b/files/utils.go new file mode 100644 index 00000000..f4b0365d --- /dev/null +++ b/files/utils.go @@ -0,0 +1,59 @@ +package files + +import ( + "os" + "unicode/utf8" +) + +func isBinary(content []byte) bool { + maybeStr := string(content) + runeCnt := utf8.RuneCount(content) + runeIndex := 0 + gotRuneErrCnt := 0 + firstRuneErrIndex := -1 + + const ( + // 8 and below are control chars (e.g. backspace, null, eof, etc) + maxControlCharsCode = 8 + // 0xFFFD(65533) is the "error" Rune or "Unicode replacement character" + // see https://golang.org/pkg/unicode/utf8/#pkg-constants + unicodeReplacementChar = 0xFFFD + ) + + for _, b := range maybeStr { + if b <= maxControlCharsCode { + return true + } + + if b == unicodeReplacementChar { + // if it is not the last (utf8.UTFMax - x) rune + if runeCnt > utf8.UTFMax && runeIndex < runeCnt-utf8.UTFMax { + return true + } + // else it is the last (utf8.UTFMax - x) rune + // there maybe Vxxx, VVxx, VVVx, thus, we may got max 3 0xFFFD rune (assume V is the byte we got) + // for Chinese, it can only be Vxx, VVx, we may got max 2 0xFFFD rune + gotRuneErrCnt++ + + // mark the first time + if firstRuneErrIndex == -1 { + firstRuneErrIndex = runeIndex + } + } + runeIndex++ + } + + // if last (utf8.UTFMax - x ) rune has the "error" Rune, but not all + if firstRuneErrIndex != -1 && gotRuneErrCnt != runeCnt-firstRuneErrIndex { + return true + } + return false +} + +func IsNamedPipe(mode os.FileMode) bool { + return mode&os.ModeNamedPipe != 0 +} + +func IsSymlink(mode os.FileMode) bool { + return mode&os.ModeSymlink != 0 +} diff --git a/fileutils/copy.go b/fileutils/copy.go new file mode 100644 index 00000000..6c80c5c9 --- /dev/null +++ b/fileutils/copy.go @@ -0,0 +1,40 @@ +package fileutils + +import ( + "io/fs" + "os" + "path" + + "github.com/spf13/afero" +) + +// Copy copies a file or folder from one place to another. +func Copy(afs afero.Fs, src, dst string, fileMode, dirMode fs.FileMode) error { + if src = path.Clean("/" + src); src == "" { + return os.ErrNotExist + } + + if dst = path.Clean("/" + dst); dst == "" { + return os.ErrNotExist + } + + if src == "/" || dst == "/" { + // Prohibit copying from or to the virtual root directory. + return os.ErrInvalid + } + + if dst == src { + return os.ErrInvalid + } + + info, err := afs.Stat(src) + if err != nil { + return err + } + + if info.IsDir() { + return CopyDir(afs, src, dst, fileMode, dirMode) + } + + return CopyFile(afs, src, dst, fileMode, dirMode) +} diff --git a/fileutils/dir.go b/fileutils/dir.go new file mode 100644 index 00000000..e0b049db --- /dev/null +++ b/fileutils/dir.go @@ -0,0 +1,63 @@ +package fileutils + +import ( + "errors" + "io/fs" + + "github.com/spf13/afero" +) + +// CopyDir copies a directory from source to dest and all +// of its sub-directories. It doesn't stop if it finds an error +// during the copy. Returns an error if any. +func CopyDir(afs afero.Fs, source, dest string, fileMode, dirMode fs.FileMode) error { + // Get properties of source. + srcinfo, err := afs.Stat(source) + if err != nil { + return err + } + + // Create the destination directory. + err = afs.MkdirAll(dest, srcinfo.Mode()) + if err != nil { + return err + } + + dir, _ := afs.Open(source) + obs, err := dir.Readdir(-1) + if err != nil { + return err + } + + var errs []error + + for _, obj := range obs { + fsource := source + "/" + obj.Name() + fdest := dest + "/" + obj.Name() + + if obj.IsDir() { + // Create sub-directories, recursively. + err = CopyDir(afs, fsource, fdest, fileMode, dirMode) + if err != nil { + errs = append(errs, err) + } + } else { + // Perform the file copy. + err = CopyFile(afs, fsource, fdest, fileMode, dirMode) + if err != nil { + errs = append(errs, err) + } + } + } + + var errString string + for _, err := range errs { + errString += err.Error() + "\n" + } + + if errString != "" { + return errors.New(errString) + } + + return nil +} diff --git a/fileutils/file.go b/fileutils/file.go new file mode 100644 index 00000000..784f728f --- /dev/null +++ b/fileutils/file.go @@ -0,0 +1,129 @@ +package fileutils + +import ( + "io" + "io/fs" + "os" + "path" + "path/filepath" + + "github.com/spf13/afero" +) + +// MoveFile moves file from src to dst. +// By default the rename filesystem system call is used. If src and dst point to different volumes +// the file copy is used as a fallback +func MoveFile(afs afero.Fs, src, dst string, fileMode, dirMode fs.FileMode) error { + if afs.Rename(src, dst) == nil { + return nil + } + // fallback + err := Copy(afs, src, dst, fileMode, dirMode) + if err != nil { + _ = afs.Remove(dst) + return err + } + if err := afs.RemoveAll(src); err != nil { + return err + } + return nil +} + +// CopyFile copies a file from source to dest and returns +// an error if any. +func CopyFile(afs afero.Fs, source, dest string, fileMode, dirMode fs.FileMode) error { + // Open the source file. + src, err := afs.Open(source) + if err != nil { + return err + } + defer src.Close() + + // Makes the directory needed to create the dst + // file. + err = afs.MkdirAll(filepath.Dir(dest), dirMode) + if err != nil { + return err + } + + // Create the destination file. + dst, err := afs.OpenFile(dest, os.O_RDWR|os.O_CREATE|os.O_TRUNC, fileMode) + if err != nil { + return err + } + defer dst.Close() + + // Copy the contents of the file. + _, err = io.Copy(dst, src) + if err != nil { + return err + } + + // Copy the mode + info, err := afs.Stat(source) + if err != nil { + return err + } + err = afs.Chmod(dest, info.Mode()) + if err != nil { + return err + } + + return nil +} + +// CommonPrefix returns common directory path of provided files +func CommonPrefix(sep byte, paths ...string) string { + // Handle special cases. + switch len(paths) { + case 0: + return "" + case 1: + return path.Clean(paths[0]) + } + + // Note, we treat string as []byte, not []rune as is often + // done in Go. (And sep as byte, not rune). This is because + // most/all supported OS' treat paths as string of non-zero + // bytes. A filename may be displayed as a sequence of Unicode + // runes (typically encoded as UTF-8) but paths are + // not required to be valid UTF-8 or in any normalized form + // (e.g. "é" (U+00C9) and "é" (U+0065,U+0301) are different + // file names. + c := []byte(path.Clean(paths[0])) + + // We add a trailing sep to handle the case where the + // common prefix directory is included in the path list + // (e.g. /home/user1, /home/user1/foo, /home/user1/bar). + // path.Clean will have cleaned off trailing / separators with + // the exception of the root directory, "/" (in which case we + // make it "//", but this will get fixed up to "/" below). + c = append(c, sep) + + // Ignore the first path since it's already in c + for _, v := range paths[1:] { + // Clean up each path before testing it + v = path.Clean(v) + string(sep) + + // Find the first non-common byte and truncate c + if len(v) < len(c) { + c = c[:len(v)] + } + for i := 0; i < len(c); i++ { + if v[i] != c[i] { + c = c[:i] + break + } + } + } + + // Remove trailing non-separator characters and the final separator + for i := len(c) - 1; i >= 0; i-- { + if c[i] == sep { + c = c[:i] + break + } + } + + return string(c) +} diff --git a/fileutils/file_test.go b/fileutils/file_test.go new file mode 100644 index 00000000..fd2b5119 --- /dev/null +++ b/fileutils/file_test.go @@ -0,0 +1,46 @@ +package fileutils + +import "testing" + +func TestCommonPrefix(t *testing.T) { + testCases := map[string]struct { + paths []string + want string + }{ + "same lvl": { + paths: []string{ + "/home/user/file1", + "/home/user/file2", + }, + want: "/home/user", + }, + "sub folder": { + paths: []string{ + "/home/user/folder", + "/home/user/folder/file", + }, + want: "/home/user/folder", + }, + "relative path": { + paths: []string{ + "/home/user/folder", + "/home/user/folder/../folder2", + }, + want: "/home/user", + }, + "no common path": { + paths: []string{ + "/home/user/folder", + "/etc/file", + }, + want: "", + }, + } + for name, tt := range testCases { + t.Run(name, func(t *testing.T) { + if got := CommonPrefix('/', tt.paths...); got != tt.want { + t.Errorf("CommonPrefix() = %v, want %v", got, tt.want) + } + }) + } +} diff --git a/frontend/.prettierignore b/frontend/.prettierignore new file mode 100644 index 00000000..be77aa74 --- /dev/null +++ b/frontend/.prettierignore @@ -0,0 +1,3 @@ +# Ignore artifacts: +dist +pnpm-lock.yaml \ No newline at end of file diff --git a/frontend/.prettierrc.json b/frontend/.prettierrc.json new file mode 100644 index 00000000..757fd64c --- /dev/null +++ b/frontend/.prettierrc.json @@ -0,0 +1,3 @@ +{ + "trailingComma": "es5" +} diff --git a/frontend/assets.go b/frontend/assets.go new file mode 100644 index 00000000..7955822f --- /dev/null +++ b/frontend/assets.go @@ -0,0 +1,12 @@ +//go:build !dev + +package frontend + +import "embed" + +//go:embed dist/* +var assets embed.FS + +func Assets() embed.FS { + return assets +} diff --git a/testdata/.gitkeep b/frontend/dist/.gitkeep similarity index 100% rename from testdata/.gitkeep rename to frontend/dist/.gitkeep diff --git a/frontend/env.d.ts b/frontend/env.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/frontend/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js new file mode 100644 index 00000000..8d660425 --- /dev/null +++ b/frontend/eslint.config.js @@ -0,0 +1,37 @@ +import pluginVue from "eslint-plugin-vue"; +import { + defineConfigWithVueTs, + vueTsConfigs, +} from "@vue/eslint-config-typescript"; +import prettierConfig from "@vue/eslint-config-prettier"; + +export default defineConfigWithVueTs( + { + name: "app/files-to-lint", + files: ["**/*.{ts,mts,tsx,vue}"], + }, + { + name: "app/files-to-ignore", + ignores: ["**/dist/**", "**/dist-ssr/**", "**/coverage/**"], + }, + pluginVue.configs["flat/essential"], + vueTsConfigs.recommended, + prettierConfig, + { + rules: { + // Note: you must disable the base rule as it can report incorrect errors + "@typescript-eslint/no-unused-expressions": "off", + // TODO: theres too many of these from before ts + "@typescript-eslint/no-explicit-any": "off", + // TODO: finish the ts conversion + "vue/block-lang": "off", + "vue/multi-word-component-names": "off", + "vue/no-mutating-props": [ + "error", + { + shallowOnly: true, + }, + ], + }, + } +); diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 00000000..19308a95 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,176 @@ + + + + + + + + File Browser + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
+
+
+ + + + diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 00000000..44144b3a --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,75 @@ +{ + "name": "filebrowser-frontend", + "version": "3.0.0", + "private": true, + "type": "module", + "engines": { + "node": ">=24.0.0", + "pnpm": ">=10.0.0" + }, + "scripts": { + "dev": "vite dev", + "build": "pnpm run typecheck && vite build", + "clean": "find ./dist -maxdepth 1 -mindepth 1 ! -name '.gitkeep' -exec rm -r {} +", + "typecheck": "vue-tsc -p ./tsconfig.app.json --noEmit", + "lint": "eslint src/", + "lint:fix": "eslint --fix src/", + "format": "prettier --write ." + }, + "dependencies": { + "@chenfengyuan/vue-number-input": "^2.0.1", + "@vueuse/core": "^14.0.0", + "@vueuse/integrations": "^14.0.0", + "ace-builds": "^1.43.2", + "dayjs": "^1.11.13", + "dompurify": "^3.2.6", + "epubjs": "^0.3.93", + "filesize": "^11.0.13", + "js-base64": "^3.7.7", + "jwt-decode": "^4.0.0", + "lodash-es": "^4.17.21", + "marked": "^17.0.0", + "material-icons": "^1.13.14", + "normalize.css": "^8.0.1", + "pinia": "^3.0.4", + "pretty-bytes": "^7.1.0", + "qrcode.vue": "^3.6.0", + "tus-js-client": "^4.3.1", + "utif": "^3.1.0", + "video.js": "^8.23.3", + "videojs-hotkeys": "^0.2.28", + "videojs-mobile-ui": "^1.1.1", + "vue": "^3.5.17", + "vue-final-modal": "^4.5.5", + "vue-i18n": "^11.1.10", + "vue-lazyload": "^3.0.0", + "vue-reader": "^1.2.17", + "vue-router": "^4.5.1", + "vue-toastification": "^2.0.0-rc.5" + }, + "devDependencies": { + "@intlify/unplugin-vue-i18n": "^11.0.1", + "@tsconfig/node24": "^24.0.2", + "@types/lodash-es": "^4.17.12", + "@types/node": "^24.10.1", + "@typescript-eslint/eslint-plugin": "^8.37.0", + "@vitejs/plugin-legacy": "^7.2.1", + "@vitejs/plugin-vue": "^6.0.1", + "@vue/eslint-config-prettier": "^10.2.0", + "@vue/eslint-config-typescript": "^14.6.0", + "@vue/tsconfig": "^0.8.1", + "autoprefixer": "^10.4.21", + "eslint": "^9.31.0", + "eslint-config-prettier": "^10.1.5", + "eslint-plugin-prettier": "^5.5.1", + "eslint-plugin-vue": "^10.5.1", + "postcss": "^8.5.6", + "prettier": "^3.6.2", + "terser": "^5.43.1", + "typescript": "^5.9.3", + "vite": "^7.2.2", + "vite-plugin-compression2": "^2.3.1", + "vue-tsc": "^3.1.3" + }, + "packageManager": "pnpm@10.28.0+sha512.05df71d1421f21399e053fde567cea34d446fa02c76571441bfc1c7956e98e363088982d940465fd34480d4d90a0668bc12362f8aa88000a64e83d0b0e47be48" +} diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml new file mode 100644 index 00000000..d3b79699 --- /dev/null +++ b/frontend/pnpm-lock.yaml @@ -0,0 +1,5411 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@chenfengyuan/vue-number-input': + specifier: ^2.0.1 + version: 2.0.1(vue@3.5.26(typescript@5.9.3)) + '@vueuse/core': + specifier: ^14.0.0 + version: 14.1.0(vue@3.5.26(typescript@5.9.3)) + '@vueuse/integrations': + specifier: ^14.0.0 + version: 14.1.0(focus-trap@7.6.2)(jwt-decode@4.0.0)(vue@3.5.26(typescript@5.9.3)) + ace-builds: + specifier: ^1.43.2 + version: 1.43.5 + dayjs: + specifier: ^1.11.13 + version: 1.11.19 + dompurify: + specifier: ^3.2.6 + version: 3.3.1 + epubjs: + specifier: ^0.3.93 + version: 0.3.93 + filesize: + specifier: ^11.0.13 + version: 11.0.13 + js-base64: + specifier: ^3.7.7 + version: 3.7.8 + jwt-decode: + specifier: ^4.0.0 + version: 4.0.0 + lodash-es: + specifier: ^4.17.21 + version: 4.17.22 + marked: + specifier: ^17.0.0 + version: 17.0.1 + material-icons: + specifier: ^1.13.14 + version: 1.13.14 + normalize.css: + specifier: ^8.0.1 + version: 8.0.1 + pinia: + specifier: ^3.0.4 + version: 3.0.4(typescript@5.9.3)(vue@3.5.26(typescript@5.9.3)) + pretty-bytes: + specifier: ^7.1.0 + version: 7.1.0 + qrcode.vue: + specifier: ^3.6.0 + version: 3.6.0(vue@3.5.26(typescript@5.9.3)) + tus-js-client: + specifier: ^4.3.1 + version: 4.3.1 + utif: + specifier: ^3.1.0 + version: 3.1.0 + video.js: + specifier: ^8.23.3 + version: 8.23.4 + videojs-hotkeys: + specifier: ^0.2.28 + version: 0.2.30 + videojs-mobile-ui: + specifier: ^1.1.1 + version: 1.1.3(video.js@8.23.4) + vue: + specifier: ^3.5.17 + version: 3.5.26(typescript@5.9.3) + vue-final-modal: + specifier: ^4.5.5 + version: 4.5.5(@vueuse/core@14.1.0(vue@3.5.26(typescript@5.9.3)))(@vueuse/integrations@14.1.0(focus-trap@7.6.2)(jwt-decode@4.0.0)(vue@3.5.26(typescript@5.9.3)))(focus-trap@7.6.2)(vue@3.5.26(typescript@5.9.3)) + vue-i18n: + specifier: ^11.1.10 + version: 11.2.8(vue@3.5.26(typescript@5.9.3)) + vue-lazyload: + specifier: ^3.0.0 + version: 3.0.0 + vue-reader: + specifier: ^1.2.17 + version: 1.3.4 + vue-router: + specifier: ^4.5.1 + version: 4.6.4(vue@3.5.26(typescript@5.9.3)) + vue-toastification: + specifier: ^2.0.0-rc.5 + version: 2.0.0-rc.5(vue@3.5.26(typescript@5.9.3)) + devDependencies: + '@intlify/unplugin-vue-i18n': + specifier: ^11.0.1 + version: 11.0.3(@vue/compiler-dom@3.5.26)(eslint@9.39.2)(rollup@4.55.1)(typescript@5.9.3)(vue-i18n@11.2.8(vue@3.5.26(typescript@5.9.3)))(vue@3.5.26(typescript@5.9.3)) + '@tsconfig/node24': + specifier: ^24.0.2 + version: 24.0.4 + '@types/lodash-es': + specifier: ^4.17.12 + version: 4.17.12 + '@types/node': + specifier: ^24.10.1 + version: 24.10.9 + '@typescript-eslint/eslint-plugin': + specifier: ^8.37.0 + version: 8.53.0(@typescript-eslint/parser@8.37.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3) + '@vitejs/plugin-legacy': + specifier: ^7.2.1 + version: 7.2.1(terser@5.46.0)(vite@7.3.1(@types/node@24.10.9)(terser@5.46.0)(yaml@2.8.2)) + '@vitejs/plugin-vue': + specifier: ^6.0.1 + version: 6.0.3(vite@7.3.1(@types/node@24.10.9)(terser@5.46.0)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3)) + '@vue/eslint-config-prettier': + specifier: ^10.2.0 + version: 10.2.0(eslint@9.39.2)(prettier@3.8.0) + '@vue/eslint-config-typescript': + specifier: ^14.6.0 + version: 14.6.0(eslint-plugin-vue@10.7.0(@typescript-eslint/parser@8.37.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(vue-eslint-parser@10.2.0(eslint@9.39.2)))(eslint@9.39.2)(typescript@5.9.3) + '@vue/tsconfig': + specifier: ^0.8.1 + version: 0.8.1(typescript@5.9.3)(vue@3.5.26(typescript@5.9.3)) + autoprefixer: + specifier: ^10.4.21 + version: 10.4.23(postcss@8.5.6) + eslint: + specifier: ^9.31.0 + version: 9.39.2 + eslint-config-prettier: + specifier: ^10.1.5 + version: 10.1.8(eslint@9.39.2) + eslint-plugin-prettier: + specifier: ^5.5.1 + version: 5.5.5(eslint-config-prettier@10.1.8(eslint@9.39.2))(eslint@9.39.2)(prettier@3.8.0) + eslint-plugin-vue: + specifier: ^10.5.1 + version: 10.7.0(@typescript-eslint/parser@8.37.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(vue-eslint-parser@10.2.0(eslint@9.39.2)) + postcss: + specifier: ^8.5.6 + version: 8.5.6 + prettier: + specifier: ^3.6.2 + version: 3.8.0 + terser: + specifier: ^5.43.1 + version: 5.46.0 + typescript: + specifier: ^5.9.3 + version: 5.9.3 + vite: + specifier: ^7.2.2 + version: 7.3.1(@types/node@24.10.9)(terser@5.46.0)(yaml@2.8.2) + vite-plugin-compression2: + specifier: ^2.3.1 + version: 2.4.0(rollup@4.55.1) + vue-tsc: + specifier: ^3.1.3 + version: 3.2.2(typescript@5.9.3) + +packages: + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.28.5': + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.5': + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.27.3': + resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.28.5': + resolution: {integrity: sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.28.5': + resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.5': + resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.28.5': + resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.27.1': + resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.27.1': + resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.27.1': + resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.28.3': + resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5': + resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1': + resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1': + resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1': + resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3': + resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.27.1': + resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.27.1': + resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.27.1': + resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.28.0': + resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.27.1': + resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.27.1': + resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.28.5': + resolution: {integrity: sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.27.1': + resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.28.3': + resolution: {integrity: sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.28.4': + resolution: {integrity: sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.27.1': + resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.28.5': + resolution: {integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.27.1': + resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.27.1': + resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1': + resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.27.1': + resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-explicit-resource-management@7.28.0': + resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.28.5': + resolution: {integrity: sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.27.1': + resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.27.1': + resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.27.1': + resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.27.1': + resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.27.1': + resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.28.5': + resolution: {integrity: sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.27.1': + resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.27.1': + resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.27.1': + resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.28.5': + resolution: {integrity: sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.27.1': + resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1': + resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.27.1': + resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1': + resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.27.1': + resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.28.4': + resolution: {integrity: sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.27.1': + resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.27.1': + resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.28.5': + resolution: {integrity: sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.27.7': + resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.27.1': + resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.27.1': + resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.27.1': + resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.28.4': + resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.27.1': + resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.27.1': + resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.27.1': + resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.27.1': + resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.27.1': + resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.27.1': + resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.27.1': + resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.27.1': + resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.27.1': + resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.27.1': + resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.27.1': + resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.28.5': + resolution: {integrity: sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/runtime@7.28.4': + resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} + engines: {node: '>=6.9.0'} + + '@chenfengyuan/vue-number-input@2.0.1': + resolution: {integrity: sha512-/jqmfmFulFOGlozts0Sf2GCESMRYVTfZZSz2Tf4n9O5DKjqMi5B/MfRzm5H5A57WuG3L80yXFWFN+XeACKaIhQ==} + peerDependencies: + vue: ^3.0.0 + + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.27.2': + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.27.2': + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.27.2': + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.27.2': + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.27.2': + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.2': + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.27.2': + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.2': + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.27.2': + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.27.2': + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.27.2': + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.27.2': + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.27.2': + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.27.2': + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.2': + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.27.2': + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.27.2': + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-arm64@0.27.2': + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.2': + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.27.2': + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.2': + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/openharmony-arm64@0.27.2': + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.27.2': + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.27.2': + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.27.2': + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.27.2': + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.3': + resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.39.2': + resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@intlify/bundle-utils@11.0.3': + resolution: {integrity: sha512-dURCDz1rQXwAb1+Hv4NDit6aZSRaAt4zUYBPEeaDCe3FSs8dMtdF6kEvgd9JwsYFSTAHcvbTs2CqwBjjt9Ltsw==} + engines: {node: '>= 20'} + peerDependencies: + petite-vue-i18n: '*' + vue-i18n: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vue-i18n: + optional: true + + '@intlify/core-base@11.2.8': + resolution: {integrity: sha512-nBq6Y1tVkjIUsLsdOjDSJj4AsjvD0UG3zsg9Fyc+OivwlA/oMHSKooUy9tpKj0HqZ+NWFifweHavdljlBLTwdA==} + engines: {node: '>= 16'} + + '@intlify/message-compiler@11.2.8': + resolution: {integrity: sha512-A5n33doOjmHsBtCN421386cG1tWp5rpOjOYPNsnpjIJbQ4POF0QY2ezhZR9kr0boKwaHjbOifvyQvHj2UTrDFQ==} + engines: {node: '>= 16'} + + '@intlify/shared@11.2.2': + resolution: {integrity: sha512-OtCmyFpSXxNu/oET/aN6HtPCbZ01btXVd0f3w00YsHOb13Kverk1jzA2k47pAekM55qbUw421fvPF1yxZ+gicw==} + engines: {node: '>= 16'} + + '@intlify/shared@11.2.8': + resolution: {integrity: sha512-l6e4NZyUgv8VyXXH4DbuucFOBmxLF56C/mqh2tvApbzl2Hrhi1aTDcuv5TKdxzfHYmpO3UB0Cz04fgDT9vszfw==} + engines: {node: '>= 16'} + + '@intlify/unplugin-vue-i18n@11.0.3': + resolution: {integrity: sha512-iQuik0nXfdVZ5ab+IEyBFEuvMQ213zfbUpBXaEdHPk8DV+qB2CT/SdFuDhfUDRRBZc/e0qoLlfmc9urhnRYVWw==} + engines: {node: '>= 20'} + peerDependencies: + petite-vue-i18n: '*' + vue: ^3.2.25 + vue-i18n: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vue-i18n: + optional: true + + '@intlify/vue-i18n-extensions@8.0.0': + resolution: {integrity: sha512-w0+70CvTmuqbskWfzeYhn0IXxllr6mU+IeM2MU0M+j9OW64jkrvqY+pYFWrUnIIC9bEdij3NICruicwd5EgUuQ==} + engines: {node: '>= 18'} + peerDependencies: + '@intlify/shared': ^9.0.0 || ^10.0.0 || ^11.0.0 + '@vue/compiler-dom': ^3.0.0 + vue: ^3.0.0 + vue-i18n: ^9.0.0 || ^10.0.0 || ^11.0.0 + peerDependenciesMeta: + '@intlify/shared': + optional: true + '@vue/compiler-dom': + optional: true + vue: + optional: true + vue-i18n: + optional: true + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgr/core@0.2.9': + resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@rolldown/pluginutils@1.0.0-beta.53': + resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==} + + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.55.1': + resolution: {integrity: sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.55.1': + resolution: {integrity: sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.55.1': + resolution: {integrity: sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.55.1': + resolution: {integrity: sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.55.1': + resolution: {integrity: sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.55.1': + resolution: {integrity: sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.55.1': + resolution: {integrity: sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.55.1': + resolution: {integrity: sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.55.1': + resolution: {integrity: sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.55.1': + resolution: {integrity: sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.55.1': + resolution: {integrity: sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loong64-musl@4.55.1': + resolution: {integrity: sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.55.1': + resolution: {integrity: sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-ppc64-musl@4.55.1': + resolution: {integrity: sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.55.1': + resolution: {integrity: sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.55.1': + resolution: {integrity: sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.55.1': + resolution: {integrity: sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.55.1': + resolution: {integrity: sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.55.1': + resolution: {integrity: sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openbsd-x64@4.55.1': + resolution: {integrity: sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.55.1': + resolution: {integrity: sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.55.1': + resolution: {integrity: sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.55.1': + resolution: {integrity: sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.55.1': + resolution: {integrity: sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.55.1': + resolution: {integrity: sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==} + cpu: [x64] + os: [win32] + + '@tsconfig/node24@24.0.4': + resolution: {integrity: sha512-2A933l5P5oCbv6qSxHs7ckKwobs8BDAe9SJ/Xr2Hy+nDlwmLE1GhFh/g/vXGRZWgxBg9nX/5piDtHR9Dkw/XuA==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/localforage@0.0.34': + resolution: {integrity: sha512-tJxahnjm9dEI1X+hQSC5f2BSd/coZaqbIl1m3TCl0q9SVuC52XcXfV0XmoCU1+PmjyucuVITwoTnN8OlTbEXXA==} + deprecated: This is a stub types definition for localforage (https://github.com/localForage/localForage). localforage provides its own type definitions, so you don't need @types/localforage installed! + + '@types/lodash-es@4.17.12': + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + + '@types/lodash@4.17.13': + resolution: {integrity: sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==} + + '@types/node@24.10.9': + resolution: {integrity: sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==} + + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + + '@types/web-bluetooth@0.0.21': + resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} + + '@typescript-eslint/eslint-plugin@8.37.0': + resolution: {integrity: sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.37.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/eslint-plugin@8.53.0': + resolution: {integrity: sha512-eEXsVvLPu8Z4PkFibtuFJLJOTAV/nPdgtSjkGoPpddpFk3/ym2oy97jynY6ic2m6+nc5M8SE1e9v/mHKsulcJg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.53.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/parser@8.37.0': + resolution: {integrity: sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/project-service@8.37.0': + resolution: {integrity: sha512-BIUXYsbkl5A1aJDdYJCBAo8rCEbAvdquQ8AnLb6z5Lp1u3x5PNgSSx9A/zqYc++Xnr/0DVpls8iQ2cJs/izTXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/project-service@8.49.0': + resolution: {integrity: sha512-/wJN0/DKkmRUMXjZUXYZpD1NEQzQAAn9QWfGwo+Ai8gnzqH7tvqS7oNVdTjKqOcPyVIdZdyCMoqN66Ia789e7g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/project-service@8.53.0': + resolution: {integrity: sha512-Bl6Gdr7NqkqIP5yP9z1JU///Nmes4Eose6L1HwpuVHwScgDPPuEWbUVhvlZmb8hy0vX9syLk5EGNL700WcBlbg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/scope-manager@8.37.0': + resolution: {integrity: sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/scope-manager@8.49.0': + resolution: {integrity: sha512-npgS3zi+/30KSOkXNs0LQXtsg9ekZ8OISAOLGWA/ZOEn0ZH74Ginfl7foziV8DT+D98WfQ5Kopwqb/PZOaIJGg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/scope-manager@8.53.0': + resolution: {integrity: sha512-kWNj3l01eOGSdVBnfAF2K1BTh06WS0Yet6JUgb9Cmkqaz3Jlu0fdVUjj9UI8gPidBWSMqDIglmEXifSgDT/D0g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.37.0': + resolution: {integrity: sha512-1/YHvAVTimMM9mmlPvTec9NP4bobA1RkDbMydxG8omqwJJLEW/Iy2C4adsAESIXU3WGLXFHSZUU+C9EoFWl4Zg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/tsconfig-utils@8.49.0': + resolution: {integrity: sha512-8prixNi1/6nawsRYxet4YOhnbW+W9FK/bQPxsGB1D3ZrDzbJ5FXw5XmzxZv82X3B+ZccuSxo/X8q9nQ+mFecWA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/tsconfig-utils@8.53.0': + resolution: {integrity: sha512-K6Sc0R5GIG6dNoPdOooQ+KtvT5KCKAvTcY8h2rIuul19vxH5OTQk7ArKkd4yTzkw66WnNY0kPPzzcmWA+XRmiA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/type-utils@8.37.0': + resolution: {integrity: sha512-SPkXWIkVZxhgwSwVq9rqj/4VFo7MnWwVaRNznfQDc/xPYHjXnPfLWn+4L6FF1cAz6e7dsqBeMawgl7QjUMj4Ow==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/type-utils@8.53.0': + resolution: {integrity: sha512-BBAUhlx7g4SmcLhn8cnbxoxtmS7hcq39xKCgiutL3oNx1TaIp+cny51s8ewnKMpVUKQUGb41RAUWZ9kxYdovuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/types@8.37.0': + resolution: {integrity: sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.49.0': + resolution: {integrity: sha512-e9k/fneezorUo6WShlQpMxXh8/8wfyc+biu6tnAqA81oWrEic0k21RHzP9uqqpyBBeBKu4T+Bsjy9/b8u7obXQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.53.0': + resolution: {integrity: sha512-Bmh9KX31Vlxa13+PqPvt4RzKRN1XORYSLlAE+sO1i28NkisGbTtSLFVB3l7PWdHtR3E0mVMuC7JilWJ99m2HxQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.37.0': + resolution: {integrity: sha512-zuWDMDuzMRbQOM+bHyU4/slw27bAUEcKSKKs3hcv2aNnc/tvE/h7w60dwVw8vnal2Pub6RT1T7BI8tFZ1fE+yg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/typescript-estree@8.49.0': + resolution: {integrity: sha512-jrLdRuAbPfPIdYNppHJ/D0wN+wwNfJ32YTAm10eJVsFmrVpXQnDWBn8niCSMlWjvml8jsce5E/O+86IQtTbJWA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/typescript-estree@8.53.0': + resolution: {integrity: sha512-pw0c0Gdo7Z4xOG987u3nJ8akL9093yEEKv8QTJ+Bhkghj1xyj8cgPaavlr9rq8h7+s6plUJ4QJYw2gCZodqmGw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/utils@8.37.0': + resolution: {integrity: sha512-TSFvkIW6gGjN2p6zbXo20FzCABbyUAuq6tBvNRGsKdsSQ6a7rnV6ADfZ7f4iI3lIiXc4F4WWvtUfDw9CJ9pO5A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/utils@8.53.0': + resolution: {integrity: sha512-XDY4mXTez3Z1iRDI5mbRhH4DFSt46oaIFsLg+Zn97+sYrXACziXSQcSelMybnVZ5pa1P6xYkPr5cMJyunM1ZDA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/visitor-keys@8.37.0': + resolution: {integrity: sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/visitor-keys@8.49.0': + resolution: {integrity: sha512-LlKaciDe3GmZFphXIc79THF/YYBugZ7FS1pO581E/edlVVNbZKDy93evqmrfQ9/Y4uN0vVhX4iuchq26mK/iiA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/visitor-keys@8.53.0': + resolution: {integrity: sha512-LZ2NqIHFhvFwxG0qZeLL9DvdNAHPGCY5dIRwBhyYeU+LfLhcStE1ImjsuTG/WaVh3XysGaeLW8Rqq7cGkPCFvw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@videojs/http-streaming@3.17.2': + resolution: {integrity: sha512-VBQ3W4wnKnVKb/limLdtSD2rAd5cmHN70xoMf4OmuDd0t2kfJX04G+sfw6u2j8oOm2BXYM9E1f4acHruqKnM1g==} + engines: {node: '>=8', npm: '>=5'} + peerDependencies: + video.js: ^8.19.0 + + '@videojs/vhs-utils@4.1.1': + resolution: {integrity: sha512-5iLX6sR2ownbv4Mtejw6Ax+naosGvoT9kY+gcuHzANyUZZ+4NpeNdKMUhb6ag0acYej1Y7cmr/F2+4PrggMiVA==} + engines: {node: '>=8', npm: '>=5'} + + '@videojs/xhr@2.7.0': + resolution: {integrity: sha512-giab+EVRanChIupZK7gXjHy90y3nncA2phIOyG3Ne5fvpiMJzvqYwiTOnEVW2S4CoYcuKJkomat7bMXA/UoUZQ==} + + '@vitejs/plugin-legacy@7.2.1': + resolution: {integrity: sha512-CaXb/y0mlfu7jQRELEJJc2/5w2bX2m1JraARgFnvSB2yfvnCNJVWWlqAo6WjnKoepOwKx8gs0ugJThPLKCOXIg==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + terser: ^5.16.0 + vite: ^7.0.0 + + '@vitejs/plugin-vue@6.0.3': + resolution: {integrity: sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + vue: ^3.2.25 + + '@volar/language-core@2.4.27': + resolution: {integrity: sha512-DjmjBWZ4tJKxfNC1F6HyYERNHPYS7L7OPFyCrestykNdUZMFYzI9WTyvwPcaNaHlrEUwESHYsfEw3isInncZxQ==} + + '@volar/source-map@2.4.27': + resolution: {integrity: sha512-ynlcBReMgOZj2i6po+qVswtDUeeBRCTgDurjMGShbm8WYZgJ0PA4RmtebBJ0BCYol1qPv3GQF6jK7C9qoVc7lg==} + + '@volar/typescript@2.4.27': + resolution: {integrity: sha512-eWaYCcl/uAPInSK2Lze6IqVWaBu/itVqR5InXcHXFyles4zO++Mglt3oxdgj75BDcv1Knr9Y93nowS8U3wqhxg==} + + '@vue/compiler-core@3.5.26': + resolution: {integrity: sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==} + + '@vue/compiler-dom@3.5.26': + resolution: {integrity: sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==} + + '@vue/compiler-sfc@3.5.26': + resolution: {integrity: sha512-egp69qDTSEZcf4bGOSsprUr4xI73wfrY5oRs6GSgXFTiHrWj4Y3X5Ydtip9QMqiCMCPVwLglB9GBxXtTadJ3mA==} + + '@vue/compiler-ssr@3.5.26': + resolution: {integrity: sha512-lZT9/Y0nSIRUPVvapFJEVDbEXruZh2IYHMk2zTtEgJSlP5gVOqeWXH54xDKAaFS4rTnDeDBQUYDtxKyoW9FwDw==} + + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + + '@vue/devtools-api@7.7.8': + resolution: {integrity: sha512-BtFcAmDbtXGwurWUFf8ogIbgZyR+rcVES1TSNEI8Em80fD8Anu+qTRN1Fc3J6vdRHlVM3fzPV1qIo+B4AiqGzw==} + + '@vue/devtools-kit@7.7.8': + resolution: {integrity: sha512-4Y8op+AoxOJhB9fpcEF6d5vcJXWKgHxC3B0ytUB8zz15KbP9g9WgVzral05xluxi2fOeAy6t140rdQ943GcLRQ==} + + '@vue/devtools-shared@7.7.8': + resolution: {integrity: sha512-XHpO3jC5nOgYr40M9p8Z4mmKfTvUxKyRcUnpBAYg11pE78eaRFBKb0kG5yKLroMuJeeNH9LWmKp2zMU5LUc7CA==} + + '@vue/eslint-config-prettier@10.2.0': + resolution: {integrity: sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==} + peerDependencies: + eslint: '>= 8.21.0' + prettier: '>= 3.0.0' + + '@vue/eslint-config-typescript@14.6.0': + resolution: {integrity: sha512-UpiRY/7go4Yps4mYCjkvlIbVWmn9YvPGQDxTAlcKLphyaD77LjIu3plH4Y9zNT0GB4f3K5tMmhhtRhPOgrQ/bQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^9.10.0 + eslint-plugin-vue: ^9.28.0 || ^10.0.0 + typescript: '>=4.8.4' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/language-core@3.2.2': + resolution: {integrity: sha512-5DAuhxsxBN9kbriklh3Q5AMaJhyOCNiQJvCskN9/30XOpdLiqZU9Q+WvjArP17ubdGEyZtBzlIeG5nIjEbNOrQ==} + + '@vue/reactivity@3.5.26': + resolution: {integrity: sha512-9EnYB1/DIiUYYnzlnUBgwU32NNvLp/nhxLXeWRhHUEeWNTn1ECxX8aGO7RTXeX6PPcxe3LLuNBFoJbV4QZ+CFQ==} + + '@vue/runtime-core@3.5.26': + resolution: {integrity: sha512-xJWM9KH1kd201w5DvMDOwDHYhrdPTrAatn56oB/LRG4plEQeZRQLw0Bpwih9KYoqmzaxF0OKSn6swzYi84e1/Q==} + + '@vue/runtime-dom@3.5.26': + resolution: {integrity: sha512-XLLd/+4sPC2ZkN/6+V4O4gjJu6kSDbHAChvsyWgm1oGbdSO3efvGYnm25yCjtFm/K7rrSDvSfPDgN1pHgS4VNQ==} + + '@vue/server-renderer@3.5.26': + resolution: {integrity: sha512-TYKLXmrwWKSodyVuO1WAubucd+1XlLg4set0YoV+Hu8Lo79mp/YMwWV5mC5FgtsDxX3qo1ONrxFaTP1OQgy1uA==} + peerDependencies: + vue: 3.5.26 + + '@vue/shared@3.5.26': + resolution: {integrity: sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==} + + '@vue/tsconfig@0.8.1': + resolution: {integrity: sha512-aK7feIWPXFSUhsCP9PFqPyFOcz4ENkb8hZ2pneL6m2UjCkccvaOhC/5KCKluuBufvp2KzkbdA2W2pk20vLzu3g==} + peerDependencies: + typescript: 5.x + vue: ^3.4.0 + peerDependenciesMeta: + typescript: + optional: true + vue: + optional: true + + '@vueuse/core@14.1.0': + resolution: {integrity: sha512-rgBinKs07hAYyPF834mDTigH7BtPqvZ3Pryuzt1SD/lg5wEcWqvwzXXYGEDb2/cP0Sj5zSvHl3WkmMELr5kfWw==} + peerDependencies: + vue: ^3.5.0 + + '@vueuse/integrations@14.1.0': + resolution: {integrity: sha512-eNQPdisnO9SvdydTIXnTE7c29yOsJBD/xkwEyQLdhDC/LKbqrFpXHb3uS//7NcIrQO3fWVuvMGp8dbK6mNEMCA==} + peerDependencies: + async-validator: ^4 + axios: ^1 + change-case: ^5 + drauu: ^0.4 + focus-trap: ^7 + fuse.js: ^7 + idb-keyval: ^6 + jwt-decode: ^4 + nprogress: ^0.2 + qrcode: ^1.5 + sortablejs: ^1 + universal-cookie: ^7 || ^8 + vue: ^3.5.0 + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + + '@vueuse/metadata@14.1.0': + resolution: {integrity: sha512-7hK4g015rWn2PhKcZ99NyT+ZD9sbwm7SGvp7k+k+rKGWnLjS/oQozoIZzWfCewSUeBmnJkIb+CNr7Zc/EyRnnA==} + + '@vueuse/shared@14.1.0': + resolution: {integrity: sha512-EcKxtYvn6gx1F8z9J5/rsg3+lTQnvOruQd8fUecW99DCK04BkWD7z5KQ/wTAx+DazyoEE9dJt/zV8OIEQbM6kw==} + peerDependencies: + vue: ^3.5.0 + + '@xmldom/xmldom@0.7.13': + resolution: {integrity: sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==} + engines: {node: '>=10.0.0'} + deprecated: this version is no longer supported, please update to at least 0.8.* + + '@xmldom/xmldom@0.8.11': + resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==} + engines: {node: '>=10.0.0'} + + ace-builds@1.43.5: + resolution: {integrity: sha512-iH5FLBKdB7SVn9GR37UgA/tpQS8OTWIxWAuq3Ofaw+Qbc69FfPXsXd9jeW7KRG2xKpKMqBDnu0tHBrCWY5QI7A==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + aes-decrypter@4.0.2: + resolution: {integrity: sha512-lc+/9s6iJvuaRe5qDlMTpCFjnwpkeOXp8qP3oiZ5jsj1MRg+SBVUmmICrhxHvc8OELSmc+fEyyxAuppY6hrWzw==} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + alien-signals@3.1.2: + resolution: {integrity: sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + autoprefixer@10.4.23: + resolution: {integrity: sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + babel-plugin-polyfill-corejs2@0.4.14: + resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.13.0: + resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.5: + resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + baseline-browser-mapping@2.8.26: + resolution: {integrity: sha512-73lC1ugzwoaWCLJ1LvOgrR5xsMLTqSKIEoMHVtL9E/HNk0PXtTM76ZIm84856/SF7Nv8mPZxKoBsgpm0tR1u1Q==} + hasBin: true + + baseline-browser-mapping@2.9.7: + resolution: {integrity: sha512-k9xFKplee6KIio3IDbwj+uaCLpqzOwakOgmqzPezM0sFJlFKcg30vk2wOiAJtkTSfx0SSQDSe8q+mWA/fSH5Zg==} + hasBin: true + + birpc@2.8.0: + resolution: {integrity: sha512-Bz2a4qD/5GRhiHSwj30c/8kC8QGj12nNDwz3D4ErQ4Xhy35dsSDvF+RA/tWpjyU0pdGtSDiEk6B5fBGE1qNVhw==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist-to-esbuild@2.1.1: + resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + browserslist: '*' + + browserslist@4.28.0: + resolution: {integrity: sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + browserslist@4.28.1: + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + caniuse-lite@1.0.30001754: + resolution: {integrity: sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==} + + caniuse-lite@1.0.30001760: + resolution: {integrity: sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + combine-errors@3.0.3: + resolution: {integrity: sha512-C8ikRNRMygCwaTx+Ek3Yr+OuZzgZjduCOfSQBjbM8V3MfgcjSTeto/GXP6PAwKvJz/v15b7GHZvx5rOlczFw/Q==} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + copy-anything@4.0.5: + resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==} + engines: {node: '>=18'} + + core-js-compat@3.46.0: + resolution: {integrity: sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==} + + core-js@3.46.0: + resolution: {integrity: sha512-vDMm9B0xnqqZ8uSBpZ8sNtRtOdmfShrvT6h2TuQGLs0Is+cR0DYbj/KWP6ALVNbWPpqA/qPLoOuppJN07humpA==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + custom-error-instance@2.1.1: + resolution: {integrity: sha512-p6JFxJc3M4OTD2li2qaHkDCw9SfMw82Ldr6OC9Je1aXiGfhx2W8p3GaoeaGrPJTUN9NirTM/KTxHWMUdR1rsUg==} + + d@1.0.2: + resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} + engines: {node: '>=0.12'} + + dayjs@1.11.19: + resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + dom-walk@0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + + dompurify@3.3.1: + resolution: {integrity: sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==} + + electron-to-chromium@1.5.250: + resolution: {integrity: sha512-/5UMj9IiGDMOFBnN4i7/Ry5onJrAGSbOGo3s9FEKmwobGq6xw832ccET0CE3CkkMBZ8GJSlUIesZofpyurqDXw==} + + electron-to-chromium@1.5.267: + resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} + + entities@7.0.0: + resolution: {integrity: sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==} + engines: {node: '>=0.12'} + + epubjs@0.3.93: + resolution: {integrity: sha512-c06pNSdBxcXv3dZSbXAVLE1/pmleRhOT6mXNZo6INKmvuKpYB65MwU/lO7830czCtjIiK9i+KR+3S+p0wtljrw==} + + es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + + es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + + es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} + + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.27.2: + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-config-prettier@10.1.8: + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-plugin-prettier@5.5.5: + resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + + eslint-plugin-vue@10.7.0: + resolution: {integrity: sha512-r2XFCK4qlo1sxEoAMIoTTX0PZAdla0JJDt1fmYiworZUX67WeEGqm+JbyAg3M+pGiJ5U6Mp5WQbontXWtIW7TA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + '@typescript-eslint/parser': ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + vue-eslint-parser: ^10.0.0 + peerDependenciesMeta: + '@stylistic/eslint-plugin': + optional: true + '@typescript-eslint/parser': + optional: true + + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.39.2: + resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + + ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + filesize@11.0.13: + resolution: {integrity: sha512-mYJ/qXKvREuO0uH8LTQJ6v7GsUvVOguqxg2VTwQUkyTPXXRRWPdjuUPVqdBrJQhvci48OHlNGRnux+Slr2Rnvw==} + engines: {node: '>= 10.8.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + focus-trap@7.6.2: + resolution: {integrity: sha512-9FhUxK1hVju2+AiQIDJ5Dd//9R2n2RAfJ0qfhF4IHGHgcoEUTMpbTeG/zbEuwaiYXfuAH6XE0/aCyxDdRM+W5w==} + + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + global@4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + immediate@3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-function@1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-what@5.5.0: + resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==} + engines: {node: '>=18'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + js-base64@3.7.8: + resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-eslint-parser@2.4.2: + resolution: {integrity: sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + jszip@3.10.1: + resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + + jwt-decode@4.0.0: + resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} + engines: {node: '>=18'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lie@3.1.1: + resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==} + + lie@3.3.0: + resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + + localforage@1.10.0: + resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash-es@4.17.22: + resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==} + + lodash._baseiteratee@4.7.0: + resolution: {integrity: sha512-nqB9M+wITz0BX/Q2xg6fQ8mLkyfF7MU7eE+MNBNjTHFKeKaZAPEzEg+E8LWxKWf1DQVflNEn9N49yAuqKh2mWQ==} + + lodash._basetostring@4.12.0: + resolution: {integrity: sha512-SwcRIbyxnN6CFEEK4K1y+zuApvWdpQdBHM/swxP962s8HIxPO3alBH5t3m/dl+f4CMUug6sJb7Pww8d13/9WSw==} + + lodash._baseuniq@4.6.0: + resolution: {integrity: sha512-Ja1YevpHZctlI5beLA7oc5KNDhGcPixFhcqSiORHNsp/1QTv7amAXzw+gu4YOvErqVlMVyIJGgtzeepCnnur0A==} + + lodash._createset@4.0.3: + resolution: {integrity: sha512-GTkC6YMprrJZCYU3zcqZj+jkXkrXzq3IPBcF/fIPpNEAB4hZEtXU8zp/RwKOvZl43NUmwDbyRk3+ZTbeRdEBXA==} + + lodash._root@3.0.1: + resolution: {integrity: sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ==} + + lodash._stringtopath@4.8.0: + resolution: {integrity: sha512-SXL66C731p0xPDC5LZg4wI5H+dJo/EO4KTqOMwLYCH3+FmmfAKJEZCm6ohGpI+T1xwsDsJCfL4OnhorllvlTPQ==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + + lodash.uniqby@4.5.0: + resolution: {integrity: sha512-IRt7cfTtHy6f1aRVA5n7kT8rgN3N1nH6MOWLcHfpWG2SH19E3JksLK38MktLxZDhlAjCP9jpIXkOnRXlu6oByQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + m3u8-parser@7.2.0: + resolution: {integrity: sha512-CRatFqpjVtMiMaKXxNvuI3I++vUumIXVVT/JpCpdU/FynV/ceVw1qpPyyBNindL+JlPMSesx+WX1QJaZEJSaMQ==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + marked@17.0.1: + resolution: {integrity: sha512-boeBdiS0ghpWcSwoNm/jJBwdpFaMnZWRzjA6SkUMYb40SVaN1x7mmfGKp0jvexGcx+7y2La5zRZsYFZI6Qpypg==} + engines: {node: '>= 20'} + hasBin: true + + marks-pane@1.0.9: + resolution: {integrity: sha512-Ahs4oeG90tbdPWwAJkAAoHg2lRR8lAs9mZXETNPO9hYg3AkjUJBKi1NQ4aaIQZVGrig7c/3NUV1jANl8rFTeMg==} + + material-icons@1.13.14: + resolution: {integrity: sha512-kZOfc7xCC0rAT8Q3DQixYAeT+tBqZnxkseQtp2bxBxz7q5pMAC+wmit7vJn1g/l7wRU+HEPq23gER4iPjGs5Cg==} + + meow@13.2.0: + resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} + engines: {node: '>=18'} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + min-document@2.19.2: + resolution: {integrity: sha512-8S5I8db/uZN8r9HSLFVWPdJCvYOejMcEC82VIzNUc6Zkklf/d1gg2psfE79/vyhWOj4+J8MtwmoOz3TmvaGu5A==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + mpd-parser@1.3.1: + resolution: {integrity: sha512-1FuyEWI5k2HcmhS1HkKnUAQV7yFPfXPht2DnRRGtoiiAAW+ESTbtEXIDpRkwdU+XyrQuwrIym7UkoPKsZ0SyFw==} + hasBin: true + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + + mux.js@7.1.0: + resolution: {integrity: sha512-NTxawK/BBELJrYsZThEulyUMDVlLizKdxyAsMuzoCD1eFj97BVaA8D/CvKsKu6FOLYkFojN5CbM9h++ZTZtknA==} + engines: {node: '>=8', npm: '>=5'} + hasBin: true + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + + normalize.css@8.0.1: + resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-webpack@0.0.3: + resolution: {integrity: sha512-AmeDxedoo5svf7aB3FYqSAKqMxys014lVKBzy1o/5vv9CtU7U4wgGWL1dA2o6MOzcD53ScN4Jmiq6VbtLz1vIQ==} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + pinia@3.0.4: + resolution: {integrity: sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==} + peerDependencies: + typescript: '>=4.5.0' + vue: ^3.5.11 + peerDependenciesMeta: + typescript: + optional: true + + pkcs7@1.0.4: + resolution: {integrity: sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==} + hasBin: true + + postcss-selector-parser@7.1.1: + resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.1: + resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==} + engines: {node: '>=6.0.0'} + + prettier@3.8.0: + resolution: {integrity: sha512-yEPsovQfpxYfgWNhCfECjG5AQaO+K3dp6XERmOepyPDVqcJm+bjyCVO3pmU+nAPe0N5dDvekfGezt/EIiRe1TA==} + engines: {node: '>=14'} + hasBin: true + + pretty-bytes@7.1.0: + resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==} + engines: {node: '>=20'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + proper-lockfile@4.1.2: + resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qrcode.vue@3.6.0: + resolution: {integrity: sha512-vQcl2fyHYHMjDO1GguCldJxepq2izQjBkDEEu9NENgfVKP6mv/e2SU62WbqYHGwTgWXLhxZ1NCD1dAZKHQq1fg==} + peerDependencies: + vue: ^3.0.0 + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regexpu-core@6.4.0: + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} + engines: {node: '>=4'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.13.0: + resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} + hasBin: true + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rollup@4.55.1: + resolution: {integrity: sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + superjson@2.2.5: + resolution: {integrity: sha512-zWPTX96LVsA/eVYnqOM2+ofcdPqdS1dAF1LN4TS2/MWuUpfitd9ctTa87wt4xrYnZnkLtS69xpBdSxVBP5Rm6w==} + engines: {node: '>=16'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + synckit@0.11.12: + resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==} + engines: {node: ^14.18.0 || >=16.0.0} + + systemjs@6.15.1: + resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==} + + tabbable@6.4.0: + resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} + + tar-mini@0.2.0: + resolution: {integrity: sha512-+qfUHz700DWnRutdUsxRRVZ38G1Qr27OetwaMYTdg8hcPxf46U0S1Zf76dQMWRBmusOt2ZCK5kbIaiLkoGO7WQ==} + + terser@5.46.0: + resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==} + engines: {node: '>=10'} + hasBin: true + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + ts-api-utils@2.4.0: + resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + tus-js-client@4.3.1: + resolution: {integrity: sha512-ZLeYmjrkaU1fUsKbIi8JML52uAocjEZtBx4DKjRrqzrZa0O4MYwT6db+oqePlspV+FxXJAyFBc/L5gwUi2OFsg==} + engines: {node: '>=18'} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} + + typescript-eslint@8.37.0: + resolution: {integrity: sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} + engines: {node: '>=4'} + + unplugin@2.3.11: + resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} + engines: {node: '>=18.12.0'} + + update-browserslist-db@1.1.4: + resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-browserslist-db@1.2.2: + resolution: {integrity: sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + utif@3.1.0: + resolution: {integrity: sha512-WEo4D/xOvFW53K5f5QTaTbbiORcm2/pCL9P6qmJnup+17eYfKaEhDeX9PeQkuyEoIxlbGklDuGl8xwuXYMrrXQ==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + video.js@8.23.4: + resolution: {integrity: sha512-qI0VTlYmKzEqRsz1Nppdfcaww4RSxZAq77z2oNSl3cNg2h6do5C8Ffl0KqWQ1OpD8desWXsCrde7tKJ9gGTEyQ==} + + videojs-contrib-quality-levels@4.1.0: + resolution: {integrity: sha512-TfrXJJg1Bv4t6TOCMEVMwF/CoS8iENYsWNKip8zfhB5kTcegiFYezEA0eHAJPU64ZC8NQbxQgOwAsYU8VXbOWA==} + engines: {node: '>=16', npm: '>=8'} + peerDependencies: + video.js: ^8 + + videojs-font@4.2.0: + resolution: {integrity: sha512-YPq+wiKoGy2/M7ccjmlvwi58z2xsykkkfNMyIg4xb7EZQQNwB71hcSsB3o75CqQV7/y5lXkXhI/rsGAS7jfEmQ==} + + videojs-hotkeys@0.2.30: + resolution: {integrity: sha512-G8kEQZPapoWDoEajh2Nroy4bCN1qVEul5AuzZqBS7ZCG45K7hqTYKgf1+fmYvG8m8u84sZmVMUvSWZBjaFW66Q==} + + videojs-mobile-ui@1.1.3: + resolution: {integrity: sha512-LyWIRZBQWRouUQ9i9HBBvhwFL1uZkg3Adt52nT+e297dwpOgTaELO7gCXgvj5f6a2AfEb8a5AQMY4SLeIf8cqw==} + engines: {node: '>=14', npm: '>=6'} + peerDependencies: + video.js: ^8 + + videojs-vtt.js@0.15.5: + resolution: {integrity: sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==} + + vite-plugin-compression2@2.4.0: + resolution: {integrity: sha512-8J4CBF1+dM1I06azba/eXJuJHinLF0Am7lUvRH8AZpu0otJoBaDEnxrIEr5iPZJSwH0AEglJGYCveh7pN52jCg==} + + vite@7.3.1: + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vscode-uri@3.1.0: + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + + vue-eslint-parser@10.2.0: + resolution: {integrity: sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + + vue-final-modal@4.5.5: + resolution: {integrity: sha512-A6xgsXqE6eLw9e6Tq/W6pxDBmimPuSuvq20WL9TOZpZy7itPdGeNn8e1P15PCGqP2yHM3q2gJIchPY9ZJd8YsA==} + peerDependencies: + '@vueuse/core': '>=10.0.0' + '@vueuse/integrations': '>=10.0.0' + focus-trap: '>=7.2.0' + vue: '>=3.2.0' + + vue-i18n@11.2.8: + resolution: {integrity: sha512-vJ123v/PXCZntd6Qj5Jumy7UBmIuE92VrtdX+AXr+1WzdBHojiBxnAxdfctUFL+/JIN+VQH4BhsfTtiGsvVObg==} + engines: {node: '>= 16'} + peerDependencies: + vue: ^3.0.0 + + vue-lazyload@3.0.0: + resolution: {integrity: sha512-h2keL/Rj550dLgesgOtXJS9qOiSMmuJNeVlfNAYV1/IYwOQYaWk5mFJlwRxmZDK9YC5gECcFLYYj7z1lKSf9ug==} + + vue-reader@1.3.4: + resolution: {integrity: sha512-QYTX9hlrV71gL/1vMejcBLLS9Ool29XMZcLQwvL0Ep1F//o0ymzYbKX2Lre+4BUBkVq49/GmmGCmAJACsJL9tw==} + + vue-router@4.6.4: + resolution: {integrity: sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==} + peerDependencies: + vue: ^3.5.0 + + vue-toastification@2.0.0-rc.5: + resolution: {integrity: sha512-q73e5jy6gucEO/U+P48hqX+/qyXDozAGmaGgLFm5tXX4wJBcVsnGp4e/iJqlm9xzHETYOilUuwOUje2Qg1JdwA==} + peerDependencies: + vue: ^3.0.2 + + vue-tsc@3.2.2: + resolution: {integrity: sha512-r9YSia/VgGwmbbfC06hDdAatH634XJ9nVl6Zrnz1iK4ucp8Wu78kawplXnIDa3MSu1XdQQePTHLXYwPDWn+nyQ==} + hasBin: true + peerDependencies: + typescript: '>=5.0.0' + + vue@3.5.26: + resolution: {integrity: sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml-eslint-parser@1.3.2: + resolution: {integrity: sha512-odxVsHAkZYYglR30aPYRY4nUGJnoJ2y1ww2HDvZALo0BDETv9kWbi16J52eHs+PWRNmF4ub6nZqfVOeesOvntg==} + engines: {node: ^14.17.0 || >=16.0.0} + + yaml@2.8.2: + resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} + engines: {node: '>= 14.6'} + hasBin: true + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.28.5': {} + + '@babel/core@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.27.3': + dependencies: + '@babel/types': 7.28.5 + + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.28.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.5 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + regexpu-core: 6.4.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + debug: 4.4.3 + lodash.debounce: 4.0.8 + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-member-expression-to-functions@7.28.5': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.27.1': + dependencies: + '@babel/types': 7.28.5 + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-wrap-function': 7.28.3 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helper-wrap-function@7.28.3': + dependencies: + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.28.4': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + + '@babel/parser@7.28.5': + dependencies: + '@babel/types': 7.28.5 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-globals': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/template': 7.27.2 + + '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/preset-env@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.5) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5) + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.5) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.5) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.5) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) + core-js-compat: 3.46.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.28.5 + esutils: 2.0.3 + + '@babel/runtime@7.28.4': {} + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + + '@babel/traverse@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.5': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@chenfengyuan/vue-number-input@2.0.1(vue@3.5.26(typescript@5.9.3))': + dependencies: + vue: 3.5.26(typescript@5.9.3) + + '@esbuild/aix-ppc64@0.25.12': + optional: true + + '@esbuild/aix-ppc64@0.27.2': + optional: true + + '@esbuild/android-arm64@0.25.12': + optional: true + + '@esbuild/android-arm64@0.27.2': + optional: true + + '@esbuild/android-arm@0.25.12': + optional: true + + '@esbuild/android-arm@0.27.2': + optional: true + + '@esbuild/android-x64@0.25.12': + optional: true + + '@esbuild/android-x64@0.27.2': + optional: true + + '@esbuild/darwin-arm64@0.25.12': + optional: true + + '@esbuild/darwin-arm64@0.27.2': + optional: true + + '@esbuild/darwin-x64@0.25.12': + optional: true + + '@esbuild/darwin-x64@0.27.2': + optional: true + + '@esbuild/freebsd-arm64@0.25.12': + optional: true + + '@esbuild/freebsd-arm64@0.27.2': + optional: true + + '@esbuild/freebsd-x64@0.25.12': + optional: true + + '@esbuild/freebsd-x64@0.27.2': + optional: true + + '@esbuild/linux-arm64@0.25.12': + optional: true + + '@esbuild/linux-arm64@0.27.2': + optional: true + + '@esbuild/linux-arm@0.25.12': + optional: true + + '@esbuild/linux-arm@0.27.2': + optional: true + + '@esbuild/linux-ia32@0.25.12': + optional: true + + '@esbuild/linux-ia32@0.27.2': + optional: true + + '@esbuild/linux-loong64@0.25.12': + optional: true + + '@esbuild/linux-loong64@0.27.2': + optional: true + + '@esbuild/linux-mips64el@0.25.12': + optional: true + + '@esbuild/linux-mips64el@0.27.2': + optional: true + + '@esbuild/linux-ppc64@0.25.12': + optional: true + + '@esbuild/linux-ppc64@0.27.2': + optional: true + + '@esbuild/linux-riscv64@0.25.12': + optional: true + + '@esbuild/linux-riscv64@0.27.2': + optional: true + + '@esbuild/linux-s390x@0.25.12': + optional: true + + '@esbuild/linux-s390x@0.27.2': + optional: true + + '@esbuild/linux-x64@0.25.12': + optional: true + + '@esbuild/linux-x64@0.27.2': + optional: true + + '@esbuild/netbsd-arm64@0.25.12': + optional: true + + '@esbuild/netbsd-arm64@0.27.2': + optional: true + + '@esbuild/netbsd-x64@0.25.12': + optional: true + + '@esbuild/netbsd-x64@0.27.2': + optional: true + + '@esbuild/openbsd-arm64@0.25.12': + optional: true + + '@esbuild/openbsd-arm64@0.27.2': + optional: true + + '@esbuild/openbsd-x64@0.25.12': + optional: true + + '@esbuild/openbsd-x64@0.27.2': + optional: true + + '@esbuild/openharmony-arm64@0.25.12': + optional: true + + '@esbuild/openharmony-arm64@0.27.2': + optional: true + + '@esbuild/sunos-x64@0.25.12': + optional: true + + '@esbuild/sunos-x64@0.27.2': + optional: true + + '@esbuild/win32-arm64@0.25.12': + optional: true + + '@esbuild/win32-arm64@0.27.2': + optional: true + + '@esbuild/win32-ia32@0.25.12': + optional: true + + '@esbuild/win32-ia32@0.27.2': + optional: true + + '@esbuild/win32-x64@0.25.12': + optional: true + + '@esbuild/win32-x64@0.27.2': + optional: true + + '@eslint-community/eslint-utils@4.9.0(eslint@9.39.2)': + dependencies: + eslint: 9.39.2 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2)': + dependencies: + eslint: 9.39.2 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.21.1': + dependencies: + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.4.2': + dependencies: + '@eslint/core': 0.17.0 + + '@eslint/core@0.17.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.3': + dependencies: + ajv: 6.12.6 + debug: 4.4.3 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.39.2': {} + + '@eslint/object-schema@2.1.7': {} + + '@eslint/plugin-kit@0.4.1': + dependencies: + '@eslint/core': 0.17.0 + levn: 0.4.1 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@intlify/bundle-utils@11.0.3(vue-i18n@11.2.8(vue@3.5.26(typescript@5.9.3)))': + dependencies: + '@intlify/message-compiler': 11.2.8 + '@intlify/shared': 11.2.2 + acorn: 8.15.0 + esbuild: 0.25.12 + escodegen: 2.1.0 + estree-walker: 2.0.2 + jsonc-eslint-parser: 2.4.2 + source-map-js: 1.2.1 + yaml-eslint-parser: 1.3.2 + optionalDependencies: + vue-i18n: 11.2.8(vue@3.5.26(typescript@5.9.3)) + + '@intlify/core-base@11.2.8': + dependencies: + '@intlify/message-compiler': 11.2.8 + '@intlify/shared': 11.2.8 + + '@intlify/message-compiler@11.2.8': + dependencies: + '@intlify/shared': 11.2.8 + source-map-js: 1.2.1 + + '@intlify/shared@11.2.2': {} + + '@intlify/shared@11.2.8': {} + + '@intlify/unplugin-vue-i18n@11.0.3(@vue/compiler-dom@3.5.26)(eslint@9.39.2)(rollup@4.55.1)(typescript@5.9.3)(vue-i18n@11.2.8(vue@3.5.26(typescript@5.9.3)))(vue@3.5.26(typescript@5.9.3))': + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2) + '@intlify/bundle-utils': 11.0.3(vue-i18n@11.2.8(vue@3.5.26(typescript@5.9.3))) + '@intlify/shared': 11.2.2 + '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.2.2)(@vue/compiler-dom@3.5.26)(vue-i18n@11.2.8(vue@3.5.26(typescript@5.9.3)))(vue@3.5.26(typescript@5.9.3)) + '@rollup/pluginutils': 5.3.0(rollup@4.55.1) + '@typescript-eslint/scope-manager': 8.49.0 + '@typescript-eslint/typescript-estree': 8.49.0(typescript@5.9.3) + debug: 4.4.3 + fast-glob: 3.3.3 + pathe: 2.0.3 + picocolors: 1.1.1 + unplugin: 2.3.11 + vue: 3.5.26(typescript@5.9.3) + optionalDependencies: + vue-i18n: 11.2.8(vue@3.5.26(typescript@5.9.3)) + transitivePeerDependencies: + - '@vue/compiler-dom' + - eslint + - rollup + - supports-color + - typescript + + '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.2.2)(@vue/compiler-dom@3.5.26)(vue-i18n@11.2.8(vue@3.5.26(typescript@5.9.3)))(vue@3.5.26(typescript@5.9.3))': + dependencies: + '@babel/parser': 7.28.5 + optionalDependencies: + '@intlify/shared': 11.2.2 + '@vue/compiler-dom': 3.5.26 + vue: 3.5.26(typescript@5.9.3) + vue-i18n: 11.2.8(vue@3.5.26(typescript@5.9.3)) + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@pkgr/core@0.2.9': {} + + '@rolldown/pluginutils@1.0.0-beta.53': {} + + '@rollup/pluginutils@5.3.0(rollup@4.55.1)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.55.1 + + '@rollup/rollup-android-arm-eabi@4.55.1': + optional: true + + '@rollup/rollup-android-arm64@4.55.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.55.1': + optional: true + + '@rollup/rollup-darwin-x64@4.55.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.55.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.55.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.55.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.55.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.55.1': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.55.1': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.55.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.55.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.55.1': + optional: true + + '@rollup/rollup-openbsd-x64@4.55.1': + optional: true + + '@rollup/rollup-openharmony-arm64@4.55.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.55.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.55.1': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.55.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.55.1': + optional: true + + '@tsconfig/node24@24.0.4': {} + + '@types/estree@1.0.8': {} + + '@types/json-schema@7.0.15': {} + + '@types/localforage@0.0.34': + dependencies: + localforage: 1.10.0 + + '@types/lodash-es@4.17.12': + dependencies: + '@types/lodash': 4.17.13 + + '@types/lodash@4.17.13': {} + + '@types/node@24.10.9': + dependencies: + undici-types: 7.16.0 + + '@types/trusted-types@2.0.7': + optional: true + + '@types/web-bluetooth@0.0.21': {} + + '@typescript-eslint/eslint-plugin@8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.37.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.37.0 + '@typescript-eslint/type-utils': 8.37.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/utils': 8.37.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.37.0 + eslint: 9.39.2 + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/eslint-plugin@8.53.0(@typescript-eslint/parser@8.37.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.37.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.53.0 + '@typescript-eslint/type-utils': 8.53.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/utils': 8.53.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.53.0 + eslint: 9.39.2 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.37.0(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.37.0 + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.37.0 + debug: 4.4.3 + eslint: 9.39.2 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.37.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.9.3) + '@typescript-eslint/types': 8.37.0 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.49.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.49.0(typescript@5.9.3) + '@typescript-eslint/types': 8.49.0 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.53.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.53.0(typescript@5.9.3) + '@typescript-eslint/types': 8.53.0 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.37.0': + dependencies: + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/visitor-keys': 8.37.0 + + '@typescript-eslint/scope-manager@8.49.0': + dependencies: + '@typescript-eslint/types': 8.49.0 + '@typescript-eslint/visitor-keys': 8.49.0 + + '@typescript-eslint/scope-manager@8.53.0': + dependencies: + '@typescript-eslint/types': 8.53.0 + '@typescript-eslint/visitor-keys': 8.53.0 + + '@typescript-eslint/tsconfig-utils@8.37.0(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/tsconfig-utils@8.49.0(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/tsconfig-utils@8.53.0(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/type-utils@8.37.0(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.37.0(eslint@9.39.2)(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.39.2 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/type-utils@8.53.0(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.53.0 + '@typescript-eslint/typescript-estree': 8.53.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.53.0(eslint@9.39.2)(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.39.2 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.37.0': {} + + '@typescript-eslint/types@8.49.0': {} + + '@typescript-eslint/types@8.53.0': {} + + '@typescript-eslint/typescript-estree@8.37.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.37.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.9.3) + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/visitor-keys': 8.37.0 + debug: 4.4.3 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.3 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@8.49.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.49.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.49.0(typescript@5.9.3) + '@typescript-eslint/types': 8.49.0 + '@typescript-eslint/visitor-keys': 8.49.0 + debug: 4.4.3 + minimatch: 9.0.5 + semver: 7.7.3 + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@8.53.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.53.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.53.0(typescript@5.9.3) + '@typescript-eslint/types': 8.53.0 + '@typescript-eslint/visitor-keys': 8.53.0 + debug: 4.4.3 + minimatch: 9.0.5 + semver: 7.7.3 + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.37.0(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) + '@typescript-eslint/scope-manager': 8.37.0 + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.9.3) + eslint: 9.39.2 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.53.0(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) + '@typescript-eslint/scope-manager': 8.53.0 + '@typescript-eslint/types': 8.53.0 + '@typescript-eslint/typescript-estree': 8.53.0(typescript@5.9.3) + eslint: 9.39.2 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.37.0': + dependencies: + '@typescript-eslint/types': 8.37.0 + eslint-visitor-keys: 4.2.1 + + '@typescript-eslint/visitor-keys@8.49.0': + dependencies: + '@typescript-eslint/types': 8.49.0 + eslint-visitor-keys: 4.2.1 + + '@typescript-eslint/visitor-keys@8.53.0': + dependencies: + '@typescript-eslint/types': 8.53.0 + eslint-visitor-keys: 4.2.1 + + '@videojs/http-streaming@3.17.2(video.js@8.23.4)': + dependencies: + '@babel/runtime': 7.28.4 + '@videojs/vhs-utils': 4.1.1 + aes-decrypter: 4.0.2 + global: 4.4.0 + m3u8-parser: 7.2.0 + mpd-parser: 1.3.1 + mux.js: 7.1.0 + video.js: 8.23.4 + + '@videojs/vhs-utils@4.1.1': + dependencies: + '@babel/runtime': 7.28.4 + global: 4.4.0 + + '@videojs/xhr@2.7.0': + dependencies: + '@babel/runtime': 7.28.4 + global: 4.4.0 + is-function: 1.0.2 + + '@vitejs/plugin-legacy@7.2.1(terser@5.46.0)(vite@7.3.1(@types/node@24.10.9)(terser@5.46.0)(yaml@2.8.2))': + dependencies: + '@babel/core': 7.28.5 + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) + '@babel/preset-env': 7.28.5(@babel/core@7.28.5) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) + browserslist: 4.28.0 + browserslist-to-esbuild: 2.1.1(browserslist@4.28.0) + core-js: 3.46.0 + magic-string: 0.30.21 + regenerator-runtime: 0.14.1 + systemjs: 6.15.1 + terser: 5.46.0 + vite: 7.3.1(@types/node@24.10.9)(terser@5.46.0)(yaml@2.8.2) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue@6.0.3(vite@7.3.1(@types/node@24.10.9)(terser@5.46.0)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3))': + dependencies: + '@rolldown/pluginutils': 1.0.0-beta.53 + vite: 7.3.1(@types/node@24.10.9)(terser@5.46.0)(yaml@2.8.2) + vue: 3.5.26(typescript@5.9.3) + + '@volar/language-core@2.4.27': + dependencies: + '@volar/source-map': 2.4.27 + + '@volar/source-map@2.4.27': {} + + '@volar/typescript@2.4.27': + dependencies: + '@volar/language-core': 2.4.27 + path-browserify: 1.0.1 + vscode-uri: 3.1.0 + + '@vue/compiler-core@3.5.26': + dependencies: + '@babel/parser': 7.28.5 + '@vue/shared': 3.5.26 + entities: 7.0.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.26': + dependencies: + '@vue/compiler-core': 3.5.26 + '@vue/shared': 3.5.26 + + '@vue/compiler-sfc@3.5.26': + dependencies: + '@babel/parser': 7.28.5 + '@vue/compiler-core': 3.5.26 + '@vue/compiler-dom': 3.5.26 + '@vue/compiler-ssr': 3.5.26 + '@vue/shared': 3.5.26 + estree-walker: 2.0.2 + magic-string: 0.30.21 + postcss: 8.5.6 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.26': + dependencies: + '@vue/compiler-dom': 3.5.26 + '@vue/shared': 3.5.26 + + '@vue/devtools-api@6.6.4': {} + + '@vue/devtools-api@7.7.8': + dependencies: + '@vue/devtools-kit': 7.7.8 + + '@vue/devtools-kit@7.7.8': + dependencies: + '@vue/devtools-shared': 7.7.8 + birpc: 2.8.0 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.5 + + '@vue/devtools-shared@7.7.8': + dependencies: + rfdc: 1.4.1 + + '@vue/eslint-config-prettier@10.2.0(eslint@9.39.2)(prettier@3.8.0)': + dependencies: + eslint: 9.39.2 + eslint-config-prettier: 10.1.8(eslint@9.39.2) + eslint-plugin-prettier: 5.5.5(eslint-config-prettier@10.1.8(eslint@9.39.2))(eslint@9.39.2)(prettier@3.8.0) + prettier: 3.8.0 + transitivePeerDependencies: + - '@types/eslint' + + '@vue/eslint-config-typescript@14.6.0(eslint-plugin-vue@10.7.0(@typescript-eslint/parser@8.37.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(vue-eslint-parser@10.2.0(eslint@9.39.2)))(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/utils': 8.37.0(eslint@9.39.2)(typescript@5.9.3) + eslint: 9.39.2 + eslint-plugin-vue: 10.7.0(@typescript-eslint/parser@8.37.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(vue-eslint-parser@10.2.0(eslint@9.39.2)) + fast-glob: 3.3.3 + typescript-eslint: 8.37.0(eslint@9.39.2)(typescript@5.9.3) + vue-eslint-parser: 10.2.0(eslint@9.39.2) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@vue/language-core@3.2.2': + dependencies: + '@volar/language-core': 2.4.27 + '@vue/compiler-dom': 3.5.26 + '@vue/shared': 3.5.26 + alien-signals: 3.1.2 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + picomatch: 4.0.3 + + '@vue/reactivity@3.5.26': + dependencies: + '@vue/shared': 3.5.26 + + '@vue/runtime-core@3.5.26': + dependencies: + '@vue/reactivity': 3.5.26 + '@vue/shared': 3.5.26 + + '@vue/runtime-dom@3.5.26': + dependencies: + '@vue/reactivity': 3.5.26 + '@vue/runtime-core': 3.5.26 + '@vue/shared': 3.5.26 + csstype: 3.2.3 + + '@vue/server-renderer@3.5.26(vue@3.5.26(typescript@5.9.3))': + dependencies: + '@vue/compiler-ssr': 3.5.26 + '@vue/shared': 3.5.26 + vue: 3.5.26(typescript@5.9.3) + + '@vue/shared@3.5.26': {} + + '@vue/tsconfig@0.8.1(typescript@5.9.3)(vue@3.5.26(typescript@5.9.3))': + optionalDependencies: + typescript: 5.9.3 + vue: 3.5.26(typescript@5.9.3) + + '@vueuse/core@14.1.0(vue@3.5.26(typescript@5.9.3))': + dependencies: + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 14.1.0 + '@vueuse/shared': 14.1.0(vue@3.5.26(typescript@5.9.3)) + vue: 3.5.26(typescript@5.9.3) + + '@vueuse/integrations@14.1.0(focus-trap@7.6.2)(jwt-decode@4.0.0)(vue@3.5.26(typescript@5.9.3))': + dependencies: + '@vueuse/core': 14.1.0(vue@3.5.26(typescript@5.9.3)) + '@vueuse/shared': 14.1.0(vue@3.5.26(typescript@5.9.3)) + vue: 3.5.26(typescript@5.9.3) + optionalDependencies: + focus-trap: 7.6.2 + jwt-decode: 4.0.0 + + '@vueuse/metadata@14.1.0': {} + + '@vueuse/shared@14.1.0(vue@3.5.26(typescript@5.9.3))': + dependencies: + vue: 3.5.26(typescript@5.9.3) + + '@xmldom/xmldom@0.7.13': {} + + '@xmldom/xmldom@0.8.11': {} + + ace-builds@1.43.5: {} + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + aes-decrypter@4.0.2: + dependencies: + '@babel/runtime': 7.28.4 + '@videojs/vhs-utils': 4.1.1 + global: 4.4.0 + pkcs7: 1.0.4 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + alien-signals@3.1.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + argparse@2.0.1: {} + + autoprefixer@10.4.23(postcss@8.5.6): + dependencies: + browserslist: 4.28.1 + caniuse-lite: 1.0.30001760 + fraction.js: 5.3.4 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.5): + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + core-js-compat: 3.46.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + balanced-match@1.0.2: {} + + baseline-browser-mapping@2.8.26: {} + + baseline-browser-mapping@2.9.7: {} + + birpc@2.8.0: {} + + boolbase@1.0.0: {} + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist-to-esbuild@2.1.1(browserslist@4.28.0): + dependencies: + browserslist: 4.28.0 + meow: 13.2.0 + + browserslist@4.28.0: + dependencies: + baseline-browser-mapping: 2.8.26 + caniuse-lite: 1.0.30001754 + electron-to-chromium: 1.5.250 + node-releases: 2.0.27 + update-browserslist-db: 1.1.4(browserslist@4.28.0) + + browserslist@4.28.1: + dependencies: + baseline-browser-mapping: 2.9.7 + caniuse-lite: 1.0.30001760 + electron-to-chromium: 1.5.267 + node-releases: 2.0.27 + update-browserslist-db: 1.2.2(browserslist@4.28.1) + + buffer-from@1.1.2: {} + + callsites@3.1.0: {} + + caniuse-lite@1.0.30001754: {} + + caniuse-lite@1.0.30001760: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + combine-errors@3.0.3: + dependencies: + custom-error-instance: 2.1.1 + lodash.uniqby: 4.5.0 + + commander@2.20.3: {} + + concat-map@0.0.1: {} + + convert-source-map@2.0.0: {} + + copy-anything@4.0.5: + dependencies: + is-what: 5.5.0 + + core-js-compat@3.46.0: + dependencies: + browserslist: 4.28.0 + + core-js@3.46.0: {} + + core-util-is@1.0.3: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cssesc@3.0.0: {} + + csstype@3.2.3: {} + + custom-error-instance@2.1.1: {} + + d@1.0.2: + dependencies: + es5-ext: 0.10.64 + type: 2.7.3 + + dayjs@1.11.19: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + deep-is@0.1.4: {} + + dom-walk@0.1.2: {} + + dompurify@3.3.1: + optionalDependencies: + '@types/trusted-types': 2.0.7 + + electron-to-chromium@1.5.250: {} + + electron-to-chromium@1.5.267: {} + + entities@7.0.0: {} + + epubjs@0.3.93: + dependencies: + '@types/localforage': 0.0.34 + '@xmldom/xmldom': 0.7.13 + core-js: 3.46.0 + event-emitter: 0.3.5 + jszip: 3.10.1 + localforage: 1.10.0 + lodash: 4.17.21 + marks-pane: 1.0.9 + path-webpack: 0.0.3 + + es5-ext@0.10.64: + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + esniff: 2.0.1 + next-tick: 1.1.0 + + es6-iterator@2.0.3: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-symbol: 3.1.4 + + es6-symbol@3.1.4: + dependencies: + d: 1.0.2 + ext: 1.7.0 + + esbuild@0.25.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 + + esbuild@0.27.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.2 + '@esbuild/android-arm': 0.27.2 + '@esbuild/android-arm64': 0.27.2 + '@esbuild/android-x64': 0.27.2 + '@esbuild/darwin-arm64': 0.27.2 + '@esbuild/darwin-x64': 0.27.2 + '@esbuild/freebsd-arm64': 0.27.2 + '@esbuild/freebsd-x64': 0.27.2 + '@esbuild/linux-arm': 0.27.2 + '@esbuild/linux-arm64': 0.27.2 + '@esbuild/linux-ia32': 0.27.2 + '@esbuild/linux-loong64': 0.27.2 + '@esbuild/linux-mips64el': 0.27.2 + '@esbuild/linux-ppc64': 0.27.2 + '@esbuild/linux-riscv64': 0.27.2 + '@esbuild/linux-s390x': 0.27.2 + '@esbuild/linux-x64': 0.27.2 + '@esbuild/netbsd-arm64': 0.27.2 + '@esbuild/netbsd-x64': 0.27.2 + '@esbuild/openbsd-arm64': 0.27.2 + '@esbuild/openbsd-x64': 0.27.2 + '@esbuild/openharmony-arm64': 0.27.2 + '@esbuild/sunos-x64': 0.27.2 + '@esbuild/win32-arm64': 0.27.2 + '@esbuild/win32-ia32': 0.27.2 + '@esbuild/win32-x64': 0.27.2 + + escalade@3.2.0: {} + + escape-string-regexp@4.0.0: {} + + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + eslint-config-prettier@10.1.8(eslint@9.39.2): + dependencies: + eslint: 9.39.2 + + eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@9.39.2))(eslint@9.39.2)(prettier@3.8.0): + dependencies: + eslint: 9.39.2 + prettier: 3.8.0 + prettier-linter-helpers: 1.0.1 + synckit: 0.11.12 + optionalDependencies: + eslint-config-prettier: 10.1.8(eslint@9.39.2) + + eslint-plugin-vue@10.7.0(@typescript-eslint/parser@8.37.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(vue-eslint-parser@10.2.0(eslint@9.39.2)): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) + eslint: 9.39.2 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 7.1.1 + semver: 7.7.3 + vue-eslint-parser: 10.2.0(eslint@9.39.2) + xml-name-validator: 4.0.0 + optionalDependencies: + '@typescript-eslint/parser': 8.37.0(eslint@9.39.2)(typescript@5.9.3) + + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.1: {} + + eslint@9.39.2: + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.3 + '@eslint/js': 9.39.2 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + esniff@2.0.1: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + event-emitter: 0.3.5 + type: 2.7.3 + + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + + espree@9.6.1: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 3.4.3 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + esutils@2.0.3: {} + + event-emitter@0.3.5: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + + ext@1.7.0: + dependencies: + type: 2.7.3 + + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + filesize@11.0.13: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + + flatted@3.3.3: {} + + focus-trap@7.6.2: + dependencies: + tabbable: 6.4.0 + + fraction.js@5.3.4: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + global@4.4.0: + dependencies: + min-document: 2.19.2 + process: 0.11.10 + + globals@14.0.0: {} + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + has-flag@4.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hookable@5.5.3: {} + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + immediate@3.0.6: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + inherits@2.0.4: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-function@1.0.2: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + is-stream@2.0.1: {} + + is-what@5.5.0: {} + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + js-base64@3.7.8: {} + + js-tokens@4.0.0: {} + + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@2.2.3: {} + + jsonc-eslint-parser@2.4.2: + dependencies: + acorn: 8.15.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.7.3 + + jszip@3.10.1: + dependencies: + lie: 3.3.0 + pako: 1.0.11 + readable-stream: 2.3.8 + setimmediate: 1.0.5 + + jwt-decode@4.0.0: {} + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lie@3.1.1: + dependencies: + immediate: 3.0.6 + + lie@3.3.0: + dependencies: + immediate: 3.0.6 + + localforage@1.10.0: + dependencies: + lie: 3.1.1 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash-es@4.17.22: {} + + lodash._baseiteratee@4.7.0: + dependencies: + lodash._stringtopath: 4.8.0 + + lodash._basetostring@4.12.0: {} + + lodash._baseuniq@4.6.0: + dependencies: + lodash._createset: 4.0.3 + lodash._root: 3.0.1 + + lodash._createset@4.0.3: {} + + lodash._root@3.0.1: {} + + lodash._stringtopath@4.8.0: + dependencies: + lodash._basetostring: 4.12.0 + + lodash.debounce@4.0.8: {} + + lodash.merge@4.6.2: {} + + lodash.throttle@4.1.1: {} + + lodash.uniqby@4.5.0: + dependencies: + lodash._baseiteratee: 4.7.0 + lodash._baseuniq: 4.6.0 + + lodash@4.17.21: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + m3u8-parser@7.2.0: + dependencies: + '@babel/runtime': 7.28.4 + '@videojs/vhs-utils': 4.1.1 + global: 4.4.0 + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + marked@17.0.1: {} + + marks-pane@1.0.9: {} + + material-icons@1.13.14: {} + + meow@13.2.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + min-document@2.19.2: + dependencies: + dom-walk: 0.1.2 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + mitt@3.0.1: {} + + mpd-parser@1.3.1: + dependencies: + '@babel/runtime': 7.28.4 + '@videojs/vhs-utils': 4.1.1 + '@xmldom/xmldom': 0.8.11 + global: 4.4.0 + + ms@2.1.3: {} + + muggle-string@0.4.1: {} + + mux.js@7.1.0: + dependencies: + '@babel/runtime': 7.28.4 + global: 4.4.0 + + nanoid@3.3.11: {} + + natural-compare@1.4.0: {} + + next-tick@1.1.0: {} + + node-releases@2.0.27: {} + + normalize.css@8.0.1: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + pako@1.0.11: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + path-browserify@1.0.1: {} + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-webpack@0.0.3: {} + + pathe@2.0.3: {} + + perfect-debounce@1.0.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.3: {} + + pinia@3.0.4(typescript@5.9.3)(vue@3.5.26(typescript@5.9.3)): + dependencies: + '@vue/devtools-api': 7.7.8 + vue: 3.5.26(typescript@5.9.3) + optionalDependencies: + typescript: 5.9.3 + + pkcs7@1.0.4: + dependencies: + '@babel/runtime': 7.28.4 + + postcss-selector-parser@7.1.1: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + prettier-linter-helpers@1.0.1: + dependencies: + fast-diff: 1.3.0 + + prettier@3.8.0: {} + + pretty-bytes@7.1.0: {} + + process-nextick-args@2.0.1: {} + + process@0.11.10: {} + + proper-lockfile@4.1.2: + dependencies: + graceful-fs: 4.2.11 + retry: 0.12.0 + signal-exit: 3.0.7 + + punycode@2.3.1: {} + + qrcode.vue@3.6.0(vue@3.5.26(typescript@5.9.3)): + dependencies: + vue: 3.5.26(typescript@5.9.3) + + querystringify@2.2.0: {} + + queue-microtask@1.2.3: {} + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + regenerate-unicode-properties@10.2.2: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.14.1: {} + + regexpu-core@6.4.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.2 + regjsgen: 0.8.0 + regjsparser: 0.13.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.1 + + regjsgen@0.8.0: {} + + regjsparser@0.13.0: + dependencies: + jsesc: 3.1.0 + + requires-port@1.0.0: {} + + resolve-from@4.0.0: {} + + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + retry@0.12.0: {} + + reusify@1.1.0: {} + + rfdc@1.4.1: {} + + rollup@4.55.1: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.55.1 + '@rollup/rollup-android-arm64': 4.55.1 + '@rollup/rollup-darwin-arm64': 4.55.1 + '@rollup/rollup-darwin-x64': 4.55.1 + '@rollup/rollup-freebsd-arm64': 4.55.1 + '@rollup/rollup-freebsd-x64': 4.55.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.55.1 + '@rollup/rollup-linux-arm-musleabihf': 4.55.1 + '@rollup/rollup-linux-arm64-gnu': 4.55.1 + '@rollup/rollup-linux-arm64-musl': 4.55.1 + '@rollup/rollup-linux-loong64-gnu': 4.55.1 + '@rollup/rollup-linux-loong64-musl': 4.55.1 + '@rollup/rollup-linux-ppc64-gnu': 4.55.1 + '@rollup/rollup-linux-ppc64-musl': 4.55.1 + '@rollup/rollup-linux-riscv64-gnu': 4.55.1 + '@rollup/rollup-linux-riscv64-musl': 4.55.1 + '@rollup/rollup-linux-s390x-gnu': 4.55.1 + '@rollup/rollup-linux-x64-gnu': 4.55.1 + '@rollup/rollup-linux-x64-musl': 4.55.1 + '@rollup/rollup-openbsd-x64': 4.55.1 + '@rollup/rollup-openharmony-arm64': 4.55.1 + '@rollup/rollup-win32-arm64-msvc': 4.55.1 + '@rollup/rollup-win32-ia32-msvc': 4.55.1 + '@rollup/rollup-win32-x64-gnu': 4.55.1 + '@rollup/rollup-win32-x64-msvc': 4.55.1 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.1.2: {} + + semver@6.3.1: {} + + semver@7.7.3: {} + + setimmediate@1.0.5: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@3.0.7: {} + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + speakingurl@14.0.1: {} + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + strip-json-comments@3.1.1: {} + + superjson@2.2.5: + dependencies: + copy-anything: 4.0.5 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + synckit@0.11.12: + dependencies: + '@pkgr/core': 0.2.9 + + systemjs@6.15.1: {} + + tabbable@6.4.0: {} + + tar-mini@0.2.0: {} + + terser@5.46.0: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + ts-api-utils@2.4.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + + tus-js-client@4.3.1: + dependencies: + buffer-from: 1.1.2 + combine-errors: 3.0.3 + is-stream: 2.0.1 + js-base64: 3.7.8 + lodash.throttle: 4.1.1 + proper-lockfile: 4.1.2 + url-parse: 1.5.10 + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type@2.7.3: {} + + typescript-eslint@8.37.0(eslint@9.39.2)(typescript@5.9.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/parser': 8.37.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.37.0(eslint@9.39.2)(typescript@5.9.3) + eslint: 9.39.2 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + typescript@5.9.3: {} + + undici-types@7.16.0: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.2.0 + + unicode-match-property-value-ecmascript@2.2.1: {} + + unicode-property-aliases-ecmascript@2.2.0: {} + + unplugin@2.3.11: + dependencies: + '@jridgewell/remapping': 2.3.5 + acorn: 8.15.0 + picomatch: 4.0.3 + webpack-virtual-modules: 0.6.2 + + update-browserslist-db@1.1.4(browserslist@4.28.0): + dependencies: + browserslist: 4.28.0 + escalade: 3.2.0 + picocolors: 1.1.1 + + update-browserslist-db@1.2.2(browserslist@4.28.1): + dependencies: + browserslist: 4.28.1 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + + utif@3.1.0: + dependencies: + pako: 1.0.11 + + util-deprecate@1.0.2: {} + + video.js@8.23.4: + dependencies: + '@babel/runtime': 7.28.4 + '@videojs/http-streaming': 3.17.2(video.js@8.23.4) + '@videojs/vhs-utils': 4.1.1 + '@videojs/xhr': 2.7.0 + aes-decrypter: 4.0.2 + global: 4.4.0 + m3u8-parser: 7.2.0 + mpd-parser: 1.3.1 + mux.js: 7.1.0 + videojs-contrib-quality-levels: 4.1.0(video.js@8.23.4) + videojs-font: 4.2.0 + videojs-vtt.js: 0.15.5 + + videojs-contrib-quality-levels@4.1.0(video.js@8.23.4): + dependencies: + global: 4.4.0 + video.js: 8.23.4 + + videojs-font@4.2.0: {} + + videojs-hotkeys@0.2.30: {} + + videojs-mobile-ui@1.1.3(video.js@8.23.4): + dependencies: + global: 4.4.0 + video.js: 8.23.4 + + videojs-vtt.js@0.15.5: + dependencies: + global: 4.4.0 + + vite-plugin-compression2@2.4.0(rollup@4.55.1): + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.55.1) + tar-mini: 0.2.0 + transitivePeerDependencies: + - rollup + + vite@7.3.1(@types/node@24.10.9)(terser@5.46.0)(yaml@2.8.2): + dependencies: + esbuild: 0.27.2 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.55.1 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 24.10.9 + fsevents: 2.3.3 + terser: 5.46.0 + yaml: 2.8.2 + + vscode-uri@3.1.0: {} + + vue-eslint-parser@10.2.0(eslint@9.39.2): + dependencies: + debug: 4.4.3 + eslint: 9.39.2 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 + semver: 7.7.3 + transitivePeerDependencies: + - supports-color + + vue-final-modal@4.5.5(@vueuse/core@14.1.0(vue@3.5.26(typescript@5.9.3)))(@vueuse/integrations@14.1.0(focus-trap@7.6.2)(jwt-decode@4.0.0)(vue@3.5.26(typescript@5.9.3)))(focus-trap@7.6.2)(vue@3.5.26(typescript@5.9.3)): + dependencies: + '@vueuse/core': 14.1.0(vue@3.5.26(typescript@5.9.3)) + '@vueuse/integrations': 14.1.0(focus-trap@7.6.2)(jwt-decode@4.0.0)(vue@3.5.26(typescript@5.9.3)) + focus-trap: 7.6.2 + vue: 3.5.26(typescript@5.9.3) + + vue-i18n@11.2.8(vue@3.5.26(typescript@5.9.3)): + dependencies: + '@intlify/core-base': 11.2.8 + '@intlify/shared': 11.2.8 + '@vue/devtools-api': 6.6.4 + vue: 3.5.26(typescript@5.9.3) + + vue-lazyload@3.0.0: {} + + vue-reader@1.3.4: + dependencies: + epubjs: 0.3.93 + + vue-router@4.6.4(vue@3.5.26(typescript@5.9.3)): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.26(typescript@5.9.3) + + vue-toastification@2.0.0-rc.5(vue@3.5.26(typescript@5.9.3)): + dependencies: + vue: 3.5.26(typescript@5.9.3) + + vue-tsc@3.2.2(typescript@5.9.3): + dependencies: + '@volar/typescript': 2.4.27 + '@vue/language-core': 3.2.2 + typescript: 5.9.3 + + vue@3.5.26(typescript@5.9.3): + dependencies: + '@vue/compiler-dom': 3.5.26 + '@vue/compiler-sfc': 3.5.26 + '@vue/runtime-dom': 3.5.26 + '@vue/server-renderer': 3.5.26(vue@3.5.26(typescript@5.9.3)) + '@vue/shared': 3.5.26 + optionalDependencies: + typescript: 5.9.3 + + webpack-virtual-modules@0.6.2: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + xml-name-validator@4.0.0: {} + + yallist@3.1.1: {} + + yaml-eslint-parser@1.3.2: + dependencies: + eslint-visitor-keys: 3.4.3 + yaml: 2.8.2 + + yaml@2.8.2: {} + + yocto-queue@0.1.0: {} diff --git a/frontend/postcss.config.cjs b/frontend/postcss.config.cjs new file mode 100644 index 00000000..a47ef4f9 --- /dev/null +++ b/frontend/postcss.config.cjs @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {}, + }, +}; diff --git a/frontend/public/.gitkeep b/frontend/public/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/frontend/public/img/icons/android-chrome-192x192.png b/frontend/public/img/icons/android-chrome-192x192.png new file mode 100644 index 00000000..e9131e42 Binary files /dev/null and b/frontend/public/img/icons/android-chrome-192x192.png differ diff --git a/frontend/public/img/icons/android-chrome-512x512.png b/frontend/public/img/icons/android-chrome-512x512.png new file mode 100644 index 00000000..d4d3f2e2 Binary files /dev/null and b/frontend/public/img/icons/android-chrome-512x512.png differ diff --git a/frontend/public/img/icons/apple-touch-icon.png b/frontend/public/img/icons/apple-touch-icon.png new file mode 100644 index 00000000..2d47378c Binary files /dev/null and b/frontend/public/img/icons/apple-touch-icon.png differ diff --git a/frontend/public/img/icons/favicon.ico b/frontend/public/img/icons/favicon.ico new file mode 100644 index 00000000..2ab0ce10 Binary files /dev/null and b/frontend/public/img/icons/favicon.ico differ diff --git a/frontend/public/img/icons/favicon.svg b/frontend/public/img/icons/favicon.svg new file mode 100644 index 00000000..8f91e01f --- /dev/null +++ b/frontend/public/img/icons/favicon.svg @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/frontend/public/img/logo.svg b/frontend/public/img/logo.svg new file mode 100644 index 00000000..dac88ae2 --- /dev/null +++ b/frontend/public/img/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/index.html b/frontend/public/index.html new file mode 100644 index 00000000..15ff375e --- /dev/null +++ b/frontend/public/index.html @@ -0,0 +1,171 @@ + + + + + + + + [{[ if .ReCaptcha -]}] + + [{[ end ]}] + + + [{[ if .Name -]}][{[ .Name ]}][{[ else ]}]File Browser[{[ end ]}] + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
+
+
+ + + + [{[ if .CSS -]}] + + [{[ end ]}] + + diff --git a/frontend/public/manifest.json b/frontend/public/manifest.json new file mode 100644 index 00000000..33efca79 --- /dev/null +++ b/frontend/public/manifest.json @@ -0,0 +1,20 @@ +{ + "name": "File Browser", + "short_name": "File Browser", + "icons": [ + { + "src": "./img/icons/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "./static/img/icons/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "start_url": "/", + "display": "standalone", + "background_color": "#ffffff", + "theme_color": "#455a64" +} diff --git a/frontend/src/App.vue b/frontend/src/App.vue new file mode 100644 index 00000000..25917f7d --- /dev/null +++ b/frontend/src/App.vue @@ -0,0 +1,33 @@ + + + diff --git a/frontend/src/api/commands.ts b/frontend/src/api/commands.ts new file mode 100644 index 00000000..81dc93cd --- /dev/null +++ b/frontend/src/api/commands.ts @@ -0,0 +1,20 @@ +import { baseURL } from "@/utils/constants"; +import { removePrefix } from "./utils"; + +const ssl = window.location.protocol === "https:"; +const protocol = ssl ? "wss:" : "ws:"; + +export default function command( + url: string, + command: string, + onmessage: WebSocket["onmessage"], + onclose: WebSocket["onclose"] +) { + url = removePrefix(url); + url = `${protocol}//${window.location.host}${baseURL}/api/command${url}`; + + const conn = new window.WebSocket(url); + conn.onopen = () => conn.send(command); + conn.onmessage = onmessage; + conn.onclose = onclose; +} diff --git a/frontend/src/api/files.ts b/frontend/src/api/files.ts new file mode 100644 index 00000000..d9ee12d6 --- /dev/null +++ b/frontend/src/api/files.ts @@ -0,0 +1,230 @@ +import { useAuthStore } from "@/stores/auth"; +import { useLayoutStore } from "@/stores/layout"; +import { baseURL } from "@/utils/constants"; +import { upload as postTus, useTus } from "./tus"; +import { createURL, fetchURL, removePrefix, StatusError } from "./utils"; + +export async function fetch(url: string, signal?: AbortSignal) { + url = removePrefix(url); + const res = await fetchURL(`/api/resources${url}`, { signal }); + + let data: Resource; + try { + data = (await res.json()) as Resource; + } catch (e) { + // Check if the error is an intentional cancellation + if (e instanceof Error && e.name === "AbortError") { + throw new StatusError("000 No connection", 0, true); + } + throw e; + } + data.url = `/files${url}`; + + if (data.isDir) { + if (!data.url.endsWith("/")) data.url += "/"; + // Perhaps change the any + data.items = data.items.map((item: any, index: any) => { + item.index = index; + item.url = `${data.url}${encodeURIComponent(item.name)}`; + + if (item.isDir) { + item.url += "/"; + } + + return item; + }); + } + + return data; +} + +async function resourceAction(url: string, method: ApiMethod, content?: any) { + url = removePrefix(url); + + const opts: ApiOpts = { + method, + }; + + if (content) { + opts.body = content; + } + + const res = await fetchURL(`/api/resources${url}`, opts); + + return res; +} + +export async function remove(url: string) { + return resourceAction(url, "DELETE"); +} + +export async function put(url: string, content = "") { + return resourceAction(url, "PUT", content); +} + +export function download(format: any, ...files: string[]) { + let url = `${baseURL}/api/raw`; + + if (files.length === 1) { + url += removePrefix(files[0]) + "?"; + } else { + let arg = ""; + + for (const file of files) { + arg += removePrefix(file) + ","; + } + + arg = arg.substring(0, arg.length - 1); + arg = encodeURIComponent(arg); + url += `/?files=${arg}&`; + } + + if (format) { + url += `algo=${format}&`; + } + + window.open(url); +} + +export async function post( + url: string, + content: ApiContent = "", + overwrite = false, + onupload: any = () => {} +) { + // Use the pre-existing API if: + const useResourcesApi = + // a folder is being created + url.endsWith("/") || + // We're not using http(s) + (content instanceof Blob && + !["http:", "https:"].includes(window.location.protocol)) || + // Tus is disabled / not applicable + !(await useTus(content)); + return useResourcesApi + ? postResources(url, content, overwrite, onupload) + : postTus(url, content, overwrite, onupload); +} + +async function postResources( + url: string, + content: ApiContent = "", + overwrite = false, + onupload: any +) { + url = removePrefix(url); + + let bufferContent: ArrayBuffer; + if ( + content instanceof Blob && + !["http:", "https:"].includes(window.location.protocol) + ) { + bufferContent = await new Response(content).arrayBuffer(); + } + + const authStore = useAuthStore(); + return new Promise((resolve, reject) => { + const request = new XMLHttpRequest(); + request.open( + "POST", + `${baseURL}/api/resources${url}?override=${overwrite}`, + true + ); + request.setRequestHeader("X-Auth", authStore.jwt); + + if (typeof onupload === "function") { + request.upload.onprogress = onupload; + } + + request.onload = () => { + if (request.status === 200) { + resolve(request.responseText); + } else if (request.status === 409) { + reject(request.status); + } else { + reject(request.responseText); + } + }; + + request.onerror = () => { + reject(new Error("001 Connection aborted")); + }; + + request.send(bufferContent || content); + }); +} + +function moveCopy( + items: any[], + copy = false, + overwrite = false, + rename = false +) { + const layoutStore = useLayoutStore(); + const promises = []; + + for (const item of items) { + const from = item.from; + const to = encodeURIComponent(removePrefix(item.to ?? "")); + const url = `${from}?action=${ + copy ? "copy" : "rename" + }&destination=${to}&override=${overwrite}&rename=${rename}`; + promises.push(resourceAction(url, "PATCH")); + } + layoutStore.closeHovers(); + return Promise.all(promises); +} + +export function move(items: any[], overwrite = false, rename = false) { + return moveCopy(items, false, overwrite, rename); +} + +export function copy(items: any[], overwrite = false, rename = false) { + return moveCopy(items, true, overwrite, rename); +} + +export async function checksum(url: string, algo: ChecksumAlg) { + const data = await resourceAction(`${url}?checksum=${algo}`, "GET"); + return (await data.json()).checksums[algo]; +} + +export function getDownloadURL(file: ResourceItem, inline: any) { + const params = { + ...(inline && { inline: "true" }), + }; + + return createURL("api/raw" + file.path, params); +} + +export function getPreviewURL(file: ResourceItem, size: string) { + const params = { + inline: "true", + key: Date.parse(file.modified), + }; + + return createURL("api/preview/" + size + file.path, params); +} + +export function getSubtitlesURL(file: ResourceItem) { + const params = { + inline: "true", + }; + + return file.subtitles?.map((d) => createURL("api/subtitle" + d, params)); +} + +export async function usage(url: string, signal: AbortSignal) { + url = removePrefix(url); + + const res = await fetchURL(`/api/usage${url}`, { signal }); + + try { + return await res.json(); + } catch (e) { + // Check if the error is an intentional cancellation + if (e instanceof Error && e.name == "AbortError") { + throw new StatusError("000 No connection", 0, true); + } + throw e; + } +} diff --git a/frontend/src/api/index.ts b/frontend/src/api/index.ts new file mode 100644 index 00000000..abc189dc --- /dev/null +++ b/frontend/src/api/index.ts @@ -0,0 +1,9 @@ +import * as files from "./files"; +import * as share from "./share"; +import * as users from "./users"; +import * as settings from "./settings"; +import * as pub from "./pub"; +import search from "./search"; +import commands from "./commands"; + +export { files, share, users, settings, pub, commands, search }; diff --git a/frontend/src/api/pub.ts b/frontend/src/api/pub.ts new file mode 100644 index 00000000..5070cae3 --- /dev/null +++ b/frontend/src/api/pub.ts @@ -0,0 +1,75 @@ +import { fetchURL, removePrefix, createURL } from "./utils"; +import { baseURL } from "@/utils/constants"; + +export async function fetch(url: string, password: string = "") { + url = removePrefix(url); + + const res = await fetchURL( + `/api/public/share${url}`, + { + headers: { "X-SHARE-PASSWORD": encodeURIComponent(password) }, + }, + false + ); + + const data = (await res.json()) as Resource; + data.url = `/share${url}`; + + if (data.isDir) { + if (!data.url.endsWith("/")) data.url += "/"; + data.items = data.items.map((item: any, index: any) => { + item.index = index; + item.url = `${data.url}${encodeURIComponent(item.name)}`; + + if (item.isDir) { + item.url += "/"; + } + + return item; + }); + } + + return data; +} + +export function download( + format: DownloadFormat, + hash: string, + token: string, + ...files: string[] +) { + let url = `${baseURL}/api/public/dl/${hash}`; + + if (files.length === 1) { + url += files[0] + "?"; + } else { + let arg = ""; + + for (const file of files) { + arg += file + ","; + } + + arg = arg.substring(0, arg.length - 1); + arg = encodeURIComponent(arg); + url += `/?files=${arg}&`; + } + + if (format) { + url += `algo=${format}&`; + } + + if (token) { + url += `token=${token}&`; + } + + window.open(url); +} + +export function getDownloadURL(res: Resource, inline = false) { + const params = { + ...(inline && { inline: "true" }), + ...(res.token && { token: res.token }), + }; + + return createURL("api/public/dl/" + res.hash + res.path, params); +} diff --git a/frontend/src/api/search.ts b/frontend/src/api/search.ts new file mode 100644 index 00000000..63cbdaa1 --- /dev/null +++ b/frontend/src/api/search.ts @@ -0,0 +1,73 @@ +import { fetchURL, removePrefix, StatusError } from "./utils"; +import url from "../utils/url"; + +export default async function search( + base: string, + query: string, + signal: AbortSignal, + callback: (item: ResourceItem) => void +) { + base = removePrefix(base); + query = encodeURIComponent(query); + + if (!base.endsWith("/")) { + base += "/"; + } + + const res = await fetchURL(`/api/search${base}?query=${query}`, { signal }); + if (!res.body) { + throw new StatusError("000 No connection", 0); + } + try { + // Try streaming approach first (modern browsers) + if (res.body && typeof res.body.pipeThrough === "function") { + const reader = res.body.pipeThrough(new TextDecoderStream()).getReader(); + let buffer = ""; + while (true) { + const { done, value } = await reader.read(); + if (value) { + buffer += value; + } + const lines = buffer.split(/\n/); + let lastLine = lines.pop(); + // Save incomplete last line + if (!lastLine) { + lastLine = ""; + } + buffer = lastLine; + + for (const line of lines) { + if (line) { + const item = JSON.parse(line) as ResourceItem; + item.url = `/files${base}` + url.encodePath(item.path); + if (item.isDir) { + item.url += "/"; + } + callback(item); + } + } + if (done) break; + } + } else { + // Fallback for browsers without streaming support (e.g., Safari) + const text = await res.text(); + const lines = text.split(/\n/); + for (const line of lines) { + if (line) { + const item = JSON.parse(line) as ResourceItem; + item.url = `/files${base}` + url.encodePath(item.path); + if (item.isDir) { + item.url += "/"; + } + callback(item); + } + } + } + } catch (e) { + // Check if the error is an intentional cancellation + if (e instanceof Error && e.name === "AbortError") { + throw new StatusError("000 No connection", 0, true); + } + throw e; + } +} diff --git a/frontend/src/api/settings.ts b/frontend/src/api/settings.ts new file mode 100644 index 00000000..6f806279 --- /dev/null +++ b/frontend/src/api/settings.ts @@ -0,0 +1,12 @@ +import { fetchURL, fetchJSON } from "./utils"; + +export function get() { + return fetchJSON(`/api/settings`, {}); +} + +export async function update(settings: ISettings) { + await fetchURL(`/api/settings`, { + method: "PUT", + body: JSON.stringify(settings), + }); +} diff --git a/frontend/src/api/share.ts b/frontend/src/api/share.ts new file mode 100644 index 00000000..af8a4ee3 --- /dev/null +++ b/frontend/src/api/share.ts @@ -0,0 +1,45 @@ +import { fetchURL, fetchJSON, removePrefix, createURL } from "./utils"; + +export async function list() { + return fetchJSON("/api/shares"); +} + +export async function get(url: string) { + url = removePrefix(url); + return fetchJSON(`/api/share${url}`); +} + +export async function remove(hash: string) { + await fetchURL(`/api/share/${hash}`, { + method: "DELETE", + }); +} + +export async function create( + url: string, + password = "", + expires = "", + unit = "hours" +) { + url = removePrefix(url); + url = `/api/share${url}`; + if (expires !== "") { + url += `?expires=${expires}&unit=${unit}`; + } + let body = "{}"; + if (password != "" || expires !== "" || unit !== "hours") { + body = JSON.stringify({ + password: password, + expires: expires.toString(), // backend expects string not number + unit: unit, + }); + } + return fetchJSON(url, { + method: "POST", + body: body, + }); +} + +export function getShareURL(share: Share) { + return createURL("share/" + share.hash, {}); +} diff --git a/frontend/src/api/tus.ts b/frontend/src/api/tus.ts new file mode 100644 index 00000000..d6601166 --- /dev/null +++ b/frontend/src/api/tus.ts @@ -0,0 +1,122 @@ +import * as tus from "tus-js-client"; +import { baseURL, tusEndpoint, tusSettings, origin } from "@/utils/constants"; +import { useAuthStore } from "@/stores/auth"; +import { removePrefix } from "@/api/utils"; + +const RETRY_BASE_DELAY = 1000; +const RETRY_MAX_DELAY = 20000; +const CURRENT_UPLOAD_LIST: { [key: string]: tus.Upload } = {}; + +export async function upload( + filePath: string, + content: ApiContent = "", + overwrite = false, + onupload: any +) { + if (!tusSettings) { + // Shouldn't happen as we check for tus support before calling this function + throw new Error("Tus.io settings are not defined"); + } + + filePath = removePrefix(filePath); + const resourcePath = `${tusEndpoint}${filePath}?override=${overwrite}`; + + const authStore = useAuthStore(); + + // Exit early because of typescript, tus content can't be a string + if (content === "") { + return false; + } + return new Promise((resolve, reject) => { + const upload = new tus.Upload(content, { + endpoint: `${origin}${baseURL}${resourcePath}`, + chunkSize: tusSettings.chunkSize, + retryDelays: computeRetryDelays(tusSettings), + parallelUploads: 1, + storeFingerprintForResuming: false, + headers: { + "X-Auth": authStore.jwt, + }, + onShouldRetry: function (err) { + const status = err.originalResponse + ? err.originalResponse.getStatus() + : 0; + + // Do not retry for file conflict. + if (status === 409) { + return false; + } + + return true; + }, + onError: function (error: Error | tus.DetailedError) { + delete CURRENT_UPLOAD_LIST[filePath]; + + if (error.message === "Upload aborted") { + return reject(error); + } + + const message = + error instanceof tus.DetailedError + ? error.originalResponse === null + ? "000 No connection" + : error.originalResponse.getBody() + : "Upload failed"; + + console.error(error); + + reject(new Error(message)); + }, + onProgress: function (bytesUploaded) { + if (typeof onupload === "function") { + onupload({ loaded: bytesUploaded }); + } + }, + onSuccess: function () { + delete CURRENT_UPLOAD_LIST[filePath]; + resolve(); + }, + }); + CURRENT_UPLOAD_LIST[filePath] = upload; + upload.start(); + }); +} + +function computeRetryDelays(tusSettings: TusSettings): number[] | undefined { + if (!tusSettings.retryCount || tusSettings.retryCount < 1) { + // Disable retries altogether + return undefined; + } + // The tus client expects our retries as an array with computed backoffs + // E.g.: [0, 3000, 5000, 10000, 20000] + const retryDelays = []; + let delay = 0; + + for (let i = 0; i < tusSettings.retryCount; i++) { + retryDelays.push(Math.min(delay, RETRY_MAX_DELAY)); + delay = + delay === 0 ? RETRY_BASE_DELAY : Math.min(delay * 2, RETRY_MAX_DELAY); + } + + return retryDelays; +} + +export async function useTus(content: ApiContent) { + return isTusSupported() && content instanceof Blob; +} + +function isTusSupported() { + return tus.isSupported === true; +} + +export function abortAllUploads() { + for (const filePath in CURRENT_UPLOAD_LIST) { + if (CURRENT_UPLOAD_LIST[filePath]) { + CURRENT_UPLOAD_LIST[filePath].abort(true); + CURRENT_UPLOAD_LIST[filePath].options!.onError!( + new Error("Upload aborted") + ); + } + delete CURRENT_UPLOAD_LIST[filePath]; + } +} diff --git a/frontend/src/api/users.ts b/frontend/src/api/users.ts new file mode 100644 index 00000000..dc45e084 --- /dev/null +++ b/frontend/src/api/users.ts @@ -0,0 +1,55 @@ +import { fetchURL, fetchJSON, StatusError } from "./utils"; + +export async function getAll() { + return fetchJSON(`/api/users`, {}); +} + +export async function get(id: number) { + return fetchJSON(`/api/users/${id}`, {}); +} + +export async function create(user: IUser, currentPassword: string) { + const res = await fetchURL(`/api/users`, { + method: "POST", + body: JSON.stringify({ + what: "user", + which: [], + current_password: currentPassword, + data: user, + }), + }); + + if (res.status === 201) { + return res.headers.get("Location"); + } + + throw new StatusError(await res.text(), res.status); +} + +export async function update( + user: Partial, + which = ["all"], + currentPassword: string | null = null +) { + await fetchURL(`/api/users/${user.id}`, { + method: "PUT", + body: JSON.stringify({ + what: "user", + which: which, + ...(currentPassword != null ? { current_password: currentPassword } : {}), + data: user, + }), + }); +} + +export async function remove( + id: number, + currentPassword: string | null = null +) { + await fetchURL(`/api/users/${id}`, { + method: "DELETE", + body: JSON.stringify({ + ...(currentPassword != null ? { current_password: currentPassword } : {}), + }), + }); +} diff --git a/frontend/src/api/utils.ts b/frontend/src/api/utils.ts new file mode 100644 index 00000000..f21fbe38 --- /dev/null +++ b/frontend/src/api/utils.ts @@ -0,0 +1,111 @@ +import { useAuthStore } from "@/stores/auth"; +import { renew, logout } from "@/utils/auth"; +import { baseURL } from "@/utils/constants"; +import { encodePath } from "@/utils/url"; + +export class StatusError extends Error { + constructor( + message: any, + public status?: number, + public is_canceled?: boolean + ) { + super(message); + this.name = "StatusError"; + } +} + +export async function fetchURL( + url: string, + opts: ApiOpts, + auth = true +): Promise { + const authStore = useAuthStore(); + + opts = opts || {}; + opts.headers = opts.headers || {}; + + const { headers, ...rest } = opts; + let res; + try { + res = await fetch(`${baseURL}${url}`, { + headers: { + "X-Auth": authStore.jwt, + ...headers, + }, + ...rest, + }); + } catch (e) { + // Check if the error is an intentional cancellation + if (e instanceof Error && e.name === "AbortError") { + throw new StatusError("000 No connection", 0, true); + } + throw new StatusError("000 No connection", 0); + } + + if (auth && res.headers.get("X-Renew-Token") === "true") { + await renew(authStore.jwt); + } + + if (res.status < 200 || res.status > 299) { + const body = await res.text(); + const error = new StatusError( + body || `${res.status} ${res.statusText}`, + res.status + ); + + if (auth && res.status == 401) { + logout(); + } + + throw error; + } + + return res; +} + +export async function fetchJSON(url: string, opts?: any): Promise { + const res = await fetchURL(url, opts); + + if (res.status === 200) { + return res.json() as Promise; + } + + throw new StatusError(`${res.status} ${res.statusText}`, res.status); +} + +export function removePrefix(url: string): string { + url = url.split("/").splice(2).join("/"); + + if (url === "") url = "/"; + if (url[0] !== "/") url = "/" + url; + return url; +} + +export function createURL(endpoint: string, searchParams = {}): string { + let prefix = baseURL; + if (!prefix.endsWith("/")) { + prefix = prefix + "/"; + } + const url = new URL(prefix + encodePath(endpoint), origin); + url.search = new URLSearchParams(searchParams).toString(); + + return url.toString(); +} + +export function setSafeTimeout(callback: () => void, delay: number): number { + const MAX_DELAY = 86_400_000; + let remaining = delay; + + function scheduleNext(): number { + if (remaining <= MAX_DELAY) { + return window.setTimeout(callback, remaining); + } else { + return window.setTimeout(() => { + remaining -= MAX_DELAY; + scheduleNext(); + }, MAX_DELAY); + } + } + + return scheduleNext(); +} diff --git a/frontend/src/assets/fonts/roboto/bold-cyrillic-ext.woff2 b/frontend/src/assets/fonts/roboto/bold-cyrillic-ext.woff2 new file mode 100755 index 00000000..0a67a942 Binary files /dev/null and b/frontend/src/assets/fonts/roboto/bold-cyrillic-ext.woff2 differ diff --git a/frontend/src/assets/fonts/roboto/bold-cyrillic.woff2 b/frontend/src/assets/fonts/roboto/bold-cyrillic.woff2 new file mode 100755 index 00000000..714bb431 Binary files /dev/null and b/frontend/src/assets/fonts/roboto/bold-cyrillic.woff2 differ diff --git a/frontend/src/assets/fonts/roboto/bold-greek-ext.woff2 b/frontend/src/assets/fonts/roboto/bold-greek-ext.woff2 new file mode 100755 index 00000000..6dffd067 Binary files /dev/null and b/frontend/src/assets/fonts/roboto/bold-greek-ext.woff2 differ diff --git a/frontend/src/assets/fonts/roboto/bold-greek.woff2 b/frontend/src/assets/fonts/roboto/bold-greek.woff2 new file mode 100755 index 00000000..8edfa0e5 Binary files /dev/null and b/frontend/src/assets/fonts/roboto/bold-greek.woff2 differ diff --git a/frontend/src/assets/fonts/roboto/bold-latin-ext.woff2 b/frontend/src/assets/fonts/roboto/bold-latin-ext.woff2 new file mode 100755 index 00000000..fe8bf694 Binary files /dev/null and b/frontend/src/assets/fonts/roboto/bold-latin-ext.woff2 differ diff --git a/frontend/src/assets/fonts/roboto/bold-latin.woff2 b/frontend/src/assets/fonts/roboto/bold-latin.woff2 new file mode 100755 index 00000000..57269b7e Binary files /dev/null and b/frontend/src/assets/fonts/roboto/bold-latin.woff2 differ diff --git a/frontend/src/assets/fonts/roboto/bold-vietnamese.woff2 b/frontend/src/assets/fonts/roboto/bold-vietnamese.woff2 new file mode 100755 index 00000000..64c1d0e7 Binary files /dev/null and b/frontend/src/assets/fonts/roboto/bold-vietnamese.woff2 differ diff --git a/assets/src/assets/fonts/roboto/medium-cyrillic-ext.woff2 b/frontend/src/assets/fonts/roboto/medium-cyrillic-ext.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/medium-cyrillic-ext.woff2 rename to frontend/src/assets/fonts/roboto/medium-cyrillic-ext.woff2 diff --git a/assets/src/assets/fonts/roboto/medium-cyrillic.woff2 b/frontend/src/assets/fonts/roboto/medium-cyrillic.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/medium-cyrillic.woff2 rename to frontend/src/assets/fonts/roboto/medium-cyrillic.woff2 diff --git a/assets/src/assets/fonts/roboto/medium-greek-ext.woff2 b/frontend/src/assets/fonts/roboto/medium-greek-ext.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/medium-greek-ext.woff2 rename to frontend/src/assets/fonts/roboto/medium-greek-ext.woff2 diff --git a/assets/src/assets/fonts/roboto/medium-greek.woff2 b/frontend/src/assets/fonts/roboto/medium-greek.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/medium-greek.woff2 rename to frontend/src/assets/fonts/roboto/medium-greek.woff2 diff --git a/assets/src/assets/fonts/roboto/medium-latin-ext.woff2 b/frontend/src/assets/fonts/roboto/medium-latin-ext.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/medium-latin-ext.woff2 rename to frontend/src/assets/fonts/roboto/medium-latin-ext.woff2 diff --git a/assets/src/assets/fonts/roboto/medium-latin.woff2 b/frontend/src/assets/fonts/roboto/medium-latin.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/medium-latin.woff2 rename to frontend/src/assets/fonts/roboto/medium-latin.woff2 diff --git a/assets/src/assets/fonts/roboto/medium-vietnamese.woff2 b/frontend/src/assets/fonts/roboto/medium-vietnamese.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/medium-vietnamese.woff2 rename to frontend/src/assets/fonts/roboto/medium-vietnamese.woff2 diff --git a/assets/src/assets/fonts/roboto/normal-cyrillic-ext.woff2 b/frontend/src/assets/fonts/roboto/normal-cyrillic-ext.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/normal-cyrillic-ext.woff2 rename to frontend/src/assets/fonts/roboto/normal-cyrillic-ext.woff2 diff --git a/assets/src/assets/fonts/roboto/normal-cyrillic.woff2 b/frontend/src/assets/fonts/roboto/normal-cyrillic.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/normal-cyrillic.woff2 rename to frontend/src/assets/fonts/roboto/normal-cyrillic.woff2 diff --git a/assets/src/assets/fonts/roboto/normal-greek-ext.woff2 b/frontend/src/assets/fonts/roboto/normal-greek-ext.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/normal-greek-ext.woff2 rename to frontend/src/assets/fonts/roboto/normal-greek-ext.woff2 diff --git a/assets/src/assets/fonts/roboto/normal-greek.woff2 b/frontend/src/assets/fonts/roboto/normal-greek.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/normal-greek.woff2 rename to frontend/src/assets/fonts/roboto/normal-greek.woff2 diff --git a/assets/src/assets/fonts/roboto/normal-latin-ext.woff2 b/frontend/src/assets/fonts/roboto/normal-latin-ext.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/normal-latin-ext.woff2 rename to frontend/src/assets/fonts/roboto/normal-latin-ext.woff2 diff --git a/assets/src/assets/fonts/roboto/normal-latin.woff2 b/frontend/src/assets/fonts/roboto/normal-latin.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/normal-latin.woff2 rename to frontend/src/assets/fonts/roboto/normal-latin.woff2 diff --git a/assets/src/assets/fonts/roboto/normal-vietnamese.woff2 b/frontend/src/assets/fonts/roboto/normal-vietnamese.woff2 similarity index 100% rename from assets/src/assets/fonts/roboto/normal-vietnamese.woff2 rename to frontend/src/assets/fonts/roboto/normal-vietnamese.woff2 diff --git a/frontend/src/components/Breadcrumbs.vue b/frontend/src/components/Breadcrumbs.vue new file mode 100644 index 00000000..b6d1a768 --- /dev/null +++ b/frontend/src/components/Breadcrumbs.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/frontend/src/components/ContextMenu.vue b/frontend/src/components/ContextMenu.vue new file mode 100644 index 00000000..14663fd9 --- /dev/null +++ b/frontend/src/components/ContextMenu.vue @@ -0,0 +1,47 @@ + + + diff --git a/frontend/src/components/CustomToast.vue b/frontend/src/components/CustomToast.vue new file mode 100644 index 00000000..7ef8007d --- /dev/null +++ b/frontend/src/components/CustomToast.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/frontend/src/components/ProgressBar.vue b/frontend/src/components/ProgressBar.vue new file mode 100644 index 00000000..bd4f75d4 --- /dev/null +++ b/frontend/src/components/ProgressBar.vue @@ -0,0 +1,225 @@ + + + + diff --git a/frontend/src/components/Search.vue b/frontend/src/components/Search.vue new file mode 100644 index 00000000..57d5ba0d --- /dev/null +++ b/frontend/src/components/Search.vue @@ -0,0 +1,251 @@ + + + diff --git a/frontend/src/components/Shell.vue b/frontend/src/components/Shell.vue new file mode 100644 index 00000000..b1b6f6b7 --- /dev/null +++ b/frontend/src/components/Shell.vue @@ -0,0 +1,194 @@ + + + diff --git a/frontend/src/components/Sidebar.vue b/frontend/src/components/Sidebar.vue new file mode 100644 index 00000000..c7961e3e --- /dev/null +++ b/frontend/src/components/Sidebar.vue @@ -0,0 +1,222 @@ + + + diff --git a/frontend/src/components/files/CsvViewer.vue b/frontend/src/components/files/CsvViewer.vue new file mode 100644 index 00000000..b926d390 --- /dev/null +++ b/frontend/src/components/files/CsvViewer.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/frontend/src/components/files/ExtendedImage.vue b/frontend/src/components/files/ExtendedImage.vue new file mode 100644 index 00000000..88b78304 --- /dev/null +++ b/frontend/src/components/files/ExtendedImage.vue @@ -0,0 +1,330 @@ + + + diff --git a/frontend/src/components/files/ListingItem.vue b/frontend/src/components/files/ListingItem.vue new file mode 100644 index 00000000..d75c2f98 --- /dev/null +++ b/frontend/src/components/files/ListingItem.vue @@ -0,0 +1,394 @@ + + + diff --git a/frontend/src/components/files/VideoPlayer.vue b/frontend/src/components/files/VideoPlayer.vue new file mode 100644 index 00000000..ac38b6d1 --- /dev/null +++ b/frontend/src/components/files/VideoPlayer.vue @@ -0,0 +1,179 @@ + + + + diff --git a/frontend/src/components/header/Action.vue b/frontend/src/components/header/Action.vue new file mode 100644 index 00000000..1df137e3 --- /dev/null +++ b/frontend/src/components/header/Action.vue @@ -0,0 +1,32 @@ + + + diff --git a/frontend/src/components/header/HeaderBar.vue b/frontend/src/components/header/HeaderBar.vue new file mode 100644 index 00000000..d15ec060 --- /dev/null +++ b/frontend/src/components/header/HeaderBar.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/frontend/src/components/prompts/BaseModal.vue b/frontend/src/components/prompts/BaseModal.vue new file mode 100644 index 00000000..d92f0f73 --- /dev/null +++ b/frontend/src/components/prompts/BaseModal.vue @@ -0,0 +1,21 @@ + + + diff --git a/frontend/src/components/prompts/Copy.vue b/frontend/src/components/prompts/Copy.vue new file mode 100644 index 00000000..09040e0a --- /dev/null +++ b/frontend/src/components/prompts/Copy.vue @@ -0,0 +1,154 @@ + + + diff --git a/frontend/src/components/prompts/CreateFilePath.vue b/frontend/src/components/prompts/CreateFilePath.vue new file mode 100644 index 00000000..166240d0 --- /dev/null +++ b/frontend/src/components/prompts/CreateFilePath.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/frontend/src/components/prompts/Delete.vue b/frontend/src/components/prompts/Delete.vue new file mode 100644 index 00000000..aa2482ce --- /dev/null +++ b/frontend/src/components/prompts/Delete.vue @@ -0,0 +1,98 @@ + + + diff --git a/frontend/src/components/prompts/DeleteUser.vue b/frontend/src/components/prompts/DeleteUser.vue new file mode 100644 index 00000000..821db17d --- /dev/null +++ b/frontend/src/components/prompts/DeleteUser.vue @@ -0,0 +1,40 @@ + + + diff --git a/frontend/src/components/prompts/DiscardEditorChanges.vue b/frontend/src/components/prompts/DiscardEditorChanges.vue new file mode 100644 index 00000000..7a99c5fc --- /dev/null +++ b/frontend/src/components/prompts/DiscardEditorChanges.vue @@ -0,0 +1,54 @@ + + + diff --git a/frontend/src/components/prompts/Download.vue b/frontend/src/components/prompts/Download.vue new file mode 100644 index 00000000..85467d8c --- /dev/null +++ b/frontend/src/components/prompts/Download.vue @@ -0,0 +1,42 @@ + + + diff --git a/frontend/src/components/prompts/FileList.vue b/frontend/src/components/prompts/FileList.vue new file mode 100644 index 00000000..69478734 --- /dev/null +++ b/frontend/src/components/prompts/FileList.vue @@ -0,0 +1,180 @@ + + + diff --git a/frontend/src/components/prompts/Help.vue b/frontend/src/components/prompts/Help.vue new file mode 100644 index 00000000..1d99eeed --- /dev/null +++ b/frontend/src/components/prompts/Help.vue @@ -0,0 +1,47 @@ + + + diff --git a/frontend/src/components/prompts/Info.vue b/frontend/src/components/prompts/Info.vue new file mode 100644 index 00000000..0722a4a7 --- /dev/null +++ b/frontend/src/components/prompts/Info.vue @@ -0,0 +1,196 @@ + + + diff --git a/frontend/src/components/prompts/Move.vue b/frontend/src/components/prompts/Move.vue new file mode 100644 index 00000000..0fec8679 --- /dev/null +++ b/frontend/src/components/prompts/Move.vue @@ -0,0 +1,147 @@ + + + diff --git a/frontend/src/components/prompts/NewDir.vue b/frontend/src/components/prompts/NewDir.vue new file mode 100644 index 00000000..85d47bb8 --- /dev/null +++ b/frontend/src/components/prompts/NewDir.vue @@ -0,0 +1,106 @@ + + + diff --git a/frontend/src/components/prompts/NewFile.vue b/frontend/src/components/prompts/NewFile.vue new file mode 100644 index 00000000..d3fb34ed --- /dev/null +++ b/frontend/src/components/prompts/NewFile.vue @@ -0,0 +1,87 @@ + + + diff --git a/frontend/src/components/prompts/Prompts.vue b/frontend/src/components/prompts/Prompts.vue new file mode 100644 index 00000000..71e4e753 --- /dev/null +++ b/frontend/src/components/prompts/Prompts.vue @@ -0,0 +1,75 @@ + + + diff --git a/frontend/src/components/prompts/Rename.vue b/frontend/src/components/prompts/Rename.vue new file mode 100644 index 00000000..f18ed7a0 --- /dev/null +++ b/frontend/src/components/prompts/Rename.vue @@ -0,0 +1,119 @@ + + + diff --git a/frontend/src/components/prompts/Replace.vue b/frontend/src/components/prompts/Replace.vue new file mode 100644 index 00000000..3a83ac9e --- /dev/null +++ b/frontend/src/components/prompts/Replace.vue @@ -0,0 +1,57 @@ + + + diff --git a/frontend/src/components/prompts/ReplaceRename.vue b/frontend/src/components/prompts/ReplaceRename.vue new file mode 100644 index 00000000..1d49d735 --- /dev/null +++ b/frontend/src/components/prompts/ReplaceRename.vue @@ -0,0 +1,57 @@ + + + diff --git a/frontend/src/components/prompts/Share.vue b/frontend/src/components/prompts/Share.vue new file mode 100644 index 00000000..282902fb --- /dev/null +++ b/frontend/src/components/prompts/Share.vue @@ -0,0 +1,292 @@ + + + diff --git a/frontend/src/components/prompts/ShareDelete.vue b/frontend/src/components/prompts/ShareDelete.vue new file mode 100644 index 00000000..a01f6343 --- /dev/null +++ b/frontend/src/components/prompts/ShareDelete.vue @@ -0,0 +1,46 @@ + + + diff --git a/frontend/src/components/prompts/Upload.vue b/frontend/src/components/prompts/Upload.vue new file mode 100644 index 00000000..75f7951f --- /dev/null +++ b/frontend/src/components/prompts/Upload.vue @@ -0,0 +1,109 @@ + + + diff --git a/frontend/src/components/prompts/UploadFiles.vue b/frontend/src/components/prompts/UploadFiles.vue new file mode 100644 index 00000000..4d96d5bb --- /dev/null +++ b/frontend/src/components/prompts/UploadFiles.vue @@ -0,0 +1,222 @@ + + + + + diff --git a/frontend/src/components/settings/AceEditorTheme.vue b/frontend/src/components/settings/AceEditorTheme.vue new file mode 100644 index 00000000..68585a3a --- /dev/null +++ b/frontend/src/components/settings/AceEditorTheme.vue @@ -0,0 +1,28 @@ + + + diff --git a/frontend/src/components/settings/Commands.vue b/frontend/src/components/settings/Commands.vue new file mode 100644 index 00000000..73799fce --- /dev/null +++ b/frontend/src/components/settings/Commands.vue @@ -0,0 +1,30 @@ + + + diff --git a/frontend/src/components/settings/Languages.vue b/frontend/src/components/settings/Languages.vue new file mode 100644 index 00000000..72968511 --- /dev/null +++ b/frontend/src/components/settings/Languages.vue @@ -0,0 +1,67 @@ + + + diff --git a/frontend/src/components/settings/Permissions.vue b/frontend/src/components/settings/Permissions.vue new file mode 100644 index 00000000..13d2b936 --- /dev/null +++ b/frontend/src/components/settings/Permissions.vue @@ -0,0 +1,65 @@ + + + diff --git a/frontend/src/components/settings/Rules.vue b/frontend/src/components/settings/Rules.vue new file mode 100644 index 00000000..e1e82b3f --- /dev/null +++ b/frontend/src/components/settings/Rules.vue @@ -0,0 +1,63 @@ + + + diff --git a/frontend/src/components/settings/Themes.vue b/frontend/src/components/settings/Themes.vue new file mode 100644 index 00000000..059070bd --- /dev/null +++ b/frontend/src/components/settings/Themes.vue @@ -0,0 +1,26 @@ + + + diff --git a/frontend/src/components/settings/UserForm.vue b/frontend/src/components/settings/UserForm.vue new file mode 100644 index 00000000..c4f0e0c6 --- /dev/null +++ b/frontend/src/components/settings/UserForm.vue @@ -0,0 +1,122 @@ + + + diff --git a/frontend/src/css/_buttons.css b/frontend/src/css/_buttons.css new file mode 100644 index 00000000..cbfc92ae --- /dev/null +++ b/frontend/src/css/_buttons.css @@ -0,0 +1,55 @@ +.button { + outline: 0; + border: 0; + padding: 0.5em 1em; + border-radius: 0.1em; + cursor: pointer; + background: var(--blue); + color: white; + border: 1px solid var(--divider); + box-shadow: 0 0 5px var(--divider); + transition: 0.1s ease all; +} + +.button:hover { + background-color: var(--dark-blue); +} + +.button--block { + margin: 0 0 0.5em; + display: block; + width: 100%; +} + +.button--red { + background: var(--red); +} + +.button--blue { + background: var(--blue); +} + +.button--flat { + color: var(--dark-blue); + background: transparent; + box-shadow: 0 0 0; + border: 0; + text-transform: uppercase; +} + +.button--flat:hover { + background: var(--surfaceSecondary); +} + +.button--flat.button--red { + color: var(--dark-red); +} + +.button--flat.button--grey { + color: #6f6f6f; +} + +.button[disabled] { + opacity: 0.5; + cursor: not-allowed; +} diff --git a/frontend/src/css/_inputs.css b/frontend/src/css/_inputs.css new file mode 100644 index 00000000..a0063f83 --- /dev/null +++ b/frontend/src/css/_inputs.css @@ -0,0 +1,35 @@ +.input { + background: var(--surfacePrimary); + color: var(--textSecondary); + border: 1px solid var(--borderPrimary); + border-radius: 0.1em; + padding: 0.5em 1em; + transition: 0.2s ease all; + margin: 0; +} + +.input:hover, +.input:focus { + border-color: var(--borderSecondary); +} + +.input--block { + margin-bottom: 0.5em; + display: block; + width: 100%; +} + +.input--textarea { + line-height: 1.15; + font-family: monospace; + min-height: 10em; + resize: vertical; +} + +.input--red { + background: var(--input-red) !important; +} + +.input--green { + background: var(--input-green) !important; +} diff --git a/frontend/src/css/_share.css b/frontend/src/css/_share.css new file mode 100644 index 00000000..7099101a --- /dev/null +++ b/frontend/src/css/_share.css @@ -0,0 +1,85 @@ +.share { + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: flex-start; +} + +@media (max-width: 736px) { + .share { + display: block; + } +} + +.share__box { + box-shadow: + rgba(0, 0, 0, 0.06) 0px 1px 3px, + rgba(0, 0, 0, 0.12) 0px 1px 2px; + background: var(--surfacePrimary); + color: var(--textPrimary); + border-radius: 0.2em; + margin: 5px; + overflow: hidden; +} + +.share__box__header { + padding: 1em; + text-align: center; +} + +.share__box__icon i { + font-size: 10em; + color: #40c4ff; +} + +.share__box__center { + text-align: center; +} + +.share__box__info { + flex: 1 1 18em; +} + +.share__box__element { + padding: 1em; + border-top: 1px solid var(--borderPrimary); + word-break: break-all; +} + +.share__box__element .button { + display: inline-block; +} + +.share__box__element .button i { + display: block; + margin-bottom: 4px; +} + +.share__box__items { + text-align: left; + flex: 10 0 25em; +} + +.share__box__items #listing.list .item { + cursor: pointer; + border-left: 0; + border-right: 0; + border-bottom: 0; + border-top: 1px solid var(--borderPrimary); +} + +#listing.list .item .name { + width: 50%; +} + +#listing.list .item .modified { + width: 25%; +} + +.share__wrong__password { + background: var(--red); + color: #fff; + padding: 0.5em; + text-align: center; + animation: 0.2s opac forwards; +} diff --git a/frontend/src/css/_shell.css b/frontend/src/css/_shell.css new file mode 100644 index 00000000..3b4eec0e --- /dev/null +++ b/frontend/src/css/_shell.css @@ -0,0 +1,86 @@ +.shell { + position: fixed; + bottom: 0; + left: 0; + max-height: calc(100% - 4em); + background: var(--surfacePrimary); + color: var(--textPrimary); + z-index: 9999; + background: var(--dividerSecondary); + transition: 0.2s ease background; + cursor: ns-resize; + touch-action: none; + user-select: none; + width: 100%; +} + +.shell__divider { + background: rgba(127, 127, 127, 0.3); + width: 100%; + height: 8px; +} + +.shell__divider:hover { + background: rgba(127, 127, 127, 0.9); +} + +.shell__content { + height: 100%; + font-family: monospace; + overflow: auto; + font-size: 1rem; + cursor: text; + box-shadow: 0 0 5px var(--borderPrimary); + transition: 0.2s ease transform; +} + +.shell__overlay { + position: fixed; + width: 100%; + height: 100%; + top: 0px; + left: 0px; + z-index: 9998; + background-color: var(--dividerPrimary); +} + +body.rtl .shell-content { + direction: ltr; +} + +.shell__result { + display: flex; + padding: 0.5em; + align-items: flex-start; + border-top: 1px solid var(--divider); +} + +.shell--hidden { + transform: translateY(105%); +} + +.shell__result--hidden { + opacity: 0; +} + +.shell__text, +.shell__prompt, +.shell__prompt i { + font-size: inherit; +} + +.shell__prompt { + width: 1.2rem; +} + +.shell__prompt i { + color: var(--blue); +} + +.shell__text { + margin: 0; + font-family: inherit; + white-space: pre-wrap; + width: 100%; + color: var(--textSecondary); +} diff --git a/frontend/src/css/_variables.css b/frontend/src/css/_variables.css new file mode 100644 index 00000000..85ad96ec --- /dev/null +++ b/frontend/src/css/_variables.css @@ -0,0 +1,58 @@ +:root { + --blue: #2196f3; + --dark-blue: #1e88e5; + --red: #f44336; + --dark-red: #d32f2f; + --moon-grey: #f2f2f2; + + --icon-red: #da4453; + --icon-orange: #f47750; + --icon-yellow: #fdbc4b; + --icon-green: #2ecc71; + --icon-blue: #1d99f3; + --icon-violet: #9b59b6; + + --input-red: rgb(252, 208, 205); + --input-green: rgb(201, 242, 218); + + --item-selected: white; + + --action: rgb(84, 110, 122); + + --background: rgb(250, 250, 250); + --surfacePrimary: rgb(255, 255, 255); + --surfaceSecondary: rgb(230, 230, 230); + --divider: rgba(0, 0, 0, 0.05); + --iconPrimary: var(--icon-blue); + --iconSecondary: rgb(255, 255, 255); + --iconTertiary: rgb(204, 204, 204); + --textPrimary: rgb(111, 111, 111); + --textSecondary: rgb(51, 51, 51); + --hover: rgba(0, 0, 0, 0.1); + --borderPrimary: rgba(0, 0, 0, 0.1); + --borderSecondary: rgba(0, 0, 0, 0.2); + --dividerPrimary: rgba(255, 255, 255, 0.4); + --dividerSecondary: rgba(255, 255, 255, 0.9); +} + +:root.dark { + --input-red: rgb(115, 48, 45); + --input-green: rgb(20, 122, 65); + + --action: rgb(255, 255, 255); + + --background: rgb(20, 29, 36); + --surfacePrimary: rgb(32, 41, 47); + --surfaceSecondary: rgb(58, 65, 71); + --textPrimary: rgba(255, 255, 255, 0.6); + --textSecondary: rgba(255, 255, 255, 0.87); + --divider: rgba(255, 255, 255, 0.12); + --iconPrimary: rgb(255, 255, 255); + --iconSecondary: rgb(255, 255, 255); + --iconTertiary: rgb(255, 255, 255); + --hover: rgba(255, 255, 255, 0.1); + --borderPrimary: rgba(255, 255, 255, 0.05); + --borderSecondary: rgba(255, 255, 255, 0.15); + --dividerPrimary: rgba(30, 30, 30, 0.4); + --dividerSecondary: rgba(30, 30, 30, 0.6); +} diff --git a/frontend/src/css/base.css b/frontend/src/css/base.css new file mode 100644 index 00000000..f0b8ef0c --- /dev/null +++ b/frontend/src/css/base.css @@ -0,0 +1,191 @@ +body { + font-family: "Roboto", sans-serif; + padding-top: 4em; + background: var(--background); + color: var(--textSecondary); +} + +* { + box-sizing: border-box; +} + +*, +*:hover, +*:active, +*:focus { + outline: 0; +} + +a { + text-decoration: none; +} + +img { + max-width: 100%; +} + +audio, +video { + width: 100%; +} + +.mobile-only { + display: none !important; +} + +.container { + width: 95%; + max-width: 960px; + margin: 1em auto 0; +} + +i.spin { + animation: 1s spin linear infinite; +} + +#app { + transition: 0.2s ease padding; +} + +#app.multiple { + padding-bottom: 4em; +} + +nav { + width: 16em; + position: fixed; + top: 4em; + left: 0; +} + +html[dir="rtl"] nav { + left: initial; + right: 0; +} + +nav .action { + width: 100%; + display: block; + border-radius: 0; + font-size: 1.1em; + padding: 0.5em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +html[dir="rtl"] nav .action { + text-align: right; +} + +nav > div { + border-top: 1px solid var(--divider); +} + +nav .action > * { + vertical-align: middle; +} + +main { + min-height: 1em; + margin: 0 1em 1em auto; + width: calc(100% - 19em); +} + +.breadcrumbs { + height: 3em; + background: var(--background); + border-bottom: 1px solid var(--divider); + position: sticky; + z-index: 1000; + top: 4em; +} + +.breadcrumbs span, +.breadcrumbs { + display: flex; + align-items: center; + color: var(--textPrimary); +} + +.breadcrumbs a { + color: inherit; + transition: 0.1s ease-in; + border-radius: 0.125em; +} + +html[dir="rtl"] .breadcrumbs a { + transform: translateX(-16em); +} + +.breadcrumbs a:hover { + background-color: var(--divider); +} + +.breadcrumbs span a { + padding: 0.2em; +} + +.files { + position: absolute; + bottom: 30px; + width: 100%; +} + +.progress { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 3px; + z-index: 9999999999; +} + +.progress div { + height: 100%; + background-color: #40c4ff; + width: 0; + transition: 0.2s ease width; +} + +.break-word { + word-break: break-all; +} + +.vue-number-input > input { + background: var(--surfacePrimary) !important; + border-color: var(--surfaceSecondary) !important; + color: var(--textSecondary) !important; +} + +.vue-number-input--small > input { + height: 1rem !important; + font-size: 1rem !important; +} + +.vue-number-input :hover, +.vue-number-input :focus { + border-color: var(--borderSecondary) !important; +} + +.vue-number-input__button { + background: var(--surfacePrimary) !important; +} + +.vue-number-input__button--minus, +.vue-number-input__button--plus { + border-color: var(--surfaceSecondary) !important; +} + +.vue-number-input__button::before, +.vue-number-input__button::after { + background: var(--textSecondary) !important; +} + +.vfm-modal { + z-index: 9999999 !important; +} + +body > div[style*="z-index: 9990"] { + z-index: 10000 !important; +} diff --git a/frontend/src/css/context-menu.css b/frontend/src/css/context-menu.css new file mode 100644 index 00000000..d0741d16 --- /dev/null +++ b/frontend/src/css/context-menu.css @@ -0,0 +1,21 @@ +.context-menu { + position: absolute; + background: var(--surfacePrimary); + min-width: 180px; + max-width: 220px; + border: 1px solid var(--borderSecondary); + box-shadow: 0 2px 4px var(--borderPrimary); + z-index: 999; +} + +.context-menu .action { + display: block; + width: 100%; + border-radius: 0; + display: flex; + align-items: center; +} + +.context-menu .action .counter { + left: 1.75em; +} diff --git a/frontend/src/css/dashboard.css b/frontend/src/css/dashboard.css new file mode 100644 index 00000000..48be3ee0 --- /dev/null +++ b/frontend/src/css/dashboard.css @@ -0,0 +1,505 @@ +.dashboard { + margin: 1em 0; +} + +.dashboard .row { + display: flex; + margin: 0 -0.5em; + flex-wrap: wrap; +} + +html[dir="rtl"] .dashboard .row { + margin-right: 16em; +} + +.dashboard .row .column { + display: flex; + padding: 0 0.5em; + width: 50%; +} + +.dashboard .row .column .card { + flex-grow: 1; +} + +@media (max-width: 1200px) { + .dashboard .row .column { + width: 100%; + } +} + +a { + color: inherit; +} + +.dashboard p label { + margin-bottom: 0.2em; + display: block; + font-size: 0.8em; + font-weight: 500; + color: var(--textPrimary); +} + +li code, +p code { + background: var(--divider); + padding: 0.1em; + border-radius: 0.2em; +} + +.small { + font-size: 0.8em; + line-height: 1.5; +} + +.dashboard #nav { + display: flex; + padding-bottom: 1em; + overflow: auto; +} + +.dashboard #nav .wrapper { + display: flex; + flex-grow: 1; + border-bottom: 2px solid var(--divider); +} + +html[dir="rtl"] .dashboard #nav .wrapper { + margin-right: 16em; +} + +.dashboard #nav ul { + list-style: none; + display: flex; + color: var(--action); + font-weight: 500; + padding: 0; + margin: 0 0 -2px 0; + font-size: 0.8em; + text-align: center; + justify-content: left; +} + +.dashboard #nav ul li { + position: relative; + padding: 1.5em 2em; + white-space: nowrap; + border-bottom: 2px solid transparent; + transition: 0.1s ease-in-out all; +} + +.dashboard #nav ul li:hover { + background: var(--surfaceSecondary); +} + +.dashboard #nav ul li.active { + border-color: var(--blue); + color: var(--blue); +} + +.dashboard #nav ul li.active::before { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + content: ""; + background: var(--blue); + opacity: 0.08; +} + +.dashboard #nav i { + font-size: 1em; + vertical-align: middle; +} + +table { + border-collapse: collapse; + width: 100%; +} + +table tr { + border-bottom: 1px solid var(--iconTertiary); +} + +table tr:last-child { + border: 0; +} + +table th { + font-weight: 500; + color: var(--textSecondary); + text-align: left; +} + +table th, +table td { + padding: 0.5em 0; +} + +table td.small { + width: 1em; +} + +table tr > *:first-child { + padding-left: 1em; +} + +html[dir="rtl"] table tr > * { + padding-left: unset; + padding-right: 1em; + text-align: right; + direction: ltr; +} + +table tr > *:last-child { + padding-right: 1em; +} + +.card { + position: relative; + margin: 0 0 1rem 0; + background: var(--surfacePrimary); + color: var(--textSecondary); + border-radius: 2px; + box-shadow: + 0 2px 2px 0 rgba(0, 0, 0, 0.14), + 0 1px 5px 0 rgba(0, 0, 0, 0.12), + 0 3px 1px -2px rgba(0, 0, 0, 0.2); + overflow: auto; +} + +.card.floating { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + max-width: 25em; + width: 90%; + max-height: 95%; + /* animation-duration: 0.3s; + animation-fill-mode: forwards; */ +} + +.card > * > *:first-child { + margin-top: 0; +} + +.card > * > *:last-child { + margin-bottom: 0; +} + +.card .card-title { + padding: 1.5em 1em 1em; + display: flex; +} + +.card .card-title > *:first-child { + margin-right: auto; +} + +html[dir="rtl"] .card .card-title > *:first-child { + margin-right: 0; + text-align: right; +} + +.card > div { + padding: 1em 1em; +} + +.card > div:first-child { + padding-top: 1.5em; +} + +.card > div:last-child { + padding-bottom: 1.5em; +} + +.card .card-title * { + margin: 0; +} + +.card .card-action { + text-align: right; +} + +body.rtl .card .card-action { + text-align: left; +} + +.card .card-content.full { + padding-bottom: 0; + overflow: auto; +} + +.card h2 { + font-weight: 500; +} + +.card h3 { + color: var(--textPrimary); + font-size: 1em; + font-weight: 500; + margin: 2em 0 1em; +} + +.card-content table { + margin: 0 -1em; + width: calc(100% + 2em); +} + +.card code { + word-wrap: break-word; +} + +.card#download { + max-width: 15em; +} + +.card#share input, +.card#share select, +.card#share input::-webkit-inner-spin-button, +.card#share input::-webkit-outer-spin-button { + background: var(--surfacePrimary); + color: var(--textSecondary); +} + +.card#share ul { + list-style: none; + padding: 0; + margin: 0; +} + +.card#share ul li { + display: flex; + justify-content: space-between; + align-items: center; +} + +.card#share ul li a { + color: var(--blue); + cursor: pointer; + margin-right: auto; +} + +.card#share ul li .action i { + font-size: 1em; +} + +.card#share ul li input, +.card#share ul li select { + padding: 0.2em; + margin-right: 0.5em; + border: 1px solid var(--borderPrimary); +} + +.card#share .action.copy-clipboard::after { + content: "Copied!"; + position: absolute; + left: -25%; + width: 150%; + font-size: 0.6em; + text-align: center; + background: #44a6f5; + color: #fff; + padding: 0.5em 0.2em; + border-radius: 0.4em; + top: -2em; + transition: 0.1s ease opacity; + opacity: 0; +} + +.card#share .action.copy-clipboard.active::after { + opacity: 1; +} + +.card#share .input-group { + display: flex; +} + +.card#share .input-group * { + border: none; +} + +.card#share .input-group input { + flex: 1; +} + +.overlay { + background-color: rgba(0, 0, 0, 0.5); + position: fixed; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 9999; + visibility: hidden; + opacity: 0; + animation: 0.1s show forwards; +} + +/* * * * * * * * * * * * * * * * + * PROMPT - MOVE * + * * * * * * * * * * * * * * * */ + +.file-list { + max-height: 50vh; + overflow: auto; + list-style: none; + margin: 0; + padding: 0; + width: 100%; +} + +.file-list li { + width: 100%; + user-select: none; + border-radius: 0.2em; + padding: 0.3em; +} + +.file-list li[aria-selected="true"] { + background: var(--blue) !important; + color: var(--iconSecondary) !important; + transition: 0.1s ease all; +} + +.file-list li:hover { + background: var(--surfaceSecondary); + cursor: pointer; +} + +.file-list li:before { + content: "folder"; + color: var(--textPrimary); + vertical-align: middle; + line-height: 1.4; + font-family: "Material Icons"; + font-size: 1.75em; + margin-right: 0.25em; +} + +.file-list li[aria-selected="true"]:before { + color: var(--iconSecondary); +} + +.help { + max-width: 24em; +} + +.help ul { + padding: 0; + margin: 1em 0; + list-style: none; +} + +@keyframes show { + 0% { + visibility: hidden; + opacity: 0; + } + 1% { + visibility: visible; + opacity: 0; + } + 100% { + visibility: visible; + opacity: 1; + } +} + +.collapsible { + border-top: 1px solid var(--borderPrimary); +} + +.collapsible:last-of-type { + border-bottom: 1px solid var(--borderPrimary); +} + +.collapsible > input { + display: none; +} + +.collapsible > label { + padding: 1em 0; + cursor: pointer; + border-right: 0; + border-left: 0; + display: flex; + justify-content: space-between; +} + +.collapsible > label * { + margin: 0; + color: var(--textPrimary); +} + +.collapsible > label i { + transition: 0.2s ease transform; + user-select: none; +} + +.collapsible .collapse { + max-height: 0; + overflow: hidden; + transition: 0.2s ease all; +} + +.collapsible > input:checked ~ .collapse { + padding-top: 1em; + padding-bottom: 1em; + max-height: 20em; +} + +.collapsible > input:checked ~ label i { + transform: rotate(180deg); +} + +.card .collapsible { + width: calc(100% + 2em); + margin: 0 -1em; +} + +.card .collapsible > label { + padding: 1em; +} + +.card .collapsible .collapse { + padding: 0 1em; +} + +.card .card-action.full { + padding-top: 0; + display: flex; + flex-wrap: wrap; +} + +.card .card-action.full .action { + flex: 1; + padding: 2em; + border-radius: 0.2em; + border: 1px solid var(--borderPrimary); + text-align: center; +} + +.card .card-action.full .action { + margin: 0 0.25em 0.5em; +} + +.card .card-action.full .action i { + display: block; + padding: 0; + margin-bottom: 0.25em; + font-size: 4em; +} + +.card .card-action.full .action .title { + font-size: 1.5em; + font-weight: 500; +} + +/*** RTL - Fix disk usage information (in english) ***/ +html[dir="rtl"] .credits { + text-align: right; + direction: ltr; +} diff --git a/frontend/src/css/epubReader.css b/frontend/src/css/epubReader.css new file mode 100644 index 00000000..a575fb27 --- /dev/null +++ b/frontend/src/css/epubReader.css @@ -0,0 +1,78 @@ +.epub-reader { + display: flex; + align-items: flex-end; + height: 100%; +} + +.epub-reader .container { + width: 100%; + max-width: 100%; + height: calc(100% - 64px); + margin: 0; +} + +.epub-reader .arrow.pre { + left: 0; +} + +.epub-reader .readerArea { + background-color: var(--background) !important; +} + +.epub-reader .titleArea { + color: var(--text); +} + +.epub-reader .tocButtonBar { + background: var(--divider); +} + +.epub-reader .tocButton { + color: var(--text); +} + +.epub-reader .tocButton.tocButtonExpanded { + background-color: var(--background); +} + +.epub-reader .tocAreaButton.active { + color: var(--blue); + border-color: var(--dark-blue); +} + +.epub-reader .tocArea { + background-color: var(--background); +} + +.epub-reader .readerArea .arrow { + color: var(--text); +} + +.epub-reader .readerArea .arrow:hover { + color: var(--hover); +} + +.epub-reader .size { + display: flex; + gap: 5px; + align-items: center; + z-index: 111; + right: 25px; + outline: none; + position: absolute; + top: 78px; +} + +.epub-reader .size span { + color: var(--textSecondary); +} + +.epub-reader .size button { + background: none; + outline: none; + border: none; + width: 25px; + height: 25px; + color: var(--textPrimary); + padding: 0; +} diff --git a/frontend/src/css/fonts.css b/frontend/src/css/fonts.css new file mode 100644 index 00000000..fdad54b9 --- /dev/null +++ b/frontend/src/css/fonts.css @@ -0,0 +1,245 @@ +@import "material-icons/iconfont/filled.css"; + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 400; + src: + local("Roboto"), + local("Roboto-Regular"), + url(../assets/fonts/roboto/normal-cyrillic-ext.woff2) format("woff2"); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 400; + src: + local("Roboto"), + local("Roboto-Regular"), + url(../assets/fonts/roboto/normal-cyrillic.woff2) format("woff2"); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 400; + src: + local("Roboto"), + local("Roboto-Regular"), + url(../assets/fonts/roboto/normal-greek-ext.woff2) format("woff2"); + unicode-range: U+1F00-1FFF; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 400; + src: + local("Roboto"), + local("Roboto-Regular"), + url(../assets/fonts/roboto/normal-greek.woff2) format("woff2"); + unicode-range: U+0370-03FF; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 400; + src: + local("Roboto"), + local("Roboto-Regular"), + url(../assets/fonts/roboto/normal-vietnamese.woff2) format("woff2"); + unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 400; + src: + local("Roboto"), + local("Roboto-Regular"), + url(../assets/fonts/roboto/normal-latin-ext.woff2) format("woff2"); + unicode-range: + U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 400; + src: + local("Roboto"), + local("Roboto-Regular"), + url(../assets/fonts/roboto/normal-latin.woff2) format("woff2"); + unicode-range: + U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, + U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 500; + src: + local("Roboto Medium"), + local("Roboto-Medium"), + url(../assets/fonts/roboto/medium-cyrillic-ext.woff2) format("woff2"); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 500; + src: + local("Roboto Medium"), + local("Roboto-Medium"), + url(../assets/fonts/roboto/medium-cyrillic.woff2) format("woff2"); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 500; + src: + local("Roboto Medium"), + local("Roboto-Medium"), + url(../assets/fonts/roboto/medium-greek-ext.woff2) format("woff2"); + unicode-range: U+1F00-1FFF; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 500; + src: + local("Roboto Medium"), + local("Roboto-Medium"), + url(../assets/fonts/roboto/medium-greek.woff2) format("woff2"); + unicode-range: U+0370-03FF; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 500; + src: + local("Roboto Medium"), + local("Roboto-Medium"), + url(../assets/fonts/roboto/medium-vietnamese.woff2) format("woff2"); + unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 500; + src: + local("Roboto Medium"), + local("Roboto-Medium"), + url(../assets/fonts/roboto/medium-latin-ext.woff2) format("woff2"); + unicode-range: + U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 500; + src: + local("Roboto Medium"), + local("Roboto-Medium"), + url(../assets/fonts/roboto/medium-latin.woff2) format("woff2"); + unicode-range: + U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, + U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 700; + src: + local("Roboto Bold"), + local("Roboto-Bold"), + url(../assets/fonts/roboto/bold-cyrillic-ext.woff2) format("woff2"); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 700; + src: + local("Roboto Bold"), + local("Roboto-Bold"), + url(../assets/fonts/roboto/bold-cyrillic.woff2) format("woff2"); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 700; + src: + local("Roboto Bold"), + local("Roboto-Bold"), + url(../assets/fonts/roboto/bold-greek-ext.woff2) format("woff2"); + unicode-range: U+1F00-1FFF; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 700; + src: + local("Roboto Bold"), + local("Roboto-Bold"), + url(../assets/fonts/roboto/bold-greek.woff2) format("woff2"); + unicode-range: U+0370-03FF; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 700; + src: + local("Roboto Bold"), + local("Roboto-Bold"), + url(../assets/fonts/roboto/bold-vietnamese.woff2) format("woff2"); + unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 700; + src: + local("Roboto Bold"), + local("Roboto-Bold"), + url(../assets/fonts/roboto/bold-latin-ext.woff2) format("woff2"); + unicode-range: + U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} + +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 700; + src: + local("Roboto Bold"), + local("Roboto-Bold"), + url(../assets/fonts/roboto/bold-latin.woff2) format("woff2"); + unicode-range: + U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, + U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} + +.material-icons { + font-size: 1.5rem; +} diff --git a/frontend/src/css/header.css b/frontend/src/css/header.css new file mode 100644 index 00000000..7a427b0a --- /dev/null +++ b/frontend/src/css/header.css @@ -0,0 +1,279 @@ +header { + z-index: 1000; + background: var(--surfacePrimary); + border-bottom: 1px solid var(--divider); + box-shadow: 0 0 5px var(--borderPrimary); + position: fixed; + top: 0; + left: 0; + height: 4em; + width: 100%; + padding: 0; + display: flex; + padding: 0.5em 0.5em 0.5em 1em; + align-items: center; +} + +header > * { + flex: 0 0 auto; +} + +header title { + display: block; + flex: 1 1 auto; + padding: 0 1em; + overflow: hidden; + text-overflow: ellipsis; + font-size: 1.2em; +} + +header .overlay { + width: 0; + height: 0; +} + +header a, +header a:hover { + color: inherit; +} + +header > div:first-child > .action, +header img { + margin-right: 1em; +} + +header img { + height: 2.5em; +} + +header .action span { + display: none; +} + +header > div div { + vertical-align: middle; + position: relative; +} + +header .search-button, +header .menu-button { + display: none; +} + +#more { + display: none; +} + +#search { + position: relative; + height: 100%; + width: 100%; + max-width: 25em; +} + +#search.active { + position: fixed; + top: 0; + right: 0; + width: 100%; + max-width: 100%; + height: 100%; + z-index: 9999; +} + +#search #input { + background: var(--surfaceSecondary); + border-color: var(--surfacePrimary); + display: flex; + height: 100%; + padding: 0em 0.75em; + border-radius: 0.3em; + transition: 0.1s ease all; + align-items: center; + z-index: 2; +} + +#search #input input::placeholder { + color: var(--textSecondary); +} + +#search.active #input { + border-bottom: 1px solid var(--borderPrimary); + box-shadow: 0 0 5px var(--borderPrimary); + background: var(--surfacePrimary); + height: 4em; +} + +#search.active > div { + border-radius: 0 !important; +} + +#search.active i, +#search.active input { + color: var(--textPrimary); +} + +#search #input > .action, +#search #input > i { + margin-right: 0.3em; + user-select: none; +} + +#search input { + width: 100%; + border: 0; + background-color: transparent; + padding: 0; +} + +#search #result { + visibility: visible; + max-height: none; + background: var(--background); + text-align: left; + padding: 0; + color: var(--textPrimary); + height: 0; + transition: + 0.1s ease height, + 0.1s ease padding; + overflow-x: hidden; + overflow-y: auto; + z-index: 1; +} + +html[dir="rtl"] #search #result { + direction: ltr; +} + +#search #result > div > *:first-child { + margin-top: 0; +} + +html[dir="rtl"] #search #result { + text-align: right; +} + +/*** RTL - Keep search result LTR because it has paths (in english) ***/ +html[dir="rtl"] #search #result ul > * { + direction: ltr; + text-align: left; +} + +#search.active #result { + padding: 0.5em; + height: calc(100% - 4em); +} + +#search ul { + padding: 0; + margin: 0; + list-style: none; +} + +#search li { + margin-bottom: 0.5em; +} + +#search #result > div { + max-width: 45em; + margin: 0 auto; +} + +#search #result #renew { + width: 100%; + text-align: center; + display: none; + margin: 0; + max-width: none; +} + +#search.ongoing #result #renew { + display: block; +} + +#search.active #result i { + color: var(--iconTertiary); +} + +#search.active #result > p > i { + text-align: center; + margin: 0 auto; + display: table; +} + +#search.active #result ul li a { + display: flex; + align-items: center; + padding: 0.3em 0; +} + +#search.active #result ul li a i { + margin-right: 0.3em; +} + +/* I dont think we need these anymore */ +/* #search::-webkit-input-placeholder { + color: var(--textPrimary); +} + +#search::-moz-placeholder { + opacity: 1; + color: var(--textPrimary); +} + +#search:-ms-input-placeholder { + color: var(--textPrimary); +} + +#search #input input::placeholder { + color: var(--textPrimary); +} */ + +#search .boxes { + border: 1px solid var(--borderPrimary); + box-shadow: 0 0 5px var(--borderPrimary); + background: var(--surfacePrimary); + margin: 1em 0; +} + +#search .boxes h3 { + margin: 0; + font-weight: 500; + font-size: 1em; + color: var(--textSecondary); + padding: 0.5em; +} + +html[dir="rtl"] #search .boxes h3 { + text-align: right; +} + +#search .boxes > div { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + margin-right: -1em; + margin-bottom: -1em; +} + +#search .boxes > div > div { + background: var(--blue); + color: #fff; + text-align: center; + width: 10em; + padding: 1em; + cursor: pointer; + margin-bottom: 1em; + margin-right: 1em; + flex-grow: 1; +} + +#search .boxes p { + margin: 1em 0 0; +} + +#search .boxes i { + color: #fff !important; + font-size: 3.5em; +} diff --git a/frontend/src/css/listing-icons.css b/frontend/src/css/listing-icons.css new file mode 100644 index 00000000..d0bdb043 --- /dev/null +++ b/frontend/src/css/listing-icons.css @@ -0,0 +1,253 @@ +/* Icons */ + +/* General */ + +.file-icons [aria-label^="."] { + opacity: 0.33; +} +.file-icons [data-ext=".bak"] { + opacity: 0.33; +} + +.file-icons [data-type="audio"] i::before { + content: "volume_up"; +} +.file-icons [data-type="blob"] i::before { + content: "insert_drive_file"; +} +.file-icons [data-type="image"] i::before { + content: "image"; +} +.file-icons [data-type="pdf"] i::before { + content: "description"; +} +.file-icons [data-type="text"] i::before { + content: "description"; +} +.file-icons [data-type="video"] i::before { + content: "movie"; +} +.file-icons [data-type="invalid_link"] i::before { + content: "link_off"; +} + +/* #f90 - Image */ + +.file-icons [data-ext=".ai"] i::before, +.file-icons [data-ext=".odg"] i::before, +.file-icons [data-ext=".xcf"] i::before { + content: "image"; +} + +/* #f90 - Presentation */ + +.file-icons [data-ext=".odp"] i::before, +.file-icons [data-ext=".ppt"] i::before, +.file-icons [data-ext=".pptx"] i::before { + content: "slideshow"; +} + +/* #0f0 - Spreadsheet/Database */ + +.file-icons [data-ext=".csv"] i::before, +.file-icons [data-ext=".db"] i::before, +.file-icons [data-ext=".odb"] i::before, +.file-icons [data-ext=".ods"] i::before, +.file-icons [data-ext=".xls"] i::before, +.file-icons [data-ext=".xlsx"] i::before { + content: "border_all"; +} + +/* #00f - Document */ + +.file-icons [data-ext=".doc"] i::before, +.file-icons [data-ext=".docx"] i::before, +.file-icons [data-ext=".log"] i::before, +.file-icons [data-ext=".odt"] i::before, +.file-icons [data-ext=".rtf"] i::before { + content: "description"; +} + +/* #999 - Code */ + +.file-icons [data-ext=".c"] i::before, +.file-icons [data-ext=".cpp"] i::before, +.file-icons [data-ext=".cs"] i::before, +.file-icons [data-ext=".css"] i::before, +.file-icons [data-ext=".go"] i::before, +.file-icons [data-ext=".h"] i::before, +.file-icons [data-ext=".html"] i::before, +.file-icons [data-ext=".java"] i::before, +.file-icons [data-ext=".js"] i::before, +.file-icons [data-ext=".json"] i::before, +.file-icons [data-ext=".kt"] i::before, +.file-icons [data-ext=".php"] i::before, +.file-icons [data-ext=".py"] i::before, +.file-icons [data-ext=".rb"] i::before, +.file-icons [data-ext=".rs"] i::before, +.file-icons [data-ext=".vue"] i::before, +.file-icons [data-ext=".xml"] i::before, +.file-icons [data-ext=".yml"] i::before { + content: "code"; +} + +/* #999 - Executable */ + +.file-icons [data-ext=".apk"] i::before, +.file-icons [data-ext=".bat"] i::before, +.file-icons [data-ext=".exe"] i::before, +.file-icons [data-ext=".jar"] i::before, +.file-icons [data-ext=".ps1"] i::before, +.file-icons [data-ext=".sh"] i::before { + content: "web_asset"; +} + +/* #999 - Installer */ + +.file-icons [data-ext=".deb"] i::before, +.file-icons [data-ext=".msi"] i::before, +.file-icons [data-ext=".pkg"] i::before, +.file-icons [data-ext=".rpm"] i::before { + content: "archive"; +} + +/* #999 - Compressed */ + +.file-icons [data-ext=".7z"] i::before, +.file-icons [data-ext=".bz2"] i::before, +.file-icons [data-ext=".cab"] i::before, +.file-icons [data-ext=".gz"] i::before, +.file-icons [data-ext=".rar"] i::before, +.file-icons [data-ext=".tar"] i::before, +.file-icons [data-ext=".xz"] i::before, +.file-icons [data-ext=".zip"] i::before, +.file-icons [data-ext=".zst"] i::before { + content: "folder_zip"; +} + +/* #999 - Disk */ + +.file-icons [data-ext=".ccd"] i::before, +.file-icons [data-ext=".dmg"] i::before, +.file-icons [data-ext=".iso"] i::before, +.file-icons [data-ext=".mdf"] i::before, +.file-icons [data-ext=".vdi"] i::before, +.file-icons [data-ext=".vhd"] i::before, +.file-icons [data-ext=".vmdk"] i::before, +.file-icons [data-ext=".wim"] i::before { + content: "album"; +} + +/* #999 - Font */ + +.file-icons [data-ext=".otf"] i::before, +.file-icons [data-ext=".ttf"] i::before, +.file-icons [data-ext=".woff"] i::before, +.file-icons [data-ext=".woff2"] i::before { + content: "font_download"; +} + +/* Colors */ + +/* General */ + +.file-icons [data-type="audio"] i { + color: var(--icon-yellow); +} +.file-icons [data-type="image"] i { + color: var(--icon-orange); +} +.file-icons [data-type="video"] i { + color: var(--icon-violet); +} +.file-icons [data-type="invalid_link"] i { + color: var(--icon-red); +} + +/* #f00 - Adobe/Oracle */ + +.file-icons [data-ext=".ai"] i, +.file-icons [data-ext=".java"] i, +.file-icons [data-ext=".jar"] i, +.file-icons [data-ext=".psd"] i, +.file-icons [data-ext=".rb"] i, +.file-icons [data-ext=".pdf"] i { + color: var(--icon-red); +} + +/* #f90 - Image/Presentation */ + +.file-icons [data-ext=".html"] i, +.file-icons [data-ext=".odg"] i, +.file-icons [data-ext=".odp"] i, +.file-icons [data-ext=".ppt"] i, +.file-icons [data-ext=".pptx"] i, +.file-icons [data-ext=".vue"] i, +.file-icons [data-ext=".xcf"] i { + color: var(--icon-orange); +} + +/* #ff0 - Various */ + +.file-icons [data-ext=".css"] i, +.file-icons [data-ext=".js"] i, +.file-icons [data-ext=".json"] i, +.file-icons [data-ext=".zip"] i { + color: var(--icon-yellow); +} + +/* #0f0 - Spreadsheet/Google */ + +.file-icons [data-ext=".apk"] i, +.file-icons [data-ext=".dex"] i, +.file-icons [data-ext=".go"] i, +.file-icons [data-ext=".ods"] i, +.file-icons [data-ext=".xls"] i, +.file-icons [data-ext=".xlsx"] i { + color: var(--icon-green); +} + +/* #00f - Document/Microsoft/Apple/Closed */ + +.file-icons [data-ext=".aac"] i, +.file-icons [data-ext=".bat"] i, +.file-icons [data-ext=".cab"] i, +.file-icons [data-ext=".cs"] i, +.file-icons [data-ext=".dmg"] i, +.file-icons [data-ext=".doc"] i, +.file-icons [data-ext=".docx"] i, +.file-icons [data-ext=".emf"] i, +.file-icons [data-ext=".exe"] i, +.file-icons [data-ext=".ico"] i, +.file-icons [data-ext=".mp2"] i, +.file-icons [data-ext=".mp3"] i, +.file-icons [data-ext=".mp4"] i, +.file-icons [data-ext=".mpg"] i, +.file-icons [data-ext=".msi"] i, +.file-icons [data-ext=".odt"] i, +.file-icons [data-ext=".ps1"] i, +.file-icons [data-ext=".rtf"] i, +.file-icons [data-ext=".vob"] i, +.file-icons [data-ext=".wim"] i { + color: var(--icon-blue); +} + +/* #60f - Various */ + +.file-icons [data-ext=".iso"] i, +.file-icons [data-ext=".php"] i, +.file-icons [data-ext=".rar"] i { + color: var(--icon-violet); +} + +/* Overrides */ + +.file-icons [data-dir="true"] i { + color: var(--icon-blue); +} +.file-icons [data-dir="true"] i::before { + content: "folder"; +} +.file-icons [aria-selected="true"] i { + color: var(--iconSecondary); +} diff --git a/assets/src/css/listing.css b/frontend/src/css/listing.css similarity index 58% rename from assets/src/css/listing.css rename to frontend/src/css/listing.css index 1d24370e..d55fe67c 100644 --- a/assets/src/css/listing.css +++ b/frontend/src/css/listing.css @@ -1,7 +1,11 @@ +html[dir="rtl"] #listing { + margin-right: 16em; +} + #listing h2 { margin: 0 0 0 0.5em; - font-size: .9em; - color: rgba(0, 0, 0, 0.38); + font-size: 0.9em; + color: var(--textPrimary); font-weight: 500; } @@ -10,23 +14,25 @@ overflow: hidden; } -#listing>div { +#listing > div { display: flex; - padding: 0; flex-wrap: wrap; justify-content: flex-start; - position: relative; } #listing .item { - background-color: #fff; + background: var(--surfacePrimary); + border-color: var(--divider); position: relative; display: flex; flex-wrap: nowrap; - color: #6f6f6f; - transition: .1s ease background, .1s ease opacity; + color: var(--textPrimary); + transition: + 0.1s ease background, + 0.1s ease opacity; align-items: center; cursor: pointer; + user-select: none; } #listing .item div:last-of-type { @@ -54,19 +60,27 @@ vertical-align: bottom; } +#listing .item img { + width: 4em; + height: 4em; + object-fit: cover; + margin-right: 0.1em; + vertical-align: bottom; +} + .message { text-align: center; font-size: 2em; margin: 1em auto; display: block !important; width: 95%; - color: rgba(0, 0, 0, 0.3); + color: var(--textPrimary); font-weight: 500; } .message i { font-size: 2.5em; - margin-bottom: .2em; + margin-bottom: 0.2em; display: block; } @@ -77,14 +91,18 @@ #listing.mosaic .item { width: calc(33% - 1em); - margin: .5em; + margin: 0.5em; padding: 0.5em; border-radius: 0.2em; - box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .12); + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.06), + 0 1px 2px rgba(0, 0, 0, 0.12); } #listing.mosaic .item:hover { - box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24) !important; + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.12), + 0 1px 2px rgba(0, 0, 0, 0.24) !important; } #listing.mosaic .header { @@ -99,9 +117,43 @@ width: calc(100% - 5vw); } +#listing.mosaic.gallery .item div:first-of-type { + width: 100%; + height: 12em; +} + +#listing.mosaic.gallery .item div:last-of-type { + position: absolute; + bottom: 0.5em; + padding: 1em; + width: calc(100% - 1em); + text-align: center; +} + +#listing.mosaic.gallery .item[data-type="image"] div:last-of-type { + color: white; + background: linear-gradient(#0000, #0009); +} + +#listing.mosaic.gallery .item i { + width: 100%; + margin-right: 0; + font-size: 8em; + text-align: center; +} + +#listing.mosaic.gallery .item img { + width: 100%; + height: 100%; +} + +#listing.gallery .size, +#listing.gallery .modified { + display: none; +} + #listing.list { flex-direction: column; - padding-top: 3.25em; width: 100%; max-width: 100%; margin: 0; @@ -110,7 +162,7 @@ #listing.list .item { width: 100%; margin: 0; - border: 1px solid rgba(0, 0, 0, 0.1); + border: 1px solid var(--borderPrimary); padding: 1em; border-top: 0; } @@ -119,9 +171,9 @@ display: none; } -#listing .item[aria-selected=true] { - background: #2196f3 !important; - color: #fff !important; +#listing .item[aria-selected="true"] { + background: var(--blue) !important; + color: var(--iconSecondary) !important; } #listing.list .item div:first-of-type { @@ -132,6 +184,11 @@ font-size: 2em; } +#listing.list .item div:first-of-type img { + width: 2em; + height: 2em; +} + #listing.list .item div:last-of-type { width: calc(100% - 3em); display: flex; @@ -148,30 +205,26 @@ #listing .item.header { display: none !important; - background-color: #ccc; + background-color: var(--iconTertiary); } #listing.list .header i { font-size: 1.5em; vertical-align: middle; - margin-left: .2em; + margin-left: 0.2em; } #listing.list .item.header { display: flex !important; - background: #f8f8f8; - position: fixed; - width: calc(100% - 19em); - top: 7em; - right: 1em; + background: var(--background); z-index: 999; - padding: .85em; + padding: 0.85em; border: 0; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); + border-bottom: 1px solid var(--borderPrimary); } -#listing.list .item.header>div:first-child { - width: 0; +#listing.list .item.header > div { + width: 100%; } #listing.list .item.header .name { @@ -182,16 +235,11 @@ color: inherit; } -#listing.list .item.header>div:first-child { - width: 0; -} - #listing.list .name { font-weight: normal; -} - -#listing.list .item.header .name { - margin-right: 3em; + word-wrap: break-word; + word-break: break-all; + white-space: pre-wrap; } #listing.list .header span { @@ -200,7 +248,7 @@ #listing.list .header i { opacity: 0; - transition: .1s ease all; + transition: 0.1s ease all; } #listing.list .header p:hover i, @@ -218,13 +266,11 @@ left: 0; z-index: 99999; width: 100%; - background-color: #2196f3; + background-color: var(--blue); height: 4em; - display: flex !important; padding: 0.5em 0.5em 0.5em 1em; justify-content: space-between; - align-items: center; - transition: .2s ease bottom; + transition: 0.2s ease bottom; } #listing #multiple-selection.active { @@ -233,5 +279,5 @@ #listing #multiple-selection p, #listing #multiple-selection i { - color: #fff; + color: var(--iconSecondary); } diff --git a/frontend/src/css/login.css b/frontend/src/css/login.css new file mode 100644 index 00000000..62150ee6 --- /dev/null +++ b/frontend/src/css/login.css @@ -0,0 +1,74 @@ +#login { + background: var(--surfacePrimary); + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +#login img { + width: 4em; + height: 4em; + margin: 0 auto; + display: block; +} + +#login h1 { + text-align: center; + font-size: 2.5em; + margin: 0.4em 0 0.67em; +} + +#login form { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + max-width: 16em; + width: 90%; +} + +#login.recaptcha form { + min-width: 304px; +} + +#login #recaptcha { + margin: 0.5em 0 0; +} + +#login .wrong { + background: var(--red); + color: #fff; + padding: 0.5em; + text-align: center; + animation: 0.2s opac forwards; +} + +#login .logout-message { + background: var(--icon-orange); + color: #fff; + padding: 0.5em; + text-align: center; + animation: 0.2s opac forwards; + text-transform: none; +} + +@keyframes opac { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +#login p { + cursor: pointer; + text-align: right; + color: var(--blue); + text-transform: lowercase; + font-weight: 500; + font-size: 0.9rem; + margin: 0.5rem 0; +} diff --git a/frontend/src/css/mdPreview.css b/frontend/src/css/mdPreview.css new file mode 100644 index 00000000..7d6cab86 --- /dev/null +++ b/frontend/src/css/mdPreview.css @@ -0,0 +1,11 @@ +.md_preview { + padding: 1rem; + border: 1px solid #000; + font-size: 20px; + line-height: 1.2; +} + +#preview-container { + overflow: auto; + flex: 1; +} diff --git a/frontend/src/css/mobile.css b/frontend/src/css/mobile.css new file mode 100644 index 00000000..f8b2a45b --- /dev/null +++ b/frontend/src/css/mobile.css @@ -0,0 +1,171 @@ +@media (max-width: 1024px) { + nav { + width: 10em; + } +} + +@media (max-width: 1024px) { + main { + width: calc(100% - 13em); + } +} + +@media (max-width: 736px) { + body { + padding-bottom: 5em; + } + #listing.list .item .size { + display: none; + } + #listing.list .item .name { + width: 60%; + } + #more { + display: inherit; + } + header .overlay { + width: 100%; + height: 100%; + background-color: var(--borderPrimary); + } + #dropdown { + position: fixed; + top: 1em; + right: 1em; + display: block; + background: var(--surfaceSecondary); + box-shadow: 0 0 5px var(--borderPrimary); + transform: scale(0); + transition: 0.1s ease-in-out transform; + transform-origin: top right; + z-index: 99999; + } + + html[dir="rtl"] #dropdown { + right: unset; + left: 1em; + transform-origin: top left; + } + + #dropdown > div { + display: block; + } + #dropdown.active { + transform: scale(1); + } + #dropdown .action { + display: flex; + align-items: center; + border-radius: 0; + width: 100%; + } + #dropdown .action span:not(.counter) { + display: inline-block; + padding: 0.4em; + } + #dropdown .counter { + left: 2.25em; + } + #file-selection { + position: fixed; + bottom: 1em; + left: 50%; + transform: translateX(-50%); + display: flex; + align-items: center; + background: var(--surfaceSecondary); + box-shadow: + rgba(0, 0, 0, 0.06) 0px 1px 3px, + rgba(0, 0, 0, 0.12) 0px 1px 2px; + width: 95%; + max-width: 20em; + z-index: 1; + } + #file-selection .action { + border-radius: 50%; + width: auto; + } + #file-selection > span { + display: inline-block; + margin-left: 1em; + color: var(--textPrimary); + margin-right: auto; + } + #file-selection .action span { + display: none; + } + nav { + top: 0; + z-index: 99999; + background: var(--surfaceSecondary); + height: 100%; + width: 16em; + box-shadow: 0 0 5px var(--borderPrimary); + transition: 0.1s ease left; + left: -17em; + } + + html[dir="rtl"] nav { + left: unset; + right: -17em; + } + nav.active { + left: 0; + } + + html[dir="rtl"] nav.active { + left: unset; + right: 0; + } + + .shell__divider { + height: 12px; + } + + header .search-button, + header .menu-button { + display: inherit; + } + header img { + display: none; + } + #listing { + margin-bottom: 5em; + } + + html[dir="rtl"] #listing { + margin-right: unset; + } + + html[dir="rtl"] .breadcrumbs { + transform: translateX(16em); + } + + html[dir="rtl"] #nav .wrapper { + margin-right: unset; + } + + html[dir="rtl"] .dashboard .row { + margin-right: unset; + } + + main { + margin: 0 1em; + width: calc(100% - 2em); + } + #search { + display: none; + } + #search.active { + display: block; + } +} + +@media (max-width: 450px) { + #listing.list .item .modified { + display: none; + } + #listing.list .item .name { + width: 100%; + } +} diff --git a/frontend/src/css/styles.css b/frontend/src/css/styles.css new file mode 100644 index 00000000..5ac7d8d5 --- /dev/null +++ b/frontend/src/css/styles.css @@ -0,0 +1,464 @@ +@import "normalize.css/normalize.css"; +@import "vue-toastification/dist/index.css"; +@import "vue-final-modal/style.css"; +@import "./_variables.css"; +@import "./_buttons.css"; +@import "./_inputs.css"; +@import "./_shell.css"; +@import "./_share.css"; +@import "./fonts.css"; +@import "./base.css"; +@import "./header.css"; +@import "./listing.css"; +@import "./listing-icons.css"; +@import "./upload-files.css"; +@import "./dashboard.css"; +@import "./login.css"; +@import "./mobile.css"; +@import "./epubReader.css"; +@import "./mdPreview.css"; +@import "./context-menu.css"; + +/* For testing only + :focus { + outline: 2px solid crimson !important; + border-radius: 3px !important; +} */ + +.link { + color: var(--blue); +} + +#loading { + background: var(--background); +} +#loading .spinner > div { + background: var(--iconPrimary); +} + +main .spinner { + display: block; + text-align: center; + line-height: 0; + padding: 1em 0; +} + +main .spinner > div { + width: 0.8em; + height: 0.8em; + margin: 0 0.1em; + font-size: 1em; + background: var(--iconPrimary); + border-radius: 100%; + display: inline-block; + animation: sk-bouncedelay 1.4s infinite ease-in-out both; +} + +main .spinner .bounce1 { + animation-delay: -0.32s; +} + +main .spinner .bounce2 { + animation-delay: -0.16s; +} + +.delayed { + animation: delayed linear 100ms; +} + +@keyframes delayed { + 0% { + opacity: 0; + } + 99% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +/* * * * * * * * * * * * * * * * + * ACTION * + * * * * * * * * * * * * * * * */ + +.action { + display: inline-block; + cursor: pointer; + transition: 0.2s ease all; + border: 0; + margin: 0; + color: var(--action); + border-radius: 50%; + background: transparent; + padding: 0; + box-shadow: none; + vertical-align: middle; + text-align: left; + position: relative; +} + +.action.disabled, +.action[disabled] { + opacity: 0.2; + cursor: not-allowed; +} + +.action i { + padding: 0.4em; + transition: 0.1s ease-in-out all; + border-radius: 50%; +} + +.action:hover { + background-color: var(--hover); +} + +.action ul { + position: absolute; + top: 0; + color: #7d7d7d; + list-style: none; + margin: 0; + padding: 0; + flex-direction: column; + display: flex; +} + +.action ul li { + line-height: 1; + padding: 0.7em; + transition: 0.1s ease background-color; +} + +.action ul li:hover { + background-color: var(--divider); +} + +#click-overlay { + display: none; + position: fixed; + cursor: pointer; + top: 0; + left: 0; + height: 100%; + width: 100%; +} + +#click-overlay.active { + visibility: visible; +} + +.action .counter { + display: block; + position: absolute; + bottom: 0; + right: 0; + background: var(--blue); + color: var(--iconSecondary); + border-radius: 50%; + font-size: 0.75em; + width: 1.8em; + height: 1.8em; + text-align: center; + line-height: 1.55em; + font-weight: bold; + border: 2px solid var(--borderPrimary); +} + +/* PREVIEWER */ + +#previewer { + background-color: rgba(0, 0, 0, 0.99); + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 9999; + overflow: hidden; +} + +#previewer header { + background: none; + color: #fff; + border-bottom: 0px; + box-shadow: 0px 0px 0px; + z-index: 19999; +} + +#previewer header > .action i { + color: #fff; + text-shadow: 1px 1px 1px #000000; +} + +#previewer header > title { + white-space: nowrap; + text-shadow: 1px 1px 1px #000000; +} + +@media (min-width: 738px) { + #previewer header #dropdown .action i { + color: #fff; + text-shadow: 1px 1px 1px #000000; + } +} + +#previewer header .action:hover { + background-color: rgba(255, 255, 255, 0.3); +} + +#previewer header .action span { + display: none; +} + +#previewer .preview { + text-align: center; + height: 100%; +} + +#previewer .preview pre { + text-align: left; + overflow: auto; +} + +#previewer .preview pre, +#previewer .preview video, +#previewer .preview img { + max-height: 100%; + margin: 0; +} + +#previewer .preview audio { + width: 95%; + height: 88%; +} + +#previewer .preview video { + height: 100%; +} + +#previewer .vjs-error-display { + margin-top: 40%; +} + +#previewer .preview .info { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 1.5em; + color: #fff; +} +#previewer .preview .info .title { + margin-bottom: 1em; +} +#previewer .preview .info .title i { + display: block; + margin-bottom: 0.1em; + font-size: 4em; +} +#previewer .preview .info .button { + display: inline-block; +} +#previewer .preview .info .button:hover { + background-color: rgba(255, 255, 255, 0.2); +} +#previewer .preview .info .button i { + display: block; + margin-bottom: 4px; + font-size: 1.3em; +} + +#previewer .pdf { + width: 100%; + height: 100%; + padding-top: 4em; +} + +#previewer h2.message { + color: rgba(255, 255, 255, 0.5); +} + +#previewer > button { + margin: 0; + position: fixed; + top: 50%; + transform: translateY(-50%); + background-color: rgba(80, 80, 80, 0.5); + color: white; + border-radius: 50%; + cursor: pointer; + border: 0; + margin: 0; + padding: 0; + transition: 0.2s ease all; +} + +#previewer > button.hidden { + opacity: 0; + visibility: hidden; +} + +#previewer > button > i { + padding: 0.4em; +} + +#previewer > button:first-of-type { + left: 0.5em; +} + +#previewer > button:last-of-type { + right: 0.5em; +} + +#previewer .spinner { + text-align: center; + position: fixed; + top: calc(50% + 1.85em); + left: 50%; + transform: translate(-50%, -50%); +} + +#previewer .spinner > div { + width: 18px; + height: 18px; + background: var(--iconPrimary); +} + +/* EDITOR */ + +#editor-container { + display: flex; + flex-direction: column; + justify-content: center; + background-color: var(--background); + position: fixed; + padding-top: 4em; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 9998; + overflow: hidden; +} + +#editor-container .bar { + background: var(--surfacePrimary); +} + +#editor-container #editor { + flex: 1; +} + +#editor-container .breadcrumbs { + height: 2.3em; + padding: 0 1em; + position: relative; + top: 0; +} + +/*** RTL - flip and position arrow of path ***/ +html[dir="rtl"] .breadcrumbs .chevron { + transform: scaleX(-1) translateX(16em); +} + +#editor-container .breadcrumbs span { + font-size: 0.75rem; +} + +#editor-container .breadcrumbs i { + font-size: 1rem; +} + +/* * * * * * * * * * * * * * * * + * FOOTER * + * * * * * * * * * * * * * * * */ + +.credits { + font-size: 0.6em; + margin: 3em 2.5em; + color: #a5a5a5; +} + +.credits > span { + display: block; + margin: 0.3em 0; +} + +.credits a, +.credits a:hover { + color: inherit; + cursor: pointer; +} + +/* * * * * * * * * * * * * * * * + * ANIMATIONS * + * * * * * * * * * * * * * * * */ + +@keyframes spin { + 100% { + transform: rotate(360deg); + } +} + +/* * * * * * * * * * * * * * * * + * SETTINGS TUS * + * * * * * * * * * * * * * * * */ + +.tusConditionalSettings input:disabled { + background-color: #ddd; + color: #999; + cursor: not-allowed; +} + +/* * * * * * * * * * * * * * * * + * SETTINGS RULES * + * * * * * * * * * * * * * * * */ + +.rules > div { + display: flex; + align-items: center; + margin: 0.5rem 0; +} + +.rules input[type="checkbox"] { + margin-right: 0.2rem; +} + +.rules input[type="text"] { + border: 1px solid#ddd; + padding: 0.2rem; +} + +.rules label { + margin-right: 0.5rem; +} + +.rules button { + margin-left: auto; +} + +.rules button.delete { + padding: 0.2rem 0.5rem; + margin-left: 0.5rem; +} + +/* * * * * * * * * * * * * * * * + * RTL overrides * + * * * * * * * * * * * * * * * */ + +html[dir="rtl"] .card-content textarea { + direction: ltr; + text-align: left; +} + +html[dir="rtl"] .card-content .small + input { + direction: ltr; + text-align: left; +} + +html[dir="rtl"] .card.floating .card-content .file-list { + direction: ltr; + text-align: left; +} diff --git a/frontend/src/css/upload-files.css b/frontend/src/css/upload-files.css new file mode 100644 index 00000000..ce864182 --- /dev/null +++ b/frontend/src/css/upload-files.css @@ -0,0 +1,61 @@ +.upload-files .card.floating { + left: auto; + top: auto; + margin: 0; + right: 0; + bottom: 0; + transform: none; +} + +.upload-files .file { + margin-bottom: 8px; +} + +.upload-files .file .file-name { + font-size: 1.1em; + display: flex; + align-items: center; +} + +.upload-files .file .file-name i { + margin-right: 5px; +} + +.upload-files .file .file-progress { + margin-top: 2px; + width: 100%; + height: 5px; +} + +.upload-files .file .file-progress div { + height: 100%; + background-color: #40c4ff; + width: 0; + transition: 0.2s ease width; + border-radius: 10px; +} + +.upload-files.closed .card-content { + display: none; + padding: 0em 1em 1em 1em; +} + +.upload-files .card .card-title { + display: flex; + align-items: center; + justify-content: center; + font-size: 0.8em; + padding: 1em 1em 0em; +} + +.upload-files.closed .card-title { + font-size: 0.7em; + padding: 0.5em 1em; +} + +@media (max-width: 450px) { + .upload-files .card.floating { + max-width: 100%; + width: 100%; + } +} diff --git a/frontend/src/i18n/ar.json b/frontend/src/i18n/ar.json new file mode 100644 index 00000000..b8f431eb --- /dev/null +++ b/frontend/src/i18n/ar.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "إلغاء", + "clear": "مسح", + "close": "إغلاق", + "continue": "متابعة", + "copy": "نسخ", + "copyFile": "نسخ الملف", + "copyToClipboard": "نسخ الى الحافظة", + "copyDownloadLinkToClipboard": "نسخ رابط التحميل الى الحافظة", + "create": "إنشاء", + "delete": "حذف", + "download": "تحميل", + "file": "ملف", + "folder": "مجلد", + "fullScreen": "تكبير/تصغير الشاشة", + "hideDotfiles": "إخفاء ملفات النقطة", + "info": "معلومات", + "more": "المزيد", + "move": "نقل", + "moveFile": "نقل الملف", + "new": "جديد", + "next": "التالي", + "ok": "موافق", + "permalink": "الحصول على رابط دائم", + "previous": "السابق", + "preview": "معاينة", + "publish": "نشر", + "rename": "إعادة تسمية", + "replace": "استبدال", + "reportIssue": "إبلاغ عن مشكلة", + "save": "حفظ", + "schedule": "جدولة", + "search": "بحث", + "select": "تحديد", + "selectMultiple": "تحديد متعدد", + "share": "مشاركة", + "shell": "تفعيل/إغلاق واجهة اﻷوامر (shell)", + "submit": "تسليم", + "switchView": "تغيير العرض", + "toggleSidebar": "تبديل الشريط الجانبي", + "update": "تحديث", + "upload": "رفع", + "openFile": "فتح الملف", + "discardChanges": "إلغاء التغييرات", + "stopSearch": "توقف عن البحث", + "saveChanges": "حفظ التغييرات", + "editAsText": "تعديل على شكل نص", + "increaseFontSize": "زيادة حجم الخط", + "decreaseFontSize": "تصغير حجم الخط" + }, + "download": { + "downloadFile": "تحميل الملف", + "downloadFolder": "تحميل المجلد", + "downloadSelected": "تحميل الملفات المحددة" + }, + "upload": { + "abortUpload": "هل تريد بالتاكيد إلغاء الرفع؟" + }, + "errors": { + "forbidden": "ليست لديك الصلاحيات للوصول لهذا المحتوى.", + "internal": "لقد حدث خطأ ما.", + "notFound": "لا يمكن الوصول لهذا المحتوى.", + "connection": "لا يمكن اﻹتصال بالخادم." + }, + "files": { + "body": "الصفحة", + "closePreview": "إغلاق العرض", + "files": "الملفات", + "folders": "المجلدات", + "home": "الصفحة الرئيسية", + "lastModified": "آخر تعديل", + "loading": "جاري التحميل...", + "lonely": "تبدو وحيدا هنا...", + "metadata": "بيانات وصفية", + "multipleSelectionEnabled": "التحديد المتعدد مفعل", + "name": "اﻹسم", + "size": "الحجم", + "sortByLastModified": "الترتيب بآخر تعديل", + "sortByName": "الترتيب باﻹسم", + "sortBySize": "الترتيب بالحجم", + "noPreview": "لا يوجد عرض مسبق لهذا الملف.", + "csvTooLarge": "حجم الملف اكبر من (<5MB), يرجى تحميل الملف للمعاينة", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "حدد الملف أو المجلد", + "ctrl": { + "click": "حدد أكثر من ملف او مجلد", + "f": "إبدأ البحث", + "s": "حمل الملف او المجلد في هذا المكان" + }, + "del": "حذف البيانات المحددة", + "doubleClick": "فتح المجلد او الملف", + "esc": "مسح التحديد و إغلاق النافذة المنبثقة", + "f1": "هذه المعلومات", + "f2": "إعادة تسمية الملف", + "help": "مساعدة" + }, + "login": { + "createAnAccount": "إنشاء حساب جديد", + "loginInstead": "هل لديك حساب", + "password": "كلمة المرور", + "passwordConfirm": "تأكيد كلمة المرور", + "passwordsDontMatch": "كلمة المرور غير متطابقة", + "signup": "إشترك", + "submit": "تسجيل دخول", + "username": "إسم المستخدم", + "usernameTaken": "إسم المستخدم غير متاح", + "wrongCredentials": "بيانات دخول خاطئة", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "دائم", + "prompts": { + "copy": "نسخ", + "copyMessage": "حدد المكان لنسخ ملفاتك فيه:", + "currentlyNavigating": "يتم اﻹنتقال حاليا إلى:", + "deleteMessageMultiple": "هل تريد بالتأكيد حذف {count} ملف؟", + "deleteMessageSingle": "هل تريد بالتأكيد حذف هذا الملف/المجلد؟", + "deleteMessageShare": "هل تريد بالتأكيد إلغاء مشاركة هذا الملف/المجلد ({path})؟", + "deleteUser": "هل تريد بالتأكيد حذف هذا المستخدم؟", + "deleteTitle": "حذف الملفات", + "displayName": "عرض اﻹسم:", + "download": "تحميل الملفات", + "downloadMessage": "حدد إمتداد الملف المراد تحميله.", + "error": "لقد حدث خطأ ما", + "fileInfo": "معلومات الملف", + "filesSelected": "تم تحديد {count} ملفات.", + "lastModified": "آخر تعديل", + "move": "نقل", + "moveMessage": "اختر منزلاً جديداً لملفك (ملفاتك)/مجلدك (مجلداتك):", + "newArchetype": "إنشاء منشور من المنشور اﻷصلي. الملف سيتم انشاءه في مجلد المحتويات.", + "newDir": "مجلد جديد", + "newDirMessage": "أدخل اسم المجلد الجديد.", + "newFile": "ملف جديد", + "newFileMessage": "ادخل اسم الملف الجديد.", + "numberDirs": "عدد المجلدات", + "numberFiles": "عدد الملفات", + "rename": "إعادة تسمية", + "renameMessage": "إدراج اسم جديد لـ", + "replace": "إستبدال", + "replaceMessage": "أحد الملفات التي تحاول رفعها يتعارض مع ملف موجود بنفس اﻹسم. هل المتابعة مع تخطي هذا الملف ام تريد إستبدال الملف الموجود؟\n", + "schedule": "جدولة", + "scheduleMessage": "أختر الوقت و التاريخ لجدولة نشر هذا المقال.", + "show": "عرض", + "size": "الحجم", + "upload": "رفع", + "uploadFiles": "يتم رفع {files} ملفات.", + "uploadMessage": "إختر الملفات التي تريد رفعها.", + "optionalPassword": "كلمة مرور إختيارية", + "resolution": "الدقة", + "discardEditorChanges": "هل تريد بالتأكيد إلغاء التغييرات؟" + }, + "search": { + "images": "الصور", + "music": "الموسيقى", + "pdf": "PDF", + "pressToSearch": "أضغط زر اﻹدخال للبحث...", + "search": "البحث...", + "typeToSearch": "اكتب للبحث...", + "types": "اﻷنواع", + "video": "فيديوهات" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "إدارة", + "administrator": "مدير", + "allowCommands": "تنفيذ اﻷوامر", + "allowEdit": "تعديل، إعادة تسمية و حذف الملفات و المجلدات", + "allowNew": "إنشاء ملفات و مجلدات جديدة", + "allowPublish": "نشر مقالات و صفحات جديدة", + "allowSignup": "اسمح للمستخدمين بالاشتراك", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(أتركه فارغاً إن لم ترد تغييره)", + "branding": "الشعار", + "brandingDirectoryPath": "مسار مجلد الشعار", + "brandingHelp": "بإمكانك ان تخصص شكل و مظهر متصفح الملفات الخاص بك عن طريق تغيير اسمه، او تغيير الشعار، او اضافة ستايل مخصص، او حتى تعطيل الروابط الخارجية لـ GitHub.\nلمزيد من المعلومات حول التخصيص، يرجى الاطلاع على {0}.", + "changePassword": "تغيير كلمة المرور", + "commandRunner": "منفذ اﻷوامر", + "commandRunnerHelp": "هنا بإمكانك تعيين اﻷوامر التي سيتم تنفيذها في اﻷحداث المسماة. يجب كتابة أمر واحد في كل سطر. ستكون المتغيرات البيئية (env) {0} و {1} متاحة، حيث {0} نسبي لـ {1}. لمزيد من المعلومات حول هذه الميزة و المتغيرات البيئية المتاحة، يرجى قراءة {2}.", + "commandsUpdated": "تم تحديث اﻷوامر", + "createUserDir": "إنشاء مجلد المستخدم الرئيسي تلقائياً عند إنشاء مستخدم جديد", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "التحميلات المتقطعة", + "tusUploadsHelp": "يدعم متصفح الملفات تحميل الملفات المتقطعة، مما يسمح بتحميلات الملفات بشكل فعال و موثوق و قابلة للمتابغة و متقطعة حتى على الشبكات غير الموثوقة.", + "tusUploadsChunkSize": "يشير إلى الحد اﻷقصى لحجم الطلب (سيتم استخدام التحميل المباشر للتحميلات صغيرة الخحم). يمكنك إدخال عدد صحيح عادي يدل على الحجم بوحدة البايت أو نمظ مثل10MB, 1GB, إلخ.", + "tusUploadsRetryCount": "عدد مرات إعادة المحاولة إذا فشلت عملية تحميل القطعة.", + "userHomeBasePath": "المسار الرئيسي لمجلد المستخدم الرئيسي", + "userScopeGenerationPlaceholder": "سيتم تعيين نطاق المستخدم تلقائياً", + "createUserHomeDirectory": "إنشاء مجلد المستخدم الرئيسي", + "customStylesheet": "ستايل مخصص", + "defaultUserDescription": "هذه اﻹعدادات اﻹفتراضية للمستخدمين الجدد.", + "disableExternalLinks": "تعطيل الروابط الخارجية (بإسثناء الوثائق)", + "disableUsedDiskPercentage": "تعطيل الرسم البياني لنسبة القرص المستخدم", + "documentation": "التوثيق", + "examples": "أمثلة", + "executeOnShell": "نفيذ اﻷمر على الواجهة (shell)", + "executeOnShellDescription": "يقوم متصفح الملفات بتنفيذ اﻷوامر عن طريق استدعاء البرامج المنفذة مباشرة. إذا كنت تريد تشغيلها عن ظريق واجهة اﻷوامر (shell) مثل Bash أو PowerShell، يمكنك تعريفها هنا مع الوسائظ (arguments) المطلوبة. إذا تم تعيينها، سيتم إضافة اﻷمر الذي تقوم بتنفيذه كوسيط. ينطبق هذا على كل من أوامر المستخدم روابظ الحدث (hooks).", + "globalRules": "هذه مجموعة من القواعد العامة للسماح و المنع. تطبق على كل المستخدمين. يمكنك تحديد قواعد محددة لكل مستخدم لتجاوز القواعد الغامة.", + "globalSettings": "إعدادات عامة", + "hideDotfiles": "إخفاء ملفات النقطة", + "insertPath": "ادخل المسار", + "insertRegex": "ادخل تعبيراً منطقياً (regex)", + "instanceName": "اسم النسخة", + "language": "اللغة", + "lockPassword": "منع المستخدم من تغيير كلمة المرور", + "newPassword": "كلمة المرور الجديدة", + "newPasswordConfirm": "تأكيد كلمة المرور", + "newUser": "مستخدم جديد", + "password": "كلمة المرور", + "passwordUpdated": "تم تغيير كلمة المرور!", + "path": "المسار", + "perm": { + "create": "إنشاء ملفات و مجلدات جديدة", + "delete": "حذف ملفات و مجلدات", + "download": "تحميل", + "execute": "تنفيذ اﻷوامر", + "modify": "تعديل محتويات الملفات", + "rename": "إعادة تسمية او نقل ملفات و مجلدات", + "share": "مشاركة ملفات" + }, + "permissions": "الصلاحيات", + "permissionsHelp": "يمكنك تعيين المستخدم كـ \"مدير\" أو تحديد الصلاحيات بشكل منفرد.\n إذا قمت بتحديد المستخدم كـ \"مدير\"، باقي الخيارات سيتم تحديدها تلقائياً.\n إدارة المستخدمين تبقى صلاحية فريدة للـ \"مدير\" فقط.\n", + "profileSettings": "إعدادات الحساب", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "منع الوصول إلى الملفات التي تبدأ بنقطة مثل (.git، و .gitignore) في كل مجلد.\n", + "ruleExample2": "منع الوصول إلى الملف المسمى Caddyfile في نطاق الجذر.", + "rules": "المجموعات", + "rulesHelp": "يمكنك هنا تحديد مجموعة من شروط السماح و المنع لهذا المستخدم. الملفات الممنوعة لن تظهر ضمن القائمة لهذا المستخدم و لن يستطيع الوصول لها. هنا ندعم الـ regex و الـ relative path لنطاق المستخدمين.\n", + "scope": "نطاق", + "setDateFormat": "حدد تنسيق التاريخ", + "settingsUpdated": "تم تعديل اﻹعدادات", + "shareDuration": "مدة المشاركة", + "shareManagement": "إدارة المشاركات", + "shareDeleted": "تم حذف المشاركة!", + "singleClick": "استخدم النقرة الواحدة لفتح الملفات", + "themes": { + "default": "افتراضي (نظام التشغيل)", + "dark": "غامق", + "light": "فاتح", + "title": "موضوع" + }, + "user": "المستخدم", + "userCommands": "اﻷوامر", + "userCommandsHelp": "اﻷوامر المتاحة لهذا المستخدم مفصولة فيما بينها بمسافة. مثال:\n", + "userCreated": "تم إنشاء المستخدم", + "userDefaults": "إعدادات المستخدم اﻹفتراضية", + "userDeleted": "تم حذف المستخدم", + "userManagement": "إدارة المستخدمين", + "userUpdated": "تم تعديل المستخدم", + "username": "إسم المستخدم", + "users": "المستخدمين", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "مساعدة", + "hugoNew": "هيوجو جديد", + "login": "تسجيل دخول", + "logout": "تسجيل خروج", + "myFiles": "ملفاتي", + "newFile": "ملف جديد", + "newFolder": "مجلد جديد", + "preview": "عرض مسبق", + "settings": "اﻹعدادات", + "signup": "إشتراك", + "siteSettings": "إعدادات الموقع" + }, + "success": { + "linkCopied": "تم نسخ الملف" + }, + "time": { + "days": "أيام", + "hours": "ساعات", + "minutes": "دقائق", + "seconds": "ثواني", + "unit": "وحدة الوقت" + } +} diff --git a/frontend/src/i18n/bg.json b/frontend/src/i18n/bg.json new file mode 100644 index 00000000..d1388d3f --- /dev/null +++ b/frontend/src/i18n/bg.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Отмени", + "clear": "Изчисти", + "close": "Затвори", + "continue": "Продължи", + "copy": "Копирай", + "copyFile": "Копирай файл", + "copyToClipboard": "Копирай в клипборда", + "copyDownloadLinkToClipboard": "Копирай линк за сваляне в клипборда", + "create": "Създай", + "delete": "Изтрий", + "download": "Свали", + "file": "Файл", + "folder": "Папка", + "fullScreen": "Превключване на цял екран", + "hideDotfiles": "Скрий файлове започващи с точка", + "info": "Информация", + "more": "Повече", + "move": "Премести", + "moveFile": "Премести файл", + "new": "Нов", + "next": "Следващ", + "ok": "Потвърди", + "permalink": "Вземи постоянен линк", + "previous": "Предишен", + "preview": "Преглед", + "publish": "Публикуване", + "rename": "Преименуване", + "replace": "Замяна", + "reportIssue": "Докладвай проблем", + "save": "Запис", + "schedule": "График", + "search": "Търсене", + "select": "Избери", + "selectMultiple": "Избери няколко", + "share": "Сподели", + "shell": "Превключване на терминала", + "submit": "Изпрати", + "switchView": "Смени изгледа", + "toggleSidebar": "Превключване на страничен панел", + "update": "Обнови", + "upload": "Качи", + "openFile": "Отвори файл", + "discardChanges": "Изчисти", + "stopSearch": "Stop searching", + "saveChanges": "Запиши промените", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Свали файл", + "downloadFolder": "Свали папка", + "downloadSelected": "Свали избраното" + }, + "upload": { + "abortUpload": "Сигурни ли сте, че искате да прекратите?" + }, + "errors": { + "forbidden": "Нямате право на достъп.", + "internal": "Взникна грешка.", + "notFound": "Локацията не може да бъде достигната.", + "connection": "Сървъра не може да бъде достигнат." + }, + "files": { + "body": "Тяло", + "closePreview": "Затвори прегледа", + "files": "Файлове", + "folders": "Папки", + "home": "Начало", + "lastModified": "Последна промяна", + "loading": "Зареждане ...", + "lonely": "Тук е самотно ...", + "metadata": "Метаданни", + "multipleSelectionEnabled": "Множествения избор е разрешен", + "name": "Име", + "size": "Размер", + "sortByLastModified": "Подредба по последна промяна", + "sortByName": "Подредба по име", + "sortBySize": "Подредба по размер", + "noPreview": "За този файл не е наличен преглед.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "избери файл или директория", + "ctrl": { + "click": "избери файлове или директории", + "f": "отваря търсене", + "s": "запиши файл или свари директория тук" + }, + "del": "изтрий избраните", + "doubleClick": "отвори файл или директория", + "esc": "изтрий избраното и/или затвори", + "f1": "тази информация", + "f2": "преименувай файл", + "help": "Помощ" + }, + "login": { + "createAnAccount": "Създай акаунт", + "loginInstead": "Вече имаш акаунт", + "password": "Парола", + "passwordConfirm": "Парола Потвърждение", + "passwordsDontMatch": "Паролите не съвпадат", + "signup": "Абониране", + "submit": "Вход", + "username": "Потребителско име", + "usernameTaken": "Потребителското име вече се използва", + "wrongCredentials": "Грешни потребителско име и/или парола", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "Бяхте разлогнати поради неактивност" + } + }, + "permanent": "Постоянен", + "prompts": { + "copy": "Копирай", + "copyMessage": "Избери къде да копираш файловете си:", + "currentlyNavigating": "В момента навигира към:", + "deleteMessageMultiple": "Сигурни ли сте, че искате да изтриете {count} файл(а)?", + "deleteMessageSingle": "Сигурни ли сте, че искате да изтриете този файл/папка?", + "deleteMessageShare": "Сигурни ли сте, че искате на изтриете това споделяне({path})?", + "deleteUser": "Сигурни ли сте, че искате да изтриете този потребител?", + "deleteTitle": "Изтрий файлове", + "displayName": "Име за показване:", + "download": "Свали файлове", + "downloadMessage": "Изберете формата, в който искате да свалите.", + "error": "Възникна грешка", + "fileInfo": "Информация за файла", + "filesSelected": "Избрани са {count} файла.", + "lastModified": "Последна промяна", + "move": "Премести", + "moveMessage": "Избери ново място за вашите файл(ове)/папк(а/и):", + "newArchetype": "Създай нова публикация базирана на шаблон. Вашия файл ще бъде създаден в папката за съдържание.", + "newDir": "Нова директория", + "newDirMessage": "Именувайте вашата нова директория.", + "newFile": "Нов файл", + "newFileMessage": "Именувайте вашия нов файл.", + "numberDirs": "Брой на директорийте", + "numberFiles": "Брой на файловете", + "rename": "Преименувай", + "renameMessage": "Вмъкни ново име за", + "replace": "Замени", + "replaceMessage": "Файл, които се опитвате да качите има конфликтно име. Искате ли да го пропуснете и да продължите качването или да замените съществуващия файл?\n", + "schedule": "График", + "scheduleMessage": "Изберете дата и час за публикуване на тази публикация.", + "show": "Покажи", + "size": "Размер", + "upload": "Качване", + "uploadFiles": "Качване на {files} файла...", + "uploadMessage": "Изберете опция за качване.", + "optionalPassword": "Опционална парола", + "resolution": "Резолюция", + "discardEditorChanges": "Сигурни ли сте, че искате да откажете направените промени?" + }, + "search": { + "images": "Изображения", + "music": "Музика", + "pdf": "PDF", + "pressToSearch": "За търсене, натиснете Enter ...", + "search": "Търсене ...", + "typeToSearch": "Пишете за търсене ...", + "types": "Типове", + "video": "Видео" + }, + "settings": { + "aceEditorTheme": "Тема на \"Ace редактор\"", + "admin": "Админ", + "administrator": "Администратор", + "allowCommands": "Изпълни команди", + "allowEdit": "Редактира, преименува и изтрива файлове и директории", + "allowNew": "Създава нови файлове и директорий", + "allowPublish": "Публикува нови публикации и страници", + "allowSignup": "Разреши потребителите да се абонират", + "hideLoginButton": "Скрий логин бутона от публичните страници", + "avoidChanges": "(остави празно за да избегнеш промени)", + "branding": "Брандиране", + "brandingDirectoryPath": "Брандиране - път до директория", + "brandingHelp": "Можете да настроите как изглежда вашия File Browser, като промените името и логото му, да добавите стилове и дори да забраните външни линкове към GitHub.\nЗа повече информация за бандиране се обърнете към {0}", + "changePassword": "Промени парола", + "commandRunner": "Изпълнение на команди", + "commandRunnerHelp": "Тук можете да зададете команди, които да се изпълнят при определени събития. Пишете по една команда на ред. Системните променливите {0} и {1} ще са на разположение, като {0} е релативна на {1}. За повече информация относно тази възможност и наличните системни променливи, моля прочетете {2}.", + "commandsUpdated": "Командите са запаметени!", + "createUserDir": "Създай автоматично собствена директория на потребителя, когато го добавяш.", + "minimumPasswordLength": "Минимална дължина на паролата", + "tusUploads": "Качване на части", + "tusUploadsHelp": "File Browser поддържа качване на части, което позволява съзадавнето на ефективно, надеждно, и възобновяемо качване на части дори и при ненадеждна мрежа.", + "tusUploadsChunkSize": "Максимален размер на заявката (за малки качвания ще бъдат използвано директо качване). Можете да въведете цяло число, което означава размера на данните в байтове, или пък текст от вида на 10MB, 1GB и т.н..", + "tusUploadsRetryCount": "Брой повторения, когато част от файл не се качи успешно.", + "userHomeBasePath": "Основен път до личните директории на потребителите", + "userScopeGenerationPlaceholder": "Обхватът ще бъде автоматично генериран", + "createUserHomeDirectory": "Създай лична директория на потребителя", + "customStylesheet": "Потребителски Стилове", + "defaultUserDescription": "Настройки по подразбиране за нови потребители.", + "disableExternalLinks": "Забрани външните връзки (с изключение на документацията)", + "disableUsedDiskPercentage": "Забрани графиката за използване на диска", + "documentation": "документация", + "examples": "Примери", + "executeOnShell": "Изпълни в шела", + "executeOnShellDescription": "По подразбиране, File Browser изпълнява командите директно. Ако искате да ги изпълните в сесия (като Bash или PowerShell), можете да я дефинирате тук заедно с необходимите аргументи и флагове. Ако това е зададено, командата която изпълните ще бъде добавена като аргумент. Това се отнася както за потребителски команди, така и за обработка на събития.", + "globalRules": "Това е общия списък от правила за разрешения или забрани. Те са приложими за всеки потребител. Можете да дефинирате специфични правила в настройките на всеки потребител, които ще имат приоритет над общите.", + "globalSettings": "Глобални Настройки", + "hideDotfiles": "Скрий фаловете започващи с точка", + "insertPath": "Вмъкни пътя", + "insertRegex": "Вмъкни регулярен израз", + "instanceName": "Име на инстанцията", + "language": "Език", + "lockPassword": "Забрани на потребителя да променя паролата", + "newPassword": "Вашата нова парола", + "newPasswordConfirm": "Потвърди вашата нова парола", + "newUser": "Нов потребител", + "password": "Парола", + "passwordUpdated": "Паролата е променена!", + "path": "Път", + "perm": { + "create": "Създаване на файлове и директорий", + "delete": "Изтриване на файлове и директорий", + "download": "Сваляне", + "execute": "Изпълни команди", + "modify": "Редактирай файлове", + "rename": "Преименувай или премести файлове и директорий", + "share": "Сподели файлове" + }, + "permissions": "Разрешения", + "permissionsHelp": "Можете да зададете потребител да бъде администратор или да изберете разрешения индивидуално. Ако изберете \"Администратор\" всички други опции ще бъдат автоматично отметнати. Управлението на потребителите е привилегия на администратор.\n", + "profileSettings": "Настройки на Профила", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "предотвратете достъпа до всеки файл започващ с точка (като .git, .gitignore) във всяка папка.\n", + "ruleExample2": "блокира достъпа до файл именуван Caddyfile поставен в началото за обхвата.", + "rules": "Правила", + "rulesHelp": "Тук можете да дефинирате списък от правила за разрешаване и забрана за точно този потребител. Блокираните файлове няма да се покажат в списъците и няма да са достъпни за потребителя. Поддържаме регулярни изрази и пътища релативни на обхвата.\n", + "scope": "Обхват", + "setDateFormat": "Задайте точен формат на дата", + "settingsUpdated": "Настройките са обновени!", + "shareDuration": "Продължителност на споделянето", + "shareManagement": "Управление на споделянето", + "shareDeleted": "Споделянето е премахнато!", + "singleClick": "Използвайте единичен клик за да отворите файлове или директорий", + "themes": { + "default": "Настройки по подразбиране", + "dark": "Тъмна", + "light": "Светла", + "title": "Тема" + }, + "user": "Потребител", + "userCommands": "Команди", + "userCommandsHelp": "Списък разделен с интервал от наличните команди за този потребител.\n", + "userCreated": "Потребителя е създаден!", + "userDefaults": "Настройки по подразбиране на потребителя", + "userDeleted": "Потребителя е изтрит!", + "userManagement": "Управление на потребители", + "userUpdated": "Потребителя е обновен!", + "username": "Потребителско име", + "users": "Потребители", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Помощ", + "hugoNew": "Hugo New", + "login": "Вход", + "logout": "Изход", + "myFiles": "Моите файлове", + "newFile": "Нов файл", + "newFolder": "Нова папка", + "preview": "Преглед", + "settings": "Настройки", + "signup": "Абониране", + "siteSettings": "Настройки на сървъра" + }, + "success": { + "linkCopied": "Връзката е копирана!" + }, + "time": { + "days": "Дни", + "hours": "Часове", + "minutes": "Минути", + "seconds": "Секунди", + "unit": "Единица за време" + } +} diff --git a/frontend/src/i18n/ca.json b/frontend/src/i18n/ca.json new file mode 100644 index 00000000..2ca2b5d4 --- /dev/null +++ b/frontend/src/i18n/ca.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Cancel·lar", + "clear": "Netejar", + "close": "Tancar", + "continue": "Continuar", + "copy": "Copiar", + "copyFile": "Copiar fitxer", + "copyToClipboard": "Copiar al porta-retalls", + "copyDownloadLinkToClipboard": "Copiar l'enllaç de descàrrega al portapapers", + "create": "Crear", + "delete": "Esborrar", + "download": "Descarregar", + "file": "Fitxer", + "folder": "Carpeta", + "fullScreen": "Canviar a pantalla completa", + "hideDotfiles": "Ocultar fitxers que comencen per punt", + "info": "Info", + "more": "Més", + "move": "Moure", + "moveFile": "Moure fitxer", + "new": "Nou", + "next": "Següent", + "ok": "D'acord", + "permalink": "Enllaç permanent", + "previous": "Anterior", + "preview": "Preview", + "publish": "Publicar", + "rename": "Reanomenar", + "replace": "Substituir", + "reportIssue": "Reportar problema", + "save": "Desar", + "schedule": "Programar", + "search": "Cercar", + "select": "Seleccionar", + "selectMultiple": "Selecció múltiple", + "share": "Compartir", + "shell": "Prem Enter per cercar...", + "submit": "Enviar", + "switchView": "Canviar vista", + "toggleSidebar": "Mostrar/ocultar menú", + "update": "Actualitzar", + "upload": "Pujar", + "openFile": "Obrir fitxer", + "discardChanges": "Descartar", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Descarregar fitxer", + "downloadFolder": "Descarregar directori", + "downloadSelected": "Descarregar seleccionats" + }, + "upload": { + "abortUpload": "Are you sure you wish to abort?" + }, + "errors": { + "forbidden": "No tens els permisos necessaris per accedir.", + "internal": "La veritat és que alguna cosa ha anat malament.", + "notFound": "No es pot accedir a aquest lloc.", + "connection": "No es pot accedir al servidor." + }, + "files": { + "body": "Cos", + "closePreview": "Tancar vista prèvia", + "files": "Fitxers", + "folders": "Carpetes", + "home": "Inici", + "lastModified": "Última modificació", + "loading": "Carregant...", + "lonely": "Un se sent molt sol aquí...", + "metadata": "Metadades", + "multipleSelectionEnabled": "Selecció múltiple activada", + "name": "Nom", + "size": "Mida", + "sortByLastModified": "Ordenar per última modificació", + "sortByName": "Ordenar per nom", + "sortBySize": "Ordenar per mida", + "noPreview": "La vista prèvia no està disponible per a aquest fitxer.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "seleccionar fitxer o carpeta", + "ctrl": { + "click": "seleccionar múltiples fitxers o carpetes", + "f": "obre la cerca", + "s": "desa un fitxer o el descarrega a la carpeta en què estàs" + }, + "del": "elimina els ítems seleccionats", + "doubleClick": "obre un fitxer o carpeta", + "esc": "neteja la selecció i/o tanca la finestra", + "f1": "aquesta informació", + "f2": "reanomenar fitxer", + "help": "Ajuda" + }, + "login": { + "createAnAccount": "Crear un compte", + "loginInstead": "Usuari ja existent", + "password": "Contrasenya", + "passwordConfirm": "Confirmació de contrasenya", + "passwordsDontMatch": "Les contrasenyes no coincideixen", + "signup": "Registra't", + "submit": "Iniciar sessió", + "username": "Usuari", + "usernameTaken": "Nom d'usuari no disponible", + "wrongCredentials": "Usuari i/o contrasenya incorrectes", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Permanent", + "prompts": { + "copy": "Copiar", + "copyMessage": "Tria el lloc on vols copiar els teus fitxers:", + "currentlyNavigating": "Actualment estàs a:", + "deleteMessageMultiple": "Estàs segur que vols eliminar {count} fitxer(s)?", + "deleteMessageSingle": "Estàs segur que vols eliminar aquest fitxer/carpeta?", + "deleteMessageShare": "Estàs segur que vols eliminar aquest recurs compartit ({path})?", + "deleteUser": "Esteu segur que voleu eliminar aquest usuari?", + "deleteTitle": "Esborrar fitxers", + "displayName": "Nom:", + "download": "Descarregar fitxers", + "downloadMessage": "Tria el format de descàrrega.", + "error": "Alguna cosa ha fallat", + "fileInfo": "Informació del fitxer", + "filesSelected": "{count} fitxers seleccionats.", + "lastModified": "Última modificació", + "move": "Moure", + "moveMessage": "Tria una nova casa per als teus fitxers/carpeta(s):", + "newArchetype": "Crea un nou post basat en un arquetip. El teu fitxer serà creat a la carpeta de contingut.", + "newDir": "Nova carpeta", + "newDirMessage": "Escriu el nom de la nova carpeta.", + "newFile": "Nou fitxer", + "newFileMessage": "Escriu el nom del nou fitxer.", + "numberDirs": "Nombre de carpetes", + "numberFiles": "Nombre de fitxers", + "rename": "Reanomenar", + "renameMessage": "Escriu el nou nom per a", + "replace": "Substituir", + "replaceMessage": "Un dels fitxers que intentes pujar està creant conflicte pel seu nom. Vols canviar el nom del ja existent?\n", + "schedule": "Programar", + "scheduleMessage": "Tria una hora i data per programar la publicació d'aquest post.", + "show": "Mostrar", + "size": "Mida", + "upload": "Pujar", + "uploadFiles": "Pujant {files} fitxers...", + "uploadMessage": "Seleccioneu una opció per pujar.", + "optionalPassword": "Contrasenya opcional", + "resolution": "Resolució", + "discardEditorChanges": "Esteu segur que voleu descartar els canvis que heu fet?" + }, + "search": { + "images": "Imatges", + "music": "Música", + "pdf": "PDF", + "pressToSearch": "Prem Enter per cercar...", + "search": "Cercar...", + "typeToSearch": "Escriu per fer una cerca...", + "types": "Tipus", + "video": "Vídeo" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Administrador", + "allowCommands": "Executar comandes", + "allowEdit": "Editar, reanomenar i esborrar fitxers o carpetes", + "allowNew": "Crear nous fitxers i carpetes", + "allowPublish": "Publicar nous posts i pàgines", + "allowSignup": "Permetre registre d'usuaris", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(deixar en blanc per evitar canvis)", + "branding": "Marca", + "brandingDirectoryPath": "Ruta de la carpeta de personalització de marca", + "brandingHelp": "Pots personalitzar com es veu la teva instància de FileBrowser canviant-li el nom, reemplaçant el logotip, afegint estils personalitzats i fins i tot deshabilitant els enllaços externs que apunten cap a GitHub. \nPer a més informació sobre personalització de marca, si us plau revisa el {0}.", + "changePassword": "Canviar contrasenya", + "commandRunner": "Executor de comandes", + "commandRunnerHelp": "Aquí pots establir les comandes que s'executen en els esdeveniments anomenats. Has d'escriure'n una per línia. Les variables d'entorn {0} i {1} estaran disponibles, sent {0} relativa a {1}. Per a més informació sobre aquesta característica i les variables d'entorn disponibles, si us plau llegeix el {2}.", + "commandsUpdated": "Comandes actualitzades!", + "createUserDir": "Crea automàticament una carpeta d'inici quan s'afegeix un usuari", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Càrregues a trossos", + "tusUploadsHelp": "El File Browser suporta càrregues de fitxers a trossos, permetent la creació de càrregues de fitxers eficients, fiables, reanudables i a trossos fins i tot en xarxes poc fiables.", + "tusUploadsChunkSize": "Indica la mida màxima d'una sol·licitud (s'utilitzaran càrregues directes per a càrregues més petites). Podeu introduir un enter pla que indiqui la mida en bytes o una cadena com 10MB, 1GB, etc.", + "tusUploadsRetryCount": "Nombre de reintents a realitzar si una part falla en carregar-se.", + "userHomeBasePath": "Ruta base per als directoris personals dels usuaris", + "userScopeGenerationPlaceholder": "L'àmbit es generarà automàticament", + "createUserHomeDirectory": "Crear el directori principal de l'usuari", + "customStylesheet": "Modificar full d'estils", + "defaultUserDescription": "Aquestes són les configuracions per defecte per a nous usuaris.", + "disableExternalLinks": "Deshabilitar enllaços externs (excepte documentació)", + "disableUsedDiskPercentage": "Desactivar el gràfic de percentatge de disc utilitzat", + "documentation": "documentació", + "examples": "Exemples", + "executeOnShell": "Executar a la shell", + "executeOnShellDescription": "Per defecte, FileBrowser executa les comandes cridant directament els seus binaris. Si vols executar-los en una shell en lloc (com Bash o PowerShell), pots definir-ho aquí amb els arguments i flags necessaris. Si es defineix, la comanda que s'executa s'afegirà com a argument. Això s'aplica tant a les comandes d'usuari com als ganxos d'esdeveniments.", + "globalRules": "Es tracta d'un conjunt global de regles de permís i rebuig. S'apliquen a tots els usuaris. Pots definir regles específiques en la configuració de cada usuari per anul·lar aquestes.", + "globalSettings": "Ajustos globals", + "hideDotfiles": "Ocultar fitxers que comencen per punt", + "insertPath": "Introdueix la ruta", + "insertRegex": "Introduir expressió regular", + "instanceName": "Nom de la instància", + "language": "Idioma", + "lockPassword": "Evitar que l'usuari canviï la contrasenya", + "newPassword": "La teva nova contrasenya", + "newPasswordConfirm": "Confirma la teva contrasenya", + "newUser": "Nou usuari", + "password": "Contrasenya", + "passwordUpdated": "Contrasenya actualitzada!", + "path": "Ruta", + "perm": { + "create": "Crear fitxers i directoris", + "delete": "Eliminar fitxers i directoris", + "download": "Descarregar", + "execute": "Executar comandes", + "modify": "Editar fitxers", + "rename": "Reanomenar o moure fitxers i directoris", + "share": "Compartir fitxers" + }, + "permissions": "Permisos", + "permissionsHelp": "Pots nomenar l'usuari com a administrador o triar els permisos individualment. Si selecciones \"Administrador\", totes les altres opcions s'activaran automàticament. L'administració d'usuaris és un privilegi d'administrador.\n", + "profileSettings": "Ajustos del perfil", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "prevé l'accés a una extensió de fitxer (Com .git) en cada carpeta.\n", + "ruleExample2": "bloqueja l'accés al fitxer anomenat Caddyfile a la carpeta arrel.", + "rules": "Regles", + "rulesHelp": "Aquí pots definir un conjunt de regles de permisos per a aquest usuari específic. Els fitxers bloquejats no es mostraran en les llistes i no seran accessibles per l'usuari. Pots utilitzar regex i rutes relatives a l'arrel de l'usuari.\n", + "scope": "Arrel", + "setDateFormat": "Establir el format exacte de la data", + "settingsUpdated": "Ajustos actualitzats!", + "shareDuration": "Compartir Duració", + "shareManagement": "Gestió Compartida", + "shareDeleted": "Recurs compartit eliminat!", + "singleClick": "Utilitza un sol clic per obrir fitxers i directoris", + "themes": { + "default": "Valor per defecte del sistema", + "dark": "Fosc", + "light": "Clar", + "title": "Tema" + }, + "user": "Usuari", + "userCommands": "Comandes", + "userCommandsHelp": "Una llista separada per espais amb les comandes permeses per a aquest usuari. Exemple:\n", + "userCreated": "Usuari creat!", + "userDefaults": "Configuració d'usuari per defecte", + "userDeleted": "Usuari eliminat!", + "userManagement": "Administració d'usuaris", + "userUpdated": "Usuari actualitzat!", + "username": "Usuari", + "users": "Usuaris", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Ajuda", + "hugoNew": "Nou Hugo", + "login": "Iniciar sessió", + "logout": "Tancar sessió", + "myFiles": "Els meus fitxers", + "newFile": "Nou fitxer", + "newFolder": "Nova carpeta", + "preview": "Vista prèvia", + "settings": "Ajustos", + "signup": "Registra't", + "siteSettings": "Ajustos del lloc" + }, + "success": { + "linkCopied": "Enllaç copiat!" + }, + "time": { + "days": "Dies", + "hours": "Hores", + "minutes": "Minuts", + "seconds": "Segons", + "unit": "Unitat" + } +} diff --git a/frontend/src/i18n/cs.json b/frontend/src/i18n/cs.json new file mode 100644 index 00000000..d57c4336 --- /dev/null +++ b/frontend/src/i18n/cs.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Zrušit", + "clear": "Vymazat", + "close": "Zavřít", + "continue": "Pokračovat", + "copy": "Kopírovat", + "copyFile": "Kopírovat soubor", + "copyToClipboard": "Kopírovat do schránky", + "copyDownloadLinkToClipboard": "Kopírovat odkaz na stažení do schránky", + "create": "Vytvořit", + "delete": "Smazat", + "download": "Stáhnout", + "file": "Soubor", + "folder": "Složka", + "fullScreen": "Přepnout na celou obrazovku", + "hideDotfiles": "Skrýt skryté soubory", + "info": "Informace", + "more": "Více", + "move": "Přesunout", + "moveFile": "Přesunout soubor", + "new": "Nový", + "next": "Další", + "ok": "OK", + "permalink": "Získat trvalý odkaz", + "previous": "Předchozí", + "preview": "Preview", + "publish": "Publikovat", + "rename": "Přejmenovat", + "replace": "Nahradit", + "reportIssue": "Nahlásit problém", + "save": "Uložit", + "schedule": "Naplánovat", + "search": "Hledat", + "select": "Vybrat", + "selectMultiple": "Vybrat více", + "share": "Sdílet", + "shell": "Přepnout shell", + "submit": "Odeslat", + "switchView": "Přepnout zobrazení", + "toggleSidebar": "Přepnout postranní panel", + "update": "Aktualizovat", + "upload": "Nahrát", + "openFile": "Otevřít soubor", + "discardChanges": "Zrušit změny", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Stáhnout soubor", + "downloadFolder": "Stáhnout složku", + "downloadSelected": "Stáhnout vybrané" + }, + "upload": { + "abortUpload": "Opravdu chcete přerušit nahrávání?" + }, + "errors": { + "forbidden": "Nemáte oprávnění k přístupu.", + "internal": "Nastala vážná chyba.", + "notFound": "Tuto lokaci nelze najít.", + "connection": "Server nelze dosáhnout." + }, + "files": { + "body": "Tělo", + "closePreview": "Zavřít náhled", + "files": "Soubory", + "folders": "Složky", + "home": "Domů", + "lastModified": "Naposledy změněno", + "loading": "Načítání...", + "lonely": "Je tu osaměle...", + "metadata": "Metadata", + "multipleSelectionEnabled": "Vícenásobný výběr povolen", + "name": "Název", + "size": "Velikost", + "sortByLastModified": "Seřadit podle poslední změny", + "sortByName": "Seřadit podle názvu", + "sortBySize": "Seřadit podle velikosti", + "noPreview": "Náhled pro tento soubor není k dispozici.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "vyberte soubor nebo adresář", + "ctrl": { + "click": "vybrat více souborů nebo adresářů", + "f": "otevřít vyhledávání", + "s": "uložit soubor nebo stáhnout adresář, kde se nacházíte" + }, + "del": "smazat vybrané položky", + "doubleClick": "otevřít soubor nebo adresář", + "esc": "zrušit výběr a/nebo zavřít výzvu", + "f1": "tato informace", + "f2": "přejmenovat soubor", + "help": "Nápověda" + }, + "login": { + "createAnAccount": "Vytvořit účet", + "loginInstead": "Již máte účet", + "password": "Heslo", + "passwordConfirm": "Potvrzení hesla", + "passwordsDontMatch": "Hesla se neshodují", + "signup": "Registrace", + "submit": "Přihlásit se", + "username": "Uživatelské jméno", + "usernameTaken": "Uživatelské jméno již existuje", + "wrongCredentials": "Nesprávné přihlašovací údaje", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Trvalý", + "prompts": { + "copy": "Kopírovat", + "copyMessage": "Vyberte místo, kam chcete soubory kopírovat:", + "currentlyNavigating": "Aktuálně navigujete v:", + "deleteMessageMultiple": "Opravdu chcete smazat {count} soubor(ů)?", + "deleteMessageSingle": "Opravdu chcete smazat tento soubor/složku?", + "deleteMessageShare": "Opravdu chcete smazat toto sdílení({path})?", + "deleteUser": "Opravdu chcete smazat tohoto uživatele?", + "deleteTitle": "Smazat soubory", + "displayName": "Zobrazované jméno:", + "download": "Stáhnout soubory", + "downloadMessage": "Vyberte formát, který chcete stáhnout.", + "error": "Něco se pokazilo", + "fileInfo": "Informace o souboru", + "filesSelected": "{count} souborů vybráno.", + "lastModified": "Naposledy změněno", + "move": "Přesunout", + "moveMessage": "Vyberte nové umístění pro váš soubor(y)/složku(y):", + "newArchetype": "Vytvořit nový příspěvek na základě archetypu. Váš soubor bude vytvořen ve složce content.", + "newDir": "Nový adresář", + "newDirMessage": "Pojmenujte svůj nový adresář.", + "newFile": "Nový soubor", + "newFileMessage": "Pojmenujte svůj nový soubor.", + "numberDirs": "Počet adresářů", + "numberFiles": "Počet souborů", + "rename": "Přejmenovat", + "renameMessage": "Vložte nový název pro", + "replace": "Nahradit", + "replaceMessage": "Jeden ze souborů, které se snažíte nahrát, má konfliktní název. Chcete tento soubor přeskočit a pokračovat v nahrávání, nebo nahradit stávající?", + "schedule": "Naplánovat", + "scheduleMessage": "Vyberte datum a čas pro naplánování publikace tohoto příspěvku.", + "show": "Zobrazit", + "size": "Velikost", + "upload": "Nahrát", + "uploadFiles": "Nahrávání {files} souborů...", + "uploadMessage": "Vyberte možnost pro nahrání.", + "optionalPassword": "Volitelné heslo", + "resolution": "Rozlišení", + "discardEditorChanges": "Opravdu chcete zrušit provedené změny?" + }, + "search": { + "images": "Obrázky", + "music": "Hudba", + "pdf": "PDF", + "pressToSearch": "Stiskněte enter pro hledání...", + "search": "Hledat...", + "typeToSearch": "Zadejte pro hledání...", + "types": "Typy", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Administrátor", + "allowCommands": "Povolit příkazy", + "allowEdit": "Upravit, přejmenovat a mazat soubory nebo adresáře", + "allowNew": "Vytvářet nové soubory a adresáře", + "allowPublish": "Publikovat nové příspěvky a stránky", + "allowSignup": "Povolit uživatelům registraci", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(ponechte prázdné pro zabránění změnám)", + "branding": "Branding", + "brandingDirectoryPath": "Cesta ke složce s brandingem", + "brandingHelp": "Můžete přizpůsobit vzhled a dojem z vaší instance File Browseru změnou názvu, nahrazením loga, přidáním vlastních stylů a dokonce zakázat externí odkazy na GitHub.\nPro více informací o přizpůsobení brandingu se podívejte na {0}.", + "changePassword": "Změnit heslo", + "commandRunner": "Spouštění příkazů", + "commandRunnerHelp": "Zde můžete nastavit příkazy, které se spustí při určených událostech. Každý příkaz musí být na samostatném řádku. Budou k dispozici proměnné prostředí {0} a {1}, přičemž {0} se vztahuje na {1}. Pro více informací o této funkci a dostupných proměnných prostředí si přečtěte {2}.", + "commandsUpdated": "Příkazy aktualizovány!", + "createUserDir": "Automaticky vytvořit domovskou složku uživatele při přidání nového uživatele", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Nahrávání po částech", + "tusUploadsHelp": "File Browser podporuje nahrávání souborů po částech, což umožňuje vytváření efektivních, spolehlivých, obnovitelných a rozdělených nahrávek souborů i na nespolehlivých sítích.", + "tusUploadsChunkSize": "Maximální velikost požadavku (přímé nahrávání bude použito pro menší nahrávky). Můžete zadat prosté číslo označující velikost v bajtech nebo řetězec jako 10MB, 1GB atd.", + "tusUploadsRetryCount": "Počet pokusů o opakování, pokud se nahrání části nezdaří.", + "userHomeBasePath": "Základní cesta pro domovské adresáře uživatelů", + "userScopeGenerationPlaceholder": "Rozsah bude automaticky vygenerován", + "createUserHomeDirectory": "Vytvořit domovský adresář uživatele", + "customStylesheet": "Vlastní stylový soubor", + "defaultUserDescription": "Toto jsou výchozí nastavení pro nové uživatele.", + "disableExternalLinks": "Zakázat externí odkazy (kromě dokumentace)", + "disableUsedDiskPercentage": "Zakázat graf s procentem využitého disku", + "documentation": "dokumentace", + "examples": "Příklady", + "executeOnShell": "Spustit na shellu", + "executeOnShellDescription": "Ve výchozím nastavení File Browser spouští příkazy přímo voláním jejich binárek. Pokud je chcete spouštět na shellu (např. Bash nebo PowerShell), můžete to zde definovat s požadovanými argumenty a příznaky. Pokud je nastaveno, příkaz, který spustíte, bude přidán jako argument. To platí jak pro uživatelské příkazy, tak pro háky událostí.", + "globalRules": "Jedná se o globální sadu povolení a zakázání pravidel. Platí pro každého uživatele. Specifická pravidla můžete definovat v nastaveních každého uživatele, aby přepsala tato pravidla.", + "globalSettings": "Globální nastavení", + "hideDotfiles": "Skrýt skryté soubory", + "insertPath": "Vložte cestu", + "insertRegex": "Vložte regex výraz", + "instanceName": "Název instance", + "language": "Jazyk", + "lockPassword": "Zabránit uživateli ve změně hesla", + "newPassword": "Vaše nové heslo", + "newPasswordConfirm": "Potvrďte své nové heslo", + "newUser": "Nový uživatel", + "password": "Heslo", + "passwordUpdated": "Heslo bylo aktualizováno!", + "path": "Cesta", + "perm": { + "create": "Vytvářet soubory a adresáře", + "delete": "Mazat soubory a adresáře", + "download": "Stahovat", + "execute": "Spouštět příkazy", + "modify": "Upravit soubory", + "rename": "Přejmenovat nebo přesunout soubory a adresáře", + "share": "Sdílet soubory" + }, + "permissions": "Oprávnění", + "permissionsHelp": "Můžete nastavit uživatele jako administrátora nebo zvolit jednotlivá oprávnění. Pokud vyberete \"Administrátor\", všechny ostatní možnosti budou automaticky zaškrtnuty. Správa uživatelů zůstává výsadou administrátora.\n", + "profileSettings": "Nastavení profilu", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "zabraňuje přístupu k jakémukoli skrytému souboru (např. .git, .gitignore) v každé složce.\n", + "ruleExample2": "blokuje přístup k souboru s názvem Caddyfile v kořenovém adresáři.", + "rules": "Pravidla", + "rulesHelp": "Zde můžete definovat sadu povolení a zakázání pravidel pro tohoto konkrétního uživatele. Blokované soubory se nebudou zobrazovat v seznamech a uživatel k nim nebude mít přístup. Podporujeme regex a cesty relativní k rozsahu uživatele.\n", + "scope": "Rozsah", + "setDateFormat": "Nastavit přesný formát data", + "settingsUpdated": "Nastavení aktualizována!", + "shareDuration": "Doba sdílení", + "shareManagement": "Správa sdílení", + "shareDeleted": "Sdílení bylo smazáno!", + "singleClick": "Použít jediné kliknutí pro otevření souborů a adresářů", + "themes": { + "default": "Systémové výchozí", + "dark": "Tmavý", + "light": "Světlý", + "title": "Motiv" + }, + "user": "Uživatel", + "userCommands": "Příkazy", + "userCommandsHelp": "Seznam dostupných příkazů pro tohoto uživatele oddělený mezerami. Příklad:\n", + "userCreated": "Uživatel vytvořen!", + "userDefaults": "Výchozí nastavení uživatele", + "userDeleted": "Uživatel smazán!", + "userManagement": "Správa uživatelů", + "userUpdated": "Uživatel aktualizován!", + "username": "Uživatelské jméno", + "users": "Uživatelé", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Nápověda", + "hugoNew": "Hugo Nový", + "login": "Přihlásit se", + "logout": "Odhlásit se", + "myFiles": "Moje soubory", + "newFile": "Nový soubor", + "newFolder": "Nová složka", + "preview": "Náhled", + "settings": "Nastavení", + "signup": "Registrace", + "siteSettings": "Nastavení webu" + }, + "success": { + "linkCopied": "Odkaz zkopírován!" + }, + "time": { + "days": "Dny", + "hours": "Hodiny", + "minutes": "Minuty", + "seconds": "Sekundy", + "unit": "Časová jednotka" + } +} diff --git a/frontend/src/i18n/de.json b/frontend/src/i18n/de.json new file mode 100644 index 00000000..872b29e2 --- /dev/null +++ b/frontend/src/i18n/de.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Abbrechen", + "clear": "Schließen", + "close": "Schließen", + "continue": "Fortfahren", + "copy": "Kopieren", + "copyFile": "Kopiere Datei", + "copyToClipboard": "In Zwischenablage kopieren", + "copyDownloadLinkToClipboard": "Download-Link in die Zwischenablage kopieren", + "create": "Neu", + "delete": "Löschen", + "download": "Herunterladen", + "file": "Datei", + "folder": "Ordner", + "fullScreen": "Vollbildmodus umschalten", + "hideDotfiles": "Versteckte Dateien ausblenden", + "info": "Info", + "more": "mehr", + "move": "Verschieben", + "moveFile": "Verschiebe Datei", + "new": "Neu", + "next": "nächste", + "ok": "OK", + "permalink": "permanenten Verweis anzeigen", + "previous": "vorherige", + "preview": "Vorschau", + "publish": "Veröffentlichen", + "rename": "umbenennen", + "replace": "Ersetzen", + "reportIssue": "Fehler melden", + "save": "Speichern", + "schedule": "Planung", + "search": "Suchen", + "select": "Auswählen", + "selectMultiple": "Mehrfachauswahl", + "share": "Teilen", + "shell": "Kommandozeile ein/ausschalten", + "submit": "Absenden", + "switchView": "Ansicht wechseln", + "toggleSidebar": "Seitenleiste anzeigen", + "update": "Update", + "upload": "Upload", + "openFile": "Datei öffnen", + "discardChanges": "Verwerfen", + "stopSearch": "Suche abbrechen", + "saveChanges": "Änderungen speichern", + "editAsText": "Als Text bearbeiten", + "increaseFontSize": "Schriftgröße vergrößern", + "decreaseFontSize": "Schriftgröße verkleinern" + }, + "download": { + "downloadFile": "Download Datei", + "downloadFolder": "Download Ordner", + "downloadSelected": "Auswahl herunterladen" + }, + "upload": { + "abortUpload": "Sind Sie sicher, dass Sie den Vorgang abbrechen möchten?" + }, + "errors": { + "forbidden": "Sie haben keine Berechtigung dies abzurufen.", + "internal": "Etwas ist schiefgelaufen.", + "notFound": "Dieser Ort kann nicht angezeigt werden.", + "connection": "Der Server ist nicht erreichbar." + }, + "files": { + "body": "Body", + "closePreview": "Vorschau schließen", + "files": "Dateien", + "folders": "Ordner", + "home": "Home", + "lastModified": "zuletzt verändert", + "loading": "Lade...", + "lonely": "Hier scheint nichts zu sein...", + "metadata": "Metadaten", + "multipleSelectionEnabled": "Mehrfachauswahl aktiviert", + "name": "Name", + "size": "Größe", + "sortByLastModified": "Nach Änderungsdatum sortieren", + "sortByName": "Nach Namen sortieren", + "sortBySize": "Nach Größe sortieren", + "noPreview": "Für diese Datei ist keine Vorschau verfügbar.", + "csvTooLarge": "Die CSV-Datei ist zu groß für die Vorschau (>5 MB). Bitte herunterladen, um sie anzuzeigen.", + "csvLoadFailed": "Fehler beim Laden der CSV-Datei.", + "showingRows": "{count} Zeile(n) werden angezeigt", + "columnSeparator": "Spaltentrennzeichen", + "csvSeparators": { + "comma": "Komma (,)", + "semicolon": "Semikolon (;)", + "both": "Sowohl (,) als auch (;)" + } + }, + "help": { + "click": "Wähle Datei oder Ordner", + "ctrl": { + "click": "Markiere mehrere Dateien oder Ordner", + "f": "Öffnet eine neue Suche", + "s": "Speichert eine Datei oder einen Ordner am aktuellen Ort" + }, + "del": "Löscht die ausgewählten Elemente", + "doubleClick": "Öffnet eine Datei oder einen Ordner", + "esc": "Auswahl zurücksetzen und/oder Dialog schließen", + "f1": "Diese Informationsseite", + "f2": "Datei umbenennen", + "help": "Hilfe" + }, + "login": { + "createAnAccount": "Account erstellen", + "loginInstead": "Account besteht bereits", + "password": "Passwort", + "passwordConfirm": "Passwort Bestätigung", + "passwordsDontMatch": "Passwörter stimmen nicht überein", + "signup": "Registrieren", + "submit": "Login", + "username": "Benutzername", + "usernameTaken": "Benutzername ist bereits vergeben", + "wrongCredentials": "Falsche Zugangsdaten", + "passwordTooShort": "Passwort muss mindestens {min} Zeichen lang sein", + "logout_reasons": { + "inactivity": "Du wurdest aufgrund von Inaktivität abgemeldet." + } + }, + "permanent": "Permanent", + "prompts": { + "copy": "Kopieren", + "copyMessage": "Wählen Sie einen Zielort zum Kopieren:", + "currentlyNavigating": "Aktueller Ort:", + "deleteMessageMultiple": "Sind Sie sicher, dass Sie {count} Datei(en) löschen möchten?", + "deleteMessageSingle": "Sind Sie sicher, dass Sie diesen Ordner/diese Datei löschen möchten?", + "deleteMessageShare": "Sind Sie sicher, dass Sie diese Freigabe löschen möchten ({path})?", + "deleteUser": "Sind Sie sicher, dass Sie diesen Benutzer löschen möchten?", + "deleteTitle": "Lösche Dateien", + "displayName": "Anzeigename:", + "download": "Lade Dateien", + "downloadMessage": "Wählen Sie ein Format zum Herunterladen aus.", + "error": "Etwas ist schiefgelaufen", + "fileInfo": "Dateiinformation", + "filesSelected": "{count} Dateien ausgewählt.", + "lastModified": "Zuletzt geändert", + "move": "Verschieben", + "moveMessage": "Wählen Sie einen neuen Platz für ihre Datei(en)/Ordner:", + "newArchetype": "Erstelle neuen Beitrag auf dem Archetyp. Ihre Datei wird im Inhalteordner erstellt.", + "newDir": "Neuer Ordner", + "newDirMessage": "Geben Sie den Namen des neuen Ordners an.", + "newFile": "Neue Datei", + "newFileMessage": "Geben Sie den Namen der neuen Datei an.", + "numberDirs": "Anzahl der Ordner", + "numberFiles": "Anzahl der Dateien", + "rename": "Umbenennen", + "renameMessage": "Fügen Sie einen Namen ein für", + "replace": "Ersetzen", + "replaceMessage": "Eine der Datei mit dem gleichen Namen, wie die Sie hochladen wollen, existiert bereits. Soll die vorhandene Datei übersprungen oder ersetzt werden?\n", + "schedule": "Plan", + "scheduleMessage": "Wählen Sie ein Datum und eine Zeit für die Veröffentlichung dieses Beitrags.", + "show": "Anzeigen", + "size": "Größe", + "upload": "Upload", + "uploadFiles": "Upload von {files} Dateien...", + "uploadMessage": "Wählen Sie eine Upload-Methode", + "optionalPassword": "Optionales Passwort", + "resolution": "Auflösung", + "discardEditorChanges": "Möchten Sie die vorgenommenen Änderungen wirklich verwerfen?" + }, + "search": { + "images": "Bilder", + "music": "Musik", + "pdf": "PDF", + "pressToSearch": "Drücken Sie Enter um zu suchen...", + "search": "Suche...", + "typeToSearch": "Tippen um zu suchen...", + "types": "Typen", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace Editor Theme", + "admin": "Admin", + "administrator": "Administrator", + "allowCommands": "Befehle ausführen", + "allowEdit": "Bearbeiten, Umbenennen und Löschen von Dateien oder Ordnern", + "allowNew": "Erstellen neuer Dateien und Ordner", + "allowPublish": "Veröffentlichen von neuen Beiträgen und Seiten", + "allowSignup": "Erlaube Benutzern sich zu registrieren", + "hideLoginButton": "Den Login-Button auf öffentlichen Seiten ausblenden", + "avoidChanges": "(leer lassen, um Änderungen zu vermeiden)", + "branding": "Design", + "brandingDirectoryPath": "Designverzeichnispfad", + "brandingHelp": "Sie können das Erscheinungsbild Ihres File Browser anpassen, in dem Sie den Namen ändern, das Logo austauschen oder eigene Stile definieren und sogar externe Links zu GitHub deaktivieren.\nUm mehr Informationen zum Anpassen des Designs zu bekommen, gehen Sie bitte zu {0}.", + "changePassword": "Passwort ändern", + "commandRunner": "Befehlseingabe", + "commandRunnerHelp": "Hier könne Sie Befehle eintragen, welche bei den benannten Aktionen ausgeführt werden. Sie müssen pro Zeile jeweils einen Befehl eingeben. Die Umgebungsvariable {0} und {1} sind verfügbar, wobei {0} relative zu {1} ist. Für mehr Informationen über diese Funktion und die verfügbaren Umgebungsvariablen lesen Sie bitte die {2}.", + "commandsUpdated": "Befehle aktualisiert!", + "createUserDir": "Automatisches Erstellen des Home-Verzeichnisses beim Anlegen neuer Benutzer", + "minimumPasswordLength": "Mindestlänge für Passwörter", + "tusUploads": "Gestückelter Upload", + "tusUploadsHelp": "File Browser unterstützt das Hochladen von gestückelten Dateien und ermöglicht so einen effizienten, zuverlässigen, fortsetzbaren und gestückelten Datei-Upload auch in unzuverlässigen Netzwerken.", + "tusUploadsChunkSize": "Gibt die maximale Größe pro Anfrage an (direkte Uploads werden für kleinere Uploads verwendet). Bitte geben Sie eine Byte-Angabe oder eine Zeichenfolge wie 10 MB, 1 GB usw. an", + "tusUploadsRetryCount": "Anzahl der Wiederholungsversuche, wenn das Hochladen eines Stückes fehlschlägt.", + "userHomeBasePath": "Basispfad für Benutzer-Home-Verzeichnisse", + "userScopeGenerationPlaceholder": "Scope wird automatisch generiert", + "createUserHomeDirectory": "Benutzer-Home-Verzeichnis erstellen", + "customStylesheet": "Individuelles Stylesheet", + "defaultUserDescription": "Das sind die Standardeinstellung für Benutzer", + "disableExternalLinks": "Externe Links deaktivieren (außer Dokumentation)", + "disableUsedDiskPercentage": "Diagramm zur Festplattennutzung deaktivieren", + "documentation": "Dokumentation", + "examples": "Beispiele", + "executeOnShell": "In Shell ausführen", + "executeOnShellDescription": "Es ist voreingestellt, dass der File Brower Befehle ausführt, indem er die Befehlsdateien direkt aufruft. Wenn Sie wollen, dass sie über einer Kommandozeile (wie Bash oder PowerShell) laufen, könne Sie diese hier definieren mit allen benötigten Argumenten und Optionen. Wenn gesetzt, wird das Kommando das ausgeführt werden soll als Parameter angehängt. Das gilt für Benutzerkommandos sowie auch für Ereignisse.", + "globalRules": "Das ist ein globales Set von Regeln die erlauben oder nicht erlauben. Die sind für alle Benutzer zutreffend. Es können spezielle Regeln in den Einstellungen der Benutzer definiert werden, die diese überschreiben.", + "globalSettings": "Globale Einstellungen", + "hideDotfiles": "Versteckte Dateien ausblenden", + "insertPath": "Pfad einfügen", + "insertRegex": "Regulären Ausdruck (Regex) einfügen", + "instanceName": "Instanzname", + "language": "Sprache", + "lockPassword": "Verhindere, dass der Benutzer sein Passwort ändert", + "newPassword": "Ihr neues Passwort", + "newPasswordConfirm": "Bestätigen Sie Ihr neues Passwort", + "newUser": "Neuer Benutzer", + "password": "Passwort", + "passwordUpdated": "Passwort aktualisiert!", + "path": "Pfad", + "perm": { + "create": "Dateien und Ordner erstellen", + "delete": "Dateien und Ordner löschen", + "download": "Download", + "execute": "Befehle ausführen", + "modify": "Dateien editieren", + "rename": "Umbenennen oder Verschieben von Dateien oder Ordnern", + "share": "Datei teilen" + }, + "permissions": "Berechtigungen", + "permissionsHelp": "Sie können einem Benutzer Administratorrechte einräumen oder die Berechtigungen individuell festlegen. Wenn Sie \"Administrator\" auswählen, werden alle anderen Rechte automatisch vergeben. Die Nutzerverwaltung kann nur durch einen Administrator erfolgen.\n", + "profileSettings": "Profileinstellungen", + "redirectAfterCopyMove": "Nach Kopieren/Verschieben zum Zielverzeichnis wechseln", + "ruleExample1": "Verhindert den Zugang zu versteckten Dateien (dot-Files, wie .git, .gitignore) in allen Ordnern\n", + "ruleExample2": "blockiert den Zugang auf Dateien mit dem Namen Caddyfile in der Wurzel/Basis des Scopes.", + "rules": "Regeln", + "rulesHelp": "Hier können Sie erlaubte und verbotene Aktionen für einen einzelnen Benutzer festlegen. Blockierte Dateien werden nicht im Listing angezeigt und sind nicht erreichbar für den Nutzer. Wir unterstützen reguläre Ausdrücke (Regex) und Pfade die relativ zum Benutzerordner sind. \n", + "scope": "Scope", + "setDateFormat": "Exaktes Datumsformat setzen", + "settingsUpdated": "Einstellungen aktualisiert!", + "shareDuration": "Dauer", + "shareManagement": "Freigaben verwalten", + "shareDeleted": "Freigabe gelöscht!", + "singleClick": "Einfacher Klick zum Öffnen von Dateien und Ordnern", + "themes": { + "default": "Systemstandard", + "dark": "Dunkel", + "light": "Hell", + "title": "Erscheinungsbild" + }, + "user": "Benutzer", + "userCommands": "Befehle", + "userCommandsHelp": "Eine Liste, mit einem Leerzeichen als Trennung, mit den für diesen Nutzer verfügbaren Befehlen. Beispiel:\n", + "userCreated": "Benutzer angelegt!", + "userDefaults": "Benutzer Standard Einstellungen", + "userDeleted": "Benutzer gelöscht!", + "userManagement": "Benutzerverwaltung", + "userUpdated": "Benutzer aktualisiert!", + "username": "Nutzername", + "users": "Nutzer", + "currentPassword": "Ihr aktuelles Passwort" + }, + "sidebar": { + "help": "Hilfe", + "hugoNew": "Hugo Neu", + "login": "Anmelden", + "logout": "Abmelden", + "myFiles": "Meine Dateien", + "newFile": "Neue Datei", + "newFolder": "Neuer Ordner", + "preview": "Vorschau", + "settings": "Einstellungen", + "signup": "Registrieren", + "siteSettings": "Seiteneinstellungen" + }, + "success": { + "linkCopied": "Verweis wurde kopiert!" + }, + "time": { + "days": "Tage", + "hours": "Stunden", + "minutes": "Minuten", + "seconds": "Sekunden", + "unit": "Zeiteinheit" + } +} diff --git a/frontend/src/i18n/el.json b/frontend/src/i18n/el.json new file mode 100644 index 00000000..04e837f3 --- /dev/null +++ b/frontend/src/i18n/el.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Ακύρωση", + "clear": "Καθαρισμός", + "close": "Κλείσιμο", + "continue": "Continue", + "copy": "Αντιγραφή", + "copyFile": "Αντιγραφή αρχείου", + "copyToClipboard": "Αντιγραφή στο πρόχειρο", + "copyDownloadLinkToClipboard": "Αντιγραφή συνδέσμου λήψης στο πρόχειρο", + "create": "Δημιουργία", + "delete": "Διαγραφή", + "download": "Λήψη", + "file": "Αρχείο", + "folder": "Φάκελος", + "fullScreen": "Toggle full screen", + "hideDotfiles": "Απόκρυψη κρυφών αρχείων", + "info": "Πληροφορίες", + "more": "Περισσότερα", + "move": "Μετακίνηση", + "moveFile": "Μετακίνηση αρχείου", + "new": "Νέο", + "next": "Επόμενο", + "ok": "Εντάξει", + "permalink": "Λήψη μόνιμου συνδέσμου", + "previous": "Προηγούμενο", + "preview": "Preview", + "publish": "Δημοσίευση", + "rename": "Μετονομασία", + "replace": "Αντικατάσταση", + "reportIssue": "Αναφορά προβλήματος", + "save": "Αποθήκευση", + "schedule": "Προγραμματισμός", + "search": "Αναζήτηση", + "select": "Επιλογή", + "selectMultiple": "Επιλογή πολλαπλών", + "share": "Κοινοποίηση", + "shell": "Toggle shell", + "submit": "Υποβολή", + "switchView": "Εναλλαγή προβολής", + "toggleSidebar": "(Απ-)ενεργοποίησης της πλευρικής μπάρας", + "update": "Ενημέρωση", + "upload": "Μεταφόρτωση", + "openFile": "Άνοιγμα αρχείου", + "discardChanges": "Discard", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Λήψη αρχείου", + "downloadFolder": "Λήψη φακέλου", + "downloadSelected": "Λήψη επιλεγμένων" + }, + "upload": { + "abortUpload": "Είστε σίγουροι ότι θέλετε να διακόψετε τη μεταφόρτωση;" + }, + "errors": { + "forbidden": "Δεν έχετε άδεια πρόσβασης σε αυτό.", + "internal": "Προέκυψε εσωτερικό σφάλμα.", + "notFound": "Αυτή η τοποθεσία δεν μπορεί να βρεθεί.", + "connection": "Ο διακομιστής δεν είναι διαθέσιμος." + }, + "files": { + "body": "Περιεχόμενο", + "closePreview": "Κλείσιμο προεπισκόπησης", + "files": "Αρχεία", + "folders": "Φάκελοι", + "home": "Αρχική", + "lastModified": "Τελευταία τροποποίηση", + "loading": "Φορτώνει…", + "lonely": "Δεν υπάρχει τίποτα εδώ (ακόμη)…", + "metadata": "Μεταδεδομένα", + "multipleSelectionEnabled": "Ενεργοποιημένη επιλογή πολλαπλών", + "name": "Όνομα", + "size": "Μέγεθος", + "sortByLastModified": "Ταξινόμηση κατά πρόσφατη τροποποίηση", + "sortByName": "Ταξινόμηση κατά όνομα", + "sortBySize": "Ταξινόμηση κατά μέγεθος", + "noPreview": "Η προεπισκόπηση δεν είναι διαθέσιμη για αυτό το αρχείο.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "επιλέξτε αρχείο ή φάκελο", + "ctrl": { + "click": "επιλογή πολλαπλών αρχείων ή φακέλων", + "f": "ανοίγει την αναζήτηση", + "s": "αποθηκεύει ένα αρχείο ή εκκινεί λήψη του φακέλου στον οποίο βρίσκεστε" + }, + "del": "διαγραφή επιλεγμένων στοιχείων", + "doubleClick": "ανοίγει ένα αρχείο ή φάκελο", + "esc": "καθαρίζει την επιλογή ή/και κλείνει το παράθυρο", + "f1": "αυτή η πληροφορία", + "f2": "μετονομασία αρχείου", + "help": "Βοήθεια" + }, + "login": { + "createAnAccount": "Δημιουργία λογαριασμού", + "loginInstead": "Έχετε ήδη λογαριασμό", + "password": "Κωδικός πρόσβασης", + "passwordConfirm": "Επιβεβαίωση κωδικού πρόσβασης", + "passwordsDontMatch": "Οι κωδικοί πρόσβασης δεν ταιριάζουν", + "signup": "Εγγραφή", + "submit": "Είσοδος", + "username": "Όνομα χρήστη", + "usernameTaken": "Το όνομα χρήστη χρησιμοποιείται ήδη", + "wrongCredentials": "Λάθος όνομα ή/και κωδικός πρόσβασης", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Μόνιμο", + "prompts": { + "copy": "Αντιγραφή", + "copyMessage": "Επιλέξτε τοποθεσία για αντιγραφή των αρχείων σας:", + "currentlyNavigating": "Currently navigating on:", + "deleteMessageMultiple": "Είστε σίγουροι ότι θέλετε να διαγράψετε {count} αρχεία;", + "deleteMessageSingle": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το αρχείο/φάκελο;", + "deleteMessageShare": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτή την κοινοποίηση ({path});", + "deleteUser": "Are you sure you want to delete this user?", + "deleteTitle": "Διαγραφή αρχείων", + "displayName": "Εμφάνιση ονόματος:", + "download": "Λήψη αρχείων", + "downloadMessage": "Επιλέξτε τη μορφή που θέλετε να λάβετε.", + "error": "Προέκυψε κάποιο σφάλμα", + "fileInfo": "Πληροφορίες αρχείου", + "filesSelected": "Επιλέχθηκαν {count} αρχεία.", + "lastModified": "Τελευταία τροποποίηση", + "move": "Μετακίνηση", + "moveMessage": "Επιλέξτε νέα τοποθεσία για τα αρχεία / τους φακέλους σας:", + "newArchetype": "Δημιουργία νέας ανάρτησης με βάση έναν αρχέτυπο. Το αρχείο σας θα δημιουργηθεί στο φάκελο περιεχομένου.", + "newDir": "Νέος φάκελος", + "newDirMessage": "Γράψτε το όνομα του νέου φακέλου.", + "newFile": "Νέο αρχείο", + "newFileMessage": "Γράψτε το όνομα του νέου αρχείου.", + "numberDirs": "Αριθμός φακέλων", + "numberFiles": "Αριθμός αρχείων", + "rename": "Μετονομασία", + "renameMessage": "Εισαγάγετε ένα νέο όνομα για το", + "replace": "Αντικατάσταση", + "replaceMessage": "Ένα από τα αρχεία που προσπαθείτε να μεταφορτώσετε δημιουργεί σύγκρουση με υπάρχον αρχείο λόγω του ονόματός του. Θέλετε να συνεχίσετε τη μεταφόρτωση ή να αντικαταστήσετε το υπάρχον;\n", + "schedule": "Προγραμματισμός", + "scheduleMessage": "Επιλέξτε μια ημερομηνία και ώρα για τον προγραμματισμό της δημοσίευσης αυτής της ανάρτησης.", + "show": "Εμφάνιση", + "size": "Μέγεθος", + "upload": "Μεταφόρτωση", + "uploadFiles": "Μεταφόρτωση {files} αρχείων…", + "uploadMessage": "Επιλέξτε μια επιλογή για τη μεταφόρτωση.", + "optionalPassword": "Προαιρετικός κωδικός πρόσβασης", + "resolution": "Resolution", + "discardEditorChanges": "Are you sure you wish to discard the changes you've made?" + }, + "search": { + "images": "Εικόνες", + "music": "Μουσική", + "pdf": "PDF", + "pressToSearch": "Πατήστε Enter για αναζήτηση…", + "search": "Αναζήτηση…", + "typeToSearch": "Πληκτρολογήστε για αναζήτηση…", + "types": "Τύποι", + "video": "Βίντεο" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Διαχειριστής", + "administrator": "Διαχειριστής", + "allowCommands": "Εκτέλεση εντολών", + "allowEdit": "Επεξεργασία, μετονομασία και διαγραφή αρχείων ή φακέλων", + "allowNew": "Δημιουργία νέων αρχείων και φακέλων", + "allowPublish": "Δημοσίευση νέων αναρτήσεων και σελίδων", + "allowSignup": "Να επιτρέπεται η εγγραφή νέων χρηστών", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(αφήστε το κενό για αποφυγή αλλαγών)", + "branding": "Εξατομίκευση", + "brandingDirectoryPath": "Διαδρομή φακέλου εξατομίκευσης", + "brandingHelp": "Μπορείτε να προσαρμόσετε την εμφάνισης της εφαρμογής File Browser αλλάζοντας το όνομά της, αντικαθιστώντας το λογότυπό της, προσθέτοντας προσαρμοσμένα στυλ και ακόμα και απενεργοποιώντας εξωτερικούς συνδέσμους προς το GitHub.\nΓια περισσότερες πληροφορίες σχετικά με αυτές τις προσαρμογές, ελέγξτε το {0}.", + "changePassword": "Αλλαγή κωδικού πρόσβασης", + "commandRunner": "Εκτέλεση εντολών", + "commandRunnerHelp": "Εδώ μπορείτε να ορίσετε εντολές που εκτελούνται στα ονομασμένα γεγονότα και δραστηριότητες. Πρέπει να γράψετε μία εντολή ανά γραμμή. Οι μεταβλητές περιβάλλοντος {0} και {1} θα είναι διαθέσιμες, και θα είναι {0} σχετικές με το {1}. Για περισσότερες πληροφορίες σχετικά με αυτή τη λειτουργία και τις διαθέσιμες μεταβλητές περιβάλλοντος, παρακαλώ διαβάστε το {2}.", + "commandsUpdated": "Οι εντολές ενημερώθηκαν!", + "createUserDir": "Αυτόματη δημιουργία φακέλου χρήστη κατά την προσθήκη νέου χρήστη", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Τμηματικές μεταφορές αρχείων", + "tusUploadsHelp": "Η εφαρμογή File Browser υποστηρίζει τμηματικές μεταφορτώσεις αρχείων, επιτρέποντας την αποδοτική, αξιόπιστη και συνεχιζόμενη μεταφόρτωση αρχείων ακόμα και σε ασταθείς συνδέσεις δικτύου.", + "tusUploadsChunkSize": "Υποδεικνύει το μέγιστο μέγεθος ενός αιτήματος μεταφόρτωσης (για μικρότερες μεταφορές αρχείων θα χρησιμοποιηθούν απευθείας και όχι τμηματικές μεταφορτώσεις). Μπορείτε να εισάγετε έναν ακέραιο αριθμό που υποδηλώνει το μέγεθος σε bytes, ή κείμενο με αριθμό και μονάδα μέτρησης μεγέθους δεδομένων, όπως 10MB, 1GB κλπ.", + "tusUploadsRetryCount": "Αριθμός επαναληπτικών δοκιμών που θα πραγματοποιηθούν αν αποτύχει η μεταφόρτωση ενός τμήματος.", + "userHomeBasePath": "Βασική διαδρομή αρχείων για τους φακέλους των χρηστών", + "userScopeGenerationPlaceholder": "Η εμβέλεια εφαρμογής θα δημιουργηθεί αυτόματα", + "createUserHomeDirectory": "Δημιουργία φακέλου χρήστη", + "customStylesheet": "Προσαρμοσμένο στυλ εμφάνισης (stylesheet)", + "defaultUserDescription": "Αυτές είναι οι προεπιλεγμένες ρυθμίσεις για νέους χρήστες.", + "disableExternalLinks": "Απενεργοποίηση εξωτερικών συνδέσμων (εκτός από συνδέσμους προς τις οδηγίες χρήσης)", + "disableUsedDiskPercentage": "Απενεργοποίηση γραφήματος ποσοστού χρήσης χώρου αποθήκευσης", + "documentation": "οδηγίες χρήσης", + "examples": "Παραδείγματα", + "executeOnShell": "Εκτέλεση στο κέλυφος", + "executeOnShellDescription": "Από προεπιλογή, η εφαρμογή File Browser εκτελεί τις εντολές καλώντας τα προγράμματα των εντολών απευθείας. Αν θέλετε να τις εκτελέσετε σε ένα κέλυφος (όπως το Bash ή το PowerShell), μπορείτε να το καθορίσετε εδώ με τις απαιτούμενες παραμέτρους. Εάν οριστεί, η εντολή που εκτελείτε θα προστίθεται ως παράμετρος. Αυτό ισχύει τόσο για τις εντολές χρήστη όσο και για τους αγκίστρους συμβάντων (event hooks).", + "globalRules": "Πρόκειται για ένα γενικό σύνολο κανόνων που επιτρέπουν και απαγορεύουν διάφορες λειτουργίες και ισχύουν για κάθε χρήστη. Μπορείτε να καθορίσετε συγκεκριμένους κανόνες στις ρυθμίσεις κάθε χρήστη για να παρακάμψετε τους γενικούς κανόνες.", + "globalSettings": "Γενικές ρυθμίσεις", + "hideDotfiles": "Απόκρυψη κρυφών αρχείων (dotfiles)", + "insertPath": "Εισάγετε διαδρομή", + "insertRegex": "Εισάγετε έκφραση regex", + "instanceName": "Όνομα περιβάλλοντος", + "language": "Γλώσσα", + "lockPassword": "Αποτρέψτε τον χρήστη από την αλλαγή του κωδικού πρόσβασης", + "newPassword": "Νέος κωδικός πρόσβασης", + "newPasswordConfirm": "Επιβεβαιώστε τον νέο κωδικό πρόσβασης", + "newUser": "Νέος χρήστης", + "password": "Κωδικός πρόσβασης", + "passwordUpdated": "Ο κωδικός πρόσβασης ενημερώθηκε!", + "path": "Διαδρομή", + "perm": { + "create": "Δημιουργία αρχείων και φακέλων", + "delete": "Διαγραφή αρχείων και φακέλων", + "download": "Λήψη", + "execute": "Εκτέλεση εντολών", + "modify": "Επεξεργασία αρχείων", + "rename": "Μετονομασία ή μετακίνηση αρχείων και φακέλων", + "share": "Κοινοποίηση αρχείων" + }, + "permissions": "Δικαιώματα", + "permissionsHelp": "Μπορείτε να ορίσετε τον χρήστη ως διαχειριστή ή να επιλέξετε τα δικαιώματα μεμονωμένα. Αν επιλέξετε \"Διαχειριστής\", όλες οι υπόλοιπες επιλογές θα είναι αυτόματα επιλεγμένες. Η διαχείριση χρηστών παραμένει προνόμιο ενός χρήστη με τον ρόλο του διαχειριστή.\n", + "profileSettings": "Ρυθμίσεις προφίλ", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "αποκλείει την πρόσβαση σε οποιοδήποτε κρυφό αρχείο (όπως .git, .gitignore) σε κάθε φάκελο.\n", + "ruleExample2": "αποκλείει την πρόσβαση στο αρχείο με το όνομα Caddyfile στον ριζικό φάκελο της εμβέλειας του κανόνα.", + "rules": "Κανόνες", + "rulesHelp": "Εδώ μπορείτε να ορίσετε ένα σύνολο κανόνων που επιτρέπουν και απαγορεύουν διάφορες λειτουργίες για τον συγκεκριμένο χρήστη. Τα αποκλεισμένα αρχεία δεν θα εμφανίζονται στα περιεχόμενα των αντίστοιχων φακέλων και δεν θα είναι προσβάσιμα από τον χρήστη. Υποστηρίζονται εκφράσεις regex και διαδρομές σχετικές με την εμβέλεια αρχείων των χρηστών.\n", + "scope": "Εμβέλεια", + "setDateFormat": "Ορισμός ακριβούς μορφής ημερομηνίας", + "settingsUpdated": "Οι ρυθμίσεις ενημερώθηκαν!", + "shareDuration": "Διάρκεια κοινοποίησης", + "shareManagement": "Διαχείριση κοινοποίησης", + "shareDeleted": "Η κοινοποίηση διαγράφηκε!", + "singleClick": "Χρήση μονού κλικ για να ανοίξετε αρχεία και φακέλους", + "themes": { + "default": "System default", + "dark": "Σκοτεινό", + "light": "Φωτεινό", + "title": "Μοτίβο" + }, + "user": "Χρήστης", + "userCommands": "Εντολές χρήστη", + "userCommandsHelp": "Μια λίστα με τις διαθέσιμες εντολές για αυτόν το χρήστη, χωρισμένες μεταξύ τους με κενά. Παράδειγμα:\n", + "userCreated": "Ο χρήστης δημιουργήθηκε!", + "userDefaults": "Προεπιλεγμένες ρυθμίσεις χρήστη", + "userDeleted": "Ο χρήστης διαγράφηκε!", + "userManagement": "Διαχείριση χρηστών", + "userUpdated": "Ο χρήστης ενημερώθηκε!", + "username": "Όνομα χρήστη", + "users": "Χρήστες", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Βοήθεια", + "hugoNew": "Νέο Hugo", + "login": "Σύνδεση", + "logout": "Αποσύνδεση", + "myFiles": "Τα αρχεία μου", + "newFile": "Νέο αρχείο", + "newFolder": "Νέος φάκελος", + "preview": "Προεπισκόπηση", + "settings": "Ρυθμίσεις", + "signup": "Εγγραφή", + "siteSettings": "Ρυθμίσεις ιστότοπου" + }, + "success": { + "linkCopied": "Ο σύνδεσμος αντιγράφηκε!" + }, + "time": { + "days": "Ημέρες", + "hours": "Ώρες", + "minutes": "Λεπτά", + "seconds": "Δευτερόλεπτα", + "unit": "Μονάδα χρόνου" + } +} diff --git a/frontend/src/i18n/en.json b/frontend/src/i18n/en.json new file mode 100644 index 00000000..3fcdf635 --- /dev/null +++ b/frontend/src/i18n/en.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Cancel", + "clear": "Clear", + "close": "Close", + "continue": "Continue", + "copy": "Copy", + "copyFile": "Copy file", + "copyToClipboard": "Copy to clipboard", + "copyDownloadLinkToClipboard": "Copy download link to clipboard", + "create": "Create", + "delete": "Delete", + "download": "Download", + "file": "File", + "folder": "Folder", + "fullScreen": "Toggle full screen", + "hideDotfiles": "Hide dotfiles", + "info": "Info", + "more": "More", + "move": "Move", + "moveFile": "Move file", + "new": "New", + "next": "Next", + "ok": "OK", + "permalink": "Get Permanent Link", + "previous": "Previous", + "preview": "Preview", + "publish": "Publish", + "rename": "Rename", + "replace": "Replace", + "reportIssue": "Report Issue", + "save": "Save", + "schedule": "Schedule", + "search": "Search", + "select": "Select", + "selectMultiple": "Select multiple", + "share": "Share", + "shell": "Toggle shell", + "submit": "Submit", + "switchView": "Switch view", + "toggleSidebar": "Toggle sidebar", + "update": "Update", + "upload": "Upload", + "openFile": "Open file", + "discardChanges": "Discard", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Download File", + "downloadFolder": "Download Folder", + "downloadSelected": "Download Selected" + }, + "upload": { + "abortUpload": "Are you sure you wish to abort?" + }, + "errors": { + "forbidden": "You don't have permissions to access this.", + "internal": "Something really went wrong.", + "notFound": "This location can't be reached.", + "connection": "The server can't be reached." + }, + "files": { + "body": "Body", + "closePreview": "Close preview", + "files": "Files", + "folders": "Folders", + "home": "Home", + "lastModified": "Last modified", + "loading": "Loading...", + "lonely": "It feels lonely here...", + "metadata": "Metadata", + "multipleSelectionEnabled": "Multiple selection enabled", + "name": "Name", + "size": "Size", + "sortByLastModified": "Sort by last modified", + "sortByName": "Sort by name", + "sortBySize": "Sort by size", + "noPreview": "Preview is not available for this file.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "select file or directory", + "ctrl": { + "click": "select multiple files or directories", + "f": "opens search", + "s": "save a file or download the directory where you are" + }, + "del": "delete selected items", + "doubleClick": "open a file or directory", + "esc": "clear selection and/or close the prompt", + "f1": "this information", + "f2": "rename file", + "help": "Help" + }, + "login": { + "createAnAccount": "Create an account", + "loginInstead": "Already have an account", + "password": "Password", + "passwordConfirm": "Password Confirmation", + "passwordsDontMatch": "Passwords don't match", + "signup": "Signup", + "submit": "Login", + "username": "Username", + "usernameTaken": "Username already taken", + "wrongCredentials": "Wrong credentials", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Permanent", + "prompts": { + "copy": "Copy", + "copyMessage": "Choose the location to copy your files to:", + "currentlyNavigating": "Currently navigating on:", + "deleteMessageMultiple": "Are you sure you wish to delete {count} file(s)?", + "deleteMessageSingle": "Are you sure you wish to delete this file/folder?", + "deleteMessageShare": "Are you sure you wish to delete this share({path})?", + "deleteUser": "Are you sure you want to delete this user?", + "deleteTitle": "Delete files", + "displayName": "Display Name:", + "download": "Download files", + "downloadMessage": "Choose the format you wish to download.", + "error": "Something went wrong", + "fileInfo": "File information", + "filesSelected": "{count} files selected.", + "lastModified": "Last Modified", + "move": "Move", + "moveMessage": "Choose new home for your file(s)/folder(s):", + "newArchetype": "Create a new post based on an archetype. Your file will be created on content folder.", + "newDir": "New directory", + "newDirMessage": "Name your new directory.", + "newFile": "New file", + "newFileMessage": "Name your new file.", + "numberDirs": "Number of directories", + "numberFiles": "Number of files", + "rename": "Rename", + "renameMessage": "Insert a new name for", + "replace": "Replace", + "replaceMessage": "One of the files you're trying to upload has a conflicting name. Do you wish to skip this file and continue to upload or replace the existing one?\n", + "schedule": "Schedule", + "scheduleMessage": "Pick a date and time to schedule the publication of this post.", + "show": "Show", + "size": "Size", + "upload": "Upload", + "uploadFiles": "Uploading {files} files...", + "uploadMessage": "Select an option to upload.", + "optionalPassword": "Optional password", + "resolution": "Resolution", + "discardEditorChanges": "Are you sure you wish to discard the changes you've made?" + }, + "search": { + "images": "Images", + "music": "Music", + "pdf": "PDF", + "pressToSearch": "Press enter to search...", + "search": "Search...", + "typeToSearch": "Type to search...", + "types": "Types", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Administrator", + "allowCommands": "Execute commands", + "allowEdit": "Edit, rename and delete files or directories", + "allowNew": "Create new files and directories", + "allowPublish": "Publish new posts and pages", + "allowSignup": "Allow users to signup", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(leave blank to avoid changes)", + "branding": "Branding", + "brandingDirectoryPath": "Branding directory path", + "brandingHelp": "You can customize how your File Browser instance looks and feels by changing its name, replacing the logo, adding custom styles and even disable external links to GitHub.\nFor more information about custom branding, please check out the {0}.", + "changePassword": "Change Password", + "commandRunner": "Command runner", + "commandRunnerHelp": "Here you can set commands that are executed in the named events. You must write one per line. The environment variables {0} and {1} will be available, being {0} relative to {1}. For more information about this feature and the available environment variables, please read the {2}.", + "commandsUpdated": "Commands updated!", + "createUserDir": "Auto create user home dir while adding new user", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Chunked Uploads", + "tusUploadsHelp": "File Browser supports chunked file uploads, allowing for the creation of efficient, reliable, resumable and chunked file uploads even on unreliable networks.", + "tusUploadsChunkSize": "Indicates to maximum size of a request (direct uploads will be used for smaller uploads). You may input a plain integer denoting byte size input or a string like 10MB, 1GB etc.", + "tusUploadsRetryCount": "Number of retries to perform if a chunk fails to upload.", + "userHomeBasePath": "Base path for user home directories", + "userScopeGenerationPlaceholder": "The scope will be auto generated", + "createUserHomeDirectory": "Create user home directory", + "customStylesheet": "Custom Stylesheet", + "defaultUserDescription": "These are the default settings for new users.", + "disableExternalLinks": "Disable external links (except documentation)", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "documentation", + "examples": "Examples", + "executeOnShell": "Execute on shell", + "executeOnShellDescription": "By default, File Browser executes the commands by calling their binaries directly. If you wish to run them on a shell instead (such as Bash or PowerShell), you can define it here with the required arguments and flags. If set, the command you execute will be appended as an argument. This applies to both user commands and event hooks.", + "globalRules": "This is a global set of allow and disallow rules. They apply to every user. You can define specific rules on each user's settings to override these ones.", + "globalSettings": "Global Settings", + "hideDotfiles": "Hide dotfiles", + "insertPath": "Insert the path", + "insertRegex": "Insert regex expression", + "instanceName": "Instance name", + "language": "Language", + "lockPassword": "Prevent the user from changing the password", + "newPassword": "Your new password", + "newPasswordConfirm": "Confirm your new password", + "newUser": "New User", + "password": "Password", + "passwordUpdated": "Password updated!", + "path": "Path", + "perm": { + "create": "Create files and directories", + "delete": "Delete files and directories", + "download": "Download", + "execute": "Execute commands", + "modify": "Edit files", + "rename": "Rename or move files and directories", + "share": "Share files" + }, + "permissions": "Permissions", + "permissionsHelp": "You can set the user to be an administrator or choose the permissions individually. If you select \"Administrator\", all of the other options will be automatically checked. The management of users remains a privilege of an administrator.\n", + "profileSettings": "Profile Settings", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "prevents the access to any dotfile (such as .git, .gitignore) in every folder.\n", + "ruleExample2": "blocks the access to the file named Caddyfile on the root of the scope.", + "rules": "Rules", + "rulesHelp": "Here you can define a set of allow and disallow rules for this specific user. The blocked files won't show up in the listings and they wont be accessible to the user. We support regex and paths relative to the users scope.\n", + "scope": "Scope", + "setDateFormat": "Set exact date format", + "settingsUpdated": "Settings updated!", + "shareDuration": "Share Duration", + "shareManagement": "Share Management", + "shareDeleted": "Share deleted!", + "singleClick": "Use single clicks to open files and directories", + "themes": { + "default": "System default", + "dark": "Dark", + "light": "Light", + "title": "Theme" + }, + "user": "User", + "userCommands": "Commands", + "userCommandsHelp": "A space separated list with the available commands for this user. Example:\n", + "userCreated": "User created!", + "userDefaults": "User default settings", + "userDeleted": "User deleted!", + "userManagement": "User Management", + "userUpdated": "User updated!", + "username": "Username", + "users": "Users", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Help", + "hugoNew": "Hugo New", + "login": "Login", + "logout": "Logout", + "myFiles": "My files", + "newFile": "New file", + "newFolder": "New folder", + "preview": "Preview", + "settings": "Settings", + "signup": "Signup", + "siteSettings": "Site Settings" + }, + "success": { + "linkCopied": "Link copied!" + }, + "time": { + "days": "Days", + "hours": "Hours", + "minutes": "Minutes", + "seconds": "Seconds", + "unit": "Time Unit" + } +} diff --git a/frontend/src/i18n/es.json b/frontend/src/i18n/es.json new file mode 100644 index 00000000..aaab108b --- /dev/null +++ b/frontend/src/i18n/es.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Cancelar", + "clear": "Limpiar", + "close": "Cerrar", + "continue": "Continuar", + "copy": "Copiar", + "copyFile": "Copiar archivo", + "copyToClipboard": "Copiar al portapapeles", + "copyDownloadLinkToClipboard": "Copiar enlace de descarga al portapapeles", + "create": "Crear", + "delete": "Borrar", + "download": "Descargar", + "file": "Archivo", + "folder": "Carpeta", + "fullScreen": "Toggle full screen", + "hideDotfiles": "Ocultar archivos empezados por punto", + "info": "Info", + "more": "Más", + "move": "Mover", + "moveFile": "Mover archivo", + "new": "Nuevo", + "next": "Siguiente", + "ok": "OK", + "permalink": "Link permanente", + "previous": "Anterior", + "preview": "Preview", + "publish": "Publicar", + "rename": "Renombrar", + "replace": "Reemplazar", + "reportIssue": "Reportar problema", + "save": "Guardar", + "schedule": "Programar", + "search": "Buscar", + "select": "Seleccionar", + "selectMultiple": "Selección múltiple", + "share": "Compartir", + "shell": "Presiona Enter para buscar...", + "submit": "Enviar", + "switchView": "Cambiar vista", + "toggleSidebar": "Mostrar/Ocultar menú", + "update": "Actualizar", + "upload": "Subir", + "openFile": "Abrir archivo", + "discardChanges": "Discard", + "stopSearch": "Stop searching", + "saveChanges": "Guardar cambios", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Descargar fichero", + "downloadFolder": "Descargar directorio", + "downloadSelected": "Descargar seleccionados" + }, + "upload": { + "abortUpload": "Are you sure you wish to abort?" + }, + "errors": { + "forbidden": "No tienes los permisos necesarios para acceder.", + "internal": "La verdad es que algo ha ido mal.", + "notFound": "No se puede acceder a este lugar.", + "connection": "No se puede acceder al servidor." + }, + "files": { + "body": "Cuerpo", + "closePreview": "Cerrar vista previa", + "files": "Archivos", + "folders": "Carpetas", + "home": "Inicio", + "lastModified": "Última modificación", + "loading": "Cargando...", + "lonely": "Uno se siente muy sólo aquí...", + "metadata": "Metadatos", + "multipleSelectionEnabled": "Selección múltiple activada", + "name": "Nombre", + "size": "Tamaño", + "sortByLastModified": "Ordenar por última modificación", + "sortByName": "Ordenar por nombre", + "sortBySize": "Ordenar por tamaño", + "noPreview": "La vista previa no está disponible para este archivo.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "seleccionar archivo o carpeta", + "ctrl": { + "click": "seleccionar múltiples archivos o carpetas", + "f": "abre la búsqueda", + "s": "guarda un archivo o lo descarga a la carpeta en la que estás" + }, + "del": "elimina los items seleccionados", + "doubleClick": "abre un archivo o carpeta", + "esc": "limpia la selección y/o cierra la ventana", + "f1": "esta información", + "f2": "renombrar archivo", + "help": "Ayuda" + }, + "login": { + "createAnAccount": "Crear una cuenta", + "loginInstead": "Usuario ya existente", + "password": "Contraseña", + "passwordConfirm": "Confirmación de contraseña", + "passwordsDontMatch": "Las contraseñas no coinciden", + "signup": "Registrate", + "submit": "Iniciar sesión", + "username": "Usuario", + "usernameTaken": "Nombre usuario no disponible", + "wrongCredentials": "Usuario y/o contraseña incorrectos", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Permanente", + "prompts": { + "copy": "Copiar", + "copyMessage": "Elige el lugar donde quieres copiar tus archivos:", + "currentlyNavigating": "Actualmente estás en:", + "deleteMessageMultiple": "¿Estás seguro que quieres eliminar {count} archivo(s)?", + "deleteMessageSingle": "¿Estás seguro que quieres eliminar este archivo/carpeta?", + "deleteMessageShare": "¿Está seguro de que quiere eliminar este recurso compartido({path})?", + "deleteUser": "Are you sure you want to delete this user?", + "deleteTitle": "Borrar archivos", + "displayName": "Nombre:", + "download": "Descargar archivos", + "downloadMessage": "Elige el formato de descarga.", + "error": "Algo ha fallado", + "fileInfo": "Información del archivo", + "filesSelected": "{count} archivos seleccionados.", + "lastModified": "Última modificación", + "move": "Mover", + "moveMessage": "Elige una nueva casa para tus archivo(s)/carpeta(s):", + "newArchetype": "Crea un nuevo post basado en un arquetipo. Tu archivo será creado en la carpeta de contenido.", + "newDir": "Nueva carpeta", + "newDirMessage": "Escribe el nombre de la nueva carpeta.", + "newFile": "Nuevo archivo", + "newFileMessage": "Escribe el nombre del nuevo archivo.", + "numberDirs": "Número de carpetas", + "numberFiles": "Número de archivos", + "rename": "Renombrar", + "renameMessage": "Escribe el nuevo nombre para", + "replace": "Reemplazar", + "replaceMessage": "Uno de los archivos ue intentas subir está creando conflicto por su nombre. ¿Quieres cambiar el nombre del ya existente?\n", + "schedule": "Programar", + "scheduleMessage": "Elige una hora y fecha para programar la publicación de este post.", + "show": "Mostrar", + "size": "Tamaño", + "upload": "Subir", + "uploadFiles": "Subiendo {files} archivos...", + "uploadMessage": "Seleccione una opción para subir.", + "optionalPassword": "Contraseña opcional", + "resolution": "Resolution", + "discardEditorChanges": "Are you sure you wish to discard the changes you've made?" + }, + "search": { + "images": "Imágenes", + "music": "Música", + "pdf": "PDF", + "pressToSearch": "Presiona enter para buscar...", + "search": "Buscar...", + "typeToSearch": "Escribe para realizar una busqueda...", + "types": "Tipos", + "video": "Vídeo" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Administrador", + "allowCommands": "Ejecutar comandos", + "allowEdit": "Editar, renombrar y borrar archivos o carpetas", + "allowNew": "Crear nuevos archivos y carpetas", + "allowPublish": "Publicar nuevos posts y páginas", + "allowSignup": "Permitir registro de usuarios", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(dejar en blanco para evitar cambios)", + "branding": "Marca", + "brandingDirectoryPath": "Ruta de la carpeta de personalizacion de marca", + "brandingHelp": "Tú puedes personalizar como se ve tu instancia de FileBrowser cambiándole el nombre, reemplazando ellogo, agregar estilos personalizados e incluso deshabilitando loslinks externos que apuntan hacia GitHub. \nPara mayor información acerca de personalización de marca, por favor revisa el {0}.", + "changePassword": "Cambiar contraseña", + "commandRunner": "Executor de comandos", + "commandRunnerHelp": "Aquí puede establecer los comandos que se ejecutan en los eventos nombrados. Debe escribir uno por línea. Las variables de entorno {0} y {1} estarán disponibles, siendo {0} relativa a {1}. Para más información sobre esta característica y las variables de entorno disponibles, por favor lea el {2}.", + "commandsUpdated": "¡Comandos actualizados!", + "createUserDir": "Crea automaticamente una carpeta de inicio cuando se agrega un usuario", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Chunked Uploads", + "tusUploadsHelp": "File Browser supports chunked file uploads, allowing for the creation of efficient, reliable, resumable and chunked file uploads even on unreliable networks.", + "tusUploadsChunkSize": "Indicates to maximum size of a request (direct uploads will be used for smaller uploads). You may input a plain integer denoting byte size input or a string like 10MB, 1GB etc.", + "tusUploadsRetryCount": "Number of retries to perform if a chunk fails to upload.", + "userHomeBasePath": "Ruta base para los directorios personales de los usuarios", + "userScopeGenerationPlaceholder": "El ámbito se generará automáticamente", + "createUserHomeDirectory": "Crear el directorio principal del usuario", + "customStylesheet": "Modificar hoja de estilos", + "defaultUserDescription": "Estas son las configuraciones por defecto para nuevos usuarios.", + "disableExternalLinks": "Deshabilitar enlaces externos (excepto documentación)", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "documentación", + "examples": "Ejemplos", + "executeOnShell": "Ejecutar en la shell", + "executeOnShellDescription": "Por defecto, FileBrowser ejecuta los comandos llamando directamente a sus binarios. Si quieres ejecutarlos en un shell en su lugar (como Bash o PowerShell), puedes definirlo aquí con los argumentos y banderas (flags) necesarios. Si se define, el comando que se ejecuta se añadirá como argumento. Esto se aplica tanto a los comandos de usuario como a los ganchos de eventos.", + "globalRules": "Se trata de un conjunto global de reglas de permiso y rechazo. Se aplican a todos los usuarios. Puedes definir reglas específicas en la configuración de cada usuario para anular estas.", + "globalSettings": "Ajustes globales", + "hideDotfiles": "Ocultar archivos empezados por punto", + "insertPath": "Introduce la ruta", + "insertRegex": "Introducir expresión regular", + "instanceName": "Nombre de la instancia", + "language": "Idioma", + "lockPassword": "Evitar que el usuario cambie la contraseña", + "newPassword": "Tu nueva contraseña", + "newPasswordConfirm": "Confirma tu contraseña", + "newUser": "Nuevo usuario", + "password": "Contraseña", + "passwordUpdated": "¡Contraseña actualizada!", + "path": "Ruta", + "perm": { + "create": "Crear ficheros y directorios", + "delete": "Eliminar ficheros y directorios", + "download": "Descargar", + "execute": "Executar comandos", + "modify": "Editar ficheros", + "rename": "Renombrar o mover ficheros y directorios", + "share": "Compartir ficheros" + }, + "permissions": "Permisos", + "permissionsHelp": "Puedes nombrar al usuario como administrador o elegir los permisos individualmente. Si seleccionas \"Administrador\", todas las otras opciones serán activadas automáticamente. La administración de usuarios es un privilegio de administrador.\n", + "profileSettings": "Ajustes del perfil", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "previene el acceso a una extensión de archivo (Como .git) en cada carpeta.\n", + "ruleExample2": "bloquea el acceso al archivo llamado Caddyfile en la carpeta raíz.", + "rules": "Reglas", + "rulesHelp": "Aquí puedes definir un conjunto de reglas de permisos para este usuario específico. Los archivos bloqueados no se mostrarán en las listas y no serán accesibles por el usuario. Puedes utilizar regex y rutas relativas a la raíz del usuario.\n", + "scope": "Raíz", + "setDateFormat": "Establecer el formato exacto de la fecha", + "settingsUpdated": "¡Ajustes actualizados!", + "shareDuration": "Compartir Duración", + "shareManagement": "Gestión Compartida", + "shareDeleted": "¡Recurso compartido eliminado!", + "singleClick": "Utilice un solo clic para abrir archivos y directorios", + "themes": { + "default": "System default", + "dark": "Oscuro", + "light": "Claro", + "title": "Tema" + }, + "user": "Usuario", + "userCommands": "Comandos", + "userCommandsHelp": "Una lista separada por espacios con los comandos permitidos para este usuario. Ejemplo:\n", + "userCreated": "¡Usuario creado!", + "userDefaults": "Configuración de usuario por defecto", + "userDeleted": "¡Usuario eliminado!", + "userManagement": "Administración de usuarios", + "userUpdated": "¡Usuario actualizado!", + "username": "Usuario", + "users": "Usuarios", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Ayuda", + "hugoNew": "Nuevo Hugo", + "login": "Iniciar sesión", + "logout": "Cerrar sesión", + "myFiles": "Mis archivos", + "newFile": "Nuevo archivo", + "newFolder": "Nueva carpeta", + "preview": "Vista previa", + "settings": "Ajustes", + "signup": "Registrate", + "siteSettings": "Ajustes del sitio" + }, + "success": { + "linkCopied": "¡Link copiado!" + }, + "time": { + "days": "Días", + "hours": "Horas", + "minutes": "Minutos", + "seconds": "Segundos", + "unit": "Unidad" + } +} diff --git a/frontend/src/i18n/fa.json b/frontend/src/i18n/fa.json new file mode 100644 index 00000000..3484d3a0 --- /dev/null +++ b/frontend/src/i18n/fa.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "لغو", + "clear": "پاک کردن", + "close": "بستن", + "continue": "ادامه", + "copy": "کپی", + "copyFile": "کپی فایل", + "copyToClipboard": "کپی به حافظه", + "copyDownloadLinkToClipboard": "کپی آدرس به حافظه", + "create": "ایجاد", + "delete": "حذف", + "download": "دانلود", + "file": "فایل", + "folder": "پوشه", + "fullScreen": "تمام صفحه ", + "hideDotfiles": "مخفی کردن دات فایلها", + "info": "اطلاعات", + "more": "بیشتر", + "move": "انتقال", + "moveFile": "انتقال فایل", + "new": "جدید", + "next": "بعدی", + "ok": "تایید", + "permalink": "دریافت لینک دائمی", + "previous": "قبلی", + "preview": "نمایش", + "publish": "انتشار", + "rename": "تغییر نام", + "replace": "جایگزین", + "reportIssue": "گزارش مشکل", + "save": "ذخیره", + "schedule": "زمان بندی", + "search": "جستجو", + "select": "انتخاب", + "selectMultiple": "انتخاب چندتایی", + "share": "اشتراک گذاری", + "shell": "تغییر پوسته", + "submit": "ثبت", + "switchView": "تغییر نمایش", + "toggleSidebar": "تغییر نوارکناری", + "update": "به روز سانی", + "upload": "آپلود", + "openFile": "باز کردن فایل", + "discardChanges": "لغو کردن", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "دانلود فایل", + "downloadFolder": "دانلود پوشه", + "downloadSelected": "دانلود انتخاب شده ها" + }, + "upload": { + "abortUpload": "آیا مطمئن هستید که میخواهید لغو کنید؟" + }, + "errors": { + "forbidden": "شما مجوز دسترسی به این را ندارید.", + "internal": "اشتباهی اتفاق افتاده است", + "notFound": "این محل قابل دسترسی نیست", + "connection": "سرور قابل دسترسی نیست" + }, + "files": { + "body": "بدنه", + "closePreview": "بستن نمایش", + "files": "فایل ها", + "folders": "پوشه ها", + "home": "صفحه اصلی", + "lastModified": "آخرین ویرایش", + "loading": "در حال بارگذاری...", + "lonely": "It feels lonely here...", + "metadata": "فراداده", + "multipleSelectionEnabled": "فعال بودن چند گزینه ای", + "name": "نام", + "size": "اندازه", + "sortByLastModified": "مرتب سازی آخرین ویرایش", + "sortByName": "مرتب سازی نام", + "sortBySize": "مرتب سازی اندازه", + "noPreview": "این فایل قابل نمایش نیست", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "انتخاب فایل یا پوشه", + "ctrl": { + "click": "انتخاب چند فایل یا پوشه", + "f": "باز کردن جستجو", + "s": "ذخیره یک فایل یا دانلود پوشه جاری" + }, + "del": "حذف گزینه انتخابی ", + "doubleClick": "باز کردن فایل یا پوشه", + "esc": "لغو انتخاب و/یا بستن پیغام", + "f1": "این اطلاعات", + "f2": "تغییر نام فایل", + "help": "راهنما" + }, + "login": { + "createAnAccount": "ایجاد کاربر", + "loginInstead": "کاربر تکراری", + "password": "رمز عبور", + "passwordConfirm": "تایید رمز", + "passwordsDontMatch": "عدم تطابق رمزها", + "signup": "ثبت نام", + "submit": "ورود", + "username": "نام کاربری", + "usernameTaken": "نام کاربری تکراری", + "wrongCredentials": "خطا در اعتبارسنجی", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "دائمی", + "prompts": { + "copy": "کپی", + "copyMessage": "انتخاب محل برای کپی فایل به آنجا ", + "currentlyNavigating": "در حال پیمایش", + "deleteMessageMultiple": "آیا مطمئنید که می‌خواهید {count} فایل را حذف کنید؟", + "deleteMessageSingle": "آیا مطمئنید که میخواهید فایل/پوشه را حذف کنید؟", + "deleteMessageShare": "آیا مطمئن هستید که می‌خواهید این اشتراک‌گذاری ({path}) را حذف کنید؟", + "deleteUser": "آیا مطمئنید که میخواهید این کاربر را حذف کنید؟", + "deleteTitle": "حذف فایل ها", + "displayName": "نمایش نام:", + "download": "دانلود فایل ها", + "downloadMessage": "نوع فایلی که میخواهید دانلود کنید را انتخاب کنید ", + "error": "اشتباهی رخ داده", + "fileInfo": "اطلاعات فایل ", + "filesSelected": "{count} فایل انتخاب شد.", + "lastModified": "آخرین ویرایش", + "move": "انتقال", + "moveMessage": "محل جدیدی برای فایل(ها)/پوشه(های) خود انتخاب کنید:", + "newArchetype": "یک پست جدید بر اساس یک آرکتایپ ایجاد کنید. فایل شما در پوشه محتوا ایجاد خواهد شد.", + "newDir": "پوشه جدید", + "newDirMessage": "نام پوشه جدید", + "newFile": "فایل جدید", + "newFileMessage": "نام فایل جدید", + "numberDirs": "تعداد پوشه ها", + "numberFiles": "تعداد فایل ها", + "rename": "تغییر نام", + "renameMessage": "ورود نام جدید برای", + "replace": "جایگزین کردن", + "replaceMessage": "یکی از فایل‌هایی که می‌خواهید آپلود کنید، نام متفاوتی دارد. آیا می‌خواهید از این فایل صرف نظر کنید و به آپلود ادامه دهید یا فایل موجود را جایگزین کنید؟", + "schedule": "زمان بندی", + "scheduleMessage": "تاریخ و زمانی را برای برنامه‌ریزی انتشار این پست انتخاب کنید", + "show": "نمایش", + "size": "اندازه", + "upload": "آپلود", + "uploadFiles": "در حال آپلود {files} فایل‌ها...", + "uploadMessage": "یک گزینه برای آپلود انتخاب کنید.", + "optionalPassword": "رمز عبور اختیاری", + "resolution": "وضوح تصویر", + "discardEditorChanges": "آیا مطمئن هستید که می‌خواهید تغییراتی را که ایجاد کرده‌اید، لغو کنید؟" + }, + "search": { + "images": "تصاویر", + "music": "موسیقی", + "pdf": "پی دی اف", + "pressToSearch": "برای جستجو enter را بزنید...", + "search": "جستجو...", + "typeToSearch": "تایپ برای جستجو", + "types": "انواع", + "video": "ویدئو " + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Administrator", + "allowCommands": "اجرای دستورات", + "allowEdit": "ویرایش، تغییر نام، و حذف فایل ها و پوشه ها", + "allowNew": "ایجاد فایلها و پوشه های جدید", + "allowPublish": "انتشار پست ها و صفحات جدید", + "allowSignup": "اجاره دادن به کاربران برای ثبت نام", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(خالی بگذارید تا تغییر ایجاد نشود)", + "branding": "برندسازی", + "brandingDirectoryPath": "مسیر پوشه برند", + "brandingHelp": "شما می‌توانید ظاهر و حس نمونه‌ی مرورگر فایل خود را با تغییر نام، جایگزینی لوگو، اضافه کردن سبک‌های سفارشی و حتی غیرفعال کردن لینک‌های خارجی به گیت‌هاب، سفارشی کنید.\nبرای اطلاعات بیشتر در مورد برندسازی سفارشی، لطفاً به {0} مراجعه کنید.", + "changePassword": "تعبیر رمز", + "commandRunner": "اجرا کننده دستورات", + "commandRunnerHelp": "در اینجا می‌توانید دستوراتی را که در رویدادهای نامگذاری شده اجرا می‌شوند، تنظیم کنید. باید در هر خط یکی را بنویسید. متغیرهای محیطی {0} و {1} در دسترس خواهند بود و {0} نسبت به {1} هستند. برای اطلاعات بیشتر در مورد این ویژگی و متغیرهای محیطی موجود، لطفاً {2} را مطالعه کنید.", + "commandsUpdated": "دستورات ویرایش شد!", + "createUserDir": "ایجاد خودکار پوشه برای هر کاربر هنگام اضافه کردن کاربر جدید", + "minimumPasswordLength": "حداقل طول رمز عبور", + "tusUploads": "آپلودهای بخش بخش شده", + "tusUploadsHelp": "مرورگر فایل از آپلود فایل بخش بخش شده پشتیبانی می‌کند و امکان ایجاد آپلودهای فایل کارآمد، قابل اعتماد، قابل از سرگیری و بخش بخش شده را حتی در شبکه‌های غیرقابل اعتماد فراهم می‌کند.", + "tusUploadsChunkSize": "حداکثر اندازه یک درخواست را نشان می‌دهد (برای آپلودهای کوچک‌تر از آپلود مستقیم استفاده می‌شود). می‌توانید یک عدد صحیح ساده که نشان‌دهنده اندازه بایت است یا یک رشته مانند ۱۰ مگابایت، ۱ گیگابایت و غیره وارد کنید.", + "tusUploadsRetryCount": "تعداد تلاش‌های مجدد برای انجام در صورت عدم موفقیت در آپلود یک قطعه داده.", + "userHomeBasePath": "مسیر پایه برای پوشه های کاربر", + "userScopeGenerationPlaceholder": "محدوده به صورت خودکار تولید خواهد شد", + "createUserHomeDirectory": "ایجاد پوشه ناحیه کاربری", + "customStylesheet": "Stylesheet سفارشی", + "defaultUserDescription": "این تنظیمات پیش‌فرض برای کاربران جدید است.", + "disableExternalLinks": "غیرفعال کردن لینک‌های خارجی (به جز مستندات)", + "disableUsedDiskPercentage": "نمودار درصد دیسک استفاده شده را غیرفعال کنید", + "documentation": "مستندسازی", + "examples": "مثال ها", + "executeOnShell": "اجرا روی shell", + "executeOnShellDescription": "به طور پیش‌فرض، مرورگر فایل، دستورات را با فراخوانی مستقیم فایل‌های باینری آنها اجرا می‌کند. اگر می‌خواهید آنها را روی یک پوسته (مانند Bash یا PowerShell) اجرا کنید، می‌توانید آن را در اینجا با آرگومان‌ها و پرچم‌های مورد نیاز تعریف کنید. در صورت تنظیم، دستوری که اجرا می‌کنید به عنوان یک آرگومان پیوست می‌شود. این موضوع هم در مورد دستورات کاربر و هم در مورد هوک ها صدق می‌کند.", + "globalRules": "این یک مجموعه جهانی از قوانین مجاز و غیرمجاز است. آنها برای هر کاربر اعمال می‌شوند. شما می‌توانید قوانین خاصی را در تنظیمات هر کاربر تعریف کنید تا این قوانین را لغو کنید.", + "globalSettings": "تنظیمات سراسری", + "hideDotfiles": "مخفی کردن دات فایل ها", + "insertPath": "وارد کردن مسیر", + "insertRegex": "وارد کردن عبارات باقاعده", + "instanceName": "نام نمونه", + "language": "زبان", + "lockPassword": "جلوگیری از تغییر رمز توسط کاربر", + "newPassword": "رمز جدید شما", + "newPasswordConfirm": "تایید رمز جدید شما", + "newUser": "کاربر جدید ", + "password": " رمز عبور", + "passwordUpdated": "رمز عبور ویرایش شد!", + "path": "مسیر", + "perm": { + "create": "استاد فایل ها و پوشه ها", + "delete": "حذف فایل ها و پوشه ها", + "download": "دانلود", + "execute": "اجرای دستورات", + "modify": "ویرایش فایل ها", + "rename": "تغییر نام یا انتقال فایل ها و پوشه ها", + "share": "به اشتراک گذاری فایل ها" + }, + "permissions": "دسترسی ها", + "permissionsHelp": "شما می‌توانید کاربر را به عنوان مدیر تنظیم کنید یا دسترسی‌ها را به صورت جداگانه انتخاب کنید. اگر \"مدیر\" را انتخاب کنید، تمام گزینه‌های دیگر به طور خودکار اعمال می‌شوند. مدیریت کاربران همچنان از اختیارات مدیر است.", + "profileSettings": "تنظیمات ناحیه کاربری", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "از دسترسی به هرگونه فایل نقطه‌ای (مانند .git، .gitignore) در هر پوشه جلوگیری می‌کند.", + "ruleExample2": "دسترسی به فایلی به نام Caddyfile را در ریشه دامنه مسدود می‌کند.", + "rules": "قواعد", + "rulesHelp": "در اینجا می‌توانید مجموعه‌ای از قوانین مجاز و غیرمجاز را برای این کاربر خاص تعریف کنید. فایل‌های مسدود شده در لیست‌ها نمایش داده نمی‌شوند و کاربر به آنها دسترسی نخواهد داشت. ما از regex و مسیرهای مربوط به محدوده کاربر پشتیبانی می‌کنیم.", + "scope": "محدوده", + "setDateFormat": "تنظیم قالب دقیق تاریخ", + "settingsUpdated": "تنظیمات به روز شد!", + "shareDuration": "زمان به اشتراک گذاری", + "shareManagement": "مدیریت به اشتراک گذاری", + "shareDeleted": "به اشتراک گذاری حذف شد!", + "singleClick": "استفاده از یک کلیک برای باز کردن فایل ها و پوشه ها", + "themes": { + "default": "تنظیمات پیش فرض سیستم", + "dark": "تاریک ", + "light": "روشن", + "title": "تم یا زمینه" + }, + "user": "کاربر", + "userCommands": "دستورات", + "userCommandsHelp": "فهرستی از دستورات موجود برای این کاربر که با فاصله از هم جدا شده‌اند. مثال:", + "userCreated": "کاربر ایجاد شد", + "userDefaults": "تنظیمات پیش فرض کاربر", + "userDeleted": "کاربر حذف شد", + "userManagement": "مدیریت کاربران", + "userUpdated": "کاربر به روز شد!", + "username": "نام کاربری", + "users": "کاربران", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "راهنما", + "hugoNew": "Hugo New", + "login": "ورود", + "logout": "خروج از حساب", + "myFiles": "فایل های من", + "newFile": "فایل جدید", + "newFolder": "پوشه جدید", + "preview": "نمایش", + "settings": "تنظیمات", + "signup": "ثبت نام", + "siteSettings": "تنظیمات سایت " + }, + "success": { + "linkCopied": "لینک کپی شد!" + }, + "time": { + "days": "روزها", + "hours": "ساعت", + "minutes": "دقیقه", + "seconds": "ثانیه", + "unit": "واحد زمان" + } +} diff --git a/frontend/src/i18n/fr.json b/frontend/src/i18n/fr.json new file mode 100644 index 00000000..798cee50 --- /dev/null +++ b/frontend/src/i18n/fr.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Annuler", + "clear": "Effacer", + "close": "Fermer", + "continue": "Continuer", + "copy": "Copier", + "copyFile": "Copier le fichier", + "copyToClipboard": "Copier dans le presse-papier", + "copyDownloadLinkToClipboard": "Copier le lien de téléchargement dans le presse-papier", + "create": "Créer", + "delete": "Supprimer", + "download": "Télécharger", + "file": "Fichier", + "folder": "Dossier", + "fullScreen": "Plein écran", + "hideDotfiles": "Masquer les fichiers cachés", + "info": "Info", + "more": "Plus", + "move": "Déplacer", + "moveFile": "Déplacer le fichier", + "new": "Nouveau", + "next": "Suivant", + "ok": "OK", + "permalink": "Obtenir le lien permanent", + "previous": "Précédent", + "preview": "Prévisualiser", + "publish": "Publier", + "rename": "Renommer", + "replace": "Remplacer", + "reportIssue": "Signaler un problème", + "save": "Enregistrer", + "schedule": "Planifier", + "search": "Rechercher", + "select": "Sélectionner", + "selectMultiple": "Sélection multiple", + "share": "Partager", + "shell": "Activer/Désactiver le shell", + "submit": "Envoyer", + "switchView": "Changer le mode d'affichage", + "toggleSidebar": "Afficher/Masquer la barre latérale", + "update": "Mettre à jour", + "upload": "Importer", + "openFile": "Ouvrir le fichier", + "discardChanges": "Annuler", + "stopSearch": "Arrêter recherche", + "saveChanges": "Enregistrer changements", + "editAsText": "Editer comme Texte", + "increaseFontSize": "Augmenter taille police", + "decreaseFontSize": "Réduire taille police" + }, + "download": { + "downloadFile": "Télécharger le fichier", + "downloadFolder": "Télécharger le dossier", + "downloadSelected": "Télécharger la sélection" + }, + "upload": { + "abortUpload": "Êtes-vous sûr de vouloir annuler ?" + }, + "errors": { + "forbidden": "Vous n'avez pas la permission d'accéder à cela.", + "internal": "Aïe ! Quelque chose s'est mal passé.", + "notFound": "Impossible d'accéder à cet emplacement.", + "connection": "Le serveur est injoignable." + }, + "files": { + "body": "Corps", + "closePreview": "Fermer la prévisualisation", + "files": "Fichiers", + "folders": "Dossiers", + "home": "Accueil", + "lastModified": "Dernière modification", + "loading": "Chargement...", + "lonely": "C'est un peu désert ici...", + "metadata": "Métadonnées", + "multipleSelectionEnabled": "Sélection multiple activée", + "name": "Nom", + "size": "Taille", + "sortByLastModified": "Trier par date de modification", + "sortByName": "Trier par nom", + "sortBySize": "Trier par taille", + "noPreview": "L'aperçu n'est pas disponible pour ce fichier.", + "csvTooLarge": "Le fichier CSV est trop volumineux pour être prévisualisé (>5MB). Veuillez le télécharger pour le voir.", + "csvLoadFailed": "Impossible de charger le fichier CSV.", + "showingRows": "Affichage de {count} ligne(s)", + "columnSeparator": "Séparateur de Colonnes", + "csvSeparators": { + "comma": "Virgule (,)", + "semicolon": "Point-virgule (;)", + "both": "Les (,) et (;)" + } + }, + "help": { + "click": "Sélectionner un fichier ou dossier", + "ctrl": { + "click": "Sélectionner plusieurs fichiers ou dossiers", + "f": "Ouvrir l'invité de recherche", + "s": "Enregistrer un fichier ou télécharger le dossier actuel" + }, + "del": "Supprimer les éléments sélectionnés", + "doubleClick": "Ouvrir un fichier ou dossier", + "esc": "Désélectionner et/ou fermer la boîte de dialogue", + "f1": "Ouvrir l'aide", + "f2": "Renommer le fichier", + "help": "Aide" + }, + "login": { + "createAnAccount": "Créer un compte", + "loginInstead": "Vous avez déjà un compte", + "password": "Mot de passe", + "passwordConfirm": "Confirmation de mot de passe", + "passwordsDontMatch": "Les mots de passe ne concordent pas", + "signup": "S'inscrire", + "submit": "Se connecter", + "username": "Utilisateur·ice", + "usernameTaken": "Le nom d'utilisateur·ice est déjà pris", + "wrongCredentials": "Identifiants incorrects !", + "passwordTooShort": "Le mot de passe doit contenir au moins {min} caractères", + "logout_reasons": { + "inactivity": "Vous avez été déconnecté(e) en raison d'une inactivité prolongée." + } + }, + "permanent": "Permanent", + "prompts": { + "copy": "Copier", + "copyMessage": "Choisissez l'emplacement où copier la sélection :", + "currentlyNavigating": "Dossier courant :", + "deleteMessageMultiple": "Êtes-vous sûr de vouloir supprimer ces {count} élément(s) ?", + "deleteMessageSingle": "Êtes-vous sûr de vouloir supprimer cet élément ?", + "deleteMessageShare": "Êtes-vous sûr de vouloir supprimer ce partage ({path}) ?", + "deleteUser": "Êtes-vous sûr de vouloir supprimer cet·te utilisateur·ice ?", + "deleteTitle": "Supprimer", + "displayName": "Nom :", + "download": "Télécharger", + "downloadMessage": "Choisissez le format de téléchargement :", + "error": "Quelque chose s'est mal passé", + "fileInfo": "Informations", + "filesSelected": "{count} éléments sélectionnés", + "lastModified": "Dernière modification", + "move": "Déplacer", + "moveMessage": "Choisissez un nouveau dossier principal pour vos fichier(s)/dossier(s) :", + "newArchetype": "Créer un nouveau post basé sur un archétype. Votre fichier sera créé dans le dossier de contenu.", + "newDir": "Nouveau dossier", + "newDirMessage": "Nom du nouveau dossier :", + "newFile": "Nouveau fichier", + "newFileMessage": "Nom du nouveau fichier :", + "numberDirs": "Nombre de dossiers", + "numberFiles": "Nombre de fichiers", + "rename": "Renommer", + "renameMessage": "Nouveau nom pour", + "replace": "Remplacer", + "replaceMessage": "L'un des fichiers que vous êtes en train d'importer a le même nom qu'un autre déjà présent. Voulez-vous remplacer le fichier actuel par le nouveau ?\n", + "schedule": "Planifier", + "scheduleMessage": "Choisissez une date pour planifier la publication de ce post", + "show": "Montrer", + "size": "Taille", + "upload": "Importer", + "uploadFiles": "Importation de {files} fichiers...", + "uploadMessage": "Sélectionnez une option d'import.", + "optionalPassword": "Mot de passe optionnel", + "resolution": "Résolution", + "discardEditorChanges": "Êtes-vous sûr de vouloir annuler les modifications apportées ?" + }, + "search": { + "images": "Images", + "music": "Musique", + "pdf": "PDF", + "pressToSearch": "Appuyez sur Entrée pour rechercher...", + "search": "Recherche en cours...", + "typeToSearch": "Écrivez pour rechercher...", + "types": "Types", + "video": "Vidéo" + }, + "settings": { + "aceEditorTheme": "Éditeur de Thème Ace", + "admin": "Admin", + "administrator": "Administrateur·ice", + "allowCommands": "Exécuter des commandes", + "allowEdit": "Éditer, renommer et supprimer des fichiers ou des dossiers", + "allowNew": "Créer de nouveaux fichiers et dossiers", + "allowPublish": "Publier de nouveaux posts et pages", + "allowSignup": "Autoriser les utilisateur·ices à s'inscrire", + "hideLoginButton": "Cacher le bouton d’identification sur les pages publiques", + "avoidChanges": "(Laisser vide pour conserver l'actuel)", + "branding": "Image de marque", + "brandingDirectoryPath": "Chemin du dossier d'image de marque", + "brandingHelp": "Vous pouvez personnaliser l'apparence de votre instance de File Browser en changeant son nom, en remplaçant le logo, en ajoutant des styles personnalisés et même en désactivant les liens externes vers GitHub.\nPour plus d'informations sur la personnalisation de l'image de marque, veuillez consulter la {0}.", + "changePassword": "Modifier le mot de passe", + "commandRunner": "Exécuteur de commandes", + "commandRunnerHelp": "Ici, vous pouvez définir les commandes qui seront exécutées lors des événements nommés précédemments. Vous devez en écrire une par ligne. Les variables d'environnement {0} et {1} seront disponibles, {0} étant relatif à {1}. Pour plus d'informations sur cette fonctionnalité et les variables d'environnement disponibles, veuillez lire la {2}.", + "commandsUpdated": "Commandes mises à jour !", + "createUserDir": "Créer automatiquement un dossier pour l'utilisateur·ice", + "minimumPasswordLength": "Taille minimale du mot de passe", + "tusUploads": "Uploads segmentés", + "tusUploadsHelp": "File Browser prend en charge les uploads segmentés afin de permettre une gestion efficace, fiable et reprenable sur des réseaux instables.", + "tusUploadsChunkSize": "Taille maximale autorisée par segment (les uploads directs seront utilisés pour les fichiers plus petits). Vous pouvez entrer un entier en octets ou une chaîne telle que 10MB, 1GB, etc.", + "tusUploadsRetryCount": "Nombre de tentatives en cas d'échec d'un segment.", + "userHomeBasePath": "Chemin de base pour les dossiers personnels des utilisateur·ices", + "userScopeGenerationPlaceholder": "Le périmètre sera généré automatiquement", + "createUserHomeDirectory": "Créer le dossier personnel de l'utilisateur·ice", + "customStylesheet": "Feuille de style personnalisée", + "defaultUserDescription": "Paramètres par défaut pour les nouveaux utilisateur·ices.", + "disableExternalLinks": "Désactiver les liens externes (sauf la documentation)", + "disableUsedDiskPercentage": "Désactiver le graphique de pourcentage d'utilisation du disque", + "documentation": "documentation", + "examples": "Exemples", + "executeOnShell": "Exécuter dans le shell", + "executeOnShellDescription": "Par défaut, File Browser exécute les commandes en appelant directement leurs binaires. Si vous voulez les exécuter sur un shell à la place (comme Bash ou PowerShell), vous pouvez le définir ici avec les arguments et les drapeaux requis. S'il est défini, la commande que vous exécutez sera ajoutée en tant qu'argument. Cela s'applique à la fois aux commandes utilisateur et aux crochets d'événements.", + "globalRules": "Il s'agit d'un ensemble global de règles d'autorisation et d'interdiction. Elles s'appliquent à tous les utilisateurs. Vous pouvez définir des règles spécifiques sur les paramètres de chaque utilisateur pour remplacer celles-ci.", + "globalSettings": "Paramètres globaux", + "hideDotfiles": "Cacher les fichiers de configuration commançant par un point", + "insertPath": "Insérer le chemin", + "insertRegex": "Insérer une expression régulière", + "instanceName": "Nom de l'instance", + "language": "Langue", + "lockPassword": "Empêcher l'utilisateur·ice de changer son mot de passe", + "newPassword": "Votre nouveau mot de passe", + "newPasswordConfirm": "Confirmation du nouveau mot de passe", + "newUser": "Nouvel utilisateur", + "password": "Mot de passe", + "passwordUpdated": "Mot de passe mis à jour !", + "path": "Chemin", + "perm": { + "create": "Créer des fichiers et des dossiers", + "delete": "Supprimer des fichiers et des dossiers", + "download": "Télécharger", + "execute": "Exécuter des commandes", + "modify": "Modifier des fichiers", + "rename": "Renommer ou déplacer des fichiers ou des dossiers", + "share": "Partager des fichiers" + }, + "permissions": "Permissions", + "permissionsHelp": "Vous pouvez définir l'utilisateur·ice comme étant administrateur·ice ou encore choisir les permissions individuellement. Si vous sélectionnez \"Administrateur·ice\", toutes les autres options seront automatiquement activées. La gestion des utilisateur·ices est un privilège que seul l'administrateur·ice possède.\n", + "profileSettings": "Paramètres du profil", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "Bloque l'accès à tous les fichiers commençant par un point (comme par exemple .git, .gitignore) dans tous les dossiers.\n", + "ruleExample2": "Bloque l'accès au fichier nommé \"Caddyfile\" à la racine du dossier utilisateur·ice.", + "rules": "Règles", + "rulesHelp": "Vous pouvez définir ici un ensemble de règles pour cet utilisateur·ice. Les fichiers bloqués ne seront pas affichés et ne seront pas accessibles par l'utilisateur·ice. Les expressions régulières sont supportées et les chemins d'accès sont relatifs par rapport au dossier de l'utilisateur·ice.\n", + "scope": "Portée du dossier utilisateur·ice", + "setDateFormat": "Définir le format de la date", + "settingsUpdated": "Les paramètres ont été mis à jour !", + "shareDuration": "Durée du partage", + "shareManagement": "Gestion des partages", + "shareDeleted": "Partage supprimé !", + "singleClick": "Utiliser un simple clic pour ouvrir les fichiers et les dossiers", + "themes": { + "default": "Par défaut du système", + "dark": "Sombre", + "light": "Clair", + "title": "Thème" + }, + "user": "Utilisateur·ice", + "userCommands": "Commandes", + "userCommandsHelp": "Une liste séparée par des espaces des commandes permises pour l'utilisateur·ice. Exemple :\n", + "userCreated": "Utilisateur·ice créé !", + "userDefaults": "Paramètres par défaut de l'utilisateur.ice", + "userDeleted": "Utilisateur·ice supprimé !", + "userManagement": "Gestion des utilisateur·ices", + "userUpdated": "Utilisateur·ice mis à jour !", + "username": "Nom d'utilisateur·ice", + "users": "Utilisateur·ices", + "currentPassword": "Mot de Passe Actuel" + }, + "sidebar": { + "help": "Aide", + "hugoNew": "Nouveau Hugo", + "login": "Login", + "logout": "Se déconnecter", + "myFiles": "Mes fichiers", + "newFile": "Nouveau fichier", + "newFolder": "Nouveau dossier", + "preview": "Prévisualiser", + "settings": "Paramètres", + "signup": "S'inscrire", + "siteSettings": "Paramètres du site" + }, + "success": { + "linkCopied": "Lien copié !" + }, + "time": { + "days": "Jours", + "hours": "Heures", + "minutes": "Minutes", + "seconds": "Secondes", + "unit": "Unité de temps" + } +} diff --git a/frontend/src/i18n/he.json b/frontend/src/i18n/he.json new file mode 100644 index 00000000..f340feca --- /dev/null +++ b/frontend/src/i18n/he.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "ביטול", + "clear": "נקה", + "close": "סגירה", + "continue": "המשך", + "copy": "העתקה", + "copyFile": "העתק קובץ", + "copyToClipboard": "העתק ללוח", + "copyDownloadLinkToClipboard": "העתק קישור הורדה ללוח", + "create": "צור", + "delete": "מחק", + "download": "הורדה", + "file": "קובץ", + "folder": "תיקייה", + "fullScreen": "Toggle full screen", + "hideDotfiles": "הסתר קבצים/תיקיות ששמם מתחיל בנקודה", + "info": "מידע", + "more": "עוד", + "move": "העברה", + "moveFile": "העבר קובץ", + "new": "חדש", + "next": "הבא", + "ok": "אישור", + "permalink": "יצירת קישור קבוע", + "previous": "הקודם", + "preview": "Preview", + "publish": "פרסום", + "rename": "שינוי שם", + "replace": "החלפה", + "reportIssue": "דווח על תקלה", + "save": "שמירה", + "schedule": "תזמון", + "search": "חיפוש", + "select": "בחירה", + "selectMultiple": "בחירה מרובה", + "share": "שיתוף", + "shell": "פתיחת מסוף", + "submit": "אישור", + "switchView": "שינוי תצוגה", + "toggleSidebar": "פתיחת/סגירת סרגל צד", + "update": "עדכון", + "upload": "העלאה", + "openFile": "פתח קובץ", + "discardChanges": "זריקת השינויים", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "הורד קובץ", + "downloadFolder": "הורד תיקייה", + "downloadSelected": "הורד קבצים שנבחרו" + }, + "upload": { + "abortUpload": "האם אתה בטוח שברצונך להפסיק את ההעלאה?" + }, + "errors": { + "forbidden": "אין לך הרשאות גישה", + "internal": "משהו השתבש", + "notFound": "לא ניתן להגיע למיקום זה", + "connection": "לא ניתן להגיע לשרת" + }, + "files": { + "body": "גוף", + "closePreview": "סגירת תצוגה מקדימה", + "files": "קבצים", + "folders": "תיקיות", + "home": "ראשי", + "lastModified": "שונה לאחרונה", + "loading": "טוען...", + "lonely": "בודד כאן", + "metadata": "נתונים", + "multipleSelectionEnabled": "בחירה מרובה מופעלת", + "name": "שם", + "size": "גודל", + "sortByLastModified": "מיין לפי השינוי האחרון", + "sortByName": "מיין לפי שם", + "sortBySize": "מיין לפי גודל", + "noPreview": "לא זמינה תצוגה מקדימה לקובץ זה", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "בחר קובץ או תיקייה", + "ctrl": { + "click": "בחר מספר קבצים או תיקיות", + "f": "פותח את החיפוש", + "s": "לשמור קובץ או להוריד את התיקייה שבה אתה נמצא" + }, + "del": "מחק את הבחירה", + "doubleClick": "פתח קובץ או תיקייה", + "esc": "נקה את הבחירה ו/או סגור את השדה", + "f1": "המידע הזה", + "f2": "שינוי שם קובץ", + "help": "עזרה" + }, + "login": { + "createAnAccount": "צור חשבון", + "loginInstead": "כבר יש לי חשבון", + "password": "סיסמא", + "passwordConfirm": "אימות סיסמא", + "passwordsDontMatch": "הסיסמאות אינן תואמות", + "signup": "הרשמה", + "submit": "התחברות", + "username": "שם משתמש", + "usernameTaken": "שם המשתמש כבר קיים", + "wrongCredentials": "פרטי התחברות שגויים", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "קבוע", + "prompts": { + "copy": "העתקה", + "copyMessage": "בחר לאן להעתיק את הקבצים:", + "currentlyNavigating": "כרגע מנווט ב:", + "deleteMessageMultiple": "האם אתה בטוח שברצונך למחוק {count} קבצים?", + "deleteMessageSingle": "האם אתה בטוח שברצונך למחוק את הקובץ/התיקייה?", + "deleteMessageShare": "האם אתה בטוח שברצונך למחוק את השיתוף הזה ({path})?", + "deleteUser": "Are you sure you want to delete this user?", + "deleteTitle": "מחיקת קבצים", + "displayName": "שם:", + "download": "הורדת קבצים", + "downloadMessage": "בחר את הפורמט שברצונך להוריד", + "error": "משהו השתבש", + "fileInfo": "מידע על הקובץ", + "filesSelected": "{count} קבצים נבחרו.", + "lastModified": "שונה לאחרונה", + "move": "העברה", + "moveMessage": "בחר מיקום חדש לקובץ/תיקייה:", + "newArchetype": "Create a new post based on an archetype. Your file will be created on content folder", + "newDir": "תיקייה חדשה", + "newDirMessage": "כתוב את שם התיקייה החדשה", + "newFile": "קובץ חדש", + "newFileMessage": "כתוב את שם הקובץ החדש", + "numberDirs": "כמות התיקיות", + "numberFiles": "כמות הקבצים", + "rename": "שינוי שם", + "renameMessage": "הכנס שם חדש עבור", + "replace": "החלפה", + "replaceMessage": "אחד הקבצים בעל שם זהה לקובץ קיים, האם ברצונך להחליף את הקובץ הקיים בחדש? זהירות - הקובץ הישן ימחק\n", + "schedule": "תזמון", + "scheduleMessage": "בחר תאריך ושעה לתזמון הפרסום של פוסט זה.", + "show": "הצג", + "size": "גודל", + "upload": "העלאה", + "uploadFiles": "מעלה {files} קבצים...", + "uploadMessage": "בחר אפשרות העלאה.", + "optionalPassword": "סיסמא אופציונלית", + "resolution": "Resolution", + "discardEditorChanges": "האם אתה בטוח שברצונך לבטל את השינויים שביצעת?" + }, + "search": { + "images": "תמונות", + "music": "מוזיקה", + "pdf": "PDF", + "pressToSearch": "הקש אנטר כדי לחפש...", + "search": "חיפוש...", + "typeToSearch": "הקלד כדי לחפש...", + "types": "סוגים", + "video": "וידאו" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "מנהל", + "administrator": "מנהל ראשי", + "allowCommands": "הפעלת פקודות", + "allowEdit": "עריכת, שינוי שם ומחיקת קבצים/תיקיות", + "allowNew": "יצירת קבצים ותיקיות חדשות", + "allowPublish": "פרסום פוסטים ודפים חדשים", + "allowSignup": "אפשר למשתמשים חדשים להירשם", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(השאר ריק כדי למנוע שינויים)", + "branding": "מיתוג", + "brandingDirectoryPath": "נתיב תיקיית מיתוג", + "brandingHelp": "אתה יכול להגדיר את האופן שבו האפליקציה תראה על ידי שינוי שם האפליקציה, החלפת הלוגו, הוספת עיצוב מותאם אישית ואפילו השבתת קישורים חיצוניים לGithub.\nלמידע נוסף עיין ב-{0}.", + "changePassword": "שינוי סיסמא", + "commandRunner": "הרצת פקודות", + "commandRunnerHelp": "אתה יכול להגדיר פקודות שיבוצעו באירועים שונים. עליך לכתוב אחד בכל שורה. משתני הסביבה {0} ו-{1} יהיו זמינים, בהיותם {0} ביחס ל-{1}. למידע נוסף על תכונה זו ועל משתני הסביבה הזמינים, עיין ב {2}.", + "commandsUpdated": "הפקודות עודכנו!", + "createUserDir": "צור אוטומטית תיקיית בית בעת הוספת משתמש חדש", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Chunked Uploads", + "tusUploadsHelp": "File Browser supports chunked file uploads, allowing for the creation of efficient, reliable, resumable and chunked file uploads even on unreliable networks.", + "tusUploadsChunkSize": "Indicates to maximum size of a request (direct uploads will be used for smaller uploads). You may input a plain integer denoting byte size input or a string like 10MB, 1GB etc.", + "tusUploadsRetryCount": "Number of retries to perform if a chunk fails to upload.", + "userHomeBasePath": "נתיב ראשי לתיקיות הבית של משתמשים", + "userScopeGenerationPlaceholder": "ההיקף יווצר אוטומטית", + "createUserHomeDirectory": "צור תיקיית בית למשתמש", + "customStylesheet": "עיצוב מותאם אישית (Stylesheet)", + "defaultUserDescription": "הגדרות ברירת המחדל למשתמשים חדשים", + "disableExternalLinks": "השבת קישורים חיצוניים (למעט תיעוד)", + "disableUsedDiskPercentage": "אל תציג גרף שימוש בדיסק", + "documentation": "תיעוד", + "examples": "דוגמאות", + "executeOnShell": "בצע במסוף", + "executeOnShellDescription": "כברירת מחדל, האפליקציה מבצעת את הפקודות על ידי הפעלה ישירה לקבצים (הבינארים). אם אתה רוצה להפעיל אותם מתוך מעטפת כלשהי, (לדוגמא מתוך Bash או PowerShell) אתה יכול להגדיר אותם כאן עם הפרמטרים הנדרשים. שים לב שזה יבוצע גם על פקודות משתמש וגם על הוקים (Hooks) לאירועים.", + "globalRules": "זוהי קבוצה גלובלית של חוקים והרשאות (מה מותר ומה אסור), הם חלים על כל משתמש. אתה יכול להגדיר כללים ספציפיים בהגדרות של כל משתמש, כדי לעקוף את החוקים הגלובלים.", + "globalSettings": "הגדרות גלובליות", + "hideDotfiles": "הסתר קבצים/תיקיות ששמם מתחיל בנקודה", + "insertPath": "הכנס את הנתיב", + "insertRegex": "הוסף ביטוי רגולרי", + "instanceName": "שם מופע", + "language": "שפה", + "lockPassword": "מנע מהמשתמש להחליף סיסמא", + "newPassword": "הסיסמא החדשה שלך", + "newPasswordConfirm": "אשר את הסיסמה החדשה שלך", + "newUser": "משתמש חדש", + "password": "סיסמא", + "passwordUpdated": "הסיסמא עודכנה!", + "path": "נתיב", + "perm": { + "create": "יצירת קבצים ותיקיות", + "delete": "מחיקת קבצים ותיקיות", + "download": "הורדת קבצים ותיקיות", + "execute": "ביצוע פקודות", + "modify": "עריכת קבצים קבצים", + "rename": "שינוי שם/העברת קבצים ותיקיות", + "share": "שיתוף קבצים" + }, + "permissions": "הרשאות", + "permissionsHelp": "אתה יכול להגדיר את המשתמש להיות מנהל מערכת או לבחור את ההרשאות בנפרד. אם תבחר \"מנהל מערכת\", כל ההרשאות יינתנו אוטומטית. ניהול המשתמשים נשאר הרשאה של מנהל מערכת.\n", + "profileSettings": "הגדרות פרופיל", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "מנע גישה לקבצים נסתרים (כל קובץ/תיקייה שמתחיל בנקודה, לדוגמא .git)", + "ruleExample2": "חסימת גישה לקובץ בשם Caddyfile בהיקף הראשי.", + "rules": "חוקים", + "rulesHelp": "כאן אתה יכול להגדיר רשימה של כללים למשתמש ספציפי, רשימה שחורה ולבנה. הקבצים החסומים לא יופיעו ברשימת הקבצים ולא יהיו נגישים למשתמש. יש תמיכה בנתיבים (ביחס לתיקייה הראשית של המשתמש), וגם בביטוי רגולרי.\n", + "scope": "היקף", + "setDateFormat": "הגדר פורמט תאריך", + "settingsUpdated": "ההגדרות עודכנו!", + "shareDuration": "משך השיתוף", + "shareManagement": "ניהול שיתוף", + "shareDeleted": "השיתוף נמחק!", + "singleClick": "השתמש בלחיצה בודדת כדי לפתוח קובץ/תיקייה", + "themes": { + "default": "System default", + "dark": "כהה", + "light": "בהיר", + "title": "ערכת נושא" + }, + "user": "משתמש", + "userCommands": "פקודות", + "userCommandsHelp": "רשימה מופרדת ברווחים של הפקודות הזמינות עבור משתמש זה. דוגמא:\n", + "userCreated": "המשתמש נוצר!", + "userDefaults": "הגדרות ברירת מחדל למשתמש", + "userDeleted": "המשתמש נמחק!", + "userManagement": "ניהול משתמש", + "userUpdated": "המשתמש עודכן!", + "username": "שם משתמש", + "users": "משתמשים", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "עזרה", + "hugoNew": "הוגו חדש", + "login": "התחבר", + "logout": "התנתק", + "myFiles": "הקבצים שלי", + "newFile": "קובץ חדש", + "newFolder": "תיקייה חדשה", + "preview": "תצוגה מקדימה", + "settings": "הגדרות", + "signup": "הרשמה", + "siteSettings": "הגדרות אתר" + }, + "success": { + "linkCopied": "הקישור הועתק!" + }, + "time": { + "days": "ימים", + "hours": "שעות", + "minutes": "דקות", + "seconds": "שניות", + "unit": "יחידת זמן" + } +} diff --git a/frontend/src/i18n/hr.json b/frontend/src/i18n/hr.json new file mode 100644 index 00000000..e21ffd80 --- /dev/null +++ b/frontend/src/i18n/hr.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Otkaži", + "clear": "Očisti", + "close": "Zatvori", + "continue": "Nastavi", + "copy": "Kopiraj", + "copyFile": "Kopiraj datoteku", + "copyToClipboard": "Kopiraj u međuspremnik", + "copyDownloadLinkToClipboard": "Kopiraj poveznicu za preuzimanje u međuspremnik", + "create": "Stvori", + "delete": "Izbriši", + "download": "Preuzmi", + "file": "Datoteka", + "folder": "Mapa", + "fullScreen": "Prebaci na cijeli zaslon", + "hideDotfiles": "Sakrij datoteke koje započinju točkom", + "info": "Info", + "more": "Više", + "move": "Premjesti", + "moveFile": "Premjesti datoteku", + "new": "Novo", + "next": "Sljedeće", + "ok": "OK", + "permalink": "Dohvati trajnu poveznicu", + "previous": "Prethodno", + "preview": "Pregled", + "publish": "Objavi", + "rename": "Preimenuj", + "replace": "Zamijeni", + "reportIssue": "Prijavi grešku", + "save": "Spremi", + "schedule": "Zakaži", + "search": "Pretraži", + "select": "Označi", + "selectMultiple": "Označi više", + "share": "Podijeli", + "shell": "Promijeni ljusku", + "submit": "Predaj", + "switchView": "Promijeni prikaz", + "toggleSidebar": "Prebaci bočnu traku", + "update": "Ažuriraj", + "upload": "Prenesi", + "openFile": "Otvori datoteku", + "discardChanges": "Odbaci", + "stopSearch": "Stop searching", + "saveChanges": "Spremi promjene", + "editAsText": "Uredi kao tekst", + "increaseFontSize": "Povećaj veličinu fonta", + "decreaseFontSize": "Smanji veličinu fonta" + }, + "download": { + "downloadFile": "Preuzmi Datoteku", + "downloadFolder": "Preuzmi Mapu", + "downloadSelected": "Preuzmi Odabrano" + }, + "upload": { + "abortUpload": "Jeste li sigurni da hoćete otkazati?" + }, + "errors": { + "forbidden": "Nemate dopuštenje pristupiti ovome.", + "internal": "Nešto je stvarno pošlo po zlu.", + "notFound": "Lokacija ne može biti dohvaćena.", + "connection": "Poslužitelj ne može biti dohvaćen." + }, + "files": { + "body": "Tijelo", + "closePreview": "Zatvori pregled", + "files": "Datoteke", + "folders": "Mape", + "home": "Dom", + "lastModified": "Zadnje izmijenjeno", + "loading": "Učitavanje...", + "lonely": "Ovdje je tako prazno...", + "metadata": "Metapodaci", + "multipleSelectionEnabled": "Višestruk odabir", + "name": "Naziv", + "size": "Veličina", + "sortByLastModified": "Sortiraj po zadnjoj izmjeni", + "sortByName": "Sortiraj po nazivu", + "sortBySize": "Sortiraj po veličini", + "noPreview": "Pregled nije dostupan za ovu datoteku.", + "csvTooLarge": "CSV datoteka je prevelika za pregled (>5MB). Molimo preuzmite da bi ste ju pregledali.", + "csvLoadFailed": "Neuspješno učitavanje CSV datoteke.", + "showingRows": "Prikazuje se {count} red(ova)", + "columnSeparator": "Separator stupaca", + "csvSeparators": { + "comma": "Zarez (,)", + "semicolon": "Točka zarez (;)", + "both": "I (,) i (;)" + } + }, + "help": { + "click": "odaberi datoteku ili mapu", + "ctrl": { + "click": "odaberi više datoteka ili mapa", + "f": "tražilica", + "s": "spremi datoteku ili preuzmi trenutnu mapu" + }, + "del": "izbriši odabrane stavke", + "doubleClick": "otvori datoteku ili mapu", + "esc": "očisti odabir i/ili zatvori upit", + "f1": "ova informacija", + "f2": "preimenuj datoteku", + "help": "Pomoć" + }, + "login": { + "createAnAccount": "Stvori korisnički račun", + "loginInstead": "Imam korisnički račun", + "password": "Lozinka", + "passwordConfirm": "Potvrda lozinke", + "passwordsDontMatch": "Lozinke se ne podudaraju", + "signup": "Registracija", + "submit": "Prijava", + "username": "Korisničko ime", + "usernameTaken": "Korisničko ime zauzeto", + "wrongCredentials": "Neispravno korisničko ime/lozinka", + "passwordTooShort": "Lozinka mora sadržavati minimalno {min} znakova", + "logout_reasons": { + "inactivity": "Odjavljeni ste zbog neaktivnosti." + } + }, + "permanent": "Trajan", + "prompts": { + "copy": "Kopiraj", + "copyMessage": "Odaberite lokaciju za kopiranje datoteka:", + "currentlyNavigating": "Trenutno navigiranje na:", + "deleteMessageMultiple": "Jeste li sigurni da želite izbrisati datoteke: {count}?", + "deleteMessageSingle": "Jeste li sigurni da hoćete izbrisati ovu datoteku/mapu?", + "deleteMessageShare": "Jeste li sigurni da hoćete izbrisati ovo dijeljenje({path})?", + "deleteUser": "Jeste li sigurni da hoćete izbrisati ovaj korisnički račun?", + "deleteTitle": "Izbriši datoteke", + "displayName": "Prikazno Ime:", + "download": "Preuzmi datoteke", + "downloadMessage": "Odaberite format za preuzimanje.", + "error": "Nešto je pošlo po zlu", + "fileInfo": "Informacije o datoteci", + "filesSelected": "{count} datoteka odabrana.", + "lastModified": "Zadnje izmijenjeno", + "move": "Premjesti", + "moveMessage": "Odaberite novi dom za Vašu datoteku(e)/mapu(e):", + "newArchetype": "Stvorite novu objavu na temelju arhetipu. Vaša datoteka bit će stvorena u mapi sadržaja.", + "newDir": "Nova mapa", + "newDirMessage": "Imenujte Vašu novu mapu.", + "newFile": "Nova datoteka", + "newFileMessage": "Imenujte Vašu novu datoteku.", + "numberDirs": "Broj mapa", + "numberFiles": "Broj datoteka", + "rename": "Preimenuj", + "renameMessage": "Umetni novo ime za", + "replace": "Zamijeni", + "replaceMessage": "Jedna od datoteka koju pokušavate prenijeti ima sukobljavajući naziv. Želite li preskočiti ovu datoteku i nastaviti s prijenosom ili zamijeniti postojeću datoteku?\n", + "schedule": "Zakaži", + "scheduleMessage": "Odaberite datum i vrijeme za zakazivanje ove objave.", + "show": "Prikaži", + "size": "Veličina", + "upload": "Prenesi", + "uploadFiles": "Prenošenje {files} datoteka...", + "uploadMessage": "Odaberite opciju za prijenos.", + "optionalPassword": "Opcionalna lozinka", + "resolution": "Rezolucija", + "discardEditorChanges": "Jeste li sigurni da želite odbaciti promjene koje ste napravili?" + }, + "search": { + "images": "Slike", + "music": "Glazba", + "pdf": "PDF", + "pressToSearch": "Pritisnite enter za pretraživanje...", + "search": "Pretraživanje...", + "typeToSearch": "Tipkajte za pretraživanje...", + "types": "Tipovi", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Administrator", + "allowCommands": "Izvrši naredbe", + "allowEdit": "Uredi, preimenuj i izbriši datoteke ili mape", + "allowNew": "Stvori nove datoteke i mape", + "allowPublish": "Objavi nove objave i stranice", + "allowSignup": "Dopusti registraciju korisnicima", + "hideLoginButton": "Sakrij tipku za prijavu s javnih stranica", + "avoidChanges": "(ostavite prazno kako biste izbjegli promjene)", + "branding": "Brendiranje", + "brandingDirectoryPath": "Put brendiranja", + "brandingHelp": "Možete prilagoditi izgled i funkcionalnost Vašeg File Browsera mijenjanjem njegovog naziva, zamjenom logotipa, dodavanjem prilagođenih stilova pa čak i onemogućavanjem vanjskih poveznica na GitHub.\nZa više informacija o prilagođenome brendiranju pogledajte {0}.", + "changePassword": "Promjena lozinke", + "commandRunner": "Izvršitelj naredbi", + "commandRunnerHelp": "Ovdje možete postaviti naredbe koje se izvršuju u imenovanim događajima. Morate napisati jednu po liniji. Varijable okruženja {0} i {1} bit će dostupne, tako da je {0} relativna {1}. Za više informacija o ovoj značajci pogledajte {2}.", + "commandsUpdated": "Naredbe ažurirane!", + "createUserDir": "Automatsko stvaranje kućne mape korisnika pri dodavanju novog korisnika", + "minimumPasswordLength": "Minimalna duljina lozinke", + "tusUploads": "Segmentirani prijenosi", + "tusUploadsHelp": "File Browser podržava segmentirane prijenose datoteka, omogućavajući stvaranje učinkovitih, pouzdanih, obnovljivih i segmentiranih prijenosa datoteka čak i na nepouzdanim mrežama.", + "tusUploadsChunkSize": "Naznačuje maksimalnu veličinu zahtjeva (direktni prijenosi bit će korišteni za manje prijenose). Možete unijeti cijeli broj koji označava veličinu bajta ili niz znakova poput 10MB, 1GB itd.", + "tusUploadsRetryCount": "Broj ponovnih pokušaja ako se dio ne uspije prenijeti.", + "userHomeBasePath": "Bazni put za kućne mape korisnika", + "userScopeGenerationPlaceholder": "Opseg će se automatski generirati", + "createUserHomeDirectory": "Stvori kućnu mapu korisnika", + "customStylesheet": "Prilagođeni Stylesheet", + "defaultUserDescription": "Zadane postavke za nove korisnike.", + "disableExternalLinks": "Onemogući vanjske poveznice (osim dokumentacije)", + "disableUsedDiskPercentage": "Onemogući graf iskorištenosti diska", + "documentation": "dokumentacija", + "examples": "Primjeri", + "executeOnShell": "Izvrši u ljusci", + "executeOnShellDescription": "Po zadanim postavkama, File Browser izvršava naredbe izravnim pozivanjem njihovih binarnih datoteka. Ako ih želite izvršiti u ljusci (kao što su Bash ili PowerShell), možete ih definirati ovdje s potrebnim argumentima i oznakama. Ako je postavljena, naredba koju izvršavate bit će dodana kao argument. To se odnosi i na korisničke naredbe i na događajne kuke.", + "globalRules": "Ovo je globalan skup pravila dopuštanja i zabrane. Primjenjuju se na svakog korisnika. Moguće je definirati specifična pravila u postavkama svakog korisnika da biste nadjačali ove postavke.", + "globalSettings": "Globalne postavke", + "hideDotfiles": "Sakrij datoteke koje započinju točkom", + "insertPath": "Umetni put", + "insertRegex": "Umetni regex izraz", + "instanceName": "Naziv instance", + "language": "Jezik", + "lockPassword": "Onemogući mijenjanje lozinke korisniku", + "newPassword": "Vaša nova lozinka", + "newPasswordConfirm": "Potvrdite Vašu novu lozinku", + "newUser": "Novi Korisnik", + "password": "Lozinka", + "passwordUpdated": "Lozinka ažurirana!", + "path": "Put", + "perm": { + "create": "Stvaranje datoteka i mapa", + "delete": "Brisanje datoteka i mapa", + "download": "Preuzimanje", + "execute": "Izvršavanje naredbi", + "modify": "Uređivanje datoteka", + "rename": "Preimenovanje ili premještanje datoteka i mapa", + "share": "Dijeljenje datoteka" + }, + "permissions": "Dopuštenja", + "permissionsHelp": "Korisnika možete postaviti administratorom ili odabrati dopuštenja individualno. Odabirom na \"Administrator\", sve druge opcije bit će automatski odabrane. Upravljanje korisnicima ostaje privilegija administratora.\n", + "profileSettings": "Postavke profila", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "onemogućava pristup svakoj datoteci koja započinje točkom (poput .git, .gitignore) u svakoj mapi.\n", + "ruleExample2": "blokira pristup datoteci naziva Caddyfile na korijenu opsega.", + "rules": "Pravila", + "rulesHelp": "Ovdje možete definirati skup pravila dopuštanja i zabrane za ovog specifičnog korisnika. Blokirane datoteke neće se prikazivati u popisima i neće biti dostupne korisniku. Podržavamo regex i puteve relativne opsegu korisnika.\n", + "scope": "Opseg", + "setDateFormat": "Odredi točan format datuma", + "settingsUpdated": "Postavke ažurirane!", + "shareDuration": "Podijeli Trajanje", + "shareManagement": "Upravljanje Dijeljenjem", + "shareDeleted": "Podjela izbrisana!", + "singleClick": "Koristi jednostruke klikove za otvaranje datoteka i mapa", + "themes": { + "default": "Zadano - Sustav", + "dark": "Tamno", + "light": "Svijetlo", + "title": "Tema" + }, + "user": "Korisnik", + "userCommands": "Naredbe", + "userCommandsHelp": "Popis dostupnih naredbi za ovog korisnika. Primjer:\n", + "userCreated": "Korisnik stvoren!", + "userDefaults": "Zadane postavke korisnika", + "userDeleted": "Korisnik izbrisan!", + "userManagement": "Upravljanje Korisnicima", + "userUpdated": "Korisnik ažuriran!", + "username": "Korisničko ime", + "users": "Korisnici", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Pomoć", + "hugoNew": "Hugo New", + "login": "Prijava", + "logout": "Odjava", + "myFiles": "Moje datoteke", + "newFile": "Nova datoteka", + "newFolder": "Nova mapa", + "preview": "Pregled", + "settings": "Postavke", + "signup": "Registracija", + "siteSettings": "Postavke stranice" + }, + "success": { + "linkCopied": "Poveznica kopirana!" + }, + "time": { + "days": "Dani", + "hours": "Sati", + "minutes": "Minute", + "seconds": "Sekunde", + "unit": "Jedinica vremena" + } +} diff --git a/frontend/src/i18n/hu.json b/frontend/src/i18n/hu.json new file mode 100644 index 00000000..f6d856cf --- /dev/null +++ b/frontend/src/i18n/hu.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Mégse", + "clear": "Törlése", + "close": "Bezárás", + "continue": "Continue", + "copy": "Másolás", + "copyFile": "Fájl másolása", + "copyToClipboard": "Másolás vágólapra", + "copyDownloadLinkToClipboard": "Copy download link to clipboard", + "create": "Létrehozás", + "delete": "Törlése", + "download": "Letöltés", + "file": "Fájl", + "folder": "Mappa", + "fullScreen": "Toggle full screen", + "hideDotfiles": "Rejtett fájlok elrejtése", + "info": "Infó", + "more": "További", + "move": "Mozgatás", + "moveFile": "Fájl mozgatása", + "new": "Új", + "next": "Következő", + "ok": "OK", + "permalink": "Állandó link lekérése", + "previous": "Előző", + "preview": "Preview", + "publish": "Publikálása", + "rename": "Átnevezés", + "replace": "Csere", + "reportIssue": "Hiba jelentése", + "save": "Mentés", + "schedule": "Ütemezés", + "search": "Keresés", + "select": "Kijelölés", + "selectMultiple": "Többszörös kijelölés", + "share": "Megosztás", + "shell": "Parancsértelmező átváltása", + "submit": "Beküldés", + "switchView": "Nézet váltása", + "toggleSidebar": "Oldalsáv átváltása", + "update": "Frissítés", + "upload": "Feltöltés", + "openFile": "Fájl megnyitása", + "discardChanges": "Discard", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Fájl letöltése", + "downloadFolder": "Mappa letöltése", + "downloadSelected": "Kijelölés letöltése" + }, + "upload": { + "abortUpload": "Are you sure you wish to abort?" + }, + "errors": { + "forbidden": "Nincs jogosultsága a hozzáféréshez.", + "internal": "Valami nagyon elromlott.", + "notFound": "Ez a hely nem érhető el.", + "connection": "A kiszolgáló nem érhető el." + }, + "files": { + "body": "Törzs", + "closePreview": "Előnézet bezárása", + "files": "Fájlok", + "folders": "Mappák", + "home": "Kezdőlap", + "lastModified": "Utoljára módosítva", + "loading": "Betöltés…", + "lonely": "Ez egy magányos érzés…", + "metadata": "Metaadat", + "multipleSelectionEnabled": "Többszörös kijelölés aktiválva", + "name": "Név", + "size": "Méret", + "sortByLastModified": "Rendezés utolsó módosítás szerint", + "sortByName": "Rendezés név szerint", + "sortBySize": "Rendezés méret szerint", + "noPreview": "Ehhez a fájlhoz nincs előnézet.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "mappa vagy fájl kijelölése", + "ctrl": { + "click": "több mappa vagy fájl kijelölése", + "f": "keresés megnyitása", + "s": "az aktuális fájl vagy mappa letöltése" + }, + "del": "kijelölt elemek törlése", + "doubleClick": "fájl vagy mappa megnyitása", + "esc": "kijelölés törlése és/vagy parancssor bezárása", + "f1": "ezen információ megjelenítése", + "f2": "fájl átnevezése", + "help": "Súgó" + }, + "login": { + "createAnAccount": "Fiók létrehozása", + "loginInstead": "Már van fiókom", + "password": "Jelszó", + "passwordConfirm": "Jelszó megerősítése", + "passwordsDontMatch": "A jelszavak nem egyeznek", + "signup": "Regisztráció", + "submit": "Belépés", + "username": "Felhasználói név", + "usernameTaken": "A felhasználói név már foglalt", + "wrongCredentials": "Hibás hitelesítő adatok", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Állandó", + "prompts": { + "copy": "Másolása", + "copyMessage": "Válassza ki a másolás célját:", + "currentlyNavigating": "Jelenlegi helyzet:", + "deleteMessageMultiple": "Biztosan törölni szeretne {count} fájlt?", + "deleteMessageSingle": "Biztosan törölni szeretné ezt a fájl vagy mappát?", + "deleteMessageShare": "Biztosan törölni szeretné ezt a megosztást ({path})?", + "deleteUser": "Are you sure you want to delete this user?", + "deleteTitle": "Fájlok törlése", + "displayName": "Megjelenített név:", + "download": "Fájlok letöltése", + "downloadMessage": "Válassza ki a letöltés formátumát.", + "error": "Valami rosszul sült el", + "fileInfo": "Fájlinformáció", + "filesSelected": "{count} fájl van kijelölve.", + "lastModified": "Utolsó módosítás", + "move": "Mozgatás", + "moveMessage": "Válasszon új helyet a fájl(ok)nak/mappá(k)nak:", + "newArchetype": "Új bejegyzést hoz létre egy archetípus alapján. A fájl a tartalom mappában jön létre.", + "newDir": "Új mappa", + "newDirMessage": "Adja meg az új mappa nevét.", + "newFile": "Új fájl", + "newFileMessage": "Adja meg az új fájl nevét.", + "numberDirs": "Mappák száma", + "numberFiles": "Fájlok száma", + "rename": "Átnevezés", + "renameMessage": "Adja meg az új nevét:", + "replace": "Csere", + "replaceMessage": "Az egyik feltölteni kívánt fájl a neve miatt ütközik. Szeretné lecserélni a meglévő fájlt?\n", + "schedule": "Ütemezés", + "scheduleMessage": "Válasszon egy dátumot és időpontot a bejegyzés közzétételének ütemezéséhez.", + "show": "Megjelenítés", + "size": "Méret", + "upload": "Feltöltés", + "uploadFiles": "{files} fájl feltöltése…", + "uploadMessage": "Válasszon egy feltöltési módot.", + "optionalPassword": "Választható jelszó", + "resolution": "Resolution", + "discardEditorChanges": "Are you sure you wish to discard the changes you've made?" + }, + "search": { + "images": "Képek", + "music": "Zene", + "pdf": "PDF", + "pressToSearch": "Keresés indítása Enterrel…", + "search": "Keresés…", + "typeToSearch": "Keresés indítása beírással…", + "types": "Típusok", + "video": "Videó" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Adminisztrátor", + "allowCommands": "Parancsok futtatása", + "allowEdit": "Fájlok és mappák szerkesztése, átnevezése és törlése", + "allowNew": "Új fájlok és mappák létrehozása", + "allowPublish": "Új bejegyzések és oldalak létrehozása", + "allowSignup": "Felhasználók regisztrációjának engedélyezése", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(üresen hagyva nincs változás)", + "branding": "Márkázás", + "brandingDirectoryPath": "Márkázás mappaútvonala", + "brandingHelp": "Testre szabhatja a File Browser példányának megjelenését a név megváltoztatásával, a logó cseréjével, egyéni stílusok hozzáadásával és még a GitHubra mutató külső hivatkozások letiltásával is.\nAz egyéni márkázással kapcsolatos további információkért tekintse meg: {0}.", + "changePassword": "Jelszó módosítása", + "commandRunner": "Parancsfuttató", + "commandRunnerHelp": "Beállíthatja azokat a parancsokat, amelyek a megnevezett események során végrehajtásra kerülnek. Soronként egyet kell megadni. A {0} és a {1} környezeti változók lesznek elérhetőek, ahol a {0} relatív a {1}-hez. A funkcióról és a rendelkezésre álló környezeti változókról további információ: {2}.", + "commandsUpdated": "Parancsok frissítve!", + "createUserDir": "Felhasználók saját mappáinak automatikus létrehozása új felhasználók hozzáadásakor", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Chunked Uploads", + "tusUploadsHelp": "File Browser supports chunked file uploads, allowing for the creation of efficient, reliable, resumable and chunked file uploads even on unreliable networks.", + "tusUploadsChunkSize": "Indicates to maximum size of a request (direct uploads will be used for smaller uploads). You may input a plain integer denoting byte size input or a string like 10MB, 1GB etc.", + "tusUploadsRetryCount": "Number of retries to perform if a chunk fails to upload.", + "userHomeBasePath": "Alap elérési útvonal a felhasználók saját mappáihoz", + "userScopeGenerationPlaceholder": "A környezet automatikus lesz létrehozva", + "createUserHomeDirectory": "Felhasználói saját mappák létrehozása", + "customStylesheet": "Egyéni stíluslap", + "defaultUserDescription": "Ezek az alapértelmezett beállítások az új felhasználók számára.", + "disableExternalLinks": "Külső linkek letiltása (kivéve a dokumentáció)", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "dokumentáció", + "examples": "Példák", + "executeOnShell": "Futtatás parancsértelmezőben", + "executeOnShellDescription": "Alapértelmezés szerint a File Browser a parancsokat a binárisok közvetlen meghívásával hajtja végre. Ha ehelyett egy parancsértelmezőben (például Bash vagy PowerShell) szeretné futtatni őket, akkor itt definiálhatja azt a szükséges argumentumokkal és jelzőkkel. Ha be van állítva, akkor a végrehajtott parancs argumentumként hozzá lesz csatolva. Ez vonatkozik mind a felhasználói parancsokra, mind az eseményhorgokra.", + "globalRules": "Ez egy globális engedélyezési és tiltási szabálykészlet. Ezek minden felhasználóra vonatkoznak. Az egyes felhasználók beállításainál egyedi szabályokat határozhat meg, amelyek felülbírálják ezeket.", + "globalSettings": "Általános beállítások", + "hideDotfiles": "Rejtett fájlok elrejtése", + "insertPath": "Elérési útvonal beszúrása", + "insertRegex": "Reguláris kifejezés beszúrása", + "instanceName": "Példány neve", + "language": "Nyelv", + "lockPassword": "Felhasználói jelszó megváltoztatásának megakadályozása", + "newPassword": "Új jelszó", + "newPasswordConfirm": "Új jelszó ismét", + "newUser": "Új felhasználó", + "password": "Jelszó", + "passwordUpdated": "Jelszó frissítve!", + "path": "Elérési útvonal", + "perm": { + "create": "Fájlok és mappák létrehozása", + "delete": "Fájlok és mappák törlése", + "download": "Letöltése", + "execute": "Parancsok futtatása", + "modify": "Fájlok szerkesztése", + "rename": "Fájlok és mappák átnevezése vagy mozgatása", + "share": "Fájlok megosztása" + }, + "permissions": "Jogosultságok", + "permissionsHelp": "A felhasználót beállíthatja rendszergazdának, vagy egyénileg is kiválaszthatja a jogosultságokat. Ha a \"Rendszergazda\" lehetőséget választja, az összes többi opció automatikusan be lesz jelölve. A felhasználók kezelése továbbra is a rendszergazda kiváltsága marad.\n", + "profileSettings": "Profilbeállítások", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "megakadályozza a hozzáférést bármely rejtett fájlhoz (pl. .git, .gitignore) bármely mappában.\n", + "ruleExample2": "blokkolja a hozzáférést a Caddyfile nevű fájlhoz a hatókör gyökerében.", + "rules": "Szabályok", + "rulesHelp": "Meghatározhat egy sor engedélyezési és tiltási szabályt az adott felhasználó számára. A letiltott fájlok nem jelennek meg a listákban, és nem lesznek elérhetőek a felhasználó számára. A reguláris kifejezések és a felhasználói hatókörhöz viszonyított elérési utak támogatottak.\n", + "scope": "Hatókör", + "setDateFormat": "Pontos dátumformátum beállítása", + "settingsUpdated": "Beállítások frissítve!", + "shareDuration": "Megosztás időtartama", + "shareManagement": "Megosztáskezelés", + "shareDeleted": "Megosztás törölve!", + "singleClick": "Fájlok és könyvtárak megnyitása egyetlen kattintással", + "themes": { + "default": "System default", + "dark": "Sötét", + "light": "Világos", + "title": "Téma" + }, + "user": "Felhasználó", + "userCommands": "Parancsok", + "userCommandsHelp": "Egy szóközzel elválasztott lista az adott felhasználó számára elérhető parancsokkal. Példa:\n", + "userCreated": "Felhasználó létrehozva!", + "userDefaults": "Felhasználói alapértelmezett beállítások", + "userDeleted": "Felhasználó törölve!", + "userManagement": "Felhasználókezelés", + "userUpdated": "Felhasználó frissítve!", + "username": "Felhasználói név", + "users": "Felhasználók", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Súgó", + "hugoNew": "Új Hugo", + "login": "Belépés", + "logout": "Kilépés", + "myFiles": "Fájljaim", + "newFile": "Új fájl", + "newFolder": "Új mappa", + "preview": "Előnézet", + "settings": "Beállítások", + "signup": "Regisztráció", + "siteSettings": "Oldalbeállítások" + }, + "success": { + "linkCopied": "Link másolva!" + }, + "time": { + "days": "Nap", + "hours": "Óra", + "minutes": "Perc", + "seconds": "Másodperc", + "unit": "Időegység" + } +} diff --git a/frontend/src/i18n/index.ts b/frontend/src/i18n/index.ts new file mode 100644 index 00000000..d576d183 --- /dev/null +++ b/frontend/src/i18n/index.ts @@ -0,0 +1,182 @@ +import dayjs from "dayjs"; +import { createI18n } from "vue-i18n"; + +import("dayjs/locale/ar"); +import("dayjs/locale/bg"); +import("dayjs/locale/cs"); +import("dayjs/locale/de"); +import("dayjs/locale/el"); +import("dayjs/locale/en"); +import("dayjs/locale/es"); +import("dayjs/locale/fr"); +import("dayjs/locale/he"); +import("dayjs/locale/hr"); +import("dayjs/locale/hu"); +import("dayjs/locale/is"); +import("dayjs/locale/it"); +import("dayjs/locale/ja"); +import("dayjs/locale/ko"); +import("dayjs/locale/nb"); +import("dayjs/locale/nl-be"); +import("dayjs/locale/pl"); +import("dayjs/locale/pt-br"); +import("dayjs/locale/pt"); +import("dayjs/locale/ro"); +import("dayjs/locale/ru"); +import("dayjs/locale/sk"); +import("dayjs/locale/sv"); +import("dayjs/locale/tr"); +import("dayjs/locale/uk"); +import("dayjs/locale/vi"); +import("dayjs/locale/zh-cn"); +import("dayjs/locale/zh-tw"); + +// All i18n resources specified in the plugin `include` option can be loaded +// at once using the import syntax +import messages from "@intlify/unplugin-vue-i18n/messages"; + +export function detectLocale() { + // locale is an RFC 5646 language tag + // https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language + let locale = navigator.language.toLowerCase(); + switch (true) { + case /^he\b/.test(locale): + locale = "he"; + break; + case /^hr\b/.test(locale): + locale = "hr"; + break; + case /^hu\b/.test(locale): + locale = "hu"; + break; + case /^ar\b/.test(locale): + locale = "ar"; + break; + case /^el.*/i.test(locale): + locale = "el"; + break; + case /^es\b/.test(locale): + locale = "es"; + break; + case /^en\b/.test(locale): + locale = "en"; + break; + case /^is\b/.test(locale): + locale = "is"; + break; + case /^it\b/.test(locale): + locale = "it"; + break; + case /^fr\b/.test(locale): + locale = "fr"; + break; + case /^pt-br\b/.test(locale): + locale = "pt-br"; + break; + case /^pt\b/.test(locale): + locale = "pt"; + break; + case /^ja\b/.test(locale): + locale = "ja"; + break; + case /^zh-tw\b/.test(locale): + locale = "zh-tw"; + break; + case /^zh-cn\b/.test(locale): + case /^zh\b/.test(locale): + locale = "zh-cn"; + break; + case /^de\b/.test(locale): + locale = "de"; + break; + case /^ro\b/.test(locale): + locale = "ro"; + break; + case /^ru\b/.test(locale): + locale = "ru"; + break; + case /^pl\b/.test(locale): + locale = "pl"; + break; + case /^ko\b/.test(locale): + locale = "ko"; + break; + case /^sk\b/.test(locale): + locale = "sk"; + break; + case /^tr\b/.test(locale): + locale = "tr"; + break; + case /^uk\b/.test(locale): + locale = "uk"; + break; + + case /^vi\b/.test(locale): + locale = "vi"; + break; + case /^sv-se\b/.test(locale): + case /^sv\b/.test(locale): + locale = "sv"; + break; + case /^nl-be\b/.test(locale): + locale = "nl-be"; + break; + case /^nb\b/.test(locale): + case /^no\b/.test(locale): + locale = "no"; + break; + case /^bg\b/.test(locale): + locale = "bg"; + break; + default: + locale = "en"; + } + + return locale; +} + +// TODO: was this really necessary? +// function removeEmpty(obj: Record): void { +// Object.keys(obj) +// .filter((k) => obj[k] !== null && obj[k] !== undefined && obj[k] !== "") // Remove undef. and null and empty.string. +// .reduce( +// (newObj, k) => +// typeof obj[k] === "object" +// ? Object.assign(newObj, { [k]: removeEmpty(obj[k]) }) // Recurse. +// : Object.assign(newObj, { [k]: obj[k] }), // Copy value. +// {} +// ); +// } + +export const rtlLanguages = ["he", "ar"]; + +export const i18n = createI18n({ + locale: detectLocale(), + fallbackLocale: "en", + messages, + // expose i18n.global for outside components + legacy: true, +}); + +export const isRtl = (locale?: string) => { + // see below + // @ts-expect-error incorrect type when legacy + return rtlLanguages.includes(locale || i18n.global.locale.value); +}; + +export function setLocale(locale: string) { + dayjs.locale(locale); + // according to doc u only need .value if legacy: false but they lied + // https://vue-i18n.intlify.dev/guide/essentials/scope.html#local-scope-1 + // @ts-expect-error incorrect type when legacy + i18n.global.locale.value = locale; +} + +export function setHtmlLocale(locale: string) { + const html = document.documentElement; + html.lang = locale; + if (isRtl(locale)) html.dir = "rtl"; + else html.dir = "ltr"; +} + +export default i18n; diff --git a/frontend/src/i18n/is.json b/frontend/src/i18n/is.json new file mode 100644 index 00000000..01b3ace6 --- /dev/null +++ b/frontend/src/i18n/is.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Hætta við", + "clear": "Hreinsa", + "close": "Loka", + "continue": "Continue", + "copy": "Afrita", + "copyFile": "Afrita skjal", + "copyToClipboard": "Afrita", + "copyDownloadLinkToClipboard": "Copy download link to clipboard", + "create": "Búa til", + "delete": "Eyða", + "download": "Sækja", + "file": "File", + "folder": "Folder", + "fullScreen": "Toggle full screen", + "hideDotfiles": "Hide dotfiles", + "info": "Upplýsingar", + "more": "Meira", + "move": "Færa", + "moveFile": "Færa skjal", + "new": "Nýtt", + "next": "Næsta", + "ok": "OK", + "permalink": "Sækja fastan hlekk", + "previous": "Fyrri", + "preview": "Preview", + "publish": "Gefa út", + "rename": "Endurnefna", + "replace": "Skipta út", + "reportIssue": "Tilkynna vandamál", + "save": "Vista", + "schedule": "Áætlun", + "search": "Leita", + "select": "Velja", + "selectMultiple": "Velja mörg", + "share": "Deila", + "shell": "Sýna skipanaglugga", + "submit": "Submit", + "switchView": "Skipta um útlit", + "toggleSidebar": "Sýna hliðarstiku", + "update": "Vista", + "upload": "Hlaða upp", + "openFile": "Open file", + "discardChanges": "Discard", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Sækja skjal", + "downloadFolder": "Sækja möppu", + "downloadSelected": "Download Selected" + }, + "upload": { + "abortUpload": "Are you sure you wish to abort?" + }, + "errors": { + "forbidden": "Þú hefur ekki aðgang að þessari síðu.", + "internal": "Eitthvað fór úrskeiðis.", + "notFound": "Ekki er hægt að opna þessa síðu.", + "connection": "The server can't be reached." + }, + "files": { + "body": "Meginmál", + "closePreview": "Loka forskoðun", + "files": "Skjöl", + "folders": "Möppur", + "home": "Heim", + "lastModified": "Seinast breytt", + "loading": "Hleð...", + "lonely": "Ekkert hér...", + "metadata": "Meta-gögn", + "multipleSelectionEnabled": "Hægt að velja mörg skjöl/möppur", + "name": "Nafn", + "size": "Stærð", + "sortByLastModified": "Flokka eftir Seinast breytt", + "sortByName": "Flokka eftir nafni", + "sortBySize": "Flokka eftir stærð", + "noPreview": "Preview is not available for this file.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "velja skjal eða möppu", + "ctrl": { + "click": "velja mörg skjöl eða möppur", + "f": "opnar leitarstiku", + "s": "vista skjal eða sækja möppuna sem þú ert í" + }, + "del": "eyða völdum skjölum", + "doubleClick": "opna skjal eða möppu", + "esc": "hreinsa val og/eða loka glugganum", + "f1": "þessar upplýsingar", + "f2": "endurnefna skjal", + "help": "Hjálp" + }, + "login": { + "createAnAccount": "Búa til nýjan aðgang", + "loginInstead": "Þú ert þegar með aðgang", + "password": "Lykilorð", + "passwordConfirm": "Staðfesting lykilorðs", + "passwordsDontMatch": "Lykilorð eru mismunandi", + "signup": "Nýskráning", + "submit": "Innskráning", + "username": "Notendanafn", + "usernameTaken": "Þetta norendanafn er þegar í notkun", + "wrongCredentials": "Rangar notendaupplýsingar", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Varanlegt", + "prompts": { + "copy": "Afrita", + "copyMessage": "Veldu staðsetningu til að afrita gögn: ", + "currentlyNavigating": "Núverandi staðsetning:", + "deleteMessageMultiple": "Ertu viss um að þú viljir eyða {count} skjölum?", + "deleteMessageSingle": "Ertu viss um að þú viljir eyða þessu skjali/möppu?", + "deleteMessageShare": "Are you sure you wish to delete this share({path})?", + "deleteUser": "Are you sure you want to delete this user?", + "deleteTitle": "Eyða skjölum", + "displayName": "Nafn: ", + "download": "Sækja skjöl", + "downloadMessage": "Veldu skrárgerð sem þú vilt sækja.", + "error": "Eitthvað fór úrskeiðis", + "fileInfo": "Upplýsingar um gögn", + "filesSelected": "{count} skjöl valin.", + "lastModified": "Seinast breytt", + "move": "Færa", + "moveMessage": "Velja nýtt hús fyrir skjöl/möppur:", + "newArchetype": "Búðu til nýja færslu sem byggir á frumgerð. Skjalið verður búið til í content möppu. ", + "newDir": "Ný mappa", + "newDirMessage": "Hvað á mappan að heita?", + "newFile": "Nýtt skjal", + "newFileMessage": "Hvað á skjalið að heita?", + "numberDirs": "Fjöldi mappa", + "numberFiles": "Fjöldi skjala", + "rename": "Endurnefna", + "renameMessage": "Settu inn nýtt nafn fyrir", + "replace": "Skipta út", + "replaceMessage": "Eitt af skjölunum sem þú ert að reyna að hlaða upp hefur sama nafn og annað skjal. Viltu skipta nýja skjalinu út fyrir það gamla?\n", + "schedule": "Áætlun", + "scheduleMessage": "Veldu dagsetningu og tíma fyrir áætlaða útgáfu. ", + "show": "Sýna", + "size": "Stærð", + "upload": "Upload", + "uploadFiles": "Uploading {files} files...", + "uploadMessage": "Select an option to upload.", + "optionalPassword": "Optional password", + "resolution": "Resolution", + "discardEditorChanges": "Are you sure you wish to discard the changes you've made?" + }, + "search": { + "images": "Myndir", + "music": "Tónlist", + "pdf": "PDF", + "pressToSearch": "Ýttu á Enter til að leita...", + "search": "Leita...", + "typeToSearch": "Skrifaðu til að leita...", + "types": "Skrárgerðir", + "video": "Myndbönd" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Stjórnandi", + "administrator": "Stjórnandi", + "allowCommands": "Senda skipanir", + "allowEdit": "Breyta, endurnefna og eyða skjölum eða möppum", + "allowNew": "Búa til ný skjöl og möppur", + "allowPublish": "Gefa út nýjar færslur og síður", + "allowSignup": "Leyfa nýjum notendum að skrá sig", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(engar breytingar ef ekkert er skrifað)", + "branding": "Útlit", + "brandingDirectoryPath": "Mappa fyrir branding-skjöl", + "brandingHelp": "Þú getur breytt því hvernig File Browser lítur út með því að breyta nafninu, setja inn nýtt lógó, búa til þína eigin stíla og tekið út GitHub-hlekki. \nTil að lesa meira um custom-branding, kíktu á {0}.", + "changePassword": "Breyta lykilorði", + "commandRunner": "Skipanagluggi", + "commandRunnerHelp": "Hér geturðu sett inn skipanir sem eru keyrðar eftir því sem þú tilgreinir. Skrifaðu eina skipun í hverja línu. Umhverfisbreyturnar {0} og {1} verða aðgengilegar ({0} miðast við {1}). Til að lesa meira og sjá lista yfir þær skipanir sem eru í boði, vinsamlegast lestu {2}. ", + "commandsUpdated": "Skipanastillingar vistaðar!", + "createUserDir": "Auto create user home dir while adding new user", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Chunked Uploads", + "tusUploadsHelp": "File Browser supports chunked file uploads, allowing for the creation of efficient, reliable, resumable and chunked file uploads even on unreliable networks.", + "tusUploadsChunkSize": "Indicates to maximum size of a request (direct uploads will be used for smaller uploads). You may input a plain integer denoting byte size input or a string like 10MB, 1GB etc.", + "tusUploadsRetryCount": "Number of retries to perform if a chunk fails to upload.", + "userHomeBasePath": "Base path for user home directories", + "userScopeGenerationPlaceholder": "The scope will be auto generated", + "createUserHomeDirectory": "Create user home directory", + "customStylesheet": "Custom Stylesheet", + "defaultUserDescription": "Þetta eru sjálfgefnar stillingar fyrir nýja notendur.", + "disableExternalLinks": "Sýna ytri-hlekki (fyrir utan leiðbeiningar)", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "leiðbeiningar", + "examples": "Dæmi", + "executeOnShell": "Keyra í skel", + "executeOnShellDescription": "Sjálfgefnar stillingar File Browser eru að keyra skipanir beint með því að sækja binaries. Ef þú villt keyra skipanir í skel (t.d. í Bash eða PowerShell), þá geturðu skilgreint það hér með nauðsynlegum arguments og flags. Ef þetta er stillt, þá verður skipuninni bætt fyrir aftan sem argument. Þetta gildir bæði um skipanir notenda og event hooks.", + "globalRules": "Þetta eru sjálfgegnar aðgangsreglur. Þær gilda um alla notendur. Þú getur tilgreint sérstakar reglur í stillingum fyrir hvern notenda til að ógilda þessar reglur. ", + "globalSettings": "Global stillingar", + "hideDotfiles": "Hide dotfiles", + "insertPath": "Settu inn slóð", + "insertRegex": "Setja inn reglulega segð", + "instanceName": "Nafn tilviks", + "language": "Tungumál", + "lockPassword": "Koma í veg fyrir að notandi breyti lykilorðinu", + "newPassword": "Nýja lykilorðið þitt", + "newPasswordConfirm": "Staðfestu nýja lykilorðið", + "newUser": "Nýr notandi", + "password": "Lykilorð", + "passwordUpdated": "Lykilorð vistað!", + "path": "Path", + "perm": { + "create": "Búa til sköl og möppur", + "delete": "Eyða skjölum og möppum", + "download": "Sækja", + "execute": "Keyra skipanir", + "modify": "Breyta skjölum", + "rename": "Endurnefna eða færa skjöl og möppur", + "share": "Deila skjölum" + }, + "permissions": "Heimildir", + "permissionsHelp": "Þú getur stillt notenda sem stjórnanda eða valið einstaklingsbundnar heimildir. Ef þú velur \"Stjórnandi\", þá verða allir aðrir valmöguleikar valdir sjálfrafa. Aðgangstýring notenda er á hendi stjórnenda. \n", + "profileSettings": "Stilla prófíl", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "kemur í veg fyrir aðgang að dot-skjali (t.d. .git, .gitignore) í öllum möppum. \n", + "ruleExample2": "kemur í veg fyrir aðgang að Caddyfile-skjalinu í root-möppu í sýn notandans. ", + "rules": "Reglur", + "rulesHelp": "Hér getur þú skilgreint hvaða reglur gilda um notandann. Skjölin sem hann hefur ekki aðgang að eru óaðgengileg og hann sér þau ekki. Stuðst er við reglulegar segðir og slóðir sem miðast við sýn notandans. ", + "scope": "Sýn notandans", + "setDateFormat": "Set exact date format", + "settingsUpdated": "Stillingar vistaðar!", + "shareDuration": "Share Duration", + "shareManagement": "Share Management", + "shareDeleted": "Share deleted!", + "singleClick": "Use single clicks to open files and directories", + "themes": { + "default": "System default", + "dark": "Dark", + "light": "Light", + "title": "Theme" + }, + "user": "Notandi", + "userCommands": "Skipanir", + "userCommandsHelp": "Listi þar sem gildum er skipt upp með bili og inniheldur tiltækar skipanir fyrir þennan notanda. Til dæmis:\n", + "userCreated": "Notandi stofnaður!", + "userDefaults": "Sjálfgefnar notendastillingar", + "userDeleted": "Notanda eytt!", + "userManagement": "Notendastýring", + "userUpdated": "Notandastillingar vistaðar!", + "username": "Notendanafn", + "users": "Notendur", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Hjálp", + "hugoNew": "Hugo New", + "login": "Innskráning", + "logout": "Útskráning", + "myFiles": "Gögnin mín", + "newFile": "Nýtt skjal", + "newFolder": "Ný mappa", + "preview": "Sýnishorn", + "settings": "Stillingar", + "signup": "Nýskráning", + "siteSettings": "Stillingar síðu" + }, + "success": { + "linkCopied": "Hlekkur afritaður!" + }, + "time": { + "days": "Dagar", + "hours": "Klukkutímar", + "minutes": "Mínútur", + "seconds": "Sekúndur", + "unit": "Tímastilling" + } +} diff --git a/frontend/src/i18n/it.json b/frontend/src/i18n/it.json new file mode 100644 index 00000000..ad54172c --- /dev/null +++ b/frontend/src/i18n/it.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Annulla", + "clear": "Cancella", + "close": "Chiudi", + "continue": "Continua", + "copy": "Copia", + "copyFile": "Copia file", + "copyToClipboard": "Copia negli appunti", + "copyDownloadLinkToClipboard": "Copia link di scarica negli appunti", + "create": "Crea", + "delete": "Elimina", + "download": "Scarica", + "file": "File", + "folder": "Cartella", + "fullScreen": "Abilita schermo intero", + "hideDotfiles": "Nascondi dotfile", + "info": "Informazioni", + "more": "Altro", + "move": "Sposta", + "moveFile": "Sposta file", + "new": "Nuovo", + "next": "Successivo", + "ok": "OK", + "permalink": "Ottieni link permanente", + "previous": "Precedente", + "preview": "Anteprima", + "publish": "Publica", + "rename": "Rinomina", + "replace": "Sostituisci", + "reportIssue": "Segnala un problema", + "save": "Salva", + "schedule": "Programma", + "search": "Cerca", + "select": "Seleziona", + "selectMultiple": "Seleziona molteplici", + "share": "Condividi", + "shell": "Mostra/nascondi shell", + "submit": "Invia", + "switchView": "Cambia vista", + "toggleSidebar": "Mostra/nascondi la barra laterale", + "update": "Aggiorna", + "upload": "Carica", + "openFile": "Apri file", + "discardChanges": "Ignora", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Scarica file", + "downloadFolder": "Scarica cartella", + "downloadSelected": "Scarica selezionati" + }, + "upload": { + "abortUpload": "Sei sicuro di voler abortire la procedura?" + }, + "errors": { + "forbidden": "Non hai i permessi per accedere a questo file.", + "internal": "Qualcosa è andato veramente male.", + "notFound": "Questo percorso non può essere raggiunto.", + "connection": "Il server non è raggiungibile" + }, + "files": { + "body": "Contenuto", + "closePreview": "Chiudi anteprima", + "files": "File", + "folders": "Cartelle", + "home": "Home", + "lastModified": "Ultima modifica", + "loading": "Caricamento...", + "lonely": "Ci si sente soli qui...", + "metadata": "Metadati", + "multipleSelectionEnabled": "Selezione multipla attivata", + "name": "Nome", + "size": "Dimensione", + "sortByLastModified": "Ordina per ultima modifica", + "sortByName": "Ordina per nome", + "sortBySize": "Ordina per dimensione", + "noPreview": "L'anteprima non è disponibile per questo file.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "seleziona un file o una cartella", + "ctrl": { + "click": "seleziona più file o cartelle", + "f": "apre la barra di ricerca", + "s": "salva un file o scarica la cartella in cui ci si trova" + }, + "del": "elimina gli elementi selezionati", + "doubleClick": "apre un file o una cartella", + "esc": "annulla la selezione e/o chiude la finestra aperta", + "f1": "questo pannello", + "f2": "rinomina un file", + "help": "Aiuto" + }, + "login": { + "createAnAccount": "Crea un account", + "loginInstead": "Hai già un account", + "password": "Password", + "passwordConfirm": "Conferma password", + "passwordsDontMatch": "Le password non corrispondono", + "signup": "Registrati", + "submit": "Entra", + "username": "Nome utente", + "usernameTaken": "Username già usato", + "wrongCredentials": "Credenziali errate", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Permanente", + "prompts": { + "copy": "Copia", + "copyMessage": "Seleziona la cartella in cui copiare i file:", + "currentlyNavigating": "Attualmente navigando su:", + "deleteMessageMultiple": "Sei sicuro di voler eliminare {count} file?", + "deleteMessageSingle": "Sei sicuro di voler eliminare questo file/cartella?", + "deleteMessageShare": "Sei sicuro di voler eliminare questo percorso condiviso ({path})?", + "deleteUser": "Sei sicuro di voler eliminare questo utente?", + "deleteTitle": "Elimina", + "displayName": "Nome visualizzato:", + "download": "Scarica files", + "downloadMessage": "Seleziona il formato che vuoi scaricare.", + "error": "Qualcosa è andato per il verso storto", + "fileInfo": "Informazioni sul file", + "filesSelected": "{count} file selezionati.", + "lastModified": "Ultima modifica", + "move": "Sposta", + "moveMessage": "Seleziona la nuova posizione per i tuoi file e/o cartella/e:", + "newArchetype": "Crea un nuovo post basato su un modello. Il tuo file verrà creato nella cartella.", + "newDir": "Nuova cartella", + "newDirMessage": "Scrivi il nome della nuova cartella.", + "newFile": "Nuovo file", + "newFileMessage": "Scrivi il nome del nuovo file.", + "numberDirs": "Numero di cartelle", + "numberFiles": "Numero di file", + "rename": "Rinomina", + "renameMessage": "Inserisci un nuovo nome per", + "replace": "Sostituisci", + "replaceMessage": "Uno dei file che stai cercando di caricare sta generando un conflitto per via del suo nome. Desideri sostituire il file già esistente?\n", + "schedule": "Pianifica", + "scheduleMessage": "Seleziona data e ora per programmare la pubbilicazione di questo post", + "show": "Mostra", + "size": "Dimensione", + "upload": "Carica", + "uploadFiles": "Inviando {files} file...", + "uploadMessage": "Seleziona un'opzione per il caricamento.", + "optionalPassword": "Password opzionale", + "resolution": "Risoluzione", + "discardEditorChanges": "Sei sicuro di voler scartare le modifiche apportate?" + }, + "search": { + "images": "Immagini", + "music": "Musica", + "pdf": "PDF", + "pressToSearch": "Premi Invio per cercare...", + "search": "Cerca...", + "typeToSearch": "Scrivi per cercare...", + "types": "Tipi", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Amministratore", + "allowCommands": "Esegui comandi", + "allowEdit": "Modifica, rinomina ed elimina file o cartelle", + "allowNew": "Crea nuovi files o cartelle", + "allowPublish": "Pubblica nuovi post e pagine", + "allowSignup": "Permetti agli utenti di registrarsi", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(lascia vuoto per evitare cambiamenti)", + "branding": "Branding", + "brandingDirectoryPath": "Directory del branding", + "brandingHelp": "Puoi personalizzare l'aspetto e il comportamento di File Browser cambiando il suo nome, logo, aggiungendo stili personalizzati e anche disabilitando link esterni verso GitHub.\nPer altre informazioni sul branding personalizzato, vai alla {0}.", + "changePassword": "Modifica password", + "commandRunner": "Esecutore di comandi", + "commandRunnerHelp": "Qui puoi impostare i comandi da eseguire negli eventi nominati. Ne devi scrivere uno per riga. Le variabili d'ambiente {0} e {1} sono disponibili, essendo {0} relativo a {1}. Per altre informazioni su questa funzionalità e sulle variabili d'ambiente utilizzabili, leggi la {2}.", + "commandsUpdated": "Comandi aggiornati!", + "createUserDir": "Crea automaticamente la home directory dell'utente quando lo aggiungi", + "minimumPasswordLength": "Lunghezza minima della password", + "tusUploads": "Tranci di invii", + "tusUploadsHelp": "File Browser supporta tranci di invii fornendo così la possibilità di inviare efficientemente i file anche su reti instabili.", + "tusUploadsChunkSize": "Indica la dimensione massima di una richiesta (invii diretti saranno usati per piccoli invii). Puoi inserire un numero intero per indicare la dimensione in byte, oppure una stringa con l'unità di misura come in 10MB, 1GB, etc.", + "tusUploadsRetryCount": "Numero di tentativi da effettuare se un trancio di file fallisce.", + "userHomeBasePath": "Percorso base per le cartelle utente", + "userScopeGenerationPlaceholder": "La portata verrà autogenerata", + "createUserHomeDirectory": "Crea cartella utente", + "customStylesheet": "Foglio di stile personalizzato", + "defaultUserDescription": "Queste sono le impostazioni predefinite per i nuovi utenti.", + "disableExternalLinks": "Disabilita link esterni (tranne per la documentazione)", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "documentazione", + "examples": "Esempi", + "executeOnShell": "Esegui nella shell", + "executeOnShellDescription": "Di default File Browser esegue i comandi chiamando direttamente i loro binari. Se invece vuoi eseguirli su una shell (come Bash o PowerShell), puoi definirli qui con gli argomenti e i flag richiesti. Se impostato, il comando che esegui sarà concatenato come argomento. Questo si applica sia ai comandi utente che agli hook di eventi.", + "globalRules": "Questo è un insieme globale di regole permetti/nega, che si applicano ad ogni utente. Puoi definire regole specifiche per ogni utente, per sovrascrivere queste.", + "globalSettings": "Impostazioni globali", + "hideDotfiles": "Nascondi dotfile", + "insertPath": "Inserisci il percorso", + "insertRegex": "Inserisci la regex", + "instanceName": "Nome dell'istanza", + "language": "Lingua", + "lockPassword": "Impedisci all'utente di modificare la password", + "newPassword": "La tua nuova password", + "newPasswordConfirm": "Conferma la password", + "newUser": "Nuovo utente", + "password": "Password", + "passwordUpdated": "Password aggiornata!", + "path": "Percorso", + "perm": { + "create": "Creare file e cartelle", + "delete": "Eliminare file e cartelle", + "download": "Scaricare", + "execute": "Eseguire comandi", + "modify": "Modificare file", + "rename": "Rinominare o spostare file e cartelle", + "share": "Condividere file" + }, + "permissions": "Permessi", + "permissionsHelp": "È possibile impostare l'utente come amministratore o scegliere i permessi singolarmente. Se si seleziona \"Amministratore\", tutte le altre opzioni saranno automaticamente assegnate. La gestione degli utenti rimane un privilegio di un amministratore.\n", + "profileSettings": "Impostazioni del profilo", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "impedisci l'accesso a qualsiasi file avente come prefisso un punto\n (ad esempio .git, .gitignore) presente in ogni cartella.\n", + "ruleExample2": "blocca l'accesso al file denominato Caddyfile nella radice del campo di applicazione.", + "rules": "Regole", + "rulesHelp": "Qui è possibile definire una serie di regole e permessi per questo specifico utente. I file bloccati non appariranno negli elenchi e non saranno accessibili dagli utenti. all'utente. Sia regex che i percorsi relativi all'ambito di applicazione degli utenti sono supportati.\n", + "scope": "Scope", + "setDateFormat": "Fissa il formato di data esatto", + "settingsUpdated": "Impostazioni aggiornate!", + "shareDuration": "Durata della condivisione", + "shareManagement": "Gestione delle condivisioni", + "shareDeleted": "Percorso condiviso eliminato!", + "singleClick": "Usa un singolo click per aprire file e cartelle", + "themes": { + "default": "Impostazione predefinita del sistema", + "dark": "Scuro", + "light": "Chiaro", + "title": "Tema" + }, + "user": "Utente", + "userCommands": "Comandi", + "userCommandsHelp": "Una lista separata dal spazi con i comandi disponibili per questo utente. Example:\n", + "userCreated": "Utente creato!", + "userDefaults": "Impostazioni predefinite utente", + "userDeleted": "Utente eliminato!", + "userManagement": "Gestione degli utenti", + "userUpdated": "Utente aggiornato!", + "username": "Nome utente", + "users": "Utenti", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Aiuto", + "hugoNew": "Hugo New", + "login": "Login", + "logout": "Esci", + "myFiles": "I miei file", + "newFile": "Nuovo file", + "newFolder": "Nuova cartella", + "preview": "Anteprima", + "settings": "Impostazioni", + "signup": "Registrati", + "siteSettings": "Impostazioni del sito" + }, + "success": { + "linkCopied": "Link copiato!" + }, + "time": { + "days": "Giorni", + "hours": "Ore", + "minutes": "Minuti", + "seconds": "Secondi", + "unit": "Unità di tempo" + } +} diff --git a/frontend/src/i18n/ja.json b/frontend/src/i18n/ja.json new file mode 100644 index 00000000..44beb9cb --- /dev/null +++ b/frontend/src/i18n/ja.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "キャンセル", + "clear": "クリアー", + "close": "閉じる", + "continue": "続行", + "copy": "コピー", + "copyFile": "ファイルのコピー", + "copyToClipboard": "共有リンクをコピー", + "copyDownloadLinkToClipboard": "ダウンロードリンクをコピー", + "create": "作成", + "delete": "削除", + "download": "ダウンロード", + "file": "ファイル", + "folder": "フォルダー", + "fullScreen": "Toggle full screen", + "hideDotfiles": "ドットで始まるファイルを表示しない", + "info": "情報", + "more": "さらに", + "move": "移動", + "moveFile": "ファイルの移動", + "new": "新規", + "next": "次へ", + "ok": "OK", + "permalink": "パーマリンクを取得", + "previous": "前へ", + "preview": "Preview", + "publish": "公開", + "rename": "名前の変更", + "replace": "置換する", + "reportIssue": "問題を報告", + "save": "保存", + "schedule": "スケジュール", + "search": "検索", + "select": "選択", + "selectMultiple": "複数選択", + "share": "共有", + "shell": "シェルの切り替え", + "submit": "送信", + "switchView": "表示の切り替え", + "toggleSidebar": "サイドバーの切り替え", + "update": "更新", + "upload": "アップロード", + "openFile": "ファイルを開く", + "discardChanges": "Discard", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "ファイルのダウンロード", + "downloadFolder": "フォルダーのダウンロード", + "downloadSelected": "選択した項目のダウンロード" + }, + "upload": { + "abortUpload": "アップロードをキャンセルしますか?" + }, + "errors": { + "forbidden": "これにアクセスする権限がありません。", + "internal": "内部エラーが発生しました。", + "notFound": "リソースが見つかりませんでした。", + "connection": "サーバーに接続できませんでした。" + }, + "files": { + "body": "本文", + "closePreview": "プレビューを閉じる", + "files": "ファイル", + "folders": "フォルダー", + "home": "ホーム", + "lastModified": "更新日時", + "loading": "読み込み中…", + "lonely": "ここには何もないようです…", + "metadata": "メタデータ", + "multipleSelectionEnabled": "複数選択が有効になっています", + "name": "名前", + "size": "サイズ", + "sortByLastModified": "更新日時で並べ替え", + "sortByName": "名前で並べ替え", + "sortBySize": "サイズで並べ替え", + "noPreview": "プレビューはこのファイルでは利用できません", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "ファイルやフォルダーを選択", + "ctrl": { + "click": "複数のファイルやフォルダーを選択", + "f": "検索画面を開く", + "s": "現在のフォルダーにあるファイルを保存またはダウンロード" + }, + "del": "選択した項目を削除", + "doubleClick": "ファイルやフォルダーを開く", + "esc": "選択を解除/ダイアログを閉じる", + "f1": "ヘルプを表示", + "f2": "ファイルの名前を変更", + "help": "ヘルプ" + }, + "login": { + "createAnAccount": "アカウントを作成", + "loginInstead": "ログインする", + "password": "パスワード", + "passwordConfirm": "パスワード(確認用)", + "passwordsDontMatch": "パスワードが一致しません", + "signup": "アカウント作成", + "submit": "ログイン", + "username": "ユーザー名", + "usernameTaken": "ユーザー名はすでに取得されています", + "wrongCredentials": "ユーザー名またはパスワードが間違っています", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "永久", + "prompts": { + "copy": "コピー", + "copyMessage": "ファイルをコピーする場所を選択してください:", + "currentlyNavigating": "現在閲覧しているディレクトリ:", + "deleteMessageMultiple": "{count} 個のファイルを削除してもよろしいですか?", + "deleteMessageSingle": "このファイル/フォルダーを削除してもよろしいですか?", + "deleteMessageShare": "共有中のファイル({path})を削除してもよろしいですか?", + "deleteUser": "Are you sure you want to delete this user?", + "deleteTitle": "ファイルの削除", + "displayName": "表示名:", + "download": "ファイルのダウンロード", + "downloadMessage": "ダウンロードする際の圧縮形式を選んでください:", + "error": "エラーが発生しました", + "fileInfo": "ファイル情報", + "filesSelected": "{count} 個のファイル/フォルダーが選択されています", + "lastModified": "更新日時", + "move": "移動", + "moveMessage": "ファイル/フォルダーの新しいハウスを選択してください:", + "newArchetype": "archetype に基づいて新しい投稿を作成します。ファイルは content フォルダーに作成されます。", + "newDir": "新規フォルダー", + "newDirMessage": "フォルダーの名前を入力してください:", + "newFile": "新規ファイル", + "newFileMessage": "ファイルの名前を入力してください:", + "numberDirs": "ディレクトリの数", + "numberFiles": "ファイルの数", + "rename": "名前変更", + "renameMessage": "変更後のファイルの名前を入力してください", + "replace": "ファイルの置き換え", + "replaceMessage": "アップロードしようとしているファイルと既存のファイルの名前が重複しています。既存のものを置き換えずにアップロードを続けるか、既存のものを置き換えますか?\n", + "schedule": "スケジュール", + "scheduleMessage": "この投稿の公開予定日時を選んでください。", + "show": "表示", + "size": "サイズ", + "upload": "アップロード", + "uploadFiles": "{files} 個のファイルをアップロードしています…", + "uploadMessage": "アップロードするオプションを選択してください。", + "optionalPassword": "パスワード(オプション)", + "resolution": "Resolution", + "discardEditorChanges": "Are you sure you wish to discard the changes you've made?" + }, + "search": { + "images": "画像", + "music": "音楽", + "pdf": "PDF", + "pressToSearch": "エンターを押して検索します", + "search": "検索", + "typeToSearch": "検索の種類", + "types": "ファイルの種類", + "video": "動画" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "管理者", + "administrator": "管理者", + "allowCommands": "コマンドの実行", + "allowEdit": "ファイルやフォルダーの編集、名前の変更、削除", + "allowNew": "ファイルやフォルダーの新規作成", + "allowPublish": "新しい投稿やページの公開", + "allowSignup": "ユーザーの新規登録を許可", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(変更しない場合は空白のままにしてください)", + "branding": "ブランディング", + "brandingDirectoryPath": "ブランディングのディレクトリへのパス", + "brandingHelp": "インスタンスの名前の変更、ロゴの変更、カスタムスタイルの追加、GitHub への外部リンクの無効化など、File Browser の見た目や使い勝手をカスタマイズすることができます。\nカスタムブランディングの詳細については、{0}をご覧ください。", + "changePassword": "パスワードの変更", + "commandRunner": "コマンドランナー", + "commandRunnerHelp": "ここでは、指定したイベントの際に実行されるコマンドを設定することができます。1行に1つずつ書く必要があります。環境変数として {0} や {1} が使用可能で、{0} は {1} に関連した変数として扱われます。この機能と使用可能な環境変数の詳細については、{2}をお読みください。", + "commandsUpdated": "コマンドを更新しました!", + "createUserDir": "新規ユーザー追加時にユーザーのホームディレクトリを自動生成する", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "チャンクされたファイルアップロード", + "tusUploadsHelp": "File Browser はチャンクされたファイルアップロードをサポートしており、信頼性の低いネットワーク上でも、効率的で信頼性の高い、再開可能なチャンクされたファイルアップロードを作成することができます。", + "tusUploadsChunkSize": "1チャンクあたりのリクエストの最大サイズ。バイト数を示す整数か、10MB、1GBなどの文字列を入力できます。", + "tusUploadsRetryCount": "チャンクのアップロードに失敗した場合の再試行回数。", + "userHomeBasePath": "ユーザーのホームディレクトリのベースパス", + "userScopeGenerationPlaceholder": "スコープは自動生成されます", + "createUserHomeDirectory": "ユーザーのホームディレクトリを作成する", + "customStylesheet": "カスタムスタイルシート", + "defaultUserDescription": "これらは新規ユーザーのデフォルト設定です。", + "disableExternalLinks": "外部リンクを無効にする(ドキュメントへのリンクを除く)", + "disableUsedDiskPercentage": "ディスク使用率のグラフを無効にする", + "documentation": "ドキュメント", + "examples": "例", + "executeOnShell": "シェルで実行する", + "executeOnShellDescription": "デフォルトでは、File Browser はバイナリを直接呼び出してコマンドを実行します。代わりにシェル(Bash や PowerShell など)で実行したい場合は、必要な引数やフラグをここで指定します。値が指定されている場合、実行するコマンドが引数として追加されます。これは、ユーザーコマンドとイベントフックの両方に適用されます。", + "globalRules": "これはグローバルな許可と不許可のルールセットです。これはすべてのユーザーに適用されます。ユーザーごとに特定のルールを設定することで、これらのルールを上書きすることができます。", + "globalSettings": "グローバル設定", + "hideDotfiles": "ドットで始まるファイルを表示しない", + "insertPath": "パスを入力してください", + "insertRegex": "正規表現を入力してください", + "instanceName": "インスタンス名", + "language": "言語", + "lockPassword": "ユーザーがパスワードを変更できないようにする", + "newPassword": "新しいパスワード", + "newPasswordConfirm": "新しいパスワード(再入力)", + "newUser": "新規ユーザー作成", + "password": "パスワード", + "passwordUpdated": "パスワードを更新しました!", + "path": "パス", + "perm": { + "create": "ファイルやフォルダーの作成", + "delete": "ファイルやフォルダーの削除", + "download": "ダウンロード", + "execute": "コマンドの実行", + "modify": "ファイルの編集", + "rename": "ファイルやフォルダーの編集・移動", + "share": "ファイルの共有" + }, + "permissions": "権限", + "permissionsHelp": "ユーザーを管理者に設定するか、その他の権限を個別に選択することができます。「管理者」を選択すると、他のオプションはすべて自動的にチェックされます。ユーザーを管理するには管理者権限が必要です。\n", + "profileSettings": "プロフィール設定", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": ".git や .gitignore のようなドットから始まるファイルへのアクセスを禁止します。\n", + "ruleExample2": "スコープのルートにある Caddyfile という名前のファイルへのアクセスを禁止します。", + "rules": "ルール", + "rulesHelp": "ここでは、特定のユーザーに対して許可と不許可のルールを設定することができます。ブロックされたファイルはリストに表示されず、ユーザはアクセスできなくなります。正規表現とユーザースコープからの相対パスをサポートしています。\n", + "scope": "スコープ", + "setDateFormat": "正確な日時表記を使用する", + "settingsUpdated": "設定を更新しました!", + "shareDuration": "共有期間", + "shareManagement": "共有の管理", + "shareDeleted": "ファイルの共有を削除しました!", + "singleClick": "ダブルクリックの代わりにクリックでファイルやフォルダーを開く", + "themes": { + "default": "System default", + "dark": "ダーク", + "light": "ライト", + "title": "テーマ" + }, + "user": "ユーザー", + "userCommands": "コマンド", + "userCommandsHelp": "このユーザーが使用可能なコマンドをスペースで区切ったリスト。例:\n", + "userCreated": "ユーザーを作成しました!", + "userDefaults": "ユーザーのデフォルト設定", + "userDeleted": "ユーザーを削除しました!", + "userManagement": "ユーザー管理", + "userUpdated": "ユーザーを更新しました!", + "username": "ユーザー名", + "users": "ユーザー", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "ヘルプ", + "hugoNew": "Hugo New", + "login": "ログイン", + "logout": "ログアウト", + "myFiles": "マイファイル", + "newFile": "新規ファイル", + "newFolder": "新規フォルダー", + "preview": "プレビュー", + "settings": "設定", + "signup": "サインアップ", + "siteSettings": "サイト設定" + }, + "success": { + "linkCopied": "リンクをコピーしました!" + }, + "time": { + "days": "日", + "hours": "時間", + "minutes": "分", + "seconds": "秒", + "unit": "時間の単位" + } +} diff --git a/frontend/src/i18n/ko.json b/frontend/src/i18n/ko.json new file mode 100644 index 00000000..c1d49b18 --- /dev/null +++ b/frontend/src/i18n/ko.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "취소", + "clear": "지우기", + "close": "닫기", + "continue": "계속", + "copy": "복사", + "copyFile": "파일 복사", + "copyToClipboard": "클립보드 복사", + "copyDownloadLinkToClipboard": "다운로드 링크 복사", + "create": "생성", + "delete": "삭제", + "download": "다운로드", + "file": "파일", + "folder": "폴더", + "fullScreen": "전체 화면 전환", + "hideDotfiles": "숨김파일(dotfile)을 표시 안함", + "info": "정보", + "more": "더보기", + "move": "이동", + "moveFile": "파일 이동", + "new": "신규", + "next": "다음", + "ok": "확인", + "permalink": "링크 얻기", + "previous": "이전", + "preview": "미리보기", + "publish": "게시", + "rename": "이름 바꾸기", + "replace": "대체", + "reportIssue": "이슈 보내기", + "save": "저장", + "schedule": "일정", + "search": "검색", + "select": "선택", + "selectMultiple": "다중 선택", + "share": "공유", + "shell": "쉘 전환", + "submit": "제출", + "switchView": "보기 전환", + "toggleSidebar": "사이드바 전환", + "update": "업데이트", + "upload": "업로드", + "openFile": "파일 열기", + "discardChanges": "변경 사항 취소", + "stopSearch": "Stop searching", + "saveChanges": "변경사항 저장", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "파일 다운로드", + "downloadFolder": "폴더 다운로드", + "downloadSelected": "선택 항목 다운로드" + }, + "upload": { + "abortUpload": "업로드를 중단하시겠습니까?" + }, + "errors": { + "forbidden": "접근 권한이 없습니다.", + "internal": "오류가 발생하였습니다.", + "notFound": "해당 경로를 찾을 수 없습니다.", + "connection": "서버에 연결할 수 없습니다." + }, + "files": { + "body": "본문", + "closePreview": "미리보기 닫기", + "files": "파일", + "folders": "폴더", + "home": "홈", + "lastModified": "최종 수정", + "loading": "로딩중...", + "lonely": "폴더가 비어 있습니다...", + "metadata": "메타데이터", + "multipleSelectionEnabled": "다중 선택 켜짐", + "name": "이름", + "size": "크기", + "sortByLastModified": "수정시간순 정렬", + "sortByName": "이름순", + "sortBySize": "크기순", + "noPreview": "미리 보기가 지원되지 않는 파일 유형입니다.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "파일이나 디렉토리를 선택해주세요.", + "ctrl": { + "click": "여러 개의 파일이나 디렉토리를 선택해주세요.", + "f": "검색창 열기", + "s": "파일 또는 디렉토리 다운로드" + }, + "del": "선택된 파일 삭제", + "doubleClick": "파일 또는 디렉토리 열기", + "esc": "선택 취소/프롬프트 닫기", + "f1": "정보", + "f2": "파일 이름 변경", + "help": "도움말" + }, + "login": { + "createAnAccount": "계정 생성", + "loginInstead": "이미 계정이 있습니다", + "password": "비밀번호", + "passwordConfirm": "비밀번호 확인", + "passwordsDontMatch": "비밀번호가 일치하지 않습니다", + "signup": "가입하기", + "submit": "로그인", + "username": "사용자 이름", + "usernameTaken": "사용자 이름이 존재합니다", + "wrongCredentials": "사용자 이름 또는 비밀번호를 확인하십시오", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "영구", + "prompts": { + "copy": "복사", + "copyMessage": "복사할 디렉토리:", + "currentlyNavigating": "현재 위치:", + "deleteMessageMultiple": "{count} 개의 파일을 삭제하시겠습니까?", + "deleteMessageSingle": "파일 혹은 디렉토리를 삭제하시겠습니까?", + "deleteMessageShare": "이 공유({path})를 삭제하시겠습니까?", + "deleteUser": "이 계정을 삭제하시겠습니까?", + "deleteTitle": "파일 삭제", + "displayName": "게시 이름:", + "download": "파일 다운로드", + "downloadMessage": "다운로드 포맷 설정.", + "error": "에러 발생!", + "fileInfo": "파일 정보", + "filesSelected": "{count} 개의 파일이 선택되었습니다.", + "lastModified": "최종 수정", + "move": "이동", + "moveMessage": "이동할 화일 또는 디렉토리를 선택하세요:", + "newArchetype": "원형을 유지하는 포스트를 생성합니다. 파일은 컨텐트 폴더에 생성됩니다.", + "newDir": "새 디렉토리", + "newDirMessage": "새 디렉토리 이름을 입력해주세요.", + "newFile": "새 파일", + "newFileMessage": "새 파일 이름을 입력해주세요.", + "numberDirs": "디렉토리 수", + "numberFiles": "파일 수", + "rename": "이름 변경", + "renameMessage": "새로운 이름을 입력하세요.", + "replace": "대체하기", + "replaceMessage": "동일한 파일 이름이 존재합니다. 현재 파일을 덮어쓸까요?\n", + "schedule": "일정", + "scheduleMessage": "이 글을 공개할 시간을 알려주세요.", + "show": "보기", + "size": "크기", + "upload": "업로드", + "uploadFiles": "{files}개의 파일 업로드 중...", + "uploadMessage": "업로드 옵션을 선택하세요.", + "optionalPassword": "비밀번호 (선택)", + "resolution": "해상도", + "discardEditorChanges": "변경 사항을 취소하시겠습니까?" + }, + "search": { + "images": "이미지", + "music": "음악", + "pdf": "PDF", + "pressToSearch": "검색하려면 엔터를 입력하세요", + "search": "검색...", + "typeToSearch": "검색어 입력...", + "types": "Types", + "video": "비디오" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "관리자", + "administrator": "관리자", + "allowCommands": "명령 실행", + "allowEdit": "파일/디렉토리의 수정/변경/삭제 허용", + "allowNew": "파일/디렉토리 생성 허용", + "allowPublish": "새 포스트/페이지 생성 허용", + "allowSignup": "사용자 가입 허용", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(수정하지 않으면 비워두세요)", + "branding": "브랜딩", + "brandingDirectoryPath": "브랜드 디렉토리 경로", + "brandingHelp": "File Browser 인스턴스는 이름, 로고, 스타일 등을 변경할 수 있습니다. 자세한 사항은 여기{0}에서 확인하세요.", + "changePassword": "비밀번호 변경", + "commandRunner": "명령 실행기", + "commandRunnerHelp": "이벤트에 해당하는 명령을 설정하세요. 줄당 1개의 명령을 적으세요. 환경 변수{0} 와 {1}이 사용가능하며, {0} 은 {1}에 상대 경로 입니다. 자세한 사항은 {2} 를 참조하세요.", + "commandsUpdated": "명령 수정됨!", + "createUserDir": "Auto create user home dir while adding new user", + "minimumPasswordLength": "최소 비밀번호 길이", + "tusUploads": "분할 업로드", + "tusUploadsHelp": "File Browser는 불안정한 네트워크에서도 효율적이고 신뢰성 있는 분할 업로드를 지원합니다.", + "tusUploadsChunkSize": "업로드 요청의 최대 크기 (예: 10MB, 1GB)", + "tusUploadsRetryCount": "업로드 실패 시 재시도 횟수", + "userHomeBasePath": "사용자 홈 폴더 기본 경로", + "userScopeGenerationPlaceholder": "범위는 자동으로 생성됩니다.", + "createUserHomeDirectory": "사용자 홈 폴더 생성", + "customStylesheet": "커스텀 스타일시트", + "defaultUserDescription": "아래 사항은 신규 사용자들에 대한 기본 설정입니다.", + "disableExternalLinks": "외부 링크 감추기", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "문서", + "examples": "예", + "executeOnShell": "쉘에서 실행", + "executeOnShellDescription": "기본적으로 File Browser 는 바이너리를 명령어로 호출하여 실행합니다. 쉘을 통해 실행하기를 원한다면, Bash 또는 PowerShell 에 필요한 인수와 플래그를 설정하세요. 사용자 명령어와 이벤트 훅에 모두 적용됩니다.", + "globalRules": "규칙에 대한 전역설정으로 모든 사용자에게 적용됩니다. 지정된 규칙은 사용자 설정을 덮어쓰기 합니다.", + "globalSettings": "전역 설정", + "hideDotfiles": "숨김파일(dotfile)을 표시하지 않습니다.", + "insertPath": "경로 입력", + "insertRegex": "정규식 입력", + "instanceName": "인스턴스 이름", + "language": "언어", + "lockPassword": "사용자에 의한 비밀번호 변경을 허용하지 않음", + "newPassword": "새로운 비밀번호", + "newPasswordConfirm": "새로운 비밀번호 확인", + "newUser": "새로운 사용자", + "password": "비밀번호", + "passwordUpdated": "비밀번호 수정 완료!", + "path": "경로", + "perm": { + "create": "파일이나 디렉토리 생성하기", + "delete": "화일이나 디렉토리 삭제하기", + "download": "다운로드", + "execute": "명령 실행", + "modify": "파일 편집", + "rename": "파일 이름 변경 또는 디렉토리 이동", + "share": "파일 공유하기" + }, + "permissions": "권한", + "permissionsHelp": "사용자를 관리자로 만들거나 권한을 부여할 수 있습니다. 관리자를 선택하면, 모든 옵션이 자동으로 선택됩니다. 사용자 관리는 현재 관리자만 할 수 있습니다.\n", + "profileSettings": "프로필 설정", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "점(.)으로 시작하는 모든 파일의 접근을 방지합니다.(예 .git, .gitignore)\n", + "ruleExample2": "Caddyfile파일의 접근을 방지합니다.", + "rules": "룰", + "rulesHelp": "사용자별로 규칙을 허용/방지를 지정할 수 있습니다. 방지된 파일은 보이지 않고 사용자들은 접근할 수 없습니다. 사용자의 접근 허용 범위와 관련해 정규표현식(regex)과 경로를 지원합니다.\n", + "scope": "범위", + "setDateFormat": "날짜 형식 설정", + "settingsUpdated": "설정 수정됨!", + "shareDuration": "공유 기간", + "shareManagement": "공유 내역 관리", + "shareDeleted": "공유 삭제됨!", + "singleClick": "한번 클릭으로 파일과 폴더를 열도록 합니다.", + "themes": { + "default": "시스템 기본값", + "dark": "다크테마", + "light": "라이트테마", + "title": "테마" + }, + "user": "사용자", + "userCommands": "명령어", + "userCommandsHelp": "사용에게 허용할 명령어를 공백으로 구분하여 입력하세요. 예:\n", + "userCreated": "사용자 생성됨!", + "userDefaults": "사용자 기본 설정", + "userDeleted": "사용자 삭제됨!", + "userManagement": "사용자 관리", + "userUpdated": "사용자 수정됨!", + "username": "사용자 이름", + "users": "사용자", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "도움말", + "hugoNew": "Hugo New", + "login": "로그인", + "logout": "로그아웃", + "myFiles": "내 파일", + "newFile": "새로운 파일", + "newFolder": "새로운 폴더", + "preview": "미리보기", + "settings": "설정", + "signup": "가입하기", + "siteSettings": "사이트 설정" + }, + "success": { + "linkCopied": "링크가 복사되었습니다!" + }, + "time": { + "days": "일", + "hours": "시", + "minutes": "분", + "seconds": "초", + "unit": "Time Unit" + } +} diff --git a/frontend/src/i18n/lv.json b/frontend/src/i18n/lv.json new file mode 100644 index 00000000..c7e1d02f --- /dev/null +++ b/frontend/src/i18n/lv.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Atcelt", + "clear": "Tīrs", + "close": "Aizvērt", + "continue": "Turpināt", + "copy": "Kopēt", + "copyFile": "Kopēt failu", + "copyToClipboard": "Kopēt starpliktuvē", + "copyDownloadLinkToClipboard": "Kopēt lejupielādes saiti starpliktuvē", + "create": "Izveidot", + "delete": "Dzēst", + "download": "Lejupielādēt", + "file": "Fails", + "folder": "Mape", + "fullScreen": "Pārslēgt pilnekrāna režīmu", + "hideDotfiles": "Slēpt punktfailus", + "info": "Informācija", + "more": "Vairāk", + "move": "Pārvietot", + "moveFile": "Pārvietot failu", + "new": "Jauns", + "next": "Nākamais", + "ok": "Labi", + "permalink": "Iegūt pastāvīgo saiti", + "previous": "Iepriekšējais", + "preview": "Priekšskatījums", + "publish": "Publicēt", + "rename": "Pārdēvēt", + "replace": "Aizstāt", + "reportIssue": "Ziņot par problēmu", + "save": "Saglabāt", + "schedule": "Grafiks", + "search": "Meklēt", + "select": "Izvēlieties", + "selectMultiple": "Izvēlieties vairākus", + "share": "Dalīties", + "shell": "Pārslēgt apvalku", + "submit": "Iesniegt", + "switchView": "Pārslēgt skatu", + "toggleSidebar": "Pārslēgt sānjoslu", + "update": "Atjaunināt", + "upload": "Augšupielādēt", + "openFile": "Atvērt failu", + "discardChanges": "Izmest", + "stopSearch": "Stop searching", + "saveChanges": "Saglabāt izmaiņas", + "editAsText": "Rediģēt kā tekstu", + "increaseFontSize": "Palieliniet fonta lielumu", + "decreaseFontSize": "Samaziniet fonta lielumu" + }, + "download": { + "downloadFile": "Lejupielādēt failu", + "downloadFolder": "Lejupielādēt mapi", + "downloadSelected": "Lejupielādēt atlasīto" + }, + "upload": { + "abortUpload": "Vai tiešām vēlaties pārtraukt?" + }, + "errors": { + "forbidden": "Jums nav atļaujas piekļūt šim.", + "internal": "Kaut kas tiešām nogāja greizi.", + "notFound": "Šo atrašanās vietu nevar sasniegt.", + "connection": "Ar serveri nevar sazināties." + }, + "files": { + "body": "Ķermenis", + "closePreview": "Aizvērt priekšskatījumu", + "files": "Faili", + "folders": "Mapes", + "home": "Sākums", + "lastModified": "Pēdējoreiz modificēts", + "loading": "Notiek ielāde...", + "lonely": "Šeit ir tukša vieta...", + "metadata": "Metadati", + "multipleSelectionEnabled": "Vairākas atlases ir iespējotas", + "name": "Vārds", + "size": "Izmērs", + "sortByLastModified": "Kārtot pēc pēdējās modifikācijas", + "sortByName": "Kārtot pēc nosaukuma", + "sortBySize": "Kārtot pēc izmēra", + "noPreview": "Šim failam nav pieejams priekšskatījums.", + "csvTooLarge": "CSV fails ir pārāk liels priekšskatīšanai (>5 MB). Lūdzu, lejupielādējiet to, lai skatītu", + "csvLoadFailed": "Neizdevās ielādēt CSV failu.", + "showingRows": "Rāda {count} rindu(as)", + "columnSeparator": "Kolonnu atdalītājs", + "csvSeparators": { + "comma": "Komats (,)", + "semicolon": "Semikols (;)", + "both": "Gan (,) gan (;)" + } + }, + "help": { + "click": "atlasiet failu vai direktoriju", + "ctrl": { + "click": "atlasīt vairākus failus vai direktorijus", + "f": "atver meklēšanu", + "s": "saglabājiet failu vai lejupielādējiet direktoriju, kurā atrodaties" + }, + "del": "dzēst atlasītos vienumus", + "doubleClick": "atvērt failu vai direktoriju", + "esc": "notīrīt atlasi un/vai aizvērt uzvedni", + "f1": "šo informāciju", + "f2": "pārdēvēt failu", + "help": "Palīdzība" + }, + "login": { + "createAnAccount": "Izveidot kontu", + "loginInstead": "Jau ir konts", + "password": "Parole", + "passwordConfirm": "Paroles apstiprināšana", + "passwordsDontMatch": "Paroles nesakrīt", + "signup": "Reģistrēšanās", + "submit": "Pieteikties", + "username": "Lietotājvārds", + "usernameTaken": "Lietotājvārds jau aizņemts", + "wrongCredentials": "Nepareizi akreditācijas dati", + "passwordTooShort": "Parolei jābūt vismaz {min} rakstzīmju garai", + "logout_reasons": { + "inactivity": "Jūs esat atteicies no sistēmas neaktivitātes dēļ." + } + }, + "permanent": "Pastāvīgs", + "prompts": { + "copy": "Kopēt", + "copyMessage": "Izvēlieties atrašanās vietu, uz kuru kopēt failus:", + "currentlyNavigating": "Pašlaik navigācija:", + "deleteMessageMultiple": "Vai tiešām vēlaties dzēst {count} failu(s)?", + "deleteMessageSingle": "Vai tiešām vēlaties dzēst šo failu/mapi?", + "deleteMessageShare": "Vai tiešām vēlaties dzēst šo koplietojumu({path})?", + "deleteUser": "Vai tiešām vēlaties dzēst šo lietotāju?", + "deleteTitle": "Dzēst failus", + "displayName": "Displeja nosaukums:", + "download": "Lejupielādēt failus", + "downloadMessage": "Izvēlieties formātu, kuru vēlaties lejupielādēt.", + "error": "Kaut kas nogāja greizi", + "fileInfo": "Informācija par failu", + "filesSelected": "{count} atlasīti faili", + "lastModified": "Pēdējās izmaiņas", + "move": "Pārvietot", + "moveMessage": "Izvēlieties jaunu mājvietu failam(iem)/mapei(ēm):", + "newArchetype": "Izveidojiet jaunu ierakstu, pamatojoties uz arhtipu. Jūsu fails tiks izveidots satura mapē.", + "newDir": "Jauna direktorija", + "newDirMessage": "Nosaukums savai jaunajai direktorijai.", + "newFile": "Jauns fails", + "newFileMessage": "Nosauciet savu jauno failu.", + "numberDirs": "Katalogu skaits", + "numberFiles": "Failu skaits", + "rename": "Pārdēvēt", + "renameMessage": "Ievietojiet jaunu nosaukumu", + "replace": "Aizstāt", + "replaceMessage": "Vienam no failiem, kurus mēģināt augšupielādēt, ir konfliktējošs nosaukums. Vai vēlaties izlaist šo failu un turpināt augšupielādi vai aizstāt esošo?\n", + "schedule": "Grafiks", + "scheduleMessage": "Izvēlieties datumu un laiku, lai ieplānotu šī ieraksta publicēšanu.", + "show": "Rādīt", + "size": "Izmērs", + "upload": "Augšupielādēt", + "uploadFiles": "Notiek {files} failu augšupielāde...", + "uploadMessage": "Atlasiet augšupielādes opciju.", + "optionalPassword": "Izvēles parole", + "resolution": "Izšķirtspēja", + "discardEditorChanges": "Vai tiešām vēlaties atmest veiktās izmaiņas?" + }, + "search": { + "images": "Attēli", + "music": "Mūzika", + "pdf": "PDF", + "pressToSearch": "Nospiediet taustiņu Enter, lai meklētu...", + "search": "Meklē...", + "typeToSearch": "Ierakstiet, lai meklētu...", + "types": "Veidi", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace redaktora tēma", + "admin": "Admin", + "administrator": "Administrator", + "allowCommands": "Izpildīt komandas", + "allowEdit": "Rediģēt, pārdēvēt un dzēst failus vai direktorijus", + "allowNew": "Izveidojiet jaunus failus un direktorijus", + "allowPublish": "Publicēt jaunus ierakstus un lapas", + "allowSignup": "Atļaut lietotājiem reģistrēties", + "hideLoginButton": "Paslēpt pieteikšanās pogu publiskajās lapās", + "avoidChanges": "(atstājiet tukšu, lai izvairītos no izmaiņām)", + "branding": "Zīmols", + "brandingDirectoryPath": "Zīmola direktorijas ceļš", + "brandingHelp": "Jūs varat pielāgot sava failu pārlūka instances izskatu un darbību, mainot tās nosaukumu, aizstājot logotipu, pievienojot pielāgotus stilus un pat atspējojot ārējās saites uz GitHub.\nLai iegūtu plašāku informāciju par pielāgotu zīmola veidošanu, lūdzu, skatiet {0}.", + "changePassword": "Mainīt paroli", + "commandRunner": "Komandu skrējējs", + "commandRunnerHelp": "Šeit varat iestatīt komandas, kas tiek izpildītas nosauktajos notikumos. Katrā rindā jāraksta pa vienai. Būs pieejami vides mainīgie {0} un {1}, kas ir {0} relatīvi pret {1}. Lai iegūtu plašāku informāciju par šo funkciju un pieejamajiem vides mainīgajiem, lūdzu, izlasiet {2}.", + "commandsUpdated": "Komandas atjauninātas!", + "createUserDir": "Automātiski izveidot lietotāja mājas direktoriju, pievienojot jaunu lietotāju", + "minimumPasswordLength": "Minimālais paroles garums", + "tusUploads": "Sadalītas augšupielādes", + "tusUploadsHelp": "Failu pārlūks atbalsta failu augšupielādi fragmentos, ļaujot izveidot efektīvu, uzticamu, atsākamu un fragmentos sadalītu failu augšupielādi pat neuzticamos tīklos.", + "tusUploadsChunkSize": "Norāda pieprasījuma maksimālo izmēru (mazākiem augšupielādes apjomiem tiks izmantota tieša augšupielāde). Varat ievadīt vienkāršu veselu skaitli, kas apzīmē baitu izmēru, vai virkni, piemēram, 10 MB, 1 GB utt.", + "tusUploadsRetryCount": "Atkārtotu mēģinājumu skaits, kas jāveic, ja fragmenta augšupielāde neizdodas.", + "userHomeBasePath": "Lietotāja mājas direktoriju bāzes ceļš", + "userScopeGenerationPlaceholder": "Darbības joma tiks ģenerēta automātiski", + "createUserHomeDirectory": "Izveidojiet lietotāja mājas direktoriju", + "customStylesheet": "Pielāgota stila lapa", + "defaultUserDescription": "Šie ir noklusējuma iestatījumi jaunajiem lietotājiem.", + "disableExternalLinks": "Atspējot ārējās saites (izņemot dokumentāciju)", + "disableUsedDiskPercentage": "Atspējot izmantotā diska procentuālās daļas grafiku", + "documentation": "dokumentācija", + "examples": "Piemēri", + "executeOnShell": "Izpildīt uz čaulas", + "executeOnShellDescription": "Pēc noklusējuma failu pārlūks izpilda komandas, tieši izsaucot to bināros failus. Ja vēlaties tās palaist čaulā (piemēram, Bash vai PowerShell), varat to definēt šeit ar nepieciešamajiem argumentiem un karodziņiem. Ja tas ir iestatīts, izpildītā komanda tiks pievienota kā arguments. Tas attiecas gan uz lietotāja komandām, gan notikumu piesaistes rīkiem.", + "globalRules": "Šis ir globāls atļaušanas un aizliegšanas noteikumu kopums. Tie attiecas uz katru lietotāju. Katra lietotāja iestatījumos varat definēt konkrētus noteikumus, lai tos ignorētu.", + "globalSettings": "Globālie iestatījumi", + "hideDotfiles": "Slēpt punktfailus", + "insertPath": "Ievietojiet ceļu", + "insertRegex": "Ievietojiet regex izteiksmi", + "instanceName": "Gadījuma nosaukums", + "language": "Valoda", + "lockPassword": "Neļaut lietotājam mainīt paroli", + "newPassword": "Jūsu jaunā parole", + "newPasswordConfirm": "Apstipriniet savu jauno paroli", + "newUser": "Jauns lietotājs", + "password": "Parole", + "passwordUpdated": "Parole atjaunināta!", + "path": "Ceļš", + "perm": { + "create": "Izveidojiet failus un direktorijus", + "delete": "Dzēst failus un direktorijus", + "download": "Lejupielādēt", + "execute": "Izpildīt komandas", + "modify": "Rediģēt failus", + "rename": "Pārdēvēt vai pārvietot failus un direktorijus", + "share": "Kopīgojiet failus" + }, + "permissions": "Atļaujas", + "permissionsHelp": "Varat iestatīt lietotāju kā administratoru vai izvēlēties atļaujas individuāli. Ja atlasīsiet “Administrators”, visas pārējās opcijas tiks automātiski atzīmētas. Lietotāju pārvaldība joprojām ir administratora privilēģija.\n", + "profileSettings": "Profila iestatījumi", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "neļauj piekļūt jebkuram dotfile failam (piemēram, .git, .gitignore) katrā mapē.\n", + "ruleExample2": "bloķē piekļuvi failam ar nosaukumu Caddyfile darbības jomas saknē.", + "rules": "Noteikumi", + "rulesHelp": "Šeit varat definēt atļaušanas un aizliegšanas noteikumu kopu šim konkrētajam lietotājam. Bloķētie faili netiks rādīti sarakstos, un lietotājs tiem nevarēs piekļūt. Mēs atbalstām regulārās izteiksmes un ceļus attiecībā pret lietotāja darbības jomu.\n", + "scope": "Darbības joma", + "setDateFormat": "Iestatiet precīzu datuma formātu", + "settingsUpdated": "Iestatījumi atjaunināti!", + "shareDuration": "Kopīgošanas ilgums", + "shareManagement": "Kopīgošanas pārvaldība", + "shareDeleted": "Kopīgošana ir izdzēsta!", + "singleClick": "Failu un direktoriju atvēršanai izmantojiet vienus klikšķi", + "themes": { + "default": "Sistēmas noklusējums", + "dark": "Tumša", + "light": "Gaiša", + "title": "Tēma" + }, + "user": "Lietotājs", + "userCommands": "Komandas", + "userCommandsHelp": "Ar atstarpi atdalīts saraksts ar šim lietotājam pieejamajām komandām. Piemērs:\n", + "userCreated": "Lietotājs izveidots!", + "userDefaults": "Lietotāja noklusējuma iestatījumi", + "userDeleted": "Lietotājs izdzēsts!", + "userManagement": "Lietotāju pārvaldība", + "userUpdated": "Lietotājs atjaunināts!", + "username": "Lietotājvārds", + "users": "Lietotāji", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Palīdzība", + "hugoNew": "Hugo Jauns", + "login": "Pieteikties", + "logout": "Atteikties", + "myFiles": "Mani faili", + "newFile": "Jauns fails", + "newFolder": "Jauna mape", + "preview": "Priekšskatījums", + "settings": "Iestatījumi", + "signup": "Reģistrēties", + "siteSettings": "Vietnes iestatījumi" + }, + "success": { + "linkCopied": "Saite nokopēta!" + }, + "time": { + "days": "Dienas", + "hours": "Stundas", + "minutes": "Minūtes", + "seconds": "Sekundes", + "unit": "Laika vienība" + } +} diff --git a/frontend/src/i18n/lv_LV.json b/frontend/src/i18n/lv_LV.json new file mode 100644 index 00000000..c6af9aed --- /dev/null +++ b/frontend/src/i18n/lv_LV.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Atcelt", + "clear": "Tīrs", + "close": "Aizvērt", + "continue": "Turpināt", + "copy": "Kopēt", + "copyFile": "Kopēt failu", + "copyToClipboard": "Kopēt starpliktuvē", + "copyDownloadLinkToClipboard": "Kopēt lejupielādes saiti starpliktuvē", + "create": "Izveidot", + "delete": "Dzēst", + "download": "Lejupielādēt", + "file": "Fails", + "folder": "Mape", + "fullScreen": "Pārslēgt pilnekrāna režīmu", + "hideDotfiles": "Slēpt punktfailus", + "info": "Informācija", + "more": "Vairāk", + "move": "Pārvietot", + "moveFile": "Pārvietot failu", + "new": "Jauns", + "next": "Nākamais", + "ok": "Labi", + "permalink": "Iegūt pastāvīgo saiti", + "previous": "Iepriekšējais", + "preview": "Priekšskatījums", + "publish": "Publicēt", + "rename": "Pārdēvēt", + "replace": "Aizstāt", + "reportIssue": "Ziņot par problēmu", + "save": "Saglabāt", + "schedule": "Grafiks", + "search": "Meklēt", + "select": "Izvēlieties", + "selectMultiple": "Izvēlieties vairākus", + "share": "Dalīties", + "shell": "Pārslēgt apvalku", + "submit": "Iesniegt", + "switchView": "Pārslēgt skatu", + "toggleSidebar": "Pārslēgt sānjoslu", + "update": "Atjaunināt", + "upload": "Augšupielādēt", + "openFile": "Atvērt failu", + "discardChanges": "Izmest", + "stopSearch": "Beigt meklēšanu", + "saveChanges": "Saglabāt izmaiņas", + "editAsText": "Rediģēt kā tekstu", + "increaseFontSize": "Palieliniet fonta lielumu", + "decreaseFontSize": "Samaziniet fonta lielumu" + }, + "download": { + "downloadFile": "Lejupielādēt failu", + "downloadFolder": "Lejupielādēt mapi", + "downloadSelected": "Lejupielādēt atlasīto" + }, + "upload": { + "abortUpload": "Vai tiešām vēlaties pārtraukt?" + }, + "errors": { + "forbidden": "Jums nav atļaujas piekļūt šim.", + "internal": "Kaut kas tiešām nogāja greizi.", + "notFound": "Šo atrašanās vietu nevar sasniegt.", + "connection": "Ar serveri nevar sazināties." + }, + "files": { + "body": "Ķermenis", + "closePreview": "Aizvērt priekšskatījumu", + "files": "Faili", + "folders": "Mapes", + "home": "Sākums", + "lastModified": "Pēdējoreiz modificēts", + "loading": "Notiek ielāde...", + "lonely": "Šeit ir tukša vieta...", + "metadata": "Metadati", + "multipleSelectionEnabled": "Vairākas atlases ir iespējotas", + "name": "Vārds", + "size": "Izmērs", + "sortByLastModified": "Kārtot pēc pēdējās modifikācijas", + "sortByName": "Kārtot pēc nosaukuma", + "sortBySize": "Kārtot pēc izmēra", + "noPreview": "Šim failam nav pieejams priekšskatījums.", + "csvTooLarge": "CSV fails ir pārāk liels priekšskatīšanai (>5 MB). Lūdzu, lejupielādējiet to, lai skatītu", + "csvLoadFailed": "Neizdevās ielādēt CSV failu.", + "showingRows": "Rāda {count} rindu(as)", + "columnSeparator": "Kolonnu atdalītājs", + "csvSeparators": { + "comma": "Komats (,)", + "semicolon": "Semikols (;)", + "both": "Gan (,) gan (;)" + } + }, + "help": { + "click": "atlasiet failu vai direktoriju", + "ctrl": { + "click": "atlasīt vairākus failus vai direktorijus", + "f": "atver meklēšanu", + "s": "saglabājiet failu vai lejupielādējiet direktoriju, kurā atrodaties" + }, + "del": "dzēst atlasītos vienumus", + "doubleClick": "atvērt failu vai direktoriju", + "esc": "notīrīt atlasi un/vai aizvērt uzvedni", + "f1": "šo informāciju", + "f2": "pārdēvēt failu", + "help": "Palīdzība" + }, + "login": { + "createAnAccount": "Izveidot kontu", + "loginInstead": "Jau ir konts", + "password": "Parole", + "passwordConfirm": "Paroles apstiprināšana", + "passwordsDontMatch": "Paroles nesakrīt", + "signup": "Reģistrēšanās", + "submit": "Pieteikties", + "username": "Lietotājvārds", + "usernameTaken": "Lietotājvārds jau aizņemts", + "wrongCredentials": "Nepareizi akreditācijas dati", + "passwordTooShort": "Parolei jābūt vismaz {min} rakstzīmju garai", + "logout_reasons": { + "inactivity": "Jūs esat atteicies no sistēmas neaktivitātes dēļ." + } + }, + "permanent": "Pastāvīgs", + "prompts": { + "copy": "Kopēt", + "copyMessage": "Izvēlieties atrašanās vietu, uz kuru kopēt failus:", + "currentlyNavigating": "Pašlaik navigācija:", + "deleteMessageMultiple": "Vai tiešām vēlaties dzēst {count} failu(s)?", + "deleteMessageSingle": "Vai tiešām vēlaties dzēst šo failu/mapi?", + "deleteMessageShare": "Vai tiešām vēlaties dzēst šo koplietojumu({path})?", + "deleteUser": "Vai tiešām vēlaties dzēst šo lietotāju?", + "deleteTitle": "Dzēst failus", + "displayName": "Displeja nosaukums:", + "download": "Lejupielādēt failus", + "downloadMessage": "Izvēlieties formātu, kuru vēlaties lejupielādēt.", + "error": "Kaut kas nogāja greizi", + "fileInfo": "Informācija par failu", + "filesSelected": "{count} atlasīti faili", + "lastModified": "Pēdējās izmaiņas", + "move": "Pārvietot", + "moveMessage": "Izvēlieties jaunu mājvietu failam(iem)/mapei(ēm):", + "newArchetype": "Izveidojiet jaunu ierakstu, pamatojoties uz arhtipu. Jūsu fails tiks izveidots satura mapē.", + "newDir": "Jauna direktorija", + "newDirMessage": "Nosaukums savai jaunajai direktorijai.", + "newFile": "Jauns fails", + "newFileMessage": "Nosauciet savu jauno failu.", + "numberDirs": "Katalogu skaits", + "numberFiles": "Failu skaits", + "rename": "Pārdēvēt", + "renameMessage": "Ievietojiet jaunu nosaukumu", + "replace": "Aizstāt", + "replaceMessage": "Vienam no failiem, kurus mēģināt augšupielādēt, ir konfliktējošs nosaukums. Vai vēlaties izlaist šo failu un turpināt augšupielādi vai aizstāt esošo?\n", + "schedule": "Grafiks", + "scheduleMessage": "Izvēlieties datumu un laiku, lai ieplānotu šī ieraksta publicēšanu.", + "show": "Rādīt", + "size": "Izmērs", + "upload": "Augšupielādēt", + "uploadFiles": "Notiek {files} failu augšupielāde...", + "uploadMessage": "Atlasiet augšupielādes opciju.", + "optionalPassword": "Izvēles parole", + "resolution": "Izšķirtspēja", + "discardEditorChanges": "Vai tiešām vēlaties atmest veiktās izmaiņas?" + }, + "search": { + "images": "Attēli", + "music": "Mūzika", + "pdf": "PDF", + "pressToSearch": "Nospiediet taustiņu Enter, lai meklētu...", + "search": "Meklē...", + "typeToSearch": "Ierakstiet, lai meklētu...", + "types": "Veidi", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace redaktora tēma", + "admin": "Admin", + "administrator": "Administrator", + "allowCommands": "Izpildīt komandas", + "allowEdit": "Rediģēt, pārdēvēt un dzēst failus vai direktorijus", + "allowNew": "Izveidojiet jaunus failus un direktorijus", + "allowPublish": "Publicēt jaunus ierakstus un lapas", + "allowSignup": "Atļaut lietotājiem reģistrēties", + "hideLoginButton": "Paslēpt pieteikšanās pogu publiskajās lapās", + "avoidChanges": "(atstājiet tukšu, lai izvairītos no izmaiņām)", + "branding": "Zīmols", + "brandingDirectoryPath": "Zīmola direktorijas ceļš", + "brandingHelp": "Jūs varat pielāgot sava failu pārlūka instances izskatu un darbību, mainot tās nosaukumu, aizstājot logotipu, pievienojot pielāgotus stilus un pat atspējojot ārējās saites uz GitHub.\nLai iegūtu plašāku informāciju par pielāgotu zīmola veidošanu, lūdzu, skatiet {0}.", + "changePassword": "Mainīt paroli", + "commandRunner": "Komandu skrējējs", + "commandRunnerHelp": "Šeit varat iestatīt komandas, kas tiek izpildītas nosauktajos notikumos. Katrā rindā jāraksta pa vienai. Būs pieejami vides mainīgie {0} un {1}, kas ir {0} relatīvi pret {1}. Lai iegūtu plašāku informāciju par šo funkciju un pieejamajiem vides mainīgajiem, lūdzu, izlasiet {2}.", + "commandsUpdated": "Komandas atjauninātas!", + "createUserDir": "Automātiski izveidot lietotāja mājas direktoriju, pievienojot jaunu lietotāju", + "minimumPasswordLength": "Minimālais paroles garums", + "tusUploads": "Sadalītas augšupielādes", + "tusUploadsHelp": "Failu pārlūks atbalsta failu augšupielādi fragmentos, ļaujot izveidot efektīvu, uzticamu, atsākamu un fragmentos sadalītu failu augšupielādi pat neuzticamos tīklos.", + "tusUploadsChunkSize": "Norāda pieprasījuma maksimālo izmēru (mazākiem augšupielādes apjomiem tiks izmantota tieša augšupielāde). Varat ievadīt vienkāršu veselu skaitli, kas apzīmē baitu izmēru, vai virkni, piemēram, 10 MB, 1 GB utt.", + "tusUploadsRetryCount": "Atkārtotu mēģinājumu skaits, kas jāveic, ja fragmenta augšupielāde neizdodas.", + "userHomeBasePath": "Lietotāja mājas direktoriju bāzes ceļš", + "userScopeGenerationPlaceholder": "Darbības joma tiks ģenerēta automātiski", + "createUserHomeDirectory": "Izveidojiet lietotāja mājas direktoriju", + "customStylesheet": "Pielāgota stila lapa", + "defaultUserDescription": "Šie ir noklusējuma iestatījumi jaunajiem lietotājiem.", + "disableExternalLinks": "Atspējot ārējās saites (izņemot dokumentāciju)", + "disableUsedDiskPercentage": "Atspējot izmantotā diska procentuālās daļas grafiku", + "documentation": "dokumentācija", + "examples": "Piemēri", + "executeOnShell": "Izpildīt uz čaulas", + "executeOnShellDescription": "Pēc noklusējuma failu pārlūks izpilda komandas, tieši izsaucot to bināros failus. Ja vēlaties tās palaist čaulā (piemēram, Bash vai PowerShell), varat to definēt šeit ar nepieciešamajiem argumentiem un karodziņiem. Ja tas ir iestatīts, izpildītā komanda tiks pievienota kā arguments. Tas attiecas gan uz lietotāja komandām, gan notikumu piesaistes rīkiem.", + "globalRules": "Šis ir globāls atļaušanas un aizliegšanas noteikumu kopums. Tie attiecas uz katru lietotāju. Katra lietotāja iestatījumos varat definēt konkrētus noteikumus, lai tos ignorētu.", + "globalSettings": "Globālie iestatījumi", + "hideDotfiles": "Slēpt punktfailus", + "insertPath": "Ievietojiet ceļu", + "insertRegex": "Ievietojiet regex izteiksmi", + "instanceName": "Gadījuma nosaukums", + "language": "Valoda", + "lockPassword": "Neļaut lietotājam mainīt paroli", + "newPassword": "Jūsu jaunā parole", + "newPasswordConfirm": "Apstipriniet savu jauno paroli", + "newUser": "Jauns lietotājs", + "password": "Parole", + "passwordUpdated": "Parole atjaunināta!", + "path": "Ceļš", + "perm": { + "create": "Izveidojiet failus un direktorijus", + "delete": "Dzēst failus un direktorijus", + "download": "Lejupielādēt", + "execute": "Izpildīt komandas", + "modify": "Rediģēt failus", + "rename": "Pārdēvēt vai pārvietot failus un direktorijus", + "share": "Kopīgojiet failus" + }, + "permissions": "Atļaujas", + "permissionsHelp": "Varat iestatīt lietotāju kā administratoru vai izvēlēties atļaujas individuāli. Ja atlasīsiet “Administrators”, visas pārējās opcijas tiks automātiski atzīmētas. Lietotāju pārvaldība joprojām ir administratora privilēģija.\n", + "profileSettings": "Profila iestatījumi", + "redirectAfterCopyMove": "Pārvirzīt uz galapunktu pēc kopēšanas/pārvietošanas", + "ruleExample1": "neļauj piekļūt jebkuram dotfile failam (piemēram, .git, .gitignore) katrā mapē.\n", + "ruleExample2": "bloķē piekļuvi failam ar nosaukumu Caddyfile darbības jomas saknē.", + "rules": "Noteikumi", + "rulesHelp": "Šeit varat definēt atļaušanas un aizliegšanas noteikumu kopu šim konkrētajam lietotājam. Bloķētie faili netiks rādīti sarakstos, un lietotājs tiem nevarēs piekļūt. Mēs atbalstām regulārās izteiksmes un ceļus attiecībā pret lietotāja darbības jomu.\n", + "scope": "Darbības joma", + "setDateFormat": "Iestatiet precīzu datuma formātu", + "settingsUpdated": "Iestatījumi atjaunināti!", + "shareDuration": "Kopīgošanas ilgums", + "shareManagement": "Kopīgošanas pārvaldība", + "shareDeleted": "Kopīgojums izdzēsts!", + "singleClick": "Failu un direktoriju atvēršanai izmantojiet vienus klikšķi", + "themes": { + "default": "Sistēmas noklusējums", + "dark": "Tumša", + "light": "Gaiša", + "title": "Tēma" + }, + "user": "Lietotājs", + "userCommands": "Komandas", + "userCommandsHelp": "Ar atstarpi atdalīts saraksts ar šim lietotājam pieejamajām komandām. Piemērs:\n", + "userCreated": "Lietotājs izveidots!", + "userDefaults": "Lietotāja noklusējuma iestatījumi", + "userDeleted": "Lietotājs izdzēsts!", + "userManagement": "Lietotāju pārvaldība", + "userUpdated": "Lietotājs atjaunināts!", + "username": "Lietotājvārds", + "users": "Lietotāji", + "currentPassword": "Esošā Parole" + }, + "sidebar": { + "help": "Palīdzība", + "hugoNew": "Hugo Jauns", + "login": "Pieteikties", + "logout": "Atteikties", + "myFiles": "Mani faili", + "newFile": "Jauns fails", + "newFolder": "Jauna mape", + "preview": "Priekšskatījums", + "settings": "Iestatījumi", + "signup": "Reģistrēties", + "siteSettings": "Vietnes iestatījumi" + }, + "success": { + "linkCopied": "Saite nokopēta!" + }, + "time": { + "days": "Dienas", + "hours": "Stundas", + "minutes": "Minūtes", + "seconds": "Sekundes", + "unit": "Laika vienība" + } +} diff --git a/frontend/src/i18n/nl-be.json b/frontend/src/i18n/nl-be.json new file mode 100644 index 00000000..a5fcb062 --- /dev/null +++ b/frontend/src/i18n/nl-be.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Annuleren", + "clear": "Wissen", + "close": "Sluiten", + "continue": "Continue", + "copy": "Kopiëren", + "copyFile": "Bestand kopiëren", + "copyToClipboard": "Kopiëren naar klembord", + "copyDownloadLinkToClipboard": "Copy download link to clipboard", + "create": "Aanmaken", + "delete": "Verwijderen", + "download": "Downloaden", + "file": "File", + "folder": "Folder", + "fullScreen": "Toggle full screen", + "hideDotfiles": "Hide dotfiles", + "info": "Info", + "more": "Meer", + "move": "Verplaatsen", + "moveFile": "Verplaats bestand", + "new": "Nieuw", + "next": "Volgende", + "ok": "OK", + "permalink": "Maak permanente link", + "previous": "Vorige", + "preview": "Preview", + "publish": "Publiceren", + "rename": "Hernoemen", + "replace": "Vervangen", + "reportIssue": "Fout rapporteren", + "save": "Opslaan", + "schedule": "Plannen", + "search": "Zoeken", + "select": "Selecteren", + "selectMultiple": "Meerdere selecteren", + "share": "Delen", + "shell": "Open shell", + "submit": "Submit", + "switchView": "Beeld wisselen", + "toggleSidebar": "Zijbalk tonen", + "update": "Updaten", + "upload": "Uploaden", + "openFile": "Open file", + "discardChanges": "Discard", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Bestand downloaden", + "downloadFolder": "Map downloaden", + "downloadSelected": "Download Selected" + }, + "upload": { + "abortUpload": "Are you sure you wish to abort?" + }, + "errors": { + "forbidden": "U hebt geen rechten om hier toegang toe te krijgen.", + "internal": "Er ging iets mis.", + "notFound": "Deze locatie kan niet worden bereikt.", + "connection": "The server can't be reached." + }, + "files": { + "body": "Body", + "closePreview": "Voorvertoon sluiten", + "files": "Bestanden", + "folders": "Mappen", + "home": "Home", + "lastModified": "Laatst bewerkt", + "loading": "Laden...", + "lonely": "Het is hier wat leeg...", + "metadata": "Metadata", + "multipleSelectionEnabled": "Meerdere items selecteren ingeschakeld", + "name": "Naam", + "size": "Grootte", + "sortByLastModified": "Sorteren op laatst bewerkt", + "sortByName": "Sorteren op naam", + "sortBySize": "Sorteren op grootte", + "noPreview": "Preview is not available for this file.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "selecteer bestand of map", + "ctrl": { + "click": "selecteer meerdere bestanden of mappen", + "f": "opent zoeken", + "s": "sla een bestand op of download de map waar u bent" + }, + "del": "verwijder geselecteerde items", + "doubleClick": "open een bestand of map", + "esc": "Wis selectie en/of sluit de prompt", + "f1": "deze informatie", + "f2": "bestand herbenoemen", + "help": "Help" + }, + "login": { + "createAnAccount": "Account aanmaken", + "loginInstead": "Heeft al een account", + "password": "Wachtwoord", + "passwordConfirm": "Wachtwoordbevestiging ", + "passwordsDontMatch": "Wachtwoorden komen niet overeen", + "signup": "Registeren", + "submit": "Log in", + "username": "Gebruikersnaam", + "usernameTaken": "Gebruikersnaam reeds in gebruik", + "wrongCredentials": "Verkeerde inloggegevens", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Permanent", + "prompts": { + "copy": "Kopiëren", + "copyMessage": "Kies een locatie om uw bestanden te kopiëren: ", + "currentlyNavigating": "Momenteel zoeken op: ", + "deleteMessageMultiple": "Weet u zeker dat u {count} bestand(en) wil verwijderen?", + "deleteMessageSingle": "Weet u zeker dat u dit bestand/map wil verwijderen?", + "deleteMessageShare": "Are you sure you wish to delete this share({path})?", + "deleteUser": "Are you sure you want to delete this user?", + "deleteTitle": "Bestanden verwijderen", + "displayName": "Weergavenaam: ", + "download": "Bestanden downloaden", + "downloadMessage": "Kies het vermat dat u wilt downloaden. ", + "error": "Er ging iets fout", + "fileInfo": "Bestandinformatie", + "filesSelected": "{count} geselecteerde bestanden", + "lastModified": "Laatst Bewerkt", + "move": "Verplaatsen", + "moveMessage": "Kies een nieuwe locatie voor je bestand(en)/map(pen)", + "newArchetype": "Maak een nieuw bericht op basis van een archetype. Uw bestand wordt aangemaakt in de inhoudsmap.", + "newDir": "Nieuwe map", + "newDirMessage": "Schrijf de naam van de nieuwe map", + "newFile": "Nieuw bestand", + "newFileMessage": "Schrijf de naam van het nieuwe bestand", + "numberDirs": "Aantal mappen", + "numberFiles": "Aantal bestanden", + "rename": "Hernoemen", + "renameMessage": "Voer een nieuwe naam in voor", + "replace": "Vervangen", + "replaceMessage": "Een van de bestanden die u probeert te uploaden, geeft conflicten i.v.m. de naamgeving. Wilt u de bestaande bestanden vervangen?\n", + "schedule": "Plannen", + "scheduleMessage": "Kies een datum en tijd om de publicatie van dit bericht in te plannen.", + "show": "Tonen", + "size": "Grootte", + "upload": "Upload", + "uploadFiles": "Uploading {files} files...", + "uploadMessage": "Select an option to upload.", + "optionalPassword": "Optional password", + "resolution": "Resolution", + "discardEditorChanges": "Are you sure you wish to discard the changes you've made?" + }, + "search": { + "images": "Afbeeldingen", + "music": "Muziek", + "pdf": "PDF", + "pressToSearch": "Druk op enter om te zoeken...", + "search": "Zoeken...", + "typeToSearch": "Typ om te zoeken...", + "types": "Types", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Administrator", + "allowCommands": "Commando's uitvoeren", + "allowEdit": "Bestanden of mappen aanpassen, hernoemen of verwijderen", + "allowNew": "Nieuwe bestanden of mappen aanmaken", + "allowPublish": "Publiceer nieuwe berichten en pagina's", + "allowSignup": "Sta gebruikers toe om zich te registreren", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(laat leeg om wijzigingen te voorkomen)", + "branding": "Branding", + "brandingDirectoryPath": "Branding directory path", + "brandingHelp": "U kunt de looks en feels hoe File Browser wordt getoond wijzigen door de naam aan te passen, het logo te vervangen, een aangepast stylesheet toe te voegen en/of de externe links naar GitHub uit te schakelen.\nVoor meer informatie over custom branding, bekijk {0}.", + "changePassword": "Wijzig Wachtwoord", + "commandRunner": "Command runner", + "commandRunnerHelp": "Hier kunt u opdrachten instellen die worden uitgevoerd in de benoemde gebeurtenissen. U moet er één per regel schrijven. De omgevingsvariabelen {0} en {1} zijn beschikbaar, zijnde {0} relatief ten opzichte van {1}. Raadpleeg {2} voor meer informatie over deze functie en de beschikbare omgevingsvariabelen.", + "commandsUpdated": "Commando's bijgewerkt!", + "createUserDir": "Maak automatisch een thuismap aan wanneer een nieuwe gebruiker wordt aangemaakt", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Chunked Uploads", + "tusUploadsHelp": "File Browser supports chunked file uploads, allowing for the creation of efficient, reliable, resumable and chunked file uploads even on unreliable networks.", + "tusUploadsChunkSize": "Indicates to maximum size of a request (direct uploads will be used for smaller uploads). You may input a plain integer denoting byte size input or a string like 10MB, 1GB etc.", + "tusUploadsRetryCount": "Number of retries to perform if a chunk fails to upload.", + "userHomeBasePath": "Base path for user home directories", + "userScopeGenerationPlaceholder": "The scope will be auto generated", + "createUserHomeDirectory": "Create user home directory", + "customStylesheet": "Aangepast Stylesheet", + "defaultUserDescription": "Dit zijn de standaardinstellingen voor nieuwe gebruikers.", + "disableExternalLinks": "Schakel externe links uit (behalve documentatie)", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "Documentatie", + "examples": "Voorbeelden", + "executeOnShell": "Uitvoeren in de shell", + "executeOnShellDescription": "File Browser voert de opdrachten standaard uit door hun binaire bestanden rechtstreeks op te roepen. Als u ze in plaats daarvan wilt uitvoeren op een shell (zoals Bash of PowerShell), kunt u dit hier definiëren met de vereiste argumenten en vlaggen. Indien ingesteld, wordt de opdracht die u uitvoert, toegevoegd als een argument. Dit is van toepassing op zowel gebruikersopdrachten als event hooks.", + "globalRules": "Dit is een algemene reeks toegestane en niet toegestane regels. Ze zijn van toepassing op elke gebruiker. U kunt specifieke regels voor de instellingen van elke gebruiker definiëren om deze te overschrijven.", + "globalSettings": "Algemene Instellingen", + "hideDotfiles": "Hide dotfiles", + "insertPath": "Voeg een pad toe", + "insertRegex": "Regex expressie invoeren", + "instanceName": "Instantienaam", + "language": "Taal", + "lockPassword": "Voorkom dat de gebruiker het wachtwoord wijzigt", + "newPassword": "Uw nieuw wachtwoord", + "newPasswordConfirm": "Bevestig uw nieuw wachtwoord", + "newUser": "Nieuwe gebruiker", + "password": "Wachtwoord", + "passwordUpdated": "Wachtwoord bijgewerkt!", + "path": "Path", + "perm": { + "create": "Bestanden en mappen aanmaken", + "delete": "Bestanden en mappen verwijderen", + "download": "Downloaden", + "execute": "Commando's uitvoeren", + "modify": "Bestanden aanpassen", + "rename": "Bestanden of mappen hernoemen of verplaatsen", + "share": "Bestanden delen" + }, + "permissions": "Permissies", + "permissionsHelp": "U kunt de gebruiker instellen als beheerder of de machtigingen afzonderlijk kiezen. Als u \"Beheerder\" selecteert, worden alle andere opties automatisch gecontroleerd. Het beheer van gebruikers blijft een privilege van een beheerder.\n", + "profileSettings": "Profielinstellingen", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "voorkomt de toegang tot elk puntbestand (zoals .git, .gitignore) in elke map.\n", + "ruleExample2": "blokkeert de toegang tot het bestand met de naam Caddyfile in de hoofdmap van het bereik.", + "rules": "Regels", + "rulesHelp": "Hier kunt u een reeks regels voor toestaan en niet toestaan voor deze specifieke gebruiker definiëren. De geblokkeerde bestanden verschijnen niet in de lijsten en zijn niet toegankelijk voor de gebruiker. We ondersteunen regex en paden relatief ten opzichte van het bereik van gebruikers. \n", + "scope": "Scope", + "setDateFormat": "Set exact date format", + "settingsUpdated": "Instellingen bijgewerkt!", + "shareDuration": "Share Duration", + "shareManagement": "Share Management", + "shareDeleted": "Share deleted!", + "singleClick": "Use single clicks to open files and directories", + "themes": { + "default": "System default", + "dark": "Dark", + "light": "Light", + "title": "Theme" + }, + "user": "Gebruiker", + "userCommands": "Commando's", + "userCommandsHelp": "Een lijst met beschikbare commando's voor de gebruiker gescheiden door spaties. Voorbeeld: \n", + "userCreated": "Gebruiker aangemaakt!", + "userDefaults": "Standaardinstellingen gebruiker", + "userDeleted": "Gebruiker verwijderd!", + "userManagement": "Gebruikersbeheer", + "userUpdated": "Gebruiker bijgewerkt!", + "username": "Gebruikersnaam", + "users": "Gebruikers", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Help", + "hugoNew": "Hugo nieuw", + "login": "Log in", + "logout": "Uitloggen", + "myFiles": "Mijn bestanden", + "newFile": "Nieuw bestand", + "newFolder": "Nieuwe map", + "preview": "Voorbeeld", + "settings": "Instellingen", + "signup": "Registeren", + "siteSettings": "Site-instellingen" + }, + "success": { + "linkCopied": "Link gekopieerd!" + }, + "time": { + "days": "Dagen", + "hours": "Uren", + "minutes": "Minuten", + "seconds": "Seconden", + "unit": "Tijdseenheid" + } +} diff --git a/frontend/src/i18n/no.json b/frontend/src/i18n/no.json new file mode 100644 index 00000000..3a5e7bdd --- /dev/null +++ b/frontend/src/i18n/no.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Avbryt", + "clear": "Fjern", + "close": "Lukk", + "continue": "Fortsett", + "copy": "Kopier", + "copyFile": "Fortsett", + "copyToClipboard": "Kopier til utklippstavlen", + "copyDownloadLinkToClipboard": "Kopier nedlastingslenken til utklippstavlen", + "create": "Opprett", + "delete": "Slett", + "download": "Nedlast", + "file": "Fil", + "folder": "Mappe", + "fullScreen": "Skru på fullskjerm", + "hideDotfiles": "Skjul punktfiler", + "info": "Info", + "more": "Meir", + "move": "Flytt", + "moveFile": "Flytt Fil", + "new": "Ny", + "next": "Neste", + "ok": "Ok", + "permalink": "Få permanent link", + "previous": "Tidligere", + "preview": "Forhåndsvisning", + "publish": "Publiser", + "rename": "Gi nytt navn", + "replace": "Bytt ut\n ", + "reportIssue": "Rapporter problem", + "save": "Lagre", + "schedule": "Planlegg ", + "search": "Søk", + "select": "Velg", + "selectMultiple": "Velg Fleire", + "share": "Del", + "shell": "Skru på shell", + "submit": "Send", + "switchView": "Skift visning", + "toggleSidebar": "Skru på sidebar", + "update": "Opptater", + "upload": "Last opp", + "openFile": "Open file", + "discardChanges": "Slett", + "stopSearch": "Stop searching", + "saveChanges": "Lagre Endringane ", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Nedlast filen", + "downloadFolder": "Nedlast mappen", + "downloadSelected": "Nedlast merket" + }, + "upload": { + "abortUpload": "Er du sikker på at du ønsker å avbryte?" + }, + "errors": { + "forbidden": "Du har ikkje tilgang til denne filen.", + "internal": "Noko gikk virkelig galt.", + "notFound": "Denne lokasjonen kan ikkje bli nådd.", + "connection": "Denne serveren kan ikkje nås." + }, + "files": { + "body": "Kropp", + "closePreview": "Lukk forhandsvisning", + "files": "Filer", + "folders": "Mappe", + "home": "Hjem", + "lastModified": "Sist endret", + "loading": "Laster....", + "lonely": "Det føltes ensomt her...", + "metadata": "Metadata", + "multipleSelectionEnabled": "Fleire seksjoner på", + "name": "Navn", + "size": "Størrelse", + "sortByLastModified": "Sorter etter sist endret", + "sortByName": "Sorter etter navn", + "sortBySize": "Sorter etter størrelse", + "noPreview": "Forhåndsvisning er ikkje tilgjengeleg for denne filen.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "velg fil eller katalog", + "ctrl": { + "click": "velg flere filer eller mapper", + "f": "opner søk", + "s": "lagr en fil eller last ned direktoratet der du er" + }, + "del": "slett markert filer", + "doubleClick": "open en fil eller direktorat", + "esc": "visk av seleksjon og/eller lukk dette varselet", + "f1": "denne informasjonen", + "f2": "gi nytt navn til denne filen", + "help": "Hjelp" + }, + "login": { + "createAnAccount": "Opprett ein konto", + "loginInstead": "Du har allerede ein konto", + "password": "Passord", + "passwordConfirm": "Passordbekreftelse", + "passwordsDontMatch": "Passordene samsvarer ikkje", + "signup": "Registrer deg", + "submit": "Logg inn", + "username": "Brukernavn", + "usernameTaken": "Brukernavn er allerede i bruk", + "wrongCredentials": "Feil legitimasjon", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "Du har blitt logget ut på grunn av inaktivitet" + } + }, + "permanent": "Permanent", + "prompts": { + "copy": "Kopiere", + "copyMessage": "Velg hvor du vil kopiere filene dine:", + "currentlyNavigating": "Navigerer nå på:", + "deleteMessageMultiple": "Er du sikker på at du vil slette {count} fil(er)?", + "deleteMessageSingle": "Er du sikker på at du vil slette denne filen/mappen?", + "deleteMessageShare": "Er du sikker på at du vil slette denne delingen ({path})?", + "deleteUser": "Er du sikker at du vil slette denne brukeren?", + "deleteTitle": "Slett filer", + "displayName": "Vis Navn:", + "download": "Last ned filer", + "downloadMessage": "Velg kva format du ønsker å laste ned.", + "error": "Noko gikk galt.", + "fileInfo": "Fil informasjon", + "filesSelected": "{count} filer valgt.", + "lastModified": "Sist endret", + "move": "Flytt", + "moveMessage": "Velg nytt hjem for filen(e)/mappen(e)din:", + "newArchetype": "Opprett et nytt innlegg basert på en arketype. Filen din opprettes i innholdsmappen.", + "newDir": "Nytt Direktorat", + "newDirMessage": "Navn gi ditt nye direktorat", + "newFile": "Ny fil", + "newFileMessage": "Navn gi ditt nye fil", + "numberDirs": "Nummer av direktorat", + "numberFiles": "Nummer av filer", + "rename": "Gi nytt navn", + "renameMessage": "Sett inn nytt navn for", + "replace": "Bytt ut", + "replaceMessage": "En av filene du prøver å laste opp har et motstridende navn. Vil du hoppe over denne filen og fortsette opplastingen eller erstatte den eksisterende?\n", + "schedule": "Planlegg", + "scheduleMessage": "Velg en dato og et klokkeslett for å planlegge publiseringen av dette innlegget.", + "show": "Vis", + "size": "Størrelse", + "upload": "Last opp", + "uploadFiles": "Laster opp {filer} filer...", + "uploadMessage": "Velg et alternativ for opplasting.", + "optionalPassword": "Valgfritt passord", + "resolution": "Oppløysning", + "discardEditorChanges": "Er du sikker på at du vil forkaste endringene du har gjort?" + }, + "search": { + "images": "Bilde", + "music": "Musikk", + "pdf": "PDF", + "pressToSearch": "Trykk enter for å søke...", + "search": "Søk...", + "typeToSearch": "Trykk for å søke...", + "types": "Typer", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Administrator", + "allowCommands": "Utfør kommandoer", + "allowEdit": "Rediger, gi nytt navn til og slett filer eller mapper", + "allowNew": "Opprett nye filer og direktorater", + "allowPublish": "Publiser nye innlegg og sider", + "allowSignup": "Tilat brukere å registrere seg", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(la stå tomt for å unngå endringer)", + "branding": "Merkevarebygging", + "brandingDirectoryPath": "Bane for merkevarekatalog", + "brandingHelp": "Du kan tilpasse hvordan Filleser-instansen din ser ut og føles ved å endre navnet, erstatte logoen, legge til egendefinerte stiler og til og med deaktivere eksterne lenker til GitHub.\n\nFor mer informasjon om tilpasset merkevarebygging, se {0}.", + "changePassword": "Skift Passord", + "commandRunner": "Kommandoløper", + "commandRunnerHelp": "Her kan du angi kommandoer som skal utføres i de navngitte hendelsene. Du må skrive én per linje. Miljøvariablene {0} og {1} vil være tilgjengelige, siden de er {0} relative til {1}. For mer informasjon om denne funksjonen og de tilgjengelige miljøvariablene, vennligst les {2}.", + "commandsUpdated": "Komando opptatert!", + "createUserDir": "Opprett brukerens hjemmappe automatisk når du legger til en ny bruker", + "minimumPasswordLength": "Minimum passord lengde", + "tusUploads": "Klumpede opplastinger", + "tusUploadsHelp": "Filleseren støtter opplasting av delte filer, noe som gjør det mulig å lage effektive, pålitelige, gjenopptakbare og delte filer, selv på upålitelige nettverk.", + "tusUploadsChunkSize": "Angir maksimal størrelse på en forespørsel (direkte opplastinger vil bli brukt for mindre opplastinger). Du kan legge inn et heltall som angir bytestørrelsen, eller en streng som 10 MB, 1 GB osv.", + "tusUploadsRetryCount": "Antall nye forsøk som skal utføres hvis en del ikke lastes opp.", + "userHomeBasePath": "Basissti for brukerens hjemmekataloger", + "userScopeGenerationPlaceholder": "Omfanget vil bli generert automatisk", + "createUserHomeDirectory": "Opprett bruker hjemme direktorat", + "customStylesheet": "Egendefinert stilark", + "defaultUserDescription": "Dette er standardinnstillingene for nye brukere.", + "disableExternalLinks": "Deaktiver eksterne lenker (unntatt dokumentasjon)", + "disableUsedDiskPercentage": "Deaktiver grafen for prosentandelen brukt disk", + "documentation": "dokumentasjon", + "examples": "Eksempel", + "executeOnShell": "Kjør på skall", + "executeOnShellDescription": "Som standard kjører Filleseren kommandoene ved å kalle binærfilene direkte. Hvis du heller ønsker å kjøre dem på et skall (som Bash eller PowerShell), kan du definere det her med de nødvendige argumentene og flaggene. Hvis dette er angitt, vil kommandoen du kjører bli lagt til som et argument. Dette gjelder både brukerkommandoer og hendelseshooker.", + "globalRules": "Dette er et globalt sett med regler for tillatelse og forbud. De gjelder for alle brukere. Du kan definere spesifikke regler for hver brukers innstillinger for å overstyre disse.", + "globalSettings": "Globale Innstillinger", + "hideDotfiles": "Skjul punktfiler", + "insertPath": "Sett inn banen", + "insertRegex": "sett inn regex-uttrykk", + "instanceName": "Forekomstnavn", + "language": "Språk", + "lockPassword": "Hindre brukeren i å endre passordet", + "newPassword": "Sett ditt nye passord", + "newPasswordConfirm": "Bekreft ditt nye passord", + "newUser": "Ny bruker", + "password": "Passord", + "passwordUpdated": "Passord opptatert!", + "path": "Veg", + "perm": { + "create": "Opprett filer og direktorater", + "delete": "Slett filer og direktorater", + "download": "Nedlast", + "execute": "Utfør kommandoer", + "modify": "Endre filer", + "rename": "Gi nytt navn eller flytt filer og direktorater", + "share": "Del filer" + }, + "permissions": "Tilaterser", + "permissionsHelp": "Du kan angi brukeren som administrator eller velge tillatelsene individuelt. Hvis du velger «Administrator», vil alle de andre alternativene bli automatisk avkrysset. Administrasjon av brukere er fortsatt et privilegium for en administrator.\n", + "profileSettings": "Profil Innstilinger", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "forhindrer tilgang til noen dotfiler (som .git, .gitignore) i alle mapper.\n", + "ruleExample2": "blokkerer tilgangen til filen med navnet Caddyfile på roten av omfanget.", + "rules": "Regler", + "rulesHelp": "Her kan du definere et sett med tillatelses- og forbudsregler for denne spesifikke brukeren. De blokkerte filene vil ikke vises i listene, og de vil ikke være tilgjengelige for brukeren. Vi støtter regex og stier i forhold til brukerens omfang.", + "scope": "Omfang", + "setDateFormat": "Sett eksakt dato format", + "settingsUpdated": "Innstilinger opptatert!", + "shareDuration": "Del tidsbruk", + "shareManagement": "Del Ledelse", + "shareDeleted": "Delte ting slettet!", + "singleClick": "Bruk enkeltklikk for å åpne filer og mapper", + "themes": { + "default": "Systemstandard", + "dark": "Mørk", + "light": "Lyst", + "title": "Tema" + }, + "user": "Bruker", + "userCommands": "Kommando", + "userCommandsHelp": "En mellomromsseparert liste med tilgjengelige kommandoer for denne brukeren. Eksempel:\n", + "userCreated": "Bruker opprettet!", + "userDefaults": "Bruker systemstandard instillinger", + "userDeleted": "Bruker slettet!", + "userManagement": "Brukeradministrasjon", + "userUpdated": "Bruker opprettet!", + "username": "Brukernavn", + "users": "Bruker", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Hjelp", + "hugoNew": "Hugo Ny", + "login": "Logg inn", + "logout": "Logg Ut", + "myFiles": "Mine filer", + "newFile": "Ny fil", + "newFolder": "Ny mappe", + "preview": "Forhåndsvis", + "settings": "Innstillinger", + "signup": "Registrer deg", + "siteSettings": "Side innstillinger" + }, + "success": { + "linkCopied": "Link koppiert!" + }, + "time": { + "days": "Dager", + "hours": "Timer", + "minutes": "Minutt", + "seconds": "Sekunder", + "unit": "Time format" + } +} diff --git a/frontend/src/i18n/pl.json b/frontend/src/i18n/pl.json new file mode 100644 index 00000000..64b9f04a --- /dev/null +++ b/frontend/src/i18n/pl.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Anuluj", + "clear": "Wyczyść", + "close": "Zamknij", + "continue": "Kontynuuj", + "copy": "Kopiuj", + "copyFile": "Kopiuj plik", + "copyToClipboard": "Kopiuj do schowka", + "copyDownloadLinkToClipboard": "Kopiuj link pobierania do schowka", + "create": "Utwórz", + "delete": "Usuń", + "download": "Pobierz", + "file": "Plik", + "folder": "Folder", + "fullScreen": "Przełącz tryb pełnoekranowy", + "hideDotfiles": "Ukryj pliki poprzedzone kropką", + "info": "Informacje", + "more": "Więcej", + "move": "Przenieś", + "moveFile": "Przenieś plik", + "new": "Nowy", + "next": "Następny", + "ok": "OK", + "permalink": "Uzyskaj stały link", + "previous": "Poprzedni", + "preview": "Podgląd", + "publish": "Opublikuj", + "rename": "Zmień nazwę", + "replace": "Zamień", + "reportIssue": "Zgłoś problem", + "save": "Zapisz", + "schedule": "Harmonogram", + "search": "Szukaj", + "select": "Zaznacz", + "selectMultiple": "Zaznacz wiele", + "share": "Udostępnij", + "shell": "Przełącz powłokę", + "submit": "Prześlij", + "switchView": "Zmień widok", + "toggleSidebar": "Przełącz pasek boczny", + "update": "Aktualizuj", + "upload": "Wyślij", + "openFile": "Otwórz plik", + "discardChanges": "Odrzuć", + "stopSearch": "Zatrzymaj wyszukiwanie", + "saveChanges": "Zapisz zmiany", + "editAsText": "Edytuj jako tekst", + "increaseFontSize": "Zwiększ rozmiar czcionki", + "decreaseFontSize": "Zmniejsz rozmiar czcionki" + }, + "download": { + "downloadFile": "Pobierz plik", + "downloadFolder": "Pobierz folder", + "downloadSelected": "Pobierz zaznaczone" + }, + "upload": { + "abortUpload": "Czy na pewno chcesz przerwać?" + }, + "errors": { + "forbidden": "Nie masz zezwolenia na dostęp do tego.", + "internal": "Pojawił się poważny problem.", + "notFound": "Ta lokalizacja jest nieosiągalna.", + "connection": "Serwer jest nieosiągalny." + }, + "files": { + "body": "Zawartość", + "closePreview": "Zamknij podgląd", + "files": "Pliki", + "folders": "Foldery", + "home": "Główny", + "lastModified": "Ostatnio zmodyfikowano", + "loading": "Ładowanie...", + "lonely": "Smutno, gdy tak pusto...", + "metadata": "Metadane", + "multipleSelectionEnabled": "Włączono zaznaczenie wielokrotne", + "name": "Nazwa", + "size": "Rozmiar", + "sortByLastModified": "Sortuj wg ostatniej modyfikacji", + "sortByName": "Sortuj wg nazwy", + "sortBySize": "Sortuj wg rozmiaru", + "noPreview": "Podgląd tego pliku jest niedostępny.", + "csvTooLarge": "Plik CSV jest za duży do podglądu (>5 MB). Pobierz, aby wyświetlić.", + "csvLoadFailed": "Nie udało się załadować pliku CSV.", + "showingRows": "Wyświetlanie wierszy: {count}", + "columnSeparator": "Separator kolumn", + "csvSeparators": { + "comma": "Przecinek (,)", + "semicolon": "Średnik (;)", + "both": "Zarówno (,), jak i (;)" + } + }, + "help": { + "click": "zaznacz plik lub folder", + "ctrl": { + "click": "zaznacz wiele plików lub folderów", + "f": "otwórz wyszukiwarkę", + "s": "pobierz aktywny plik lub folder" + }, + "del": "usuń zaznaczone elementy", + "doubleClick": "otwórz plik lub folder", + "esc": "wyczyść zaznaczenie i/lub zamknij monit", + "f1": "te informacje", + "f2": "zmień nazwę pliku", + "help": "Pomoc" + }, + "login": { + "createAnAccount": "Utwórz konto", + "loginInstead": "Mam już konto", + "password": "Hasło", + "passwordConfirm": "Potwierdzenie hasła", + "passwordsDontMatch": "Hasła nie pasują do siebie", + "signup": "Rejestracja", + "submit": "Zaloguj", + "username": "Nazwa użytkownika", + "usernameTaken": "Ta nazwa użytkownika jest zajęta", + "wrongCredentials": "Błędne dane logowania", + "passwordTooShort": "Wymagana minimalna liczba znaków hasła: {min}", + "logout_reasons": { + "inactivity": "Wylogowano z powodu braku aktywności." + } + }, + "permanent": "Permanentny", + "prompts": { + "copy": "Kopiuj", + "copyMessage": "Wybierz lokalizację docelową:", + "currentlyNavigating": "Aktualnie poruszasz się po:", + "deleteMessageMultiple": "Czy na pewno chcesz usunąć pliki: {count}?", + "deleteMessageSingle": "Czy na pewno chcesz usunąć ten plik/folder?", + "deleteMessageShare": "Czy na pewno chcesz usunąć ten udział ({path})?", + "deleteUser": "Czy na pewno chcesz usunąć tego użytkownika?", + "deleteTitle": "Usuń pliki", + "displayName": "Wyświetlana nazwa:", + "download": "Pobierz pliki", + "downloadMessage": "Wybierz format, w którym chcesz pobrać.", + "error": "Pojawił się jakiś błąd", + "fileInfo": "Informacje o​ pliku", + "filesSelected": "Zaznaczone pliki: {count}", + "lastModified": "Ostatnio zmodyfikowano", + "move": "Przenieś", + "moveMessage": "Wybierz nową lokalizację dla swoich plików/folderów:", + "newArchetype": "Utwórz nowy wpis na bazie wybranego wzorca. Twój plik będzie utworzony w wybranym folderze.", + "newDir": "Nowy folder", + "newDirMessage": "Nazwij nowy folder.", + "newFile": "Nowy plik", + "newFileMessage": "Nazwij nowy plik.", + "numberDirs": "Liczba folderów", + "numberFiles": "Liczba plików", + "rename": "Zmień nazwę", + "renameMessage": "Podaj nową nazwę dla", + "replace": "Zamień", + "replaceMessage": "Jeden z przesyłanych plików chce nadpisać istniejący plik o tej samej nazwie. Chcesz pominąć ten plik i kontynuować przesyłanie reszty plików, czy nadpisać istniejący plik?\n", + "schedule": "Grafik", + "scheduleMessage": "Wybierz datę i czas dla publikacji tego wpisu.", + "show": "Pokaż", + "size": "Rozmiar", + "upload": "Wyślij", + "uploadFiles": "Wysyłam pliki: {files}...", + "uploadMessage": "Wybierz opcję przesyłania.", + "optionalPassword": "Opcjonalne hasło", + "resolution": "Rozdzielczość", + "discardEditorChanges": "Czy na pewno chcesz odrzucić wprowadzone zmiany?" + }, + "search": { + "images": "Obrazy", + "music": "Muzyka", + "pdf": "PDF", + "pressToSearch": "Naciśnij Enter, aby wyszukać...", + "search": "Szukaj...", + "typeToSearch": "Typ plików do wyszukania...", + "types": "Typy", + "video": "Wideo" + }, + "settings": { + "aceEditorTheme": "Motyw edytora Ace", + "admin": "Admin", + "administrator": "Administrator", + "allowCommands": "Wykonaj polecenie", + "allowEdit": "Edycja, zmiana nazwy i usuniecie plików lub folderów", + "allowNew": "Tworzenie nowych plików lub folderów", + "allowPublish": "Tworzenie nowych wpisów i stron", + "allowSignup": "Pozwól użytkownikom na rejestrację", + "hideLoginButton": "Ukryj przycisk logowania na stronach publicznych", + "avoidChanges": "(pozostaw puste, aby uniknąć zmian)", + "branding": "Personalizacja", + "brandingDirectoryPath": "Ścieżka do folderu personalizacji", + "brandingHelp": "Możesz zmodyfikować wygląd instancji File Browser poprzez zmianę nazwy, logo, dodanie własnych stylów graficznych, a nawet usunięcia linków do serwisu GitHub. Więcej informacji o modyfikacji wyglądu znajdziesz w {0}.", + "changePassword": "Zmień hasło", + "commandRunner": "Narzędzie do wykonywania poleceń", + "commandRunnerHelp": "Tu możesz ustawić polecenia, które będą wykonywane przy danych zdarzeniach. Musisz wpisywać po jednym na wiersz. Zmienne środowiskowe {0} i {1} będą dostępne, gdzie {0} jest względne wobec {1}. Więcej informacji o tej funkcji i dostępnych zmiennych środowiskowych znajdziesz w {2}.", + "commandsUpdated": "Polecenie zaktualizowane!", + "createUserDir": "Automatycznie twórz katalog domowy podczas dodawania użytkownika", + "minimumPasswordLength": "Minimalna długość hasła", + "tusUploads": "Przesyłanie we fragmentach", + "tusUploadsHelp": "File Browser wspiera przesyłanie plików we fragmentach, co pozwala na proces przesyłania, który jest wydajny, pewny i możliwy do wznowienia nawet w sieciach o wątpliwej stabilności przesyłu danych.", + "tusUploadsChunkSize": "Oznacza maksymalny rozmiar przesyłanych plików (dla mniejszych plików użyte zostanie przesyłanie bezpośrednie). Możesz ustawić tę wartość zarówno zapisaną samymi cyframi w bajtach, jak i podać ją w formie skróconej, np. poprzez 10MB, 1GB itp.", + "tusUploadsRetryCount": "Liczba prób ponowienia transferu w przypadku wystapienia problemu z przesyłem.", + "userHomeBasePath": "Ścieżka podstawowa dla katalogów domowych użytkowników", + "userScopeGenerationPlaceholder": "Zakres zostanie wygenerowany automatycznie", + "createUserHomeDirectory": "Utwórz katalog domowy użytkownika", + "customStylesheet": "Własny arkusz stylu", + "defaultUserDescription": "To są domyślne ustawienia dla nowych użytkowników.", + "disableExternalLinks": "Wyłącz linki zewnętrzne (z wyjątkiem dokumentacji)", + "disableUsedDiskPercentage": "Wyłącz wykres procentowy używanego dysku", + "documentation": "dokumentacji", + "examples": "Przykłady", + "executeOnShell": "Wykonaj w powłoce", + "executeOnShellDescription": "Domyślnie File Browser wykonuje polecenia poprzez bezpośrednie uruchomienie odpowiednich plików binarnych. Jeśli chcesz uruchamiać polecenia z poziomu powłoki (np. Bash lub PowerShell), możesz zdefiniować je tutaj, z wykorzystaniem odpowiednich argumentów i flag. Gdy się na to zdecydujesz, wykonywane polecenie będzie załączone jako argument. Tyczy się to tak poleceń użytkownika, jak i zaczepów zdarzeń.", + "globalRules": "Globalny zestaw reguł zezwalających i zakazujących. Dotyczą każdego użytkownika. Aby zastąpić ustawienia globalne, możesz zdefiniować określone reguły indywidualnie dla każdego użytkownika.", + "globalSettings": "Ustawienia globalne", + "hideDotfiles": "Ukryj pliki poprzedzone kropką", + "insertPath": "Wstaw ścieżkę", + "insertRegex": "Wstaw wyrażenie regularne", + "instanceName": "Nazwa instancji", + "language": "Język", + "lockPassword": "Zablokuj użytkownikowi możliwość zmiany hasła", + "newPassword": "Nowe hasło", + "newPasswordConfirm": "Potwierdź nowe hasło", + "newUser": "Nowy użytkownik", + "password": "Hasło", + "passwordUpdated": "Hasło zostało zaktualizowane!", + "path": "Ścieżka", + "perm": { + "create": "Tworzenie plików i folderów", + "delete": "Usuwanie plików i folderów", + "download": "Pobieranie", + "execute": "Wykonywanie poleceń", + "modify": "Edytowanie plików", + "rename": "Zmienianie nazwy lub przenoszenie plików i katalogów", + "share": "Udostępnianie plików" + }, + "permissions": "Uprawnienia", + "permissionsHelp": "Możesz ustawić użytkownika jako administratora lub wybrać uprawnienia indywidualnie. Jeśli wybierzesz „Administrator”, wszystkie pozostałe opcje zostaną automatycznie zaznaczone. Zarządzanie użytkownikami pozostaje przywilejem administratora.\n", + "profileSettings": "Ustawienia profilu", + "redirectAfterCopyMove": "Przekieruj do miejsca docelowego po skopiowaniu lub przeniesieniu", + "ruleExample1": "uniemożliwia dostęp do plików poprzedzonych kropką (takich jak .git, .gitignore) we wszystkich folderach.\n", + "ruleExample2": "blokuje dostęp do pliku o nazwie Caddyfile w katalogu głównym zakresu.", + "rules": "Uprawnienia", + "rulesHelp": "Tutaj możesz zdefiniować zestaw reguł zezwalających i zakazujących dla tego użytkownika. Zablokowane pliki nie pojawią się na listach i nie będą dostępne dla użytkownika. Obsługujemy wyrażenia regularne i ścieżki względne w stosunku do zakresu użytkownika.\n", + "scope": "Zakres", + "setDateFormat": "Ustaw dokładny format daty", + "settingsUpdated": "Ustawienia zaktualizowane!", + "shareDuration": "Okres udostępniania", + "shareManagement": "Zarządzanie udostępnianiem", + "shareDeleted": "Udostępnienie usunięte!", + "singleClick": "Używaj pojedynczych kliknięć, aby otwierać pliki i foldery", + "themes": { + "default": "Domyślny systemowy", + "dark": "Ciemny", + "light": "Jasny", + "title": "Motyw" + }, + "user": "Użytkownik", + "userCommands": "Polecenia", + "userCommandsHelp": "Oddzielona spacjami lista z dostępnymi poleceniami dla tego użytkownika. Przykład:\n", + "userCreated": "Użytkownik zapisany!", + "userDefaults": "Domyślne ustawienia użytkownika", + "userDeleted": "Użytkownik usunięty!", + "userManagement": "Zarządzanie użytkownikami", + "userUpdated": "Użytkownik zapisany!", + "username": "Nazwa użytkownika", + "users": "Użytkownicy", + "currentPassword": "Twoje aktualne hasło" + }, + "sidebar": { + "help": "Pomoc", + "hugoNew": "Nowy Hugo", + "login": "Zaloguj", + "logout": "Wyloguj", + "myFiles": "Moje pliki", + "newFile": "Nowy plik", + "newFolder": "Nowy folder", + "preview": "Podgląd", + "settings": "Ustawienia", + "signup": "Rejestracja", + "siteSettings": "Ustawienia strony" + }, + "success": { + "linkCopied": "Link skopiowany!" + }, + "time": { + "days": "Dni", + "hours": "Godziny", + "minutes": "Minuty", + "seconds": "Sekundy", + "unit": "Jednostka czasu" + } +} diff --git a/frontend/src/i18n/pt-br.json b/frontend/src/i18n/pt-br.json new file mode 100644 index 00000000..f6aa8f4e --- /dev/null +++ b/frontend/src/i18n/pt-br.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Cancelar", + "clear": "Limpar", + "close": "Fechar", + "continue": "Continuar", + "copy": "Copiar", + "copyFile": "Copiar arquivo", + "copyToClipboard": "Copiar", + "copyDownloadLinkToClipboard": "Copy download link to clipboard", + "create": "Criar", + "delete": "Apagar", + "download": "Baixar", + "file": "Arquivo", + "folder": "Pasta", + "fullScreen": "Toggle full screen", + "hideDotfiles": "Ocultar dotfiles", + "info": "Informações", + "more": "Mais", + "move": "Mover", + "moveFile": "Mover arquivo", + "new": "Novo", + "next": "Próximo", + "ok": "OK", + "permalink": "Obter link permanente", + "previous": "Anterior", + "preview": "Preview", + "publish": "Publicar", + "rename": "Renomear", + "replace": "Substituir", + "reportIssue": "Relatar erro", + "save": "Salvar", + "schedule": "Agendar", + "search": "Pesquisar", + "select": "Selecionar", + "selectMultiple": "Selecionar múltiplos", + "share": "Compartilhar", + "shell": "Alternar console", + "submit": "Enviar", + "switchView": "Alterar modo de visão", + "toggleSidebar": "Alternar barra lateral", + "update": "Atualizar", + "upload": "Enviar", + "openFile": "Abrir", + "discardChanges": "Discard", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Baixar arquivo", + "downloadFolder": "Baixar pasta", + "downloadSelected": "Baixar selecionado" + }, + "upload": { + "abortUpload": "Are you sure you wish to abort?" + }, + "errors": { + "forbidden": "Você não tem permissões para acessar isto.", + "internal": "Ops! Algum erro ocorreu.", + "notFound": "Ops! Nada foi encontrado.", + "connection": "O servidor não pode ser alcançado." + }, + "files": { + "body": "Corpo", + "closePreview": "Fechar pré-visualização", + "files": "Arquivos", + "folders": "Pastas", + "home": "Início", + "lastModified": "Última modificação", + "loading": "Carregando. Aguarde, por favor.", + "lonely": "Não existe nada aqui.", + "metadata": "Metadados", + "multipleSelectionEnabled": "Seleção múltipla ativada", + "name": "Nome", + "size": "Tamanho", + "sortByLastModified": "Ordenar pela última modificação", + "sortByName": "Ordenar pelo nome", + "sortBySize": "Ordenar pelo tamanho", + "noPreview": "Pré-visualização não disponível para este arquivo.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "selecionar pasta ou arquivo", + "ctrl": { + "click": "selecionar várias pastas e arquivos", + "f": "pesquisar", + "s": "salvar um arquivo ou baixar a pasta que você está" + }, + "del": "apagar os arquivos selecionados", + "doubleClick": "abrir pasta ou arquivo", + "esc": "limpar seleção e/ou fechar menu", + "f1": "esta informação", + "f2": "renomear arquivo", + "help": "Ajuda" + }, + "login": { + "createAnAccount": "Criar uma conta", + "loginInstead": "Já possui uma conta", + "password": "Senha", + "passwordConfirm": "Confirmação de senha", + "passwordsDontMatch": "As senhas não coincidem", + "signup": "Cadastrar", + "submit": "Login", + "username": "Nome do usuário", + "usernameTaken": "Nome de usuário já existe", + "wrongCredentials": "Ops! Dados incorretos.", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Permanente", + "prompts": { + "copy": "Copiar", + "copyMessage": "Escolha um lugar para copiar os arquivos:", + "currentlyNavigating": "Navegando em:", + "deleteMessageMultiple": "Deseja apagar {count} arquivo(s)?", + "deleteMessageSingle": "Deseja apagar esta pasta/arquivo?", + "deleteMessageShare": "Deseja apagar este compartilhamento ({path})?", + "deleteUser": "Are you sure you want to delete this user?", + "deleteTitle": "Apagar arquivos", + "displayName": "Nome:", + "download": "Baixar arquivos", + "downloadMessage": "Escolha o formato do arquivo.", + "error": "Algo de errado ocorreu", + "fileInfo": "Informação do arquivo", + "filesSelected": "{count} arquivos selecionados.", + "lastModified": "Última modificação", + "move": "Mover", + "moveMessage": "Escolha uma nova pasta para os seus arquivos:", + "newArchetype": "Criar um novo post baseado num \"archetype\". O seu arquivo será criado na pasta \"content\".", + "newDir": "Nova pasta", + "newDirMessage": "Escreva o nome da nova pasta.", + "newFile": "Novo arquivo", + "newFileMessage": "Escreva o nome do novo arquivo.", + "numberDirs": "Número de pastas", + "numberFiles": "Número de arquivos", + "rename": "Renomear", + "renameMessage": "Insira um novo nome para", + "replace": "Substituir", + "replaceMessage": "Já existe um arquivo com nome igual a um dos que está tentando enviar. Deseja substituir?\n", + "schedule": "Agendar", + "scheduleMessage": "Escolha uma data para agendar a publicação deste post.", + "show": "Mostrar", + "size": "Tamanho", + "upload": "Enviar", + "uploadFiles": "Enviando {files} arquivos...", + "uploadMessage": "Selecione uma opção para enviar.", + "optionalPassword": "Senha opcional", + "resolution": "Resolution", + "discardEditorChanges": "Are you sure you wish to discard the changes you've made?" + }, + "search": { + "images": "Imagens", + "music": "Músicas", + "pdf": "PDF", + "pressToSearch": "Pressione Enter para pesquisar...", + "search": "Pesquise...", + "typeToSearch": "Digite para pesquisar...", + "types": "Tipos", + "video": "Vídeos" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Administrador", + "allowCommands": "Executar comandos", + "allowEdit": "Editar, renomear e apagar arquivos ou pastas", + "allowNew": "Criar novos arquivos e pastas", + "allowPublish": "Publicar novas páginas e conteúdos", + "allowSignup": "Permitir cadastro de usuários", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(deixe em branco para manter)", + "branding": "Customização", + "brandingDirectoryPath": "Diretório de customização", + "brandingHelp": "Você pode mudar a aparência e experiência de sua instância do File Browser alterando seu nome, logotipo, adicionando estilos customizados e até desabilitando links externos para o GitHub.\nPara mais informações sobre customizações, confira {0}.", + "changePassword": "Alterar senha", + "commandRunner": "Execução de comandos", + "commandRunnerHelp": "Aqui você pode definir comandos que serão executados nos eventos descritos. Escreva um por linha. As variáveis de ambiente {0} e {1} estão disponíveis, sendo {0} relativo a {1}. Para mais informações sobre esta função e as variáveis de ambiente disponíveis, leia a {2}.", + "commandsUpdated": "Comandos atualizados!", + "createUserDir": "Criar diretório Home para novos usuários", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Chunked Uploads", + "tusUploadsHelp": "File Browser supports chunked file uploads, allowing for the creation of efficient, reliable, resumable and chunked file uploads even on unreliable networks.", + "tusUploadsChunkSize": "Indicates to maximum size of a request (direct uploads will be used for smaller uploads). You may input a plain integer denoting byte size input or a string like 10MB, 1GB etc.", + "tusUploadsRetryCount": "Number of retries to perform if a chunk fails to upload.", + "userHomeBasePath": "Caminho base para diretórios de usuários", + "userScopeGenerationPlaceholder": "O escopo será gerado automaticamente", + "createUserHomeDirectory": "Criar diretório Home de usuário", + "customStylesheet": "Estilos personalizados", + "defaultUserDescription": "Estas são as configurações padrão para novos usuários.", + "disableExternalLinks": "Desabilitar links externos (exceto documentação)", + "disableUsedDiskPercentage": "Desabilitar gráfico de porcentagem de disco usado", + "documentation": "documentação", + "examples": "Exemplos", + "executeOnShell": "Executar no console", + "executeOnShellDescription": "Por padrão, o File Browser executa os comandos chamando os binários diretamente. Se ao invés disso desejar executá-los em um console (como Bash ou PowerShell), você pode defini-los aqui com os argumentos e flags necessários. Se definido, o comando que executar será acrescentado como um argumento. Isto se aplica a comandos de usuário e eventos hook.", + "globalRules": "Este é um conjunto global de regras de permissão e restrição que se aplicam a todos os usuários. Você pode definir regras específicas em cada usuário para sobrepor estas.", + "globalSettings": "Configurações globais", + "hideDotfiles": "Ocultar dotfiles", + "insertPath": "Inserir o caminho", + "insertRegex": "Inserir expressão regular", + "instanceName": "Nome da instância", + "language": "Idioma", + "lockPassword": "Não permitir que o usuário altere a senha", + "newPassword": "Nova senha", + "newPasswordConfirm": "Confirme a nova senha", + "newUser": "Novo usuário", + "password": "Senha", + "passwordUpdated": "Senha atualizada!", + "path": "Path", + "perm": { + "create": "Criar arquivos e diretórios", + "delete": "Apagar arquivos e diretórios", + "download": "Baixar", + "execute": "Executar comandos", + "modify": "Editar arquivos", + "rename": "Renomear ou mover arquivos e diretórios", + "share": "Compartilhar arquivos" + }, + "permissions": "Permissões", + "permissionsHelp": "Pode definir o usuário como administrador ou escolher as permissões manualmente. Se selecionar a opção \"Administrador\", todas as outras opções serão automaticamente selecionadas. A gestão dos usuários é um privilégio restringido aos administradores.\n", + "profileSettings": "Configurações do usuário", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "previne o acesso a qualquer \"dotfile\" (como .git, .gitignore) em qualquer pasta\n", + "ruleExample2": "bloqueia o acesso ao arquivo chamado Caddyfile.", + "rules": "Regras", + "rulesHelp": "Aqui você pode definir um conjunto de regras para permitir ou bloquear o acesso do usuário a determinados arquivos ou pastas. Os arquivos bloqueados não irão aparecer durante a navegação. Suportamos expressões regulares e os caminhos dos arquivos devem ser relativos à base do usuário.\n", + "scope": "Escopo", + "setDateFormat": "Definir formato exato de data", + "settingsUpdated": "Configurações atualizadas!", + "shareDuration": "Duração do compartilhamento", + "shareManagement": "Gerenciamento do compartilhamento", + "shareDeleted": "Compartilhamento apagado!", + "singleClick": "Usar clique único para abrir arquivos e diretórios", + "themes": { + "default": "System default", + "dark": "Escuro", + "light": "Claro", + "title": "Tema" + }, + "user": "Usuário", + "userCommands": "Comandos", + "userCommandsHelp": "Uma lista, separada com espaços, de comandos disponíveis para este usuário. Exemplo:", + "userCreated": "Usuário criado!", + "userDefaults": "Configurações padrão de usuário", + "userDeleted": "Usuário apagado!", + "userManagement": "Gerenciamento de usuários", + "userUpdated": "Usuário atualizado!", + "username": "Nome do usuário", + "users": "Usuários", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Ajuda", + "hugoNew": "Hugo New", + "login": "Login", + "logout": "Sair", + "myFiles": "Arquivos", + "newFile": "Novo arquivo", + "newFolder": "Nova pasta", + "preview": "Pré-visualizar", + "settings": "Configurações", + "signup": "Cadastrar", + "siteSettings": "Configurações do site" + }, + "success": { + "linkCopied": "Link copiado!" + }, + "time": { + "days": "Dias", + "hours": "Horas", + "minutes": "Minutos", + "seconds": "Segundos", + "unit": "Unidades de Tempo" + } +} diff --git a/frontend/src/i18n/pt.json b/frontend/src/i18n/pt.json new file mode 100644 index 00000000..dcacf3b6 --- /dev/null +++ b/frontend/src/i18n/pt.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Cancelar", + "clear": "Limpar", + "close": "Fechar", + "continue": "Continuar", + "copy": "Copiar", + "copyFile": "Copiar ficheiro", + "copyToClipboard": "Copiar", + "copyDownloadLinkToClipboard": "Copy download link to clipboard", + "create": "Criar", + "delete": "Eliminar", + "download": "Descarregar", + "file": "File", + "folder": "Folder", + "fullScreen": "Toggle full screen", + "hideDotfiles": "Hide dotfiles", + "info": "Info", + "more": "Mais", + "move": "Mover", + "moveFile": "Mover ficheiro", + "new": "Novo", + "next": "Próximo", + "ok": "OK", + "permalink": "Obter link permanente", + "previous": "Anterior", + "preview": "Preview", + "publish": "Publicar", + "rename": "Alterar nome", + "replace": "Substituir", + "reportIssue": "Reportar erro", + "save": "Guardar", + "schedule": "Agendar", + "search": "Pesquisar", + "select": "Selecionar", + "selectMultiple": "Selecionar vários", + "share": "Partilhar", + "shell": "Alternar shell", + "submit": "Submit", + "switchView": "Alterar vista", + "toggleSidebar": "Alternar barra lateral", + "update": "Atualizar", + "upload": "Enviar", + "openFile": "Open file", + "discardChanges": "Discard", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Descarregar ficheiro", + "downloadFolder": "Descarregar pasta", + "downloadSelected": "Download Selected" + }, + "upload": { + "abortUpload": "Are you sure you wish to abort?" + }, + "errors": { + "forbidden": "Não tem permissões para aceder a isto", + "internal": "Algo correu bastante mal.", + "notFound": "Esta localização não é alcançável.", + "connection": "The server can't be reached." + }, + "files": { + "body": "Corpo", + "closePreview": "Fechar pré-visualização", + "files": "Ficheiros", + "folders": "Pastas", + "home": "Início", + "lastModified": "Última alteração", + "loading": "A carregar...", + "lonely": "Sinto-me sozinho...", + "metadata": "Metadados", + "multipleSelectionEnabled": "Seleção múltipla ativada", + "name": "Nome", + "size": "Tamanho", + "sortByLastModified": "Ordenar pela última alteração", + "sortByName": "Ordenar pelo nome", + "sortBySize": "Ordenar pelo tamanho", + "noPreview": "Preview is not available for this file.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "selecionar pasta ou ficheiro", + "ctrl": { + "click": "selecionar várias pastas e ficheiros", + "f": "pesquisar", + "s": "guardar um ficheiro ou descarrega a pasta em que está a navegar" + }, + "del": "eliminar os ficheiros selecionados", + "doubleClick": "abrir pasta ou ficheiro", + "esc": "limpar seleção e/ou fechar menu", + "f1": "esta informação", + "f2": "alterar nome do ficheiro", + "help": "Ajuda" + }, + "login": { + "createAnAccount": "Criar uma conta", + "loginInstead": "Já tenho uma conta", + "password": "Palavra-passe", + "passwordConfirm": "Confirmação da palavra-passe", + "passwordsDontMatch": "As palavras-passe não coincidem", + "signup": "Registar", + "submit": "Entrar na conta", + "username": "Nome de utilizador", + "usernameTaken": "O nome de utilizador já está registado", + "wrongCredentials": "Dados errados", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Permanente", + "prompts": { + "copy": "Copiar", + "copyMessage": "Escolha um lugar para onde copiar os ficheiros:", + "currentlyNavigating": "A navegar em:", + "deleteMessageMultiple": "Quer eliminar {count} ficheiro(s)?", + "deleteMessageSingle": "Quer eliminar esta pasta/ficheiro?", + "deleteMessageShare": "Are you sure you wish to delete this share({path})?", + "deleteUser": "Are you sure you want to delete this user?", + "deleteTitle": "Eliminar ficheiros", + "displayName": "Nome:", + "download": "Descarregar ficheiros", + "downloadMessage": "Escolha o formato do ficheiro que quer descarregar.", + "error": "Algo correu mal", + "fileInfo": "Informação do ficheiro", + "filesSelected": "{count} ficheiros selecionados.", + "lastModified": "Última alteração", + "move": "Mover", + "moveMessage": "Escolha uma nova casa para os seus ficheiros/pastas:", + "newArchetype": "Criar um novo post baseado num \"archetype\". O seu ficheiro será criado na pasta \"content\".", + "newDir": "Nova pasta", + "newDirMessage": "Escreva o nome da nova pasta.", + "newFile": "Novo ficheiro", + "newFileMessage": "Escreva o nome do novo ficheiro.", + "numberDirs": "Número de pastas", + "numberFiles": "Número de ficheiros", + "rename": "Alterar nome", + "renameMessage": "Insira um novo nome para", + "replace": "Substituir", + "replaceMessage": "Já existe um ficheiro com nome igual a um dos que está a tentar enviar. Quer substituí-lo?\n", + "schedule": "Agendar", + "scheduleMessage": "Escolha uma data para publicar este post.", + "show": "Mostrar", + "size": "Tamanho", + "upload": "Upload", + "uploadFiles": "Uploading {files} files...", + "uploadMessage": "Select an option to upload.", + "optionalPassword": "Optional password", + "resolution": "Resolution", + "discardEditorChanges": "Are you sure you wish to discard the changes you've made?" + }, + "search": { + "images": "Imagens", + "music": "Música", + "pdf": "PDF", + "pressToSearch": "Tecla Enter para pesquisar...", + "search": "Pesquisar...", + "typeToSearch": "Escrever para pesquisar...", + "types": "Tipos", + "video": "Vídeos" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Administrador", + "allowCommands": "Executar comandos", + "allowEdit": "Editar, renomear e eliminar ficheiros ou pastas", + "allowNew": "Criar novos ficheiros e pastas", + "allowPublish": "Publicar novas páginas e conteúdos", + "allowSignup": "Permitir que os utilizadores criem contas", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(deixe em branco para manter)", + "branding": "Marca", + "brandingDirectoryPath": "Caminho da pasta de marca", + "brandingHelp": "Pode personalizar a aparência do seu Navegador de Ficheiros, alterar o nome, substituindo o logótipo, adicionando estilos personalizados e mesmo desativando links externos para o GitHub.\nPara mais informações sobre marca personalizada, por favor veja {0}.", + "changePassword": "Alterar palavra-passe", + "commandRunner": "Execução de comandos", + "commandRunnerHelp": "Aqui pode definir comandos que são executados nos eventos nomeados. Tem de escrever um por linha. As variáveis de ambiente {0} e {1} estarão disponíveis, sendo {0} relativo a {1}. Para mais informações sobre esta funcionalidade e as variáveis de ambiente, veja {2}.", + "commandsUpdated": "Comandos atualizados!", + "createUserDir": "Criar automaticamente a pasta de início ao adicionar um novo utilizador", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Chunked Uploads", + "tusUploadsHelp": "File Browser supports chunked file uploads, allowing for the creation of efficient, reliable, resumable and chunked file uploads even on unreliable networks.", + "tusUploadsChunkSize": "Indicates to maximum size of a request (direct uploads will be used for smaller uploads). You may input a plain integer denoting byte size input or a string like 10MB, 1GB etc.", + "tusUploadsRetryCount": "Number of retries to perform if a chunk fails to upload.", + "userHomeBasePath": "Base path for user home directories", + "userScopeGenerationPlaceholder": "The scope will be auto generated", + "createUserHomeDirectory": "Create user home directory", + "customStylesheet": "Folha de estilos personalizada", + "defaultUserDescription": "Estas são as configurações padrão para novos utilizadores.", + "disableExternalLinks": "Desativar links externos (exceto documentação)", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "documentação", + "examples": "Exemplos", + "executeOnShell": "Executar na shell", + "executeOnShellDescription": "Por padrão, o Navegador de Ficheiros executa os comandos chamando os seus binários diretamente. Se em vez disso, quiser executá-los numa shell (como Bash ou PowerShell), pode definir isso aqui com os argumentos e bandeiras necessários. Se definido, o comando que executa será anexado como um argumento. Isto aplica-se tanto a comandos do utilizador como a hooks de eventos.", + "globalRules": "Isto é um conjunto global de regras de permissão e negação. Elas aplicam-se a todos os utilizadores. Pode especificar regras específicas para cada configuração do utilizador para sobreporem-se a estas.", + "globalSettings": "Configurações globais", + "hideDotfiles": "Hide dotfiles", + "insertPath": "Inserir o caminho", + "insertRegex": "Inserir expressão regular", + "instanceName": "Nome da instância", + "language": "Linguagem", + "lockPassword": "Não permitir que o utilizador altere a palavra-passe", + "newPassword": "Nova palavra-passe", + "newPasswordConfirm": "Confirme a nova palavra-passe", + "newUser": "Novo utilizador", + "password": "Palavra-passe", + "passwordUpdated": "Palavra-passe atualizada!", + "path": "Path", + "perm": { + "create": "Criar ficheiros e pastas", + "delete": "Eliminar ficheiros e pastas", + "download": "Descarregar", + "execute": "Executar comandos", + "modify": "Editar ficheiros", + "rename": "Alterar o nome ou mover ficheiros e pastas", + "share": "Partilhar ficheiros" + }, + "permissions": "Permissões", + "permissionsHelp": "Pode definir o utilizador como administrador ou escolher as permissões manualmente. Se selecionar a opção \"Administrador\", todas as outras opções serão automaticamente selecionadas. A gestão dos utilizadores é um privilégio restringido aos administradores.\n", + "profileSettings": "Configurações do utilizador", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "previne o acesso a qualquer \"dotfile\" (como .git, .gitignore) em qualquer pasta\n", + "ruleExample2": "bloqueia o acesso ao ficheiro chamado Caddyfile na raiz.", + "rules": "Regras", + "rulesHelp": "Aqui pode definir um conjunto de regras para permitir ou bloquear o acesso do utilizador a determinados ficheiros ou pastas. Os ficheiros bloqueados não irão aparecer durante a navegação. Suportamos expressões regulares e os caminhos dos ficheiros devem ser relativos à base do utilizador.\n", + "scope": "Base", + "setDateFormat": "Set exact date format", + "settingsUpdated": "Configurações atualizadas!", + "shareDuration": "Share Duration", + "shareManagement": "Share Management", + "shareDeleted": "Share deleted!", + "singleClick": "Use single clicks to open files and directories", + "themes": { + "default": "System default", + "dark": "Dark", + "light": "Light", + "title": "Theme" + }, + "user": "Utilizador", + "userCommands": "Comandos", + "userCommandsHelp": "Uma lista, separada com espaços, de comandos disponíveis para este utilizados. Exemplo:", + "userCreated": "Utilizador criado!", + "userDefaults": "Configurações padrão do utilizador", + "userDeleted": "Utilizador eliminado!", + "userManagement": "Gestão de utilizadores", + "userUpdated": "Utilizador atualizado!", + "username": "Nome de utilizador", + "users": "Utilizadores", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Ajuda", + "hugoNew": "Hugo New", + "login": "Entrar", + "logout": "Sair", + "myFiles": "Meus ficheiros", + "newFile": "Novo ficheiro", + "newFolder": "Nova pasta", + "preview": "Pré-visualizar", + "settings": "Configurações", + "signup": "Registar", + "siteSettings": "Configurações do site" + }, + "success": { + "linkCopied": "Link copiado!" + }, + "time": { + "days": "Dias", + "hours": "Horas", + "minutes": "Minutos", + "seconds": "Segundos", + "unit": "Unidades de tempo" + } +} diff --git a/frontend/src/i18n/ro.json b/frontend/src/i18n/ro.json new file mode 100644 index 00000000..c80c4e28 --- /dev/null +++ b/frontend/src/i18n/ro.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Anulează", + "clear": "Curăță", + "close": "Închide", + "continue": "Continue", + "copy": "Copiază", + "copyFile": "Copiază fișier", + "copyToClipboard": "Copiază în clipboard", + "copyDownloadLinkToClipboard": "Copy download link to clipboard", + "create": "Crează", + "delete": "Șterge", + "download": "Descarcă", + "file": "File", + "folder": "Folder", + "fullScreen": "Toggle full screen", + "hideDotfiles": "Hide dotfiles", + "info": "Info", + "more": "Mai mult", + "move": "Mută", + "moveFile": "Mută fișier", + "new": "Nou", + "next": "Următor", + "ok": "OK", + "permalink": "Obține legătura permanentă", + "previous": "Precedent", + "preview": "Preview", + "publish": "Puplică", + "rename": "Redenumește", + "replace": "Înlocuiește", + "reportIssue": "Raportează problemă", + "save": "Salvează", + "schedule": "Programare", + "search": "Caută", + "select": "Selectează", + "selectMultiple": "Selecție multiplă", + "share": "Distribuie", + "shell": "Comută linia de comandă", + "submit": "Submit", + "switchView": "Schimba vizualizarea", + "toggleSidebar": "Comută bara laterală", + "update": "Actualizează", + "upload": "Încarcă", + "openFile": "Open file", + "discardChanges": "Discard", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Descarcă fișier", + "downloadFolder": "Descarcă director", + "downloadSelected": "Download Selected" + }, + "upload": { + "abortUpload": "Are you sure you wish to abort?" + }, + "errors": { + "forbidden": "Nu ai permisiuni sa accesezi asta.", + "internal": "Ceva nu a funcționat corect.", + "notFound": "Aceasta locație nu poate fi accesată.", + "connection": "The server can't be reached." + }, + "files": { + "body": "Corp", + "closePreview": "Închide previzualizarea", + "files": "Fișiere", + "folders": "Directoare", + "home": "Acasă", + "lastModified": "Ultima modificare", + "loading": "Se încarcă...", + "lonely": "Nu este nimic aici...", + "metadata": "Meta informații", + "multipleSelectionEnabled": "Selecție multiplă activată", + "name": "Nume", + "size": "Dimensiune", + "sortByLastModified": "Ordonează dup ultima modificare", + "sortByName": "Ordonează după nume", + "sortBySize": "Ordonează după dimensiune", + "noPreview": "Preview is not available for this file.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "alege fișier sau director", + "ctrl": { + "click": "alege multiple fișiere sau directoare", + "f": "deschide căutarea", + "s": "salvează un fișier sau descarcă directorul în care te afli" + }, + "del": "șterge elementele selectate", + "doubleClick": "deschide un fișier sau director", + "esc": "elibereaza selecția și/sau închide fereastra", + "f1": "această informație", + "f2": "redenumește fișierul", + "help": "Ajutor" + }, + "login": { + "createAnAccount": "Crează cont", + "loginInstead": "Am deja cont", + "password": "Parola", + "passwordConfirm": "Confirmă parola", + "passwordsDontMatch": "Parolele nu se potrivesc", + "signup": "Înregistrare", + "submit": "Autentificare", + "username": "Utilizator", + "usernameTaken": "Utilizatorul există", + "wrongCredentials": "Informații greșite", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Permanent", + "prompts": { + "copy": "Copiază", + "copyMessage": "Alege unde vrei să copiezi fișierele:", + "currentlyNavigating": "Navigare curentă în:", + "deleteMessageMultiple": "Ești sigur că vrei să ștergi aceste {count} fișier(e)?", + "deleteMessageSingle": "Ești sigur că vrei să ștergi acest fișier/director?", + "deleteMessageShare": "Are you sure you wish to delete this share({path})?", + "deleteUser": "Are you sure you want to delete this user?", + "deleteTitle": "Șterge fișiere", + "displayName": "Nume afișat:", + "download": "Descarcă fișiere", + "downloadMessage": "Alege formatul în care vrei să descarci.", + "error": "Ceva n-a funcționat cum trebuie", + "fileInfo": "Informații fișier", + "filesSelected": "{count} fișiere selectate.", + "lastModified": "Ultima modificare", + "move": "Mută", + "moveMessage": "Alege destinația:", + "newArchetype": "Crează o nouă postare pe baza unui șablon. Fișierul va fi creat in directorul conținut.", + "newDir": "Director nou", + "newDirMessage": "Scrie numele noului director.", + "newFile": "Fișier nou", + "newFileMessage": "Scrie numele noului fișier.", + "numberDirs": "Numărul directoarelor", + "numberFiles": "Numărul fișierelor", + "rename": "Redenumește", + "renameMessage": "Redactează un nou nume pentru", + "replace": "Înlocuiește", + "replaceMessage": "Unul din fișierele încărcate intră în conflict din cauza denumrii. Vrei să înlocuiești fișierul existent?\n", + "schedule": "Programare", + "scheduleMessage": "Alege data si ora pentru a programa publicarea acestei postări.", + "show": "Arată", + "size": "Dimensiune", + "upload": "Upload", + "uploadFiles": "Uploading {files} files...", + "uploadMessage": "Select an option to upload.", + "optionalPassword": "Optional password", + "resolution": "Resolution", + "discardEditorChanges": "Are you sure you wish to discard the changes you've made?" + }, + "search": { + "images": "Imagini", + "music": "Muzică", + "pdf": "PDF", + "pressToSearch": "Apasă enter pentru a căuta...", + "search": "Caută...", + "typeToSearch": "Scrie pentru a căuta...", + "types": "Tipuri", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Administrator", + "allowCommands": "Execută comenzi", + "allowEdit": "Modifică, redenumește și șterge fișiere sau directoare", + "allowNew": "Crează noi fișiere sau directoare", + "allowPublish": "Publică noi pagini și postări", + "allowSignup": "Permite utilizatorilor să se înregistreze", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(lasă gol pentru a nu schimba)", + "branding": "Branding", + "brandingDirectoryPath": "Calea către directorul de branding", + "brandingHelp": "Poți personaliza cum arată instanța ta de File Browser modificându-i numele, înlocuindu-i logo-ul, adăugându-i stiluri personalizate si chiar dezactivând linkurile catre GitHub.\nPentru mai multe informații despre branding fă click aici", + "changePassword": "Schimbă parola", + "commandRunner": "Rulează comenzi", + "commandRunnerHelp": "Aici poti seta comenzile care sunt executate in evenimente. Trebuie să scrii una pe linie. Variabilele de mediu {0} și {1} vor fi disponile, {0} fiind relativă la {1}. Pentru mai multe informații despre acest feature si variabilele de mediu disponibile, cititi {2}.", + "commandsUpdated": "Comenzi actualizate!", + "createUserDir": "Auto create user home dir while adding new user", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Chunked Uploads", + "tusUploadsHelp": "File Browser supports chunked file uploads, allowing for the creation of efficient, reliable, resumable and chunked file uploads even on unreliable networks.", + "tusUploadsChunkSize": "Indicates to maximum size of a request (direct uploads will be used for smaller uploads). You may input a plain integer denoting byte size input or a string like 10MB, 1GB etc.", + "tusUploadsRetryCount": "Number of retries to perform if a chunk fails to upload.", + "userHomeBasePath": "Base path for user home directories", + "userScopeGenerationPlaceholder": "The scope will be auto generated", + "createUserHomeDirectory": "Create user home directory", + "customStylesheet": "CSS personalizat", + "defaultUserDescription": "Acestea sunt setările implicite pentru noii utilizatori.", + "disableExternalLinks": "Dezactivează linkurile externe (exceptând documentația)", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "documentație", + "examples": "Exemple", + "executeOnShell": "Execută in linia de comandă", + "executeOnShellDescription": "Implicit, File Browser execută comenzile prin apelare directă a binarelor. Daca vrei sa le rulezi într-un shell (cum ar fi Bash sau PowerShell), le poți defini aici cu argumentele necesare. Daca este setata, comanda va fi adăugată ca argument. Se aplică pentru comenzi si hookuri.", + "globalRules": "Acesta este un set global de reguli. Se aplică tuturor utilizatorilor. Poți defini reguli specifice din setările fiecărui utilizator pentru a le suprascrie pe acestea.", + "globalSettings": "Setări globale", + "hideDotfiles": "Hide dotfiles", + "insertPath": "Redactează calea", + "insertRegex": "Redactează expresia regulată", + "instanceName": "Numele instanței", + "language": "Limba", + "lockPassword": "Împiedică utilizatorul să-și schimbe parola", + "newPassword": "Noua ta parolă", + "newPasswordConfirm": "Confirmă noua parolă", + "newUser": "Utilizator nou", + "password": "Parola", + "passwordUpdated": "Parola actualizată!", + "path": "Path", + "perm": { + "create": "Crează fișiere și directoare", + "delete": "Șterge fișiere și directoare", + "download": "Descarcă", + "execute": "Execută comenzi", + "modify": "Modifică fișiere", + "rename": "Redenumește sau mută fișiere și directoare", + "share": "Distribuie fișiere" + }, + "permissions": "Permisiuni", + "permissionsHelp": "Poți alege ca un utilizator să fie administrator sau să-i alegi permisiunile individual. Dacă alegi \"Administrator\", toate celelalte opțiuni vor fi bifate automat. Gestionarea utilizatorilor rămâne un privilegiu exclusiv al administratorilor.\n", + "profileSettings": "Setări profil", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "împiedică accesul la fisiere cu punct in față (.), cum ar fi .git, .gitignore în orice director.\n", + "ruleExample2": "împiedică accesul la fișierul Caddyfile din rădăcina domeniului.", + "rules": "Reguli", + "rulesHelp": "Aici poți defini un set de reguli pentru acest utilizator. Fișierele blocate nu vor apărea in lista și nici nu vor putea fi accesate de utilizator. Expresiile regulate si căile relative la domeniul utilizatorului sunt permise.\n", + "scope": "Domeniu", + "setDateFormat": "Set exact date format", + "settingsUpdated": "Setări actualizate!", + "shareDuration": "Share Duration", + "shareManagement": "Share Management", + "shareDeleted": "Share deleted!", + "singleClick": "Use single clicks to open files and directories", + "themes": { + "default": "System default", + "dark": "Dark", + "light": "Light", + "title": "Theme" + }, + "user": "Utilizator", + "userCommands": "Comenzi", + "userCommandsHelp": "O lista de comenzi disponibile acestui utilizator separate de spații. Exemplu:\n", + "userCreated": "Utilizator creat!", + "userDefaults": "Setări implicite", + "userDeleted": "Utilizator șters!", + "userManagement": "Gestionare utilizatori", + "userUpdated": "Utilizator actualizat!", + "username": "Utilizator", + "users": "Utilizatori", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Ajutor", + "hugoNew": "Hugo nou", + "login": "Autentificare", + "logout": "Logout", + "myFiles": "Fișierele mele", + "newFile": "Fișier nou", + "newFolder": "Director nou", + "preview": "Previzualizare", + "settings": "Setări", + "signup": "Înregistrare", + "siteSettings": "Setări site" + }, + "success": { + "linkCopied": "Legătură copiată!" + }, + "time": { + "days": "Zile", + "hours": "Ore", + "minutes": "Minute", + "seconds": "Secunde", + "unit": "Unitate de timp" + } +} diff --git a/frontend/src/i18n/ru.json b/frontend/src/i18n/ru.json new file mode 100644 index 00000000..60b211f6 --- /dev/null +++ b/frontend/src/i18n/ru.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Отмена", + "clear": "Очистить", + "close": "Закрыть", + "continue": "Продолжить", + "copy": "Копировать", + "copyFile": "Скопировать файл", + "copyToClipboard": "Скопировать в буфер", + "copyDownloadLinkToClipboard": "Скопировать ссылку в буфер", + "create": "Создать", + "delete": "Удалить", + "download": "Скачать", + "file": "Файл", + "folder": "Папка", + "fullScreen": " Развернуть на весь экран", + "hideDotfiles": "Скрыть точечные файлы", + "info": "Инфо", + "more": "Еще", + "move": "Переместить", + "moveFile": "Переместить файл", + "new": "Новый", + "next": "Вперед", + "ok": "OK", + "permalink": "Получить постоянную ссылку", + "previous": "Назад", + "preview": "Предпросмотр", + "publish": "Опубликовать", + "rename": "Переименовать", + "replace": "Перезаписать", + "reportIssue": "Сообщить о проблеме", + "save": "Сохранить", + "schedule": "Планировка", + "search": "Поиск", + "select": "Выбрать", + "selectMultiple": "Мультивыбор", + "share": "Поделиться", + "shell": "Командная строка", + "submit": "Отправить", + "switchView": "Вид", + "toggleSidebar": "Боковая панель", + "update": "Обновить", + "upload": "Загрузить", + "openFile": "Открыть файл", + "discardChanges": "Отказаться", + "stopSearch": "Stop searching", + "saveChanges": "Сохранить", + "editAsText": "Редактировать как текст", + "increaseFontSize": "Увеличить размер шрифта", + "decreaseFontSize": "Уменьшить размер шрифта" + }, + "download": { + "downloadFile": "Скачать файл", + "downloadFolder": "Загрузить папку", + "downloadSelected": "Скачать выбранное" + }, + "upload": { + "abortUpload": "Вы действительно, что хотите прервать операцию?" + }, + "errors": { + "forbidden": "У вас нет прав доступа к этому.", + "internal": "Что-то пошло не так.", + "notFound": "Неправильная ссылка.", + "connection": "Нет подключения к серверу." + }, + "files": { + "body": "Тело", + "closePreview": "Закрыть", + "files": "Файлы", + "folders": "Папки", + "home": "Главная", + "lastModified": "Последнее изменение", + "loading": "Загрузка...", + "lonely": "Здесь пусто...", + "metadata": "Метаданные", + "multipleSelectionEnabled": "Мультивыбор включен", + "name": "Имя", + "size": "Размер", + "sortByLastModified": "Сортировка по дате изменения", + "sortByName": "Сортировка по имени", + "sortBySize": "Сортировка по размеру", + "noPreview": "Предварительный просмотр для этого файла недоступен.", + "csvTooLarge": "Этот CSV файл слишком большой для предпросмотра (>5 МБ). Скачайте и откройте его локально.", + "csvLoadFailed": "Не удалось загрузить этот CSV.", + "showingRows": "Отображается {count} строк(а)", + "columnSeparator": "Разделитель столбцов", + "csvSeparators": { + "comma": "Запятая (,)", + "semicolon": "Точка с запятой (;)", + "both": "Оба варианта — (,) и (;)" + } + }, + "help": { + "click": "выбрать файл или каталог", + "ctrl": { + "click": "выбрать несколько файлов или каталогов", + "f": "открытые поиски", + "s": "скачать файл или текущий каталог" + }, + "del": "удалить выбранные элементы", + "doubleClick": "открыть файл или каталог", + "esc": "очистить выделение и/или закрыть окно", + "f1": "помощь", + "f2": "переименовать файл", + "help": "Помощь" + }, + "login": { + "createAnAccount": "Создать аккаунт", + "loginInstead": "Уже есть аккаунт", + "password": "Пароль", + "passwordConfirm": "Подтверждение пароля", + "passwordsDontMatch": "Пароли не совпадают", + "signup": "Зарегистрироваться", + "submit": "Войти", + "username": "Имя пользователя", + "usernameTaken": "Данное имя пользователя уже занято", + "wrongCredentials": "Неверные данные", + "passwordTooShort": "Пароль должен состоять как минимум из {min} символов", + "logout_reasons": { + "inactivity": "Сессия завершена после долгого отсутствия." + } + }, + "permanent": "Постоянный", + "prompts": { + "copy": "Копировать", + "copyMessage": "Копировать в:", + "currentlyNavigating": "Текущий каталог:", + "deleteMessageMultiple": "Удалить эти файлы ({count})?", + "deleteMessageSingle": "Удалить этот файл/каталог?", + "deleteMessageShare": "Удалить этот общий файл/каталог ({path})?", + "deleteUser": "Вы действительно, хотите удалить пользователя?", + "deleteTitle": "Удалить файлы", + "displayName": "Отображаемое имя:", + "download": "Скачать файлы", + "downloadMessage": "Выберите формат в котором хотите скачать.", + "error": "Ошибка", + "fileInfo": "Информация о файле", + "filesSelected": "Файлов выбрано: {count}.", + "lastModified": "Последнее изменение", + "move": "Переместить", + "moveMessage": "Выберите новый домашний каталог для ваших файлов/папок:", + "newArchetype": "Создайте новую запись на основе архетипа. Файл будет создан в каталоге.", + "newDir": "Новый каталог", + "newDirMessage": "Имя нового каталога.", + "newFile": "Новый файл", + "newFileMessage": "Имя нового файла.", + "numberDirs": "Количество каталогов", + "numberFiles": "Количество файлов", + "rename": "Переименовать", + "renameMessage": "Новое имя", + "replace": "Заменить", + "replaceMessage": "Имя одного из загружаемых файлов совпадает с уже существующим файлом. Вы хотите заменить существующий?\n", + "schedule": "Планировка", + "scheduleMessage": "Запланировать дату и время публикации.", + "show": "Показать", + "size": "Размер", + "upload": "Загрузить", + "uploadFiles": "Загружаю {files} файлы...", + "uploadMessage": "Выберите вариант для загрузки.", + "optionalPassword": "Необязательный пароль", + "resolution": "Разрешение", + "discardEditorChanges": "Вы действительно желаете отменить ваши правки?" + }, + "search": { + "images": "Изображения", + "music": "Музыка", + "pdf": "PDF", + "pressToSearch": "Нажмите Enter для поиска ...", + "search": "Поиск...", + "typeToSearch": "Введите имя файла ...", + "types": "Типы", + "video": "Видео" + }, + "settings": { + "aceEditorTheme": "Тема редактора Ace", + "admin": "Админ", + "administrator": "Администратор", + "allowCommands": "Запуск команд", + "allowEdit": "Редактирование, переименование и удаление файлов или каталогов", + "allowNew": "Создание новых файлов или каталогов", + "allowPublish": "Публикация новых записей и страниц", + "allowSignup": "Разрешить пользователям регистрироваться", + "hideLoginButton": "Спрятать кнопку входа с публичных страниц", + "avoidChanges": "(оставьте поле пустым, чтобы избежать изменений)", + "branding": "Брендинг", + "brandingDirectoryPath": "Путь к каталогу брендов", + "brandingHelp": "Вы можете настроить внешний вид файлового браузера, изменив его имя, заменив логотип, добавив собственные стили и даже отключив внешние ссылки на GitHub.\nДополнительную информацию о персонализированном брендинге можно найти на странице {0}.", + "changePassword": "Изменение пароля", + "commandRunner": "Запуск команд", + "commandRunnerHelp": "Здесь вы можете установить команды, которые будут выполняться в указанных событиях. Вы должны указать по одной команде в каждой строке. Переменные среды {0} и {1} будут доступны, будучи {0} относительно {1}. Дополнительные сведения об этой функции и доступных переменных среды см. В {2}.", + "commandsUpdated": "Команды обновлены!", + "createUserDir": "Автоматическое создание домашнего каталога пользователя при добавлении нового пользователя", + "minimumPasswordLength": "Минимальная длина пароля", + "tusUploads": "Загруженные файлы", + "tusUploadsHelp": " File Browser поддерживает загрузку файлов по частям, что позволяет работать в сетях низкого качества.", + "tusUploadsChunkSize": "Указывает максимальный размер запроса (мелкие загрузки пойдут напрямую). Вы можете ввести простое целое число, обозначающее размер ввода в байтах, или строку, например 10MB, 1GB и т. д.", + "tusUploadsRetryCount": "Количество повторных попыток, которые необходимо выполнить, если фрагмент не удалось загрузить.", + "userHomeBasePath": "Путь к домашнему каталогу пользователя", + "userScopeGenerationPlaceholder": "Область действия будет сгенерирована автоматически", + "createUserHomeDirectory": "Создать домашний каталог пользователя", + "customStylesheet": "Свой стиль", + "defaultUserDescription": "Это настройки по умолчанию для новых пользователей.", + "disableExternalLinks": "Отключить внешние ссылки (кроме документации)", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "документация", + "examples": "Примеры", + "executeOnShell": "Выполнить в командной строке", + "executeOnShellDescription": "По умолчанию File Browser выполняет команды, напрямую вызывая их бинарные файлы. Если вы хотите вместо этого запускать их в оболочке (например, Bash или PowerShell), вы можете определить их здесь с необходимыми аргументами и флагами. Если установлено, выполняемая вами команда будет добавлена в качестве аргумента. Это относится как к пользовательским командам, так и к обработчикам событий.", + "globalRules": "Это глобальный набор разрешающих и запрещающих правил. Они применимы к каждому пользователю. Вы можете определить определенные правила для настроек каждого пользователя, чтобы переопределить их.", + "globalSettings": "Глобальные настройки", + "hideDotfiles": "Скрыть точечные файлы", + "insertPath": "Вставьте путь", + "insertRegex": "Вставить регулярное выражение", + "instanceName": "Текущее название программы", + "language": "Язык", + "lockPassword": "Запретить пользователю менять пароль", + "newPassword": "Новый пароль", + "newPasswordConfirm": "Повтор нового пароля", + "newUser": "Новый пользователь", + "password": "Пароль", + "passwordUpdated": "Пароль обновлен!", + "path": "Путь", + "perm": { + "create": "Создавать файлы и каталоги", + "delete": "Удалять файлы и каталоги", + "download": "Скачивать", + "execute": "Выполнять команды", + "modify": "Редактировать файлы", + "rename": "Переименовывать или перемещать файлы и каталоги", + "share": "Делиться файлами" + }, + "permissions": "Права доступа", + "permissionsHelp": "Можно настроить пользователя как администратора или выбрать разрешения индивидуально. При выборе \"Администратор\", все остальные параметры будут автоматически выбраны. Управление пользователями - привилегия администратора.\n", + "profileSettings": "Настройки профиля", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "предотвратить доступ к любому скрытому файлу (например: .git, .gitignore) в каждой папке.\n", + "ruleExample2": "блокирует доступ к файлу с именем Caddyfile в корневой области.", + "rules": "Права", + "rulesHelp": "Здесь вы можете определить набор разрешающих и запрещающих правил для этого конкретного пользователь. Блокированные файлы не будут отображаться в списках, и не будут доступны для пользователя. Есть поддержка регулярных выражений и относительных путей.\n", + "scope": "Область", + "setDateFormat": "Установить точный формат даты", + "settingsUpdated": "Настройки применены!", + "shareDuration": "Время расшаренной ссылки", + "shareManagement": "Управление расшаренными ссылками", + "shareDeleted": "Расшаренная ссылка удалена!", + "singleClick": "Открытие файлов и каталогов одним кликом", + "themes": { + "default": " Системные настройки по умолчанию", + "dark": "Темная", + "light": "Светлая", + "title": "Тема" + }, + "user": "Пользователь", + "userCommands": "Команды", + "userCommandsHelp": "Список команд доступных пользователю, разделенный пробелами. Пример:\n", + "userCreated": "Пользователь создан!", + "userDefaults": "Настройки пользователя по умолчанию", + "userDeleted": "Пользователь удален!", + "userManagement": "Управление пользователями", + "userUpdated": "Пользователь изменен!", + "username": "Имя пользователя", + "users": "Пользователи", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Помощь", + "hugoNew": "Hugo New", + "login": "Войти", + "logout": "Выйти", + "myFiles": "Файлы", + "newFile": "Новый файл", + "newFolder": "Новый каталог", + "preview": "Предпросмотр", + "settings": "Настройки", + "signup": "Зарегистрироваться", + "siteSettings": "Настройки сайта" + }, + "success": { + "linkCopied": "Ссылка скопирована!" + }, + "time": { + "days": "Дни", + "hours": "Часы", + "minutes": "Минуты", + "seconds": "Секунды", + "unit": "Единица времени" + } +} diff --git a/frontend/src/i18n/sk.json b/frontend/src/i18n/sk.json new file mode 100644 index 00000000..201d2d3d --- /dev/null +++ b/frontend/src/i18n/sk.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Zrušiť", + "clear": "Zrušiť výber", + "close": "Zavrieť", + "continue": "Pokračovať", + "copy": "Kopírovať", + "copyFile": "Kopírovať súbor", + "copyToClipboard": "Kopírovať do schránky", + "copyDownloadLinkToClipboard": "Kopírovať odkaz na stiahnutie do schránky", + "create": "Vytvoriť", + "delete": "Odstrániť", + "download": "Stiahnuť", + "file": "Súbor", + "folder": "Priečinok", + "fullScreen": "Prepnúť na celú obrazovku", + "hideDotfiles": "Skryť súbory začínajúce bodkou", + "info": "Info", + "more": "Viac", + "move": "Presunúť", + "moveFile": "Presunúť súbory", + "new": "Nový", + "next": "Ďalšie", + "ok": "OK", + "permalink": "Získať trvalý odkaz", + "previous": "Predošlé", + "preview": "Náhľad", + "publish": "Zverejniť", + "rename": "Premenovať", + "replace": "Nahradiť", + "reportIssue": "Nahlásiť problém", + "save": "Uložiť", + "schedule": "Naplánovať", + "search": "Hľadať", + "select": "Vybrať", + "selectMultiple": "Vybrať viaceré", + "share": "Zdieľať", + "shell": "Prepnúť shell", + "submit": "Poslať", + "switchView": "Prepnúť pohľad", + "toggleSidebar": "Prepnúť sidebar", + "update": "Aktualizovať", + "upload": "Nahrať", + "openFile": "Otvoriť súbor", + "discardChanges": "Zahodiť", + "stopSearch": "Stop searching", + "saveChanges": "Uložiť zmeny", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Stiahnuť súbor", + "downloadFolder": "Stiahnuť priečinok", + "downloadSelected": "Stiahnuť vybraté" + }, + "upload": { + "abortUpload": "Naozaj chcete prerušiť?" + }, + "errors": { + "forbidden": "You don't have permissions to access this.", + "internal": "Something really went wrong.", + "notFound": "This location can't be reached.", + "connection": "The server can't be reached." + }, + "files": { + "body": "Telo", + "closePreview": "Zavrieť náhľad", + "files": "Súbory", + "folders": "Priečinky", + "home": "Domov", + "lastModified": "Posledná zmena", + "loading": "Načítanie...", + "lonely": "Je tu tak pusto...", + "metadata": "Metadata", + "multipleSelectionEnabled": "Zapnutý viacnásobný výber", + "name": "Názov", + "size": "Veľkosť", + "sortByLastModified": "Zoradiť podľa dátumu", + "sortByName": "Zoradiť podľa názvu", + "sortBySize": "Zoradiť podľa veľkosti", + "noPreview": "Pre tento súbor nie je dostupný náhľad.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "vyberie súbor alebo priečinok", + "ctrl": { + "click": "vyberie viac súborov alebo priečinkov", + "f": "otvorí vyhľadávanie", + "s": "uloží súbor alebo stiahne priečinok tam kde ste" + }, + "del": "odstráni vybraté položky", + "doubleClick": "otvorí súbor alebo priečinok", + "esc": "zruší výber a/alebo zavrie okno", + "f1": "tieto informácie", + "f2": "premenuje súbor", + "help": "Pomoc" + }, + "login": { + "createAnAccount": "Vytvoriť účet", + "loginInstead": "Už mám účet", + "password": "Heslo", + "passwordConfirm": "Potvrdenie hesla", + "passwordsDontMatch": "Heslá nesúhlasia", + "signup": "Registrovať", + "submit": "Prihlásiť", + "username": "Používateľské meno", + "usernameTaken": "Meno je už obsadené", + "wrongCredentials": "Nesprávne prihlasovacie údaje", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "Boli ste odhlásení z dôvodu nečinnosti." + } + }, + "permanent": "Trvalé", + "prompts": { + "copy": "Kopírovať", + "copyMessage": "Zvoľte miesto, kde chcete kopírovať súbory:", + "currentlyNavigating": "Aktuálna cesta:", + "deleteMessageMultiple": "Naozaj chcete odstrániť {count} súbor(ov)?", + "deleteMessageSingle": "Naozaj chcete odstrániť tento súbor/priečinok?", + "deleteMessageShare": "Naozaj chcete odstrániť toto zdieľanie({path})?", + "deleteUser": "Naozaj chcete odstrániť tohto používateľa?", + "deleteTitle": "Odstránenie súborov", + "displayName": "Zobrazený názov:", + "download": "Stiahnuť súbory", + "downloadMessage": "Vyberte formát, ktorý chcete stiahnuť.", + "error": "Niečo sa pokazilo", + "fileInfo": "Informácie o súbore", + "filesSelected": "{count} súborov vybratých.", + "lastModified": "Dátum zmeny", + "move": "Presunúť", + "moveMessage": "Zvoľte nový domov pre vaše súbory/priečinky:", + "newArchetype": "Vytvorí nový príspevok z archetypu. Nový súbor sa vytvorí v priečinku s obsahom.", + "newDir": "Nový priečinok", + "newDirMessage": "Napíšte názov nového priečinka.", + "newFile": "Nový súbor", + "newFileMessage": "Napíšte názov nového súboru.", + "numberDirs": "Počet priečinkov", + "numberFiles": "Počet súborov", + "rename": "Premenovať", + "renameMessage": "Zadajte nový názov pre", + "replace": "Nahradiť", + "replaceMessage": "Niektorý nahrávaný súbor je v konflikte názvov. Chcete nahradiť existujúci súbor?\n", + "schedule": "Naplánovať", + "scheduleMessage": "Pick a date and time to schedule the publication of this post.", + "show": "Zobraziť", + "size": "Veľkosť", + "upload": "Nahrať", + "uploadFiles": "Nahráva sa {files} súborov...", + "uploadMessage": "Zvoľte možnosť nahrávania.", + "optionalPassword": "Voliteľné heslo", + "resolution": "Rozlíšenie", + "discardEditorChanges": "Naozaj chcete zahodiť vykonané zmeny?" + }, + "search": { + "images": "Obrázky", + "music": "Hudba", + "pdf": "PDF", + "pressToSearch": "Vyhľadáte stlačením Enter...", + "search": "Hľadať...", + "typeToSearch": "Vyhľadáte písaním...", + "types": "Typy", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Admin", + "administrator": "Administrátor", + "allowCommands": "Vykonávať príkazy", + "allowEdit": "Upravovať, premenovať a odstraňovať súbory a priečinky", + "allowNew": "Vytvárať nové súbory a priečinky", + "allowPublish": "Zverejňovať nové príspevky a stránky", + "allowSignup": "Povoliť registráciu používateľov", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(nechajte prázdne, aby sa nezmenilo)", + "branding": "Vlastný vzhľad", + "brandingDirectoryPath": "Cesta k priečinku s vlastným vzhľadom", + "brandingHelp": "Môžete si prispôsobiť ako bude vyzerá váš File Browser instance zmenou jeho názvu, výmenou loga a pridaním vlastný štýlov alebo vypnutím externých odkazov na GitHub.\nViac informácií o vlastnom vzhľade nájdete na {0}.", + "changePassword": "Zmeniť heslo", + "commandRunner": "Spúšťač príkazov", + "commandRunnerHelp": "Sem môžete nastaviť príkazy, ktoré sa vykonajú pri určitých udalostiach. Musíte písať jeden na riadok. Premenné prostredia {0} a {1} sú k dispozícii, s tým že {0} relatívne k {1}. Viac informácií o tejto funkcionalite a dostupných premenných prostredia nájdete na {2}.", + "commandsUpdated": "Príkazy upravené!", + "createUserDir": "Automaticky vytvoriť domovský priečinok pri pridaní používateľa", + "minimumPasswordLength": "Minimálna dĺžka hesla", + "tusUploads": "Nahrávanie po častiach", + "tusUploadsHelp": "Prehliadač súborov podporuje nahrávanie súborov po častiach, čo umožňuje vytváranie efektívnych, spoľahlivých, obnoviteľných a po častiach nahrávaných súborov aj v prípade nespoľahlivých sietí.", + "tusUploadsChunkSize": "Označuje maximálnu veľkosť požiadavky (pre menšie nahratia sa použijú priame nahratia). Môžete zadať celé číslo označujúce veľkosť v bajtoch alebo reťazec ako 10 MB, 1 GB atď.", + "tusUploadsRetryCount": "Počet opakovaných pokusov, ktoré sa majú vykonať, ak sa nepodarí nahrať časť súboru.", + "userHomeBasePath": "Východisková cesta pre domáce adresáre používateľov", + "userScopeGenerationPlaceholder": "Rozsah bude automaticky generovaný", + "createUserHomeDirectory": "Vytvoriť domovský adresár používateľa", + "customStylesheet": "Vlastný Stylesheet", + "defaultUserDescription": "Toto sú predvolané nastavenia nového používateľa.", + "disableExternalLinks": "Vypnúť externé odkazy (okrem dokumentácie)", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "dokumentácia", + "examples": "Príklady", + "executeOnShell": "Vykonať cez shell", + "executeOnShellDescription": "Predvolene File Browser vykonáva príkazy volaním priamo ich binárok. Ak ich chcete spúšťať cez shell (napr. Bash alebo PowerShell), môžete ho napísať sem a pridať potrebné argumenty a flagy. Ak je nastavený, tak sa príkazy budú spúšťať pridaním na koniec ako argument. Toto sa týka používateľských príkazov aj udalostí.", + "globalRules": "Toto je globálne nastavenie pravidiel. Aplikujú sa na všetkých používateľov. Môžete definovať špecifické pravidlá pre každého používateľa a prekryť tak pravidlá nastavené tu.", + "globalSettings": "Globálne nastavenia", + "hideDotfiles": "Skryť súbory začínajúce bodkou", + "insertPath": "Vložte cestu", + "insertRegex": "Vložte regex výraz", + "instanceName": "Názov inštalácie", + "language": "Jazyk", + "lockPassword": "Zabrániť používateľovi meniť heslo", + "newPassword": "Nové heslo", + "newPasswordConfirm": "Potvrdenie nového hesla", + "newUser": "Nový používateľ", + "password": "Heslo", + "passwordUpdated": "Heslo zmenené!", + "path": "Cesta", + "perm": { + "create": "Vytvárať súbory a priečinky", + "delete": "Odstraňovať súbory a priečinky", + "download": "Stiahnuť", + "execute": "Vykonávať príkazy", + "modify": "Upravovať súbory", + "rename": "Premenovať a presúvať súbory a priečinky", + "share": "Zdieľať súbory" + }, + "permissions": "Práva", + "permissionsHelp": "Môžete nastaviť používateľa, aby bol administrátorom alebo vybrať práva jednotlivo. Ak zvolíte \"Administrator\", všetky ďalšie budú automaticky zaškrtnuté. Manažment používateľov ostáva v správe administrátora.\n", + "profileSettings": "Nastavenia profilu", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "blokuje prístup ku všetkým súborom začínajúcim bodkou (napríklad .git, .gitignore) v každom priečinku.\n", + "ruleExample2": "blokuje prístup k súborom s názvom Caddyfile v koreňovom priečinku.", + "rules": "Pravidlá", + "rulesHelp": "Tu môžete definovať pravidlá pre konkrétneho používateľa. Blokované súbory používateľ nebude vidieť a ani nebude k nim mať prístup. Podporujeme regex a cesty relatívne k používateľovi.\n", + "scope": "Scope", + "setDateFormat": "Nastaviť presný formát dátumu", + "settingsUpdated": "Nastavenia upravené!", + "shareDuration": "Trvanie zdieľania", + "shareManagement": "Správa zdieľania", + "shareDeleted": "Zdieľanie odstránené!", + "singleClick": "Používať jeden klik na otváranie súborov a priečinkov", + "themes": { + "default": "Predvolené nastavenie systému", + "dark": "Tmavá", + "light": "Svetlá", + "title": "Téma" + }, + "user": "Používateľ", + "userCommands": "Príkazy", + "userCommandsHelp": "Zoznam povolených príkazov oddelených medzerou pre tohoto používateľa. Napríklad:\n", + "userCreated": "Používateľ vytvorený!", + "userDefaults": "Predvolené nastavenia používateľa", + "userDeleted": "Používateľ odstránený!", + "userManagement": "Správa používateľov", + "userUpdated": "Používateľ upravený!", + "username": "Meno používateľa", + "users": "Používatelia", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Pomoc", + "hugoNew": "Nový Hugo", + "login": "Prihlásiť", + "logout": "Odhlásiť", + "myFiles": "Moje súbory", + "newFile": "Nový súbor", + "newFolder": "Nový priečinok", + "preview": "Náhľad", + "settings": "Nastavenia", + "signup": "Registrovať", + "siteSettings": "Nastavenia stránky" + }, + "success": { + "linkCopied": "Odkaz skopírovaný!" + }, + "time": { + "days": "Dni", + "hours": "Hodiny", + "minutes": "Minúty", + "seconds": "Sekundy", + "unit": "Jednotka času" + } +} diff --git a/frontend/src/i18n/sv-se.json b/frontend/src/i18n/sv-se.json new file mode 100644 index 00000000..642252d9 --- /dev/null +++ b/frontend/src/i18n/sv-se.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Avbryt", + "clear": "Rensa", + "close": "Stäng", + "continue": "Fortsätt", + "copy": "Kopiera", + "copyFile": "Kopiera fil", + "copyToClipboard": "Kopiera till urklipp", + "copyDownloadLinkToClipboard": "Kopiera hämtningslänk till urklipp", + "create": "Skapa", + "delete": "Ta bort", + "download": "Ladda ner", + "file": "Fil", + "folder": "Mapp", + "fullScreen": "Växla helskärm", + "hideDotfiles": "Dölj punktfiler", + "info": "Info", + "more": "Mer", + "move": "Flytta", + "moveFile": "Flytta fil", + "new": "Nytt", + "next": "Nästa", + "ok": "OK", + "permalink": "Skapa en permanent länk", + "previous": "Föregående", + "preview": "Förhandsvisa", + "publish": "Publisera", + "rename": "Ändra namn", + "replace": "Ersätt", + "reportIssue": "Rapportera problem", + "save": "Spara", + "schedule": "Schema", + "search": "Sök", + "select": "Välj", + "selectMultiple": "Välj flera", + "share": "Dela", + "shell": "Växla skal", + "submit": "Skicka", + "switchView": "Byt vy", + "toggleSidebar": "Växla sidofält", + "update": "Uppdatera", + "upload": "Ladda upp", + "openFile": "Öppna fil", + "discardChanges": "Förkasta", + "stopSearch": "Stop searching", + "saveChanges": "Spara ändringar", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Ladda ner fil", + "downloadFolder": "Ladda ner mapp", + "downloadSelected": "Hämta markerade" + }, + "upload": { + "abortUpload": "Är du säker på att du vill avbryta?" + }, + "errors": { + "forbidden": "Du saknar rättigheter till detta", + "internal": "Något gick fel", + "notFound": "Det går inte att nå den här platsen.", + "connection": "Servern går inte att nå." + }, + "files": { + "body": "Huvud", + "closePreview": "Stäng förhands granskningen", + "files": "Filer", + "folders": "Mappar", + "home": "Hem", + "lastModified": "Senast ändrad", + "loading": "Laddar.....", + "lonely": "Väldigt ensamt här....", + "metadata": "Metadata", + "multipleSelectionEnabled": "Flerval är på", + "name": "Namn", + "size": "Storlek", + "sortByLastModified": "Sortera på senast ändrad", + "sortByName": "Sortera på namn", + "sortBySize": "Sortera på storlek", + "noPreview": "Förhandsvisning är inte tillgänglig för denna fil.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "välj fil eller mapp", + "ctrl": { + "click": "välj flera filer eller mappar", + "f": "öppnar sök", + "s": "Spara en fil eller ladda ner den katalog där du är" + }, + "del": "ta bort valda objekt", + "doubleClick": "öppna en fil eller mapp", + "esc": "Rensa markeringen och/eller stänga prompten", + "f1": "denna information", + "f2": "ändra namnet på filen", + "help": "Hjälp" + }, + "login": { + "createAnAccount": "Skapa ett konto", + "loginInstead": "Du har redan ett konto", + "password": "Lösenord", + "passwordConfirm": "Bekräfta lösenord", + "passwordsDontMatch": "Lösenord matchar inte", + "signup": "Registrera", + "submit": "Logga in", + "username": "Användarnamn", + "usernameTaken": "Användarnamn upptaget", + "wrongCredentials": "Fel inloggning", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "Du har blivit utloggad på grund av inaktivitet." + } + }, + "permanent": "Permanent", + "prompts": { + "copy": "Kopiera", + "copyMessage": "Välj var dina filer skall sparas:", + "currentlyNavigating": "För närvarande navigerar du på:", + "deleteMessageMultiple": "Är du säker på att du vill radera {count} filer(na)?", + "deleteMessageSingle": "Är du säker på att du vill radera denna fil/mapp", + "deleteMessageShare": "Är du säker på att du vill ta bort denna utdelning({path})?", + "deleteUser": "Är du säker på att du vill ta bort denna användare?", + "deleteTitle": "Ta bort filer", + "displayName": "Visningsnamn:", + "download": "Ladda ner filer", + "downloadMessage": "Välj format på det du vill lada ner.", + "error": "Något gick fel", + "fileInfo": "Fil information", + "filesSelected": "{count} filer valda.", + "lastModified": "Senast ändrad", + "move": "Flytta", + "moveMessage": "Välj ny plats för din fil (er)/mapp (ar):", + "newArchetype": "Skapa ett nytt inlägg baserat på en arketyp. Din fil kommer att skapas på innehållsmapp.", + "newDir": "Ny mapp", + "newDirMessage": "Ange namn på din nya mapp.", + "newFile": "Ny fil", + "newFileMessage": "Ange namn på din nya fil.", + "numberDirs": "Antal kataloger", + "numberFiles": "Antal filer", + "rename": "Ändra namn", + "renameMessage": "Infoga ett nytt namn för", + "replace": "Ersätt", + "replaceMessage": "En av filerna som du försöker överföra är i konflikt på grund av dess namn. Vill du ersätta den befintliga?\n", + "schedule": "Schema", + "scheduleMessage": "Pick a date and time to schedule the publication of this post.", + "show": "Visa", + "size": "Storlek", + "upload": "Ladda upp", + "uploadFiles": "Laddar upp {files} filer...", + "uploadMessage": "Välj ett alternativ att ladda upp.", + "optionalPassword": "Valfritt lösenord", + "resolution": "Upplösning", + "discardEditorChanges": "Är du säker på att du vill förkasta ändringarna du gjort?" + }, + "search": { + "images": "Bilder", + "music": "Musik", + "pdf": "PDF", + "pressToSearch": "Tryck på enter för att söka...", + "search": "Sök...", + "typeToSearch": "Skriv för att söka....", + "types": "Typ", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Tema för Ace editor", + "admin": "Admin", + "administrator": "Administratör", + "allowCommands": "Exekvera kommandon", + "allowEdit": "Ändra, döp om och ta bort filer eller mappar", + "allowNew": "Skapa nya filer eller mappar", + "allowPublish": "Publicera nya inlägg och sidor", + "allowSignup": "Tillåt användare att registrera sig", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(lämna blankt för att undvika ändringar)", + "branding": "Varumärke", + "brandingDirectoryPath": "Sökväg till varumärkes katalog", + "brandingHelp": "Du kan skräddarsyr hur din fil hanterar instansen ser ut och känns genom att ändra dess namn, ersätter logo typen, lägga till egna stilar och även inaktivera externa länkar till GitHub.\nMer information om anpassad varumärkes profilering finns i {0}.", + "changePassword": "Ändra lösenord", + "commandRunner": "Kommando körare", + "commandRunnerHelp": "Här kan du ange kommandon som körs i de namngivna händelserna. Du måste skriva en per rad. Miljövariablerna {0} och {1} kommer att vara tillgängliga, och vara {0} i förhållande till {1}. För mer information om den här funktionen och de tillgängliga miljövariablerna, vänligen läs {2}.", + "commandsUpdated": "Kommandon uppdaterade!", + "createUserDir": "Auto skapa användarens hemkatalog när du lägger till nya användare", + "minimumPasswordLength": "Minsta lösenordslängd", + "tusUploads": "Uppdelade uppladdningar", + "tusUploadsHelp": "Filbläddraren stöder uppdelade filuppladdningar, vilket möjliggör effektiva, tillförlitliga, återupptagbara och uppdelade filuppladdningar även på otillförlitliga nätverk.", + "tusUploadsChunkSize": "Anger maximal storlek för en begäran (direkta uppladdningar används för mindre uppladdningar). Du kan ange ett helt tal som anger storleken i byte eller en sträng som 10 MB, 1 GB osv.", + "tusUploadsRetryCount": "Antal försök som ska göras om en del inte kan laddas upp.", + "userHomeBasePath": "Bassökväg för användarnas hemkataloger", + "userScopeGenerationPlaceholder": "Omfånget kommer att automatiskt genereras", + "createUserHomeDirectory": "Skapa användarens hemkatalog", + "customStylesheet": "Anpassad formatmall", + "defaultUserDescription": "Detta är standard inställningar för användare.", + "disableExternalLinks": "Inaktivera externa länkar (förutom dokumentation)", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "dokumentation", + "examples": "Exempel", + "executeOnShell": "Exekvera på skal", + "executeOnShellDescription": "Som standard kör fil bläddraren kommandona genom att anropa deras binärfiler direkt. Om du vill köra dem på ett skal i stället (till exempel bash eller PowerShell), kan du definiera det här med nödvändiga argument och flaggor. Om det är inställt kommer kommandot du kör att läggas till som ett argument. Detta gäller både användar kommandon och händelse krokar.", + "globalRules": "Det här är en global uppsättning regler för att tillåta och inte tillåta. De gäller för alla användare. Du kan definiera specifika regler för varje användares inställningar för att åsidosätta de här inställningarna.", + "globalSettings": "Globala inställningar", + "hideDotfiles": "Dölj punktfiler", + "insertPath": "Ange sökväg", + "insertRegex": "Sätt in regex expression", + "instanceName": "Instans namn", + "language": "Språk", + "lockPassword": "Förhindra att användare kan byta lösenord", + "newPassword": "Ditt nya lösenord", + "newPasswordConfirm": "Bekräfta ditt nya lösenord", + "newUser": "Ny användare", + "password": "Lösenord", + "passwordUpdated": "Lösenord uppdaterat", + "path": "Sökväg", + "perm": { + "create": "Skapa filer och mappar", + "delete": "Ta bort filer och mappar", + "download": "Ladda ner", + "execute": "Exekvera kommandon", + "modify": "Ändra fil", + "rename": "Byta namn på eller flytta filer och kataloger", + "share": "Dela filer" + }, + "permissions": "Rättigheter", + "permissionsHelp": "Du kan ange att användaren ska vara administratör eller välja behörigheterna individuellt. Om du väljer \"administratör \" kommer alla andra alternativ att kontrolleras automatiskt. Hanteringen av användare är fortfarande ett privilegium för en administratör.\n", + "profileSettings": "Profil inställningar", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "förhindrar åtkomst till en dot-fil (till exempel. git,. gitignore) i varje mapp.\n", + "ruleExample2": "blockerar åtkomsten till filen som heter Caddyfilen i roten av scopet.", + "rules": "Regler", + "rulesHelp": "Här kan du definiera en uppsättning regler för godkänna och neka för den här specifika användaren. Den blockerade filen kommer inte upp i listningarna och kommer inte att vara tillgänglig till användaren. Vi stöder regex och sökvägar i förhållande till användarnas omfång.\n", + "scope": "Omfattning", + "setDateFormat": "Ställ in exakt datumformat", + "settingsUpdated": "Inställning uppdaterad!", + "shareDuration": "Utdelningstid", + "shareManagement": "Utdelningshantering", + "shareDeleted": "Utdelning borttagen!", + "singleClick": "Använd enkla klick för att öppna filer och kataloger", + "themes": { + "default": "Systemet standard", + "dark": "Mörk", + "light": "Ljus", + "title": "Tema" + }, + "user": "Användare", + "userCommands": "Kommandon", + "userCommandsHelp": "En utrymmesseparerad lista med tillgängliga kommandon för den här användaren. Exempel:\n", + "userCreated": "Användare skapad", + "userDefaults": "Standard inställning för användare", + "userDeleted": "Användare borttagen", + "userManagement": "Användarehantering", + "userUpdated": "Användare uppdaterad!", + "username": "Användarnamn", + "users": "Användare", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Hjälp", + "hugoNew": "Hugo ny", + "login": "Logga in", + "logout": "Logga ut", + "myFiles": "Mina filer", + "newFile": "Ny fil", + "newFolder": "Ny mapp", + "preview": "Visa", + "settings": "Inställningar", + "signup": "Registrera", + "siteSettings": "System inställningar" + }, + "success": { + "linkCopied": "Länk kopierad" + }, + "time": { + "days": "Dagar", + "hours": "Timmar", + "minutes": "Minuter", + "seconds": "Sekunder", + "unit": "Tidsenhet" + } +} diff --git a/frontend/src/i18n/tr.json b/frontend/src/i18n/tr.json new file mode 100644 index 00000000..f83e7103 --- /dev/null +++ b/frontend/src/i18n/tr.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Vazgeç", + "clear": "Temizle", + "close": "Kapat", + "continue": "Continue", + "copy": "Kopyala", + "copyFile": "Dosyayı kopyala", + "copyToClipboard": "Panoya kopyala", + "copyDownloadLinkToClipboard": "Copy download link to clipboard", + "create": "Oluştur", + "delete": "Sil", + "download": "İndir", + "file": "File", + "folder": "Folder", + "fullScreen": "Toggle full screen", + "hideDotfiles": "Nokta dosyalarını gizle", + "info": "Bilgi", + "more": "Daha fazla", + "move": "Taşı", + "moveFile": "Dosyayı taşı", + "new": "Yeni", + "next": "Sonraki", + "ok": "Tamam", + "permalink": "Kalıcı Bağlantı Alın", + "previous": "Önceki", + "preview": "Preview", + "publish": "Yayınla", + "rename": "Yeniden anlandır", + "replace": "Değiştir", + "reportIssue": "Sorun bildir", + "save": "Kaydet", + "schedule": "Planla", + "search": "Ara", + "select": "Seç", + "selectMultiple": "Çoklu seçim", + "share": "Paylaş", + "shell": "Komut satırı aç/kapat", + "submit": "Gönder", + "switchView": "Görünümü değiştir", + "toggleSidebar": "Menüyü aç/kapat", + "update": "Güncelle", + "upload": "Yükle", + "openFile": "Dosyayı aç", + "discardChanges": "Discard", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Dosyayı indir", + "downloadFolder": "Klasörü indir", + "downloadSelected": "Seçilileri indir" + }, + "upload": { + "abortUpload": "Are you sure you wish to abort?" + }, + "errors": { + "forbidden": "Buna erişim izniniz yok.", + "internal": "Bir şeyler ters gitti.", + "notFound": "Bu konuma ulaşılamıyor.", + "connection": "Sunucuya ulaşılamıyor." + }, + "files": { + "body": "Sayfa", + "closePreview": "Önizlemeyi kapat", + "files": "Dosyalar", + "folders": "Klasörler", + "home": "Ana dizin", + "lastModified": "Son güncellenme", + "loading": "Yükleniyor...", + "lonely": "Burada yalnızlık hissediyorum...", + "metadata": "meta veri", + "multipleSelectionEnabled": "Çoklu seçim etkin", + "name": "İsim", + "size": "Boyut", + "sortByLastModified": "Güncelleme tarihine göre sırala", + "sortByName": "İsme göre sırala", + "sortBySize": "Boyuta göre sırala", + "noPreview": "Bu dosya için önizleme aktif değil", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "dosya veya klasör seçin", + "ctrl": { + "click": "çoklu dosya ve klasör seçin", + "f": "Aramayı aç", + "s": "bir dosyayı kaydedin veya bulunduğunuz dizini indirin" + }, + "del": "seçilileri sil", + "doubleClick": "dosya veya dizini açın", + "esc": "seçimi temizle veya kapatın", + "f1": "bu bilgi", + "f2": "dosyayı yeniden adlandır", + "help": "Yardım" + }, + "login": { + "createAnAccount": "Bir hesap oluşturun", + "loginInstead": "Zaten hesabınız var mı", + "password": "Şifre", + "passwordConfirm": "Şifre tekrarı", + "passwordsDontMatch": "Şifreler uyuşmuyor", + "signup": "Üye Ol", + "submit": "Giriş", + "username": "Kullanıcı adı", + "usernameTaken": "Kullanıcı adı mevcut", + "wrongCredentials": "Yanlış hesap bilgileri", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Kalıcı", + "prompts": { + "copy": "Kopyala", + "copyMessage": "Dosyalarınızı kopyalayacağınız yeri seçin:", + "currentlyNavigating": "Şu anki lokasyon:", + "deleteMessageMultiple": "{count} dosyayı/dosyaları silmek istediğinizden emin misiniz?", + "deleteMessageSingle": "Bu dosyayı/klasörü silmek istediğinizden emin misiniz?", + "deleteMessageShare": "Bu paylaşımı({path}) silmek istediğinizden emin misiniz?", + "deleteUser": "Are you sure you want to delete this user?", + "deleteTitle": "Dosyaları sil", + "displayName": "Görünen Ad:", + "download": "Dosyaları indirŞ", + "downloadMessage": "İndirmek istediğiniz formatı seçin.", + "error": "Bir şeyler yanlış gitti", + "fileInfo": "Dosya bilgisi", + "filesSelected": "{count} dosya seçildi.", + "lastModified": "Son güncellenme", + "move": "Taşı", + "moveMessage": "Dosya(lar)ınız/klasör(ler)iniz için yeni ana dizin seçin:", + "newArchetype": "Bir prototip temelinde yeni bir gönderi oluşturun. Dosyanız içerik klasöründe oluşturulacaktır.", + "newDir": "Yeni dizin", + "newDirMessage": "Yeni dizinin adını yazın.", + "newFile": "Yeni dosya", + "newFileMessage": "Yeni dosyanın adını yazın.", + "numberDirs": "Dizin sayısı", + "numberFiles": "Dosya sayısı", + "rename": "Yeniden adlandır", + "renameMessage": "için yeni bir ad girin", + "replace": "Değiştir", + "replaceMessage": "Yüklemeye çalıştığınız dosyalardan biri, adı nedeniyle çakışıyor. Mevcut olanı değiştirmek istiyor musunuz?\n", + "schedule": "Planla", + "scheduleMessage": "Bu paylaşımın yayınlanmasını planlamak için bir tarih ve saat seçin.", + "show": "Göster", + "size": "Boyut", + "upload": "Gönder", + "uploadFiles": "Uploading {files} files...", + "uploadMessage": "Yüklemek için bir seçenek belirleyin.", + "optionalPassword": "İsteğe bağlı şifre", + "resolution": "Resolution", + "discardEditorChanges": "Are you sure you wish to discard the changes you've made?" + }, + "search": { + "images": "Görseller", + "music": "Müzik", + "pdf": "PDF", + "pressToSearch": "Aramak için enter'a basın...", + "search": "Ara...", + "typeToSearch": "Aramak için yazın...", + "types": "Türler", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Yönetim", + "administrator": "Yönetici", + "allowCommands": "Komutları çalıştır", + "allowEdit": "Dosyaları veya dizinleri düzenleyin, yeniden adlandırın ve silin", + "allowNew": "Yeni dosyalar ve dizinler oluşturun", + "allowPublish": "Yeni linkler ve sayfaları yayınlayın", + "allowSignup": "Kullanıcıların kaydolmasına izin ver", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(değişiklikleri önlemek için boş bırakın)", + "branding": "Marka", + "brandingDirectoryPath": "Marka dizin yolu", + "brandingHelp": "Adını değiştirerek, logoyu değiştirerek, özel stiller ekleyerek ve hatta GitHub'a harici bağlantıları devre dışı bırakarak Filebrowser örneğinizin görünüşünü ve hissini özelleştirebilirsiniz.\nÖzel marka bilinci oluşturma hakkında daha fazla bilgi için lütfen {0} sayfasına göz atın.", + "changePassword": "Şifre Değiştir", + "commandRunner": "Komut satırı", + "commandRunnerHelp": "Burada, adlandırılmış olaylarda yürütülen komutları ayarlayabilirsiniz. Her satıra bir tane yazmalısınız. {0} ve {1} ortam değişkenleri, {1}'ye göre {0} olacak şekilde kullanılabilir olacaktır. Bu özellik ve mevcut ortam değişkenleri hakkında daha fazla bilgi için lütfen {2}'yi okuyun.", + "commandsUpdated": "Komutlar güncellendi!", + "createUserDir": "Kullanıcı eklerken, kullanıcı ana dizinini otomatik oluştur", + "minimumPasswordLength": "Minimum password length", + "tusUploads": "Chunked Uploads", + "tusUploadsHelp": "File Browser supports chunked file uploads, allowing for the creation of efficient, reliable, resumable and chunked file uploads even on unreliable networks.", + "tusUploadsChunkSize": "Indicates to maximum size of a request (direct uploads will be used for smaller uploads). You may input a plain integer denoting byte size input or a string like 10MB, 1GB etc.", + "tusUploadsRetryCount": "Number of retries to perform if a chunk fails to upload.", + "userHomeBasePath": "Base path for user home directories", + "userScopeGenerationPlaceholder": "The scope will be auto generated", + "createUserHomeDirectory": "Create user home directory", + "customStylesheet": "Özel CSS", + "defaultUserDescription": "Bu, yeni kullanıcılar için varsayılan ayarlardır.", + "disableExternalLinks": "Harici bağlantıları devre dışı bırakın (dökümantasyon hariç)", + "disableUsedDiskPercentage": "Disable used disk percentage graph", + "documentation": "dökümantasyon", + "examples": "Örnekler", + "executeOnShell": "Komut satırında çalıştır", + "executeOnShellDescription": "Varsayılan olarak, FileBrowser komutları doğrudan dosyaları çağırarak yürütür. Bunları komut satırında çalıştırmak istiyorsanız (Bash veya PowerShell gibi), burada gerekli argümanlar ve flagler tanımlayabilirsiniz. Ayarlanırsa, yürüttüğünüz komut argüman olarak eklenir. Bu, hem kullanıcı komutları hem de event hooklar için geçerlidir.", + "globalRules": "Bu, genel bir izin verme ve izin vermeme kurallar bütünüdür. Her kullanıcı için geçerlidirler. Bunları geçersiz kılmak için her kullanıcının ayarlarında belirli kurallar tanımlayabilirsiniz.", + "globalSettings": "Genel Ayarlar", + "hideDotfiles": ". ile başlayan dosyaları gizle", + "insertPath": "Dizini ekle", + "insertRegex": "Regex ifadesini ekle", + "instanceName": "Instance adı", + "language": "Dil", + "lockPassword": "Kullanıcının parolayı değiştirmesini engelle", + "newPassword": "Yeni şifre", + "newPasswordConfirm": "Yeni şifre tekrarı", + "newUser": "Yeni Kullanıcı", + "password": "Şifre", + "passwordUpdated": "Şifre güncellendi", + "path": "Yol", + "perm": { + "create": "Dosyalar ve dizinler oluşturun", + "delete": "Dosyalar ve dizinleri silin", + "download": "İndir", + "execute": "Komutları çalıştır", + "modify": "Dosyaları değiştir", + "rename": "Dosyaları ve dizinleri yeniden adlandırın veya taşıyın", + "share": "Dosyaları paylaş" + }, + "permissions": "İzinler", + "permissionsHelp": "Kullanıcıyı yönetici olarak ayarlayabilir veya izinleri ayrı ayrı seçebilirsiniz. \"Yönetici\"yi seçerseniz, diğer tüm seçenekler otomatik olarak kontrol edilecektir. Kullanıcıların yönetimi, bir yöneticinin yetkisi olarak kalır.\n", + "profileSettings": "Profil ayarları", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "her klasördeki herhangi bir noktalı dosyaya (.git, .gitignore gibi) erişimi engeller.\n", + "ruleExample2": "Root erişimidenki CaddyFile dosyalarına erişimi engelle.", + "rules": "Kurallar", + "rulesHelp": "Burada, bu belirli kullanıcı için bir dizi izin verme ve izin vermeme kuralı tanımlayabilirsiniz. Engellenen dosyalar listelerde görünmeyecek ve kullanıcı bunlara erişemeyecek. Kullanıcı erişimine göre regex ifadeleri destekliyoruz.\n", + "scope": "Kapsam", + "setDateFormat": "Set exact date format", + "settingsUpdated": "Ayarlar güncellendi!", + "shareDuration": "Paylaşım süresi", + "shareManagement": "Paylaşım yönetimi", + "shareDeleted": "Paylaşım silindi!", + "singleClick": "Dosyaları ve dizinleri açmak için tek tıklamayı kullanın", + "themes": { + "default": "System default", + "dark": "Dark", + "light": "Light", + "title": "Theme" + }, + "user": "Kullanıcı", + "userCommands": "Komutları", + "userCommandsHelp": "Bu kullanıcı için mevcut komutları içeren boşlukla ayrılmış bir liste. Örnek:\n", + "userCreated": "Kullanıcı oluşturuldu!", + "userDefaults": "Kullanıcı varsayılan ayarları", + "userDeleted": "Kullanıcı silindi!", + "userManagement": "Kullanıcı yönetimi", + "userUpdated": "Kullanıcı güncellendi!", + "username": "Kullanıcı adı", + "users": "Kullanıcılar", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Yardım", + "hugoNew": "Yeni Hugo", + "login": "Giriş", + "logout": "Çıkış", + "myFiles": "Dosyalarım", + "newFile": "Yeni dosya", + "newFolder": "Yeni klasör", + "preview": "Önizleme", + "settings": "Ayarlar", + "signup": "Kayıt", + "siteSettings": "Site ayarları!" + }, + "success": { + "linkCopied": "Link kopyalandı!" + }, + "time": { + "days": "Gün", + "hours": "Saat", + "minutes": "Dakika", + "seconds": "Saniye", + "unit": "Zaman birimi" + } +} diff --git a/frontend/src/i18n/uk.json b/frontend/src/i18n/uk.json new file mode 100644 index 00000000..782b86e9 --- /dev/null +++ b/frontend/src/i18n/uk.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Відмінити", + "clear": "Очистити", + "close": "Закрити", + "continue": "Продовжити", + "copy": "Копіювати", + "copyFile": "Копіювати файл", + "copyToClipboard": "Копіювати в буфер обміну", + "copyDownloadLinkToClipboard": "Скопіювати завантажувальне посилання в буфер обміну", + "create": "Створити", + "delete": "Видалити", + "download": "Завантажити", + "file": "Файл", + "folder": "Папка", + "fullScreen": "Перемкнути повноекранний режим", + "hideDotfiles": "Приховати точкові файли", + "info": "Інфо", + "more": "Більше", + "move": "Перемістити", + "moveFile": "Перемістити файл", + "new": "Новий", + "next": "Далі", + "ok": "ОК", + "permalink": "Отримати постійне посилання", + "previous": "Назад", + "preview": "Попередній перегляд", + "publish": "Опублікувати", + "rename": "Перейменувати", + "replace": "Замінити", + "reportIssue": "Повідомити про помилку", + "save": "Зберегти", + "schedule": "Планування", + "search": "Пошук", + "select": "Вибрати", + "selectMultiple": "Мультивибір", + "share": "Поділитися", + "shell": "Командний рядок", + "submit": "Відправити", + "switchView": "Вид", + "toggleSidebar": "Бічна панель", + "update": "Оновити", + "upload": "Вивантажити", + "openFile": "Відкрити файл", + "discardChanges": "Скасувати", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Завантажити файл", + "downloadFolder": "Завантажити папку", + "downloadSelected": "Завантажити вибране" + }, + "upload": { + "abortUpload": "Ви впевнені, що хочете перервати?" + }, + "errors": { + "forbidden": "У вас немає прав доступу до цього.", + "internal": "Щось пішло не так.", + "notFound": "Неправильне посилання.", + "connection": "Немає підключення до сервера." + }, + "files": { + "body": "Тіло", + "closePreview": "Закрити", + "files": "Файли", + "folders": "Папки", + "home": "Домівка", + "lastModified": "Останній раз змінено", + "loading": "Завантаження...", + "lonely": "Тут порожньо...", + "metadata": "Метадані", + "multipleSelectionEnabled": "Мультивибір включений", + "name": "Ім'я", + "size": "Розмір", + "sortByLastModified": "Сортувати за останнім зміненням", + "sortByName": "Сортувати за іменем", + "sortBySize": "Сортувати за розміром", + "noPreview": "Попередній перегляд для цього файлу недоступний.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "вибрати файл чи каталог", + "ctrl": { + "click": "вибрати кілька файлів чи каталогів", + "f": "відкрити пошук", + "s": "завантажити файл або поточний каталог" + }, + "del": "видалити вибрані елементи", + "doubleClick": "відкрити файл чи каталог", + "esc": "очистити виділення та/або закрити вікно", + "f1": "допомога", + "f2": "перейменувати файл", + "help": "Допомога" + }, + "login": { + "createAnAccount": "Створити обліковий запис", + "loginInstead": "Вже є обліковий запис", + "password": "Пароль", + "passwordConfirm": "Підтвердження паролю", + "passwordsDontMatch": "Паролі не співпадають", + "signup": "Зареєструватися", + "submit": "Увійти", + "username": "Ім'я користувача", + "usernameTaken": "Ім'я користувача вже використовується", + "wrongCredentials": "Неправильне ім'я користувача або пароль", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Постійний", + "prompts": { + "copy": "Копіювати", + "copyMessage": "Копіювати в:", + "currentlyNavigating": "Поточний каталог:", + "deleteMessageMultiple": "Видалити ці файли ({count})?", + "deleteMessageSingle": "Видалити цей файл/каталог?", + "deleteMessageShare": "Видалити цей спільний файл/каталог ({path})?", + "deleteUser": "Видалити цього користувача?", + "deleteTitle": "Видалити файли", + "displayName": "Відображене ім'я:", + "download": "Завантажити файли", + "downloadMessage": "Виберіть формат, в якому хочете завантажити.", + "error": "Помилка", + "fileInfo": "Інформація про файл", + "filesSelected": "Файлів вибрано: {count}.", + "lastModified": "Останній раз змінено", + "move": "Перемістити", + "moveMessage": "Перемістити в:", + "newArchetype": "Створіть новий запис на основі архетипу. Файл буде створено у каталозі.", + "newDir": "Новий каталог", + "newDirMessage": "Ім'я нового каталогу.", + "newFile": "Новий файл", + "newFileMessage": "Ім'я нового файлу.", + "numberDirs": "Кількість каталогів", + "numberFiles": "Кількість файлів", + "rename": "Перейменувати", + "renameMessage": "Нове ім'я", + "replace": "Замінити", + "replaceMessage": "Ім'я одного з файлів, що завантажуються, збігається з вже існуючим файлом. Ви бажаєте замінити існуючий?\n", + "schedule": "Планування", + "scheduleMessage": "Запланувати дату та час публікації.", + "show": "Показати", + "size": "Розмір", + "upload": "Вивантажити", + "uploadFiles": "Вивантаження {files} файлів...", + "uploadMessage": "Виберіть варіант для вивантаження.", + "optionalPassword": "Необов'язковий пароль", + "resolution": "Розширення", + "discardEditorChanges": "Чи дійсно ви хочете скасувати поточні зміни?" + }, + "search": { + "images": "Зображення", + "music": "Музика", + "pdf": "PDF", + "pressToSearch": "Натисніть ENTER для пошуку", + "search": "Пошук...", + "typeToSearch": "Введіть ім'я файлу...", + "types": "Типи", + "video": "Відео" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Адмін", + "administrator": "Адміністратор", + "allowCommands": "Запуск команд", + "allowEdit": "Редагування, перейменування та видалення файлів чи каталогів", + "allowNew": "Створення нових файлів або каталогів", + "allowPublish": "Публікація нових записів та сторінок", + "allowSignup": "Дозволити користувачам реєструватися", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(залишіть поле порожнім, щоб уникнути змін)", + "branding": "Брендинг", + "brandingDirectoryPath": "Шлях до каталогу брендів", + "brandingHelp": "Ви можете налаштувати зовнішній вигляд файлового браузера, змінивши його ім'я, замінивши логотип, додавши власні стилі та навіть відключивши зовнішні посилання на GitHub.\nДодаткову інформацію про персоналізований брендинг можна знайти на сторінці {0}.", + "changePassword": "Зміна пароля", + "commandRunner": "Запуск команд", + "commandRunnerHelp": "Тут ви можете встановити команди, які будуть виконуватися у зазначених подіях. Ви повинні вказати по одній команді в кожному рядку. Змінні середовища {0} та {1} будуть доступні, будучи {0} щодо {1}. Додаткові відомості про цю функцію та доступні змінні середовища див. у {2}.", + "commandsUpdated": "Команди оновлені!", + "createUserDir": "Автоматичне створення домашнього каталогу користувача при додаванні нового користувача", + "minimumPasswordLength": "Мінімальна довжина паролю", + "tusUploads": "Фрагментовані завантаження", + "tusUploadsHelp": "File Browser підтримує завантаження частинами, дозволяючи створення ефективних, надійних, відновлюваних та фрагментованих завантажень навіть при ненадійному з'єднанні.", + "tusUploadsChunkSize": "Максимальний розмір запиту (для менших завантажень використовуватиметься пряме завантаження). Ви можете ввести цілочисельне значення у байтах або ж рядок на кшталт 10MB, 1GB тощо", + "tusUploadsRetryCount": "Кількість повторних спроб які потрібно виконати, якщо фрагмент не вдалося завантажити", + "userHomeBasePath": "Основний шлях для домашніх каталогів користувачів", + "userScopeGenerationPlaceholder": "Кореневий каталог буде згенеровано автоматично", + "createUserHomeDirectory": "Створити домашній каталог користувача", + "customStylesheet": "Свій стиль", + "defaultUserDescription": "Це налаштування за замовчуванням для нових користувачів.", + "disableExternalLinks": "Вимкнути зовнішні посилання (крім документації)", + "disableUsedDiskPercentage": "Вимкнути графік використання диску", + "documentation": "документація", + "examples": "Приклади", + "executeOnShell": "Виконати в командному рядку", + "executeOnShellDescription": "За замовчуванням File Browser виконує команди, безпосередньо викликаючи їх бінарні файли. Якщо ви хочете замість цього запускати їх в оболонці (наприклад, Bash або PowerShell), ви можете визначити їх тут з необхідними аргументами та прапорами. Якщо встановлено, виконуєма вами команда буде додана як аргумент. Це стосується як користувацьких команд, так і обробників подій.", + "globalRules": "Це глобальний набір дозволяючих та забороняючих правил. Вони застосовні до кожного користувача. Ви можете визначити певні правила для налаштувань кожного користувача, щоб перевизначити їх.", + "globalSettings": "Глобальні налаштування", + "hideDotfiles": "Приховати точкові файли", + "insertPath": "Вставте шлях", + "insertRegex": "Вставити регулярний вираз", + "instanceName": "Поточна назва програми", + "language": "Мова", + "lockPassword": "Заборонити користувачеві змінювати пароль", + "newPassword": "Новий пароль", + "newPasswordConfirm": "Підтвердження нового пароля", + "newUser": "Новий користувач", + "password": "Пароль", + "passwordUpdated": "Пароль оновлено!", + "path": "Шлях", + "perm": { + "create": "Створювати файли та каталоги", + "delete": "Видаляти файли та каталоги", + "download": "Завантажувати", + "execute": "Виконувати команди", + "modify": "Редагувати файли", + "rename": "Перейменовувати або переміщувати файли та каталоги", + "share": "Ділітися файлами" + }, + "permissions": "Дозволи", + "permissionsHelp": "Можна налаштувати користувача як адміністратора чи вибрати індивідуальні дозволи. При виборі \"Адміністратор\" всі інші параметри будуть автоматично вибрані. Керування користувачами - привілей адміністратора.\n", + "profileSettings": "Налаштування профілю", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "запобігти доступу до будь-якого прихованого файлу (наприклад: .git, .gitignore) у кожній папці.\n", + "ruleExample2": "блокує доступ до файлу з ім'ям Caddyfile у кореневій області.", + "rules": "Права", + "rulesHelp": "Тут ви можете визначити набір дозволів та заборон для цього конкретного користувача. Блоковані файли не відображатимуться у списках і не будуть доступними для користувача. Є підтримка регулярних виразів та відносних шляхів.\n", + "scope": "Корінь", + "setDateFormat": "Встановити точний формат дати", + "settingsUpdated": "Налаштування застосовані!", + "shareDuration": "Тривалість спільного посилання", + "shareManagement": "Управління спільними посиланнями", + "shareDeleted": "Спільне посилання видалено!", + "singleClick": "Відкриття файлів та каталогів одним кліком", + "themes": { + "default": "За замовчуванням (системна)", + "dark": "Темна", + "light": "Світла", + "title": "Тема" + }, + "user": "Користувач", + "userCommands": "Команди", + "userCommandsHelp": "Список команд, доступних користувачу, розділений пробілами. Наприклад:\n", + "userCreated": "Користувача створено!", + "userDefaults": "Налаштування користувача за замовчуванням", + "userDeleted": "Користувача видалено!", + "userManagement": "Керування користувачами", + "userUpdated": "Користувача змінено!", + "username": "Ім'я користувача", + "users": "Користувачі", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Допомога", + "hugoNew": "Hugo New", + "login": "Увійти", + "logout": "Вийти", + "myFiles": "Файли", + "newFile": "Новий файл", + "newFolder": "Новий каталог", + "preview": "Перегляд", + "settings": "Налаштування", + "signup": "Зареєструватися", + "siteSettings": "Налаштування сайту" + }, + "success": { + "linkCopied": "Посилання скопійоване!" + }, + "time": { + "days": "Дні", + "hours": "Години", + "minutes": "Хвилини", + "seconds": "Секунди", + "unit": "Одиниця часу" + } +} diff --git a/frontend/src/i18n/vi.json b/frontend/src/i18n/vi.json new file mode 100644 index 00000000..65e7fe01 --- /dev/null +++ b/frontend/src/i18n/vi.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "Hủy", + "clear": "Xóa", + "close": "Đóng", + "continue": "Tiếp tục", + "copy": "Sao chép", + "copyFile": "Sao chép tập tin", + "copyToClipboard": "Sao chép vào clipboard", + "copyDownloadLinkToClipboard": "Sao chép liên kết tải xuống vào clipboard", + "create": "Tạo", + "delete": "Xóa", + "download": "Tải xuống", + "file": "Tập tin", + "folder": "Thư mục", + "fullScreen": "Toàn màn hình", + "hideDotfiles": "Ẩn tập tin ẩn", + "info": "Thông tin", + "more": "Thêm", + "move": "Di chuyển", + "moveFile": "Di chuyển tập tin", + "new": "Mới", + "next": "Tiếp theo", + "ok": "OK", + "permalink": "Lấy liên kết vĩnh viễn", + "previous": "Trước", + "preview": "Xem trước", + "publish": "Xuất bản", + "rename": "Đổi tên", + "replace": "Thay thế", + "reportIssue": "Báo cáo sự cố", + "save": "Lưu", + "schedule": "Lên lịch", + "search": "Tìm kiếm", + "select": "Chọn", + "selectMultiple": "Chọn nhiều", + "share": "Chia sẻ", + "shell": "Chuyển đổi shell", + "submit": "Gửi", + "switchView": "Chuyển chế độ xem", + "toggleSidebar": "Thanh bên", + "update": "Cập nhật", + "upload": "Tải lên", + "openFile": "Mở tệp", + "discardChanges": "Hủy bỏ thay đổi", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "Tải xuống tệp tin", + "downloadFolder": "Tải xuống thư mục", + "downloadSelected": "Tải xuống đã chọn" + }, + "upload": { + "abortUpload": "Bạn có chắc chắn muốn hủy tải lên không?" + }, + "errors": { + "forbidden": "Bạn không có quyền truy cập vào nội dung này.", + "internal": "Đã xảy ra lỗi nghiêm trọng.", + "notFound": "Không thể truy cập vị trí này.", + "connection": "Không thể kết nối đến máy chủ." + }, + "files": { + "body": "Nội dung", + "closePreview": "Đóng xem trước", + "files": "Tập tin", + "folders": "Thư mục", + "home": "Trang chủ", + "lastModified": "Sửa đổi lần cuối", + "loading": "Đang tải...", + "lonely": "Không có gì ở đây...", + "metadata": "Siêu dữ liệu", + "multipleSelectionEnabled": "Đã bật chọn nhiều", + "name": "Tên", + "size": "Kích thước", + "sortByLastModified": "Sắp xếp theo ngày sửa đổi", + "sortByName": "Sắp xếp theo tên", + "sortBySize": "Sắp xếp theo kích thước", + "noPreview": "Không có bản xem trước cho tập tin này.", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "chọn tập tin hoặc thư mục", + "ctrl": { + "click": "chọn nhiều tập tin hoặc thư mục", + "f": "mở tìm kiếm", + "s": "lưu tập tin hoặc tải thư mục hiện tại" + }, + "del": "xóa các mục đã chọn", + "doubleClick": "mở tập tin hoặc thư mục", + "esc": "hủy chọn và/hoặc đóng hộp thoại", + "f1": "mở trợ giúp này", + "f2": "đổi tên tập tin", + "help": "Trợ giúp" + }, + "login": { + "createAnAccount": "Tạo tài khoản", + "loginInstead": "Đã có tài khoản", + "password": "Mật khẩu", + "passwordConfirm": "Xác nhận mật khẩu", + "passwordsDontMatch": "Mật khẩu không khớp", + "signup": "Đăng ký", + "submit": "Đăng nhập", + "username": "Tên người dùng", + "usernameTaken": "Tên người dùng đã tồn tại", + "wrongCredentials": "Thông tin đăng nhập không đúng", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "Vĩnh viễn", + "prompts": { + "copy": "Sao chép", + "copyMessage": "Chọn vị trí để sao chép tệp của bạn:", + "currentlyNavigating": "Đang điều hướng tại:", + "deleteMessageMultiple": "Bạn có chắc chắn muốn xóa {count} tệp không?", + "deleteMessageSingle": "Bạn có chắc chắn muốn xóa tệp/thư mục này không?", + "deleteMessageShare": "Bạn có chắc chắn muốn xóa chia sẻ này ({path}) không?", + "deleteUser": "Bạn có chắc chắn muốn xóa người dùng này không?", + "deleteTitle": "Xóa tệp", + "displayName": "Tên hiển thị:", + "download": "Tải xuống tệp", + "downloadMessage": "Chọn định dạng bạn muốn tải xuống.", + "error": "Đã xảy ra lỗi", + "fileInfo": "Thông tin tệp", + "filesSelected": "{count} tệp đã được chọn.", + "lastModified": "Chỉnh sửa lần cuối", + "move": "Di chuyển", + "moveMessage": "Chọn vị trí mới cho tệp/thư mục của bạn:", + "newArchetype": "Tạo một bài viết mới dựa trên nguyên mẫu. Tệp của bạn sẽ được tạo trong thư mục nội dung.", + "newDir": "Thư mục mới", + "newDirMessage": "Đặt tên cho thư mục mới của bạn.", + "newFile": "Tệp mới", + "newFileMessage": "Đặt tên cho tệp mới của bạn.", + "numberDirs": "Số lượng thư mục", + "numberFiles": "Số lượng tệp", + "rename": "Đổi tên", + "renameMessage": "Nhập tên mới cho", + "replace": "Thay thế", + "replaceMessage": "Một trong những tệp bạn đang cố tải lên có tên trùng lặp. Bạn có muốn bỏ qua tệp này và tiếp tục tải lên hay thay thế tệp hiện có?\n", + "schedule": "Lên lịch", + "scheduleMessage": "Chọn ngày và giờ để lên lịch xuất bản bài viết này.", + "show": "Hiển thị", + "size": "Kích thước", + "upload": "Tải lên", + "uploadFiles": "Đang tải lên {files} tệp...", + "uploadMessage": "Chọn một tùy chọn để tải lên.", + "optionalPassword": "Mật khẩu tùy chọn", + "resolution": "Độ phân giải", + "discardEditorChanges": "Bạn có chắc chắn muốn hủy bỏ các thay đổi đã thực hiện không?" + }, + "search": { + "images": "Hình ảnh", + "music": "Nhạc", + "pdf": "PDF", + "pressToSearch": "Nhấn Enter để tìm kiếm...", + "search": "Tìm kiếm...", + "typeToSearch": "Nhập để tìm kiếm...", + "types": "Loại", + "video": "Video" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "Quản trị viên", + "administrator": "Người quản trị", + "allowCommands": "Thực thi lệnh", + "allowEdit": "Chỉnh sửa, đổi tên và xóa tệp hoặc thư mục", + "allowNew": "Tạo tệp và thư mục mới", + "allowPublish": "Xuất bản bài viết và trang mới", + "allowSignup": "Cho phép người dùng đăng ký", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(để trống để tránh thay đổi)", + "branding": "Thương hiệu", + "brandingDirectoryPath": "Đường dẫn thư mục thương hiệu", + "brandingHelp": "Bạn có thể tùy chỉnh giao diện và trải nghiệm của File Browser bằng cách thay đổi tên, thay thế logo, thêm kiểu tùy chỉnh và thậm chí vô hiệu hóa các liên kết bên ngoài đến GitHub.\nĐể biết thêm thông tin về tùy chỉnh thương hiệu, vui lòng xem {0}.", + "changePassword": "Đổi mật khẩu", + "commandRunner": "Trình chạy lệnh", + "commandRunnerHelp": "Tại đây, bạn có thể thiết lập các lệnh được thực thi trong các sự kiện đã định. Bạn phải viết một lệnh trên mỗi dòng. Các biến môi trường {0} và {1} sẽ có sẵn, trong đó {0} tương đối với {1}. Để biết thêm thông tin về tính năng này và các biến môi trường có sẵn, vui lòng đọc {2}.", + "commandsUpdated": "Lệnh đã được cập nhật!", + "createUserDir": "Tự động tạo thư mục chính của người dùng khi thêm người dùng mới", + "minimumPasswordLength": "Độ dài mật khẩu tối thiểu", + "tusUploads": "Tải lên theo phân đoạn", + "tusUploadsHelp": "File Browser hỗ trợ tải lên tệp theo phân đoạn, giúp việc tải lên trở nên hiệu quả, đáng tin cậy, có thể tiếp tục và phù hợp với mạng không ổn định.", + "tusUploadsChunkSize": "Kích thước tối đa của một yêu cầu (tải lên trực tiếp sẽ được sử dụng cho các tệp nhỏ hơn). Bạn có thể nhập một số nguyên biểu thị kích thước theo byte hoặc một chuỗi như 10MB, 1GB, v.v.", + "tusUploadsRetryCount": "Số lần thử lại nếu một phân đoạn tải lên thất bại.", + "userHomeBasePath": "Đường dẫn cơ bản của thư mục chính người dùng", + "userScopeGenerationPlaceholder": "Phạm vi sẽ được tạo tự động", + "createUserHomeDirectory": "Tạo thư mục chính của người dùng", + "customStylesheet": "Bảng định dạng tùy chỉnh", + "defaultUserDescription": "Đây là cài đặt mặc định cho người dùng mới.", + "disableExternalLinks": "Vô hiệu hóa các liên kết bên ngoài (trừ tài liệu)", + "disableUsedDiskPercentage": "Vô hiệu hóa biểu đồ phần trăm dung lượng đã sử dụng", + "documentation": "tài liệu", + "examples": "Ví dụ", + "executeOnShell": "Thực thi trên shell", + "executeOnShellDescription": "Theo mặc định, File Browser thực thi lệnh bằng cách gọi trực tiếp các tệp nhị phân của chúng. Nếu bạn muốn chạy chúng trên shell (chẳng hạn như Bash hoặc PowerShell), bạn có thể định nghĩa tại đây cùng với các tham số và cờ cần thiết. Nếu được đặt, lệnh bạn thực thi sẽ được thêm làm đối số. Điều này áp dụng cho cả lệnh người dùng và hook sự kiện.", + "globalRules": "Đây là tập hợp quy tắc chung về quyền cho phép và từ chối. Chúng áp dụng cho mọi người dùng. Bạn có thể đặt quy tắc riêng cho từng người dùng để ghi đè các quy tắc chung này.", + "globalSettings": "Cài đặt chung", + "hideDotfiles": "Ẩn tệp ẩn (dotfiles)", + "insertPath": "Nhập đường dẫn", + "insertRegex": "Nhập biểu thức regex", + "instanceName": "Tên phiên bản", + "language": "Ngôn ngữ", + "lockPassword": "Ngăn người dùng thay đổi mật khẩu", + "newPassword": "Mật khẩu mới của bạn", + "newPasswordConfirm": "Xác nhận mật khẩu mới", + "newUser": "Người dùng mới", + "password": "Mật khẩu", + "passwordUpdated": "Mật khẩu đã được cập nhật!", + "path": "Đường dẫn", + "perm": { + "create": "Tạo tệp và thư mục", + "delete": "Xóa tệp và thư mục", + "download": "Tải xuống", + "execute": "Thực thi lệnh", + "modify": "Chỉnh sửa tệp", + "rename": "Đổi tên hoặc di chuyển tệp và thư mục", + "share": "Chia sẻ tệp" + }, + "permissions": "Quyền", + "permissionsHelp": "Bạn có thể đặt người dùng làm quản trị viên hoặc chọn quyền riêng lẻ. Nếu chọn \"Người quản trị\", tất cả các tùy chọn khác sẽ tự động được chọn. Việc quản lý người dùng vẫn là đặc quyền của quản trị viên.\n", + "profileSettings": "Cài đặt hồ sơ", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "ngăn truy cập vào bất kỳ tệp ẩn nào (chẳng hạn như .git, .gitignore) trong mọi thư mục.\n", + "ruleExample2": "chặn truy cập vào tệp có tên Caddyfile trong thư mục gốc của phạm vi.", + "rules": "Quy tắc", + "rulesHelp": "Tại đây, bạn có thể xác định một tập hợp quy tắc cho phép hoặc từ chối cho người dùng cụ thể này. Các tệp bị chặn sẽ không hiển thị trong danh sách và người dùng không thể truy cập chúng. Chúng tôi hỗ trợ regex và đường dẫn tương đối với phạm vi của người dùng.\n", + "scope": "Phạm vi", + "setDateFormat": "Đặt định dạng ngày chính xác", + "settingsUpdated": "Cài đặt đã được cập nhật!", + "shareDuration": "Thời gian chia sẻ", + "shareManagement": "Quản lý chia sẻ", + "shareDeleted": "Chia sẻ đã bị xóa!", + "singleClick": "Dùng một lần nhấp để mở tệp và thư mục", + "themes": { + "default": "Mặc định hệ thống", + "dark": "Tối", + "light": "Sáng", + "title": "Chủ đề" + }, + "user": "Người dùng", + "userCommands": "Lệnh", + "userCommandsHelp": "Danh sách lệnh được phân tách bằng khoảng trắng dành cho người dùng này. Ví dụ:\n", + "userCreated": "Người dùng đã được tạo!", + "userDefaults": "Cài đặt mặc định của người dùng", + "userDeleted": "Người dùng đã bị xóa!", + "userManagement": "Quản lý người dùng", + "userUpdated": "Người dùng đã được cập nhật!", + "username": "Tên người dùng", + "users": "Người dùng", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "Trợ giúp", + "hugoNew": "Hugo New", + "login": "Đăng nhập", + "logout": "Đăng xuất", + "myFiles": "Tập tin của tôi", + "newFile": "Tập tin mới", + "newFolder": "Thư mục mới", + "preview": "Xem trước", + "settings": "Cài đặt", + "signup": "Đăng ký", + "siteSettings": "Cài đặt trang" + }, + "success": { + "linkCopied": "Liên kết đã được sao chép!" + }, + "time": { + "days": "Ngày", + "hours": "Giờ", + "minutes": "Phút", + "seconds": "Giây", + "unit": "Đơn vị" + } +} diff --git a/frontend/src/i18n/zh-cn.json b/frontend/src/i18n/zh-cn.json new file mode 100644 index 00000000..93486c21 --- /dev/null +++ b/frontend/src/i18n/zh-cn.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "取消", + "clear": "清空", + "close": "关闭", + "continue": "继续", + "copy": "复制", + "copyFile": "复制文件", + "copyToClipboard": "复制到剪贴板", + "copyDownloadLinkToClipboard": "复制下载链接到剪贴板", + "create": "创建", + "delete": "删除", + "download": "下载", + "file": "文件", + "folder": "文件夹", + "fullScreen": "切换全屏", + "hideDotfiles": "不显示隐藏文件", + "info": "信息", + "more": "更多", + "move": "移动", + "moveFile": "移动文件", + "new": "新建", + "next": "下一个", + "ok": "确定", + "permalink": "获取永久链接", + "previous": "上一个", + "preview": "预览", + "publish": "发布", + "rename": "重命名", + "replace": "替换", + "reportIssue": "报告问题", + "save": "保存", + "schedule": "计划", + "search": "搜索", + "select": "选择", + "selectMultiple": "选择多个", + "share": "分享", + "shell": "激活 Shell", + "submit": "提交", + "switchView": "切换显示方式", + "toggleSidebar": "切换侧边栏", + "update": "更新", + "upload": "上传", + "openFile": "打开文件", + "discardChanges": "放弃更改", + "stopSearch": "停止搜索", + "saveChanges": "保存更改", + "editAsText": "以文本形式编辑", + "increaseFontSize": "增大字体大小", + "decreaseFontSize": "减小字体大小" + }, + "download": { + "downloadFile": "下载文件", + "downloadFolder": "下载文件夹", + "downloadSelected": "下载已选" + }, + "upload": { + "abortUpload": "你确定要中止吗?" + }, + "errors": { + "forbidden": "你无权限访问", + "internal": "服务器出了点问题。", + "notFound": "找不到文件。", + "connection": "无法连接到服务器。" + }, + "files": { + "body": "内容", + "closePreview": "关闭预览", + "files": "文件", + "folders": "文件夹", + "home": "主页", + "lastModified": "最后修改", + "loading": "加载中...", + "lonely": "这里没有任何文件...", + "metadata": "元数据", + "multipleSelectionEnabled": "多选模式已开启", + "name": "名称", + "size": "大小", + "sortByLastModified": "按最后修改时间排序", + "sortByName": "按名称排序", + "sortBySize": "按大小排序", + "noPreview": "此文件无法预览。", + "csvTooLarge": "CSV文件大到无法预览(>5MB)。请下载查看。", + "csvLoadFailed": "加载 CSV 文件失败。", + "showingRows": "正在显示 {count} 行", + "columnSeparator": "列分隔符", + "csvSeparators": { + "comma": "逗号 (,)", + "semicolon": "分号 (;)", + "both": "逗号 (,) 和分号 (;)" + } + }, + "help": { + "click": "选择文件或文件夹", + "ctrl": { + "click": "选择多个文件或文件夹", + "f": "打开搜索框", + "s": "保存文件或下载当前文件夹" + }, + "del": "删除所选的文件/文件夹", + "doubleClick": "打开文件/文件夹", + "esc": "清除已选项或关闭提示信息", + "f1": "显示该帮助信息", + "f2": "重命名文件/文件夹", + "help": "帮助" + }, + "login": { + "createAnAccount": "创建用户", + "loginInstead": "已有用户登录", + "password": "密码", + "passwordConfirm": "确认密码", + "passwordsDontMatch": "密码不一致", + "signup": "注册", + "submit": "登录", + "username": "用户名", + "usernameTaken": "用户名已经被使用", + "wrongCredentials": "用户名或密码错误", + "passwordTooShort": "密码必须至少包含 {min} 个字符", + "logout_reasons": { + "inactivity": "由于未活动,您已登出。" + } + }, + "permanent": "永久", + "prompts": { + "copy": "复制", + "copyMessage": "请选择目标目录:", + "currentlyNavigating": "当前目录:", + "deleteMessageMultiple": "你确定要删除这 {count} 个文件吗?", + "deleteMessageSingle": "你确定要删除这个文件/文件夹吗?", + "deleteMessageShare": "你确定要删除这个分享({path})吗?", + "deleteUser": "你确定要删除这个用户吗?", + "deleteTitle": "删除文件", + "displayName": "名称:", + "download": "下载文件", + "downloadMessage": "请选择要下载的压缩格式。", + "error": "出了一点问题...", + "fileInfo": "文件信息", + "filesSelected": "已选择 {count} 个文件。", + "lastModified": "最后修改", + "move": "移动", + "moveMessage": "请选择目标目录:", + "newArchetype": "创建一个基于原型的新帖子。你的文件将会创建在内容文件夹中。", + "newDir": "新建文件夹", + "newDirMessage": "请输入新文件夹的名称。", + "newFile": "新建文件", + "newFileMessage": "请输入新文件的名称。", + "numberDirs": "文件夹数", + "numberFiles": "文件数", + "rename": "重命名", + "renameMessage": "请输入新名称,旧名称为:", + "replace": "替换", + "replaceMessage": "你尝试上传的文件中有一个与现有文件的名称存在冲突。是否替换现有的同名文件?\n", + "schedule": "计划", + "scheduleMessage": "请选择发布这篇帖子的日期与时间。", + "show": "点击以显示", + "size": "大小", + "upload": "上传", + "uploadFiles": "正在上传 {files} ...", + "uploadMessage": "选择上传选项。", + "optionalPassword": "密码(选填,不填即无密码)", + "resolution": "分辨率", + "discardEditorChanges": "你确定要放弃所做的更改吗?" + }, + "search": { + "images": "图像", + "music": "音乐", + "pdf": "PDF", + "pressToSearch": "按回车以搜索...", + "search": "搜索...", + "typeToSearch": "输入以搜索...", + "types": "类型", + "video": "视频" + }, + "settings": { + "aceEditorTheme": "Ace编辑器主题", + "admin": "管理员", + "administrator": "管理员", + "allowCommands": "执行命令(Shell 命令)", + "allowEdit": "编辑、重命名或删除文件/文件夹", + "allowNew": "创建新文件和文件夹", + "allowPublish": "发布新的帖子与页面", + "allowSignup": "允许用户注册", + "hideLoginButton": "从公开页面隐藏登录按钮", + "avoidChanges": "(留空以避免更改)", + "branding": "品牌", + "brandingDirectoryPath": "品牌信息文件夹路径", + "brandingHelp": "你可以通过改变实例名称,更换 Logo,加入自定义样式,甚至禁用到 Github 的外部链接来自定义 File Browser 的外观和感觉。\n想获得更多信息,请查看 {0}。", + "changePassword": "更改密码", + "commandRunner": "命令执行器", + "commandRunnerHelp": "你可以在此设置在下列事件中执行的命令。每行必须写一条命令。可以在命令中使用环境变量 {0} 和 {1},使 {0} 与 {1} 相关联。关于此功能和可用环境变量的更多信息,请阅读 {2}。", + "commandsUpdated": "命令已更新!", + "createUserDir": "在添加新用户的同时自动创建用户的主目录", + "minimumPasswordLength": "最小密码长度", + "tusUploads": "分块上传", + "tusUploadsHelp": "File Browser 支持分块上传,在不佳的网络下也可进行高效、可靠、可续的文件上传", + "tusUploadsChunkSize": "分块上传大小,例如 10MB 或 1GB", + "tusUploadsRetryCount": "分块上传失败时的重试次数", + "userHomeBasePath": "用户主目录的路径", + "userScopeGenerationPlaceholder": "自动生成目录范围", + "createUserHomeDirectory": "创建用户主目录", + "customStylesheet": "自定义样式表(CSS)", + "defaultUserDescription": "这些是新用户的默认设置。", + "disableExternalLinks": "禁止外部链接(帮助文档除外)", + "disableUsedDiskPercentage": "禁用磁盘已用空间展示", + "documentation": "帮助文档", + "examples": "示例", + "executeOnShell": "在 Shell 中执行", + "executeOnShellDescription": "默认情况下,File Browser 通过直接调用命令的二进制包来执行命令,如果想在 Shell中 执行(如 Bash 或 PowerShell),你可以在这里定义所使用的 Shell 和参数。设置后,你所执行的命令会作为参数追加。本设置对用户命令和事件钩子都生效。", + "globalRules": "这是全局允许与禁止规则。它们作用于所有用户。你可以给每个用户定义单独的特殊规则来覆盖全局规则。", + "globalSettings": "全局设置", + "hideDotfiles": "不显示隐藏文件", + "insertPath": "插入路径", + "insertRegex": "插入正则表达式", + "instanceName": "实例名称", + "language": "语言", + "lockPassword": "禁止用户修改密码", + "newPassword": "你的新密码", + "newPasswordConfirm": "再次输入以确认你的新密码", + "newUser": "新建用户", + "password": "密码", + "passwordUpdated": "密码已更新!", + "path": "路径", + "perm": { + "create": "创建文件和文件夹", + "delete": "删除文件和文件夹", + "download": "下载", + "execute": "执行命令", + "modify": "编辑", + "rename": "重命名或移动文件和文件夹", + "share": "分享文件" + }, + "permissions": "权限", + "permissionsHelp": "你可以将该用户设置为管理员或单独选择各项权限。如果你选择了“管理员”,则其他的选项会被自动选中,同时该用户可以管理其他用户。\n", + "profileSettings": "个人设置", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "阻止用户访问所有文件夹下任何以 . 开头的文件(隐藏文件, 例如: .git, .gitignore)。\n", + "ruleExample2": "阻止用户访问其目录范围的根目录下名为 Caddyfile 的文件。", + "rules": "规则", + "rulesHelp": "你可以为该用户制定一组黑名单或白名单式的规则,被屏蔽的文件将不会显示在列表中,用户也无权限访问,支持正则表达式和相对于用户范围的路径。\n", + "scope": "目录范围", + "setDateFormat": "显示精确的日期格式", + "settingsUpdated": "设置已更新!", + "shareDuration": "分享期限", + "shareManagement": "分享管理", + "shareDeleted": "分享已删除!", + "singleClick": "使用单击来打开文件和文件夹", + "themes": { + "default": "系统默认", + "dark": "深色", + "light": "浅色", + "title": "主题" + }, + "user": "用户", + "userCommands": "用户命令(Shell 命令)", + "userCommandsHelp": "指定该用户可以执行的命令(Shell 命令),用空格分隔。例如:\n", + "userCreated": "用户已创建!", + "userDefaults": "用户默认设置", + "userDeleted": "用户已删除!", + "userManagement": "用户管理", + "userUpdated": "用户已更新!", + "username": "用户名", + "users": "用户", + "currentPassword": "您当前的密码" + }, + "sidebar": { + "help": "帮助", + "hugoNew": "Hugo 新建", + "login": "登录", + "logout": "登出", + "myFiles": "我的文件", + "newFile": "新建文件", + "newFolder": "新建文件夹", + "preview": "预览", + "settings": "设置", + "signup": "注册", + "siteSettings": "网站设置" + }, + "success": { + "linkCopied": "链接已复制!" + }, + "time": { + "days": "天", + "hours": "小时", + "minutes": "分钟", + "seconds": "秒", + "unit": "时间单位" + } +} diff --git a/frontend/src/i18n/zh-tw.json b/frontend/src/i18n/zh-tw.json new file mode 100644 index 00000000..c0cafc3d --- /dev/null +++ b/frontend/src/i18n/zh-tw.json @@ -0,0 +1,288 @@ +{ + "buttons": { + "cancel": "取消", + "clear": "清空", + "close": "關閉", + "continue": "繼續", + "copy": "複製", + "copyFile": "複製檔案", + "copyToClipboard": "複製到剪貼簿", + "copyDownloadLinkToClipboard": "複製到剪貼簿", + "create": "建立", + "delete": "刪除", + "download": "下載", + "file": "檔案", + "folder": "資料夾", + "fullScreen": "切換全螢幕", + "hideDotfiles": "隱藏隱藏檔案", + "info": "資訊", + "more": "更多", + "move": "移動", + "moveFile": "移動檔案", + "new": "新", + "next": "下一個", + "ok": "確認", + "permalink": "獲取永久連結", + "previous": "上一個", + "preview": "預覽", + "publish": "發佈", + "rename": "重新命名", + "replace": "更換", + "reportIssue": "報告問題", + "save": "儲存", + "schedule": "計畫", + "search": "搜尋", + "select": "選擇", + "selectMultiple": "選擇多個", + "share": "分享", + "shell": "切換 shell", + "submit": "提交", + "switchView": "切換顯示方式", + "toggleSidebar": "切換側邊欄", + "update": "更新", + "upload": "上傳", + "openFile": "開啟檔案", + "discardChanges": "放棄變更", + "stopSearch": "Stop searching", + "saveChanges": "Save changes", + "editAsText": "Edit as Text", + "increaseFontSize": "Increase font size", + "decreaseFontSize": "Decrease font size" + }, + "download": { + "downloadFile": "下載檔案", + "downloadFolder": "下載資料夾", + "downloadSelected": "下載已選擇" + }, + "upload": { + "abortUpload": "你確定要中止嗎?" + }, + "errors": { + "forbidden": "您無權訪問。", + "internal": "伺服器出了點問題。", + "notFound": "找不到檔案。", + "connection": "無法連接到伺服器。" + }, + "files": { + "body": "内容", + "closePreview": "關閉預覽", + "files": "檔案", + "folders": "資料夾", + "home": "主頁", + "lastModified": "最後修改", + "loading": "讀取中...", + "lonely": "這裡沒有任何檔案...", + "metadata": "詮釋資料", + "multipleSelectionEnabled": "多選模式已開啟", + "name": "名稱", + "size": "大小", + "sortByLastModified": "按最後修改時間排序", + "sortByName": "按名稱排序", + "sortBySize": "按大小排序", + "noPreview": "此檔案無法預覽。", + "csvTooLarge": "CSV file is too large for preview (>5MB). Please download to view.", + "csvLoadFailed": "Failed to load CSV file.", + "showingRows": "Showing {count} row(s)", + "columnSeparator": "Column Separator", + "csvSeparators": { + "comma": "Comma (,)", + "semicolon": "Semicolon (;)", + "both": "Both (,) and (;)" + } + }, + "help": { + "click": "選擇檔案或目錄", + "ctrl": { + "click": "選擇多個檔案或目錄", + "f": "打開搜尋列", + "s": "儲存檔案或下載目前資料夾" + }, + "del": "刪除所選的檔案/資料夾", + "doubleClick": "打開檔案/資料夾", + "esc": "清除已選項或關閉提示資訊", + "f1": "顯示該幫助資訊", + "f2": "重新命名檔案/資料夾", + "help": "幫助" + }, + "login": { + "createAnAccount": "新建賬戶", + "loginInstead": "已有賬戶登錄", + "password": "密碼", + "passwordConfirm": "確認密碼", + "passwordsDontMatch": "密碼不匹配", + "signup": "註冊", + "submit": "登入", + "username": "帳號", + "usernameTaken": "用戶名已存在", + "wrongCredentials": "帳號或密碼錯誤", + "passwordTooShort": "Password must be at least {min} characters", + "logout_reasons": { + "inactivity": "You have been logged out due to inactivity." + } + }, + "permanent": "永久", + "prompts": { + "copy": "複製", + "copyMessage": "請選擇欲複製至的目錄:", + "currentlyNavigating": "目前目錄:", + "deleteMessageMultiple": "你確定要刪除這 {count} 個檔案嗎?", + "deleteMessageSingle": "你確定要刪除這個檔案/資料夾嗎?", + "deleteMessageShare": "你確定要刪除這個分享({path})嗎?", + "deleteUser": "你確定要刪除這個使用者嗎?", + "deleteTitle": "刪除檔案", + "displayName": "名稱:", + "download": "下載檔案", + "downloadMessage": "請選擇要下載的壓縮格式。", + "error": "發出了一點錯誤...", + "fileInfo": "檔案資訊", + "filesSelected": "已選擇 {count} 個檔案。", + "lastModified": "最後修改", + "move": "移動", + "moveMessage": "請選擇欲移動至的目錄:", + "newArchetype": "建立一個基於原型的新貼文。您的檔案將會建立在內容資料夾中。", + "newDir": "建立目錄", + "newDirMessage": "請輸入新目錄的名稱。", + "newFile": "建立檔案", + "newFileMessage": "請輸入新檔案的名稱。", + "numberDirs": "目錄數", + "numberFiles": "檔案數", + "rename": "重新命名", + "renameMessage": "請輸入新名稱,舊名稱為:", + "replace": "替換", + "replaceMessage": "您嘗試上傳的檔案中有一個與現有檔案的名稱存在衝突。是否取代現有的同名檔案?", + "schedule": "計畫", + "scheduleMessage": "請選擇發佈這篇貼文的日期與時間。", + "show": "顯示", + "size": "大小", + "upload": "上傳", + "uploadFiles": "正在上傳 {files} ...", + "uploadMessage": "選擇上傳項。", + "optionalPassword": "密碼(選填,不填即無密碼)", + "resolution": "解析度", + "discardEditorChanges": "你確定要放棄所做的變更嗎?" + }, + "search": { + "images": "影像", + "music": "音樂", + "pdf": "PDF", + "pressToSearch": "按確認鍵搜尋...", + "search": "搜尋...", + "typeToSearch": "輸入以搜尋...", + "types": "類型", + "video": "影片" + }, + "settings": { + "aceEditorTheme": "Ace editor theme", + "admin": "管理員", + "administrator": "管理員", + "allowCommands": "執行命令", + "allowEdit": "編輯、重命名或刪除檔案/目錄", + "allowNew": "建立新檔案和目錄", + "allowPublish": "發佈新的貼文與頁面", + "allowSignup": "允許使用者註冊", + "hideLoginButton": "Hide the login button from public pages", + "avoidChanges": "(留空以避免更改)", + "branding": "品牌", + "brandingDirectoryPath": "品牌資訊資料夾路徑", + "brandingHelp": "您可以通過改變例項名稱,更換Logo,加入自定義樣式,甚至禁用到Github的外部連結來自定義File Browser的外觀和給人的感覺。\n想獲得更多資訊,請檢視 {0} 。", + "changePassword": "更改密碼", + "commandRunner": "命令執行器", + "commandRunnerHelp": "在這裡你可以設定在下面的事件中執行的命令。每行必須寫一條命令。可以在命令中使用環境變數 {0} 和 {1}。關於此功能和可用環境變數的更多資訊,請閱讀{2}.", + "commandsUpdated": "命令已更新!", + "createUserDir": "在新增新使用者的同時自動建立使用者的個人目錄", + "minimumPasswordLength": "密碼最短長度", + "tusUploads": "分塊上傳", + "tusUploadsHelp": "File Browser 支援分塊上傳,在不佳的網絡環境下也可進行高效、可靠、可續的檔案上傳", + "tusUploadsChunkSize": "分塊上傳大小,例如 10MB 或 1GB", + "tusUploadsRetryCount": "分塊上傳失敗時的重試次數", + "userHomeBasePath": "使用者主目錄的路徑", + "userScopeGenerationPlaceholder": "自動生成目錄範圍", + "createUserHomeDirectory": "建立使用者主目錄", + "customStylesheet": "自定義樣式表(CSS)", + "defaultUserDescription": "這些是新使用者的預設設定。", + "disableExternalLinks": "禁止外部連結(幫助文件除外)", + "disableUsedDiskPercentage": "停用已使用磁碟空間百分比圖", + "documentation": "幫助文件", + "examples": "範例", + "executeOnShell": "在Shell中執行", + "executeOnShellDescription": "預設情況下,File Browser通過直接呼叫命令的二進位制包來執行命令,如果想在shell中執行(如Bash、PowerShell),你可以在這裡定義所使用的shell和參數。如果設定了這個選項,所執行的命令會作為參數追加在後面。本選項對使用者命令和事件鉤子都生效。", + "globalRules": "這是全局允許與禁止規則。它們作用於所有使用者。您可以給每個使用者定義單獨的特殊規則來覆蓋全局規則。", + "globalSettings": "全域設定", + "hideDotfiles": "隱藏隱藏檔案", + "insertPath": "插入路徑", + "insertRegex": "插入正規表示式", + "instanceName": "例項名稱", + "language": "語言", + "lockPassword": "禁止使用者修改密碼", + "newPassword": "您的新密碼", + "newPasswordConfirm": "重輸一遍新密碼", + "newUser": "建立使用者", + "password": "密碼", + "passwordUpdated": "密碼已更新!", + "path": "路徑", + "perm": { + "create": "建立檔案和資料夾", + "delete": "刪除檔案和資料夾", + "download": "下載", + "execute": "執行命令", + "modify": "編輯檔案", + "rename": "重命名或移動檔案/資料夾", + "share": "分享檔案" + }, + "permissions": "權限", + "permissionsHelp": "您可以將該使用者設置為管理員,也可以單獨選擇各項權限。如果選擇了“管理員”,則其他的選項會被自動勾上,同時該使用者可以管理其他使用者。", + "profileSettings": "個人設定", + "redirectAfterCopyMove": "Redirect to destination after copy/move", + "ruleExample1": "封鎖使用者存取所有資料夾下任何以 . 開頭的檔案(隱藏文件, 例如: .git, .gitignore)。", + "ruleExample2": "封鎖使用者存取其目錄範圍的根目錄下名為 Caddyfile 的檔案。", + "rules": "規則", + "rulesHelp": "您可以為該使用者製定一組黑名單或白名單式的規則,被屏蔽的檔案將不會顯示在清單中,使用者也無權限存取,支持相對於目錄範圍的路徑。", + "scope": "目錄範圍", + "setDateFormat": "顯示精確的日期格式", + "settingsUpdated": "設定已更新!", + "shareDuration": "分享期限", + "shareManagement": "分享管理", + "shareDeleted": "分享已刪除!", + "singleClick": "使用單擊開啟檔案和目錄", + "themes": { + "default": "系統預設", + "dark": "深色", + "light": "淺色", + "title": "主題" + }, + "user": "使用者", + "userCommands": "使用者命令(Shell 命令)", + "userCommandsHelp": "指定該使用者可以執行的命令(Shell 命令),用空格分隔。例如:", + "userCreated": "使用者已建立!", + "userDefaults": "使用者預設選項", + "userDeleted": "使用者已刪除!", + "userManagement": "使用者管理", + "userUpdated": "使用者已更新!", + "username": "使用者名稱", + "users": "使用者", + "currentPassword": "Your Current Password" + }, + "sidebar": { + "help": "幫助", + "hugoNew": "Hugo 新建", + "login": "登入", + "logout": "登出", + "myFiles": "我的檔案", + "newFile": "建立檔案", + "newFolder": "建立資料夾", + "preview": "預覽", + "settings": "設定", + "signup": "註冊", + "siteSettings": "網站設定" + }, + "success": { + "linkCopied": "連結已複製!" + }, + "time": { + "days": "天", + "hours": "小時", + "minutes": "分鐘", + "seconds": "秒", + "unit": "時間單位" + } +} diff --git a/frontend/src/index.d.ts b/frontend/src/index.d.ts new file mode 100644 index 00000000..11a8c6e2 --- /dev/null +++ b/frontend/src/index.d.ts @@ -0,0 +1 @@ +declare module "*.vue"; diff --git a/frontend/src/main.ts b/frontend/src/main.ts new file mode 100644 index 00000000..42f44205 --- /dev/null +++ b/frontend/src/main.ts @@ -0,0 +1,109 @@ +import { disableExternal } from "@/utils/constants"; +import { createApp } from "vue"; +import VueNumberInput from "@chenfengyuan/vue-number-input"; +import VueLazyload from "vue-lazyload"; +import { createVfm } from "vue-final-modal"; +import Toast, { POSITION, useToast } from "vue-toastification"; +import type { + ToastOptions, + PluginOptions, +} from "vue-toastification/dist/types/types"; +import createPinia from "@/stores"; +import router from "@/router"; +import i18n, { isRtl } from "@/i18n"; +import App from "@/App.vue"; +import CustomToast from "@/components/CustomToast.vue"; + +import dayjs from "dayjs"; +import localizedFormat from "dayjs/plugin/localizedFormat"; +import relativeTime from "dayjs/plugin/relativeTime"; +import duration from "dayjs/plugin/duration"; + +import "./css/styles.css"; + +// register dayjs plugins globally +dayjs.extend(localizedFormat); +dayjs.extend(relativeTime); +dayjs.extend(duration); + +const pinia = createPinia(router); +const vfm = createVfm(); + +const app = createApp(App); + +app.component(VueNumberInput.name || "vue-number-input", VueNumberInput); +app.use(VueLazyload); +app.use(Toast, { + transition: "Vue-Toastification__bounce", + maxToasts: 10, + newestOnTop: true, +} satisfies PluginOptions); + +app.use(vfm); +app.use(i18n); +app.use(pinia); +app.use(router); + +app.mixin({ + mounted() { + // expose vue instance to components + this.$el.__vue__ = this; + }, +}); + +// provide v-focus for components +app.directive("focus", { + mounted: async (el) => { + // initiate focus for the element + el.focus(); + }, +}); + +const toastConfig = { + position: POSITION.BOTTOM_CENTER, + timeout: 4000, + closeOnClick: true, + pauseOnFocusLoss: true, + pauseOnHover: true, + draggable: true, + draggablePercent: 0.6, + showCloseButtonOnHover: false, + hideProgressBar: false, + closeButton: "button", + icon: true, +} satisfies ToastOptions; + +app.provide("$showSuccess", (message: string) => { + const $toast = useToast(); + $toast.success( + { + component: CustomToast, + props: { + message: message, + }, + }, + { ...toastConfig, rtl: isRtl() } + ); +}); + +app.provide("$showError", (error: Error | string, displayReport = true) => { + const $toast = useToast(); + $toast.error( + { + component: CustomToast, + props: { + message: (error as Error).message || error, + isReport: !disableExternal && displayReport, + // TODO: could you add this to the component itself? + reportText: i18n.global.t("buttons.reportIssue"), + }, + }, + { + ...toastConfig, + timeout: 0, + rtl: isRtl(), + } + ); +}); + +router.isReady().then(() => app.mount("#app")); diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts new file mode 100644 index 00000000..60e7b636 --- /dev/null +++ b/frontend/src/router/index.ts @@ -0,0 +1,221 @@ +import type { RouteLocation } from "vue-router"; +import { createRouter, createWebHistory } from "vue-router"; +import Login from "@/views/Login.vue"; +import Layout from "@/views/Layout.vue"; +import Files from "@/views/Files.vue"; +import Share from "@/views/Share.vue"; +import Users from "@/views/settings/Users.vue"; +import User from "@/views/settings/User.vue"; +import Settings from "@/views/Settings.vue"; +import GlobalSettings from "@/views/settings/Global.vue"; +import ProfileSettings from "@/views/settings/Profile.vue"; +import Shares from "@/views/settings/Shares.vue"; +import Errors from "@/views/Errors.vue"; +import { useAuthStore } from "@/stores/auth"; +import { baseURL, name } from "@/utils/constants"; +import i18n from "@/i18n"; +import { recaptcha, loginPage } from "@/utils/constants"; +import { login, validateLogin } from "@/utils/auth"; + +const titles = { + Login: "sidebar.login", + Share: "buttons.share", + Files: "files.files", + Settings: "sidebar.settings", + ProfileSettings: "settings.profileSettings", + Shares: "settings.shareManagement", + GlobalSettings: "settings.globalSettings", + Users: "settings.users", + User: "settings.user", + Forbidden: "errors.forbidden", + NotFound: "errors.notFound", + InternalServerError: "errors.internal", +}; + +const routes = [ + { + path: "/login", + name: "Login", + component: Login, + }, + { + path: "/share", + component: Layout, + children: [ + { + path: ":path*", + name: "Share", + component: Share, + }, + ], + }, + { + path: "/files", + component: Layout, + meta: { + requiresAuth: true, + }, + children: [ + { + path: ":path*", + name: "Files", + component: Files, + }, + ], + }, + { + path: "/settings", + component: Layout, + meta: { + requiresAuth: true, + }, + children: [ + { + path: "", + name: "Settings", + component: Settings, + redirect: { + path: "/settings/profile", + }, + children: [ + { + path: "profile", + name: "ProfileSettings", + component: ProfileSettings, + }, + { + path: "shares", + name: "Shares", + component: Shares, + }, + { + path: "global", + name: "GlobalSettings", + component: GlobalSettings, + meta: { + requiresAdmin: true, + }, + }, + { + path: "users", + name: "Users", + component: Users, + meta: { + requiresAdmin: true, + }, + }, + { + path: "users/:id", + name: "User", + component: User, + meta: { + requiresAdmin: true, + }, + }, + ], + }, + ], + }, + { + path: "/403", + name: "Forbidden", + component: Errors, + props: { + errorCode: 403, + showHeader: true, + }, + }, + { + path: "/404", + name: "NotFound", + component: Errors, + props: { + errorCode: 404, + showHeader: true, + }, + }, + { + path: "/500", + name: "InternalServerError", + component: Errors, + props: { + errorCode: 500, + showHeader: true, + }, + }, + { + path: "/:catchAll(.*)*", + redirect: (to: RouteLocation) => + `/files/${[...to.params.catchAll].join("/")}`, + }, +]; + +async function initAuth() { + if (loginPage) { + await validateLogin(); + } else { + await login("", "", ""); + } + + if (recaptcha) { + await new Promise((resolve) => { + const check = () => { + if (typeof window.grecaptcha === "undefined") { + setTimeout(check, 100); + } else { + resolve(); + } + }; + + check(); + }); + } +} + +const router = createRouter({ + history: createWebHistory(baseURL), + routes, +}); + +router.beforeResolve(async (to, from, next) => { + const title = i18n.global.t(titles[to.name as keyof typeof titles]); + document.title = title + " - " + name; + + const authStore = useAuthStore(); + + // this will only be null on first route + if (from.name == null) { + try { + await initAuth(); + } catch (error) { + console.error(error); + } + } + + if (to.path.endsWith("/login") && authStore.isLoggedIn) { + next({ path: "/files/" }); + return; + } + + if (to.matched.some((record) => record.meta.requiresAuth)) { + if (!authStore.isLoggedIn) { + next({ + path: "/login", + query: { redirect: to.fullPath }, + }); + + return; + } + + if (to.matched.some((record) => record.meta.requiresAdmin)) { + if (authStore.user === null || !authStore.user.perm.admin) { + next({ path: "/403" }); + return; + } + } + } + + next(); +}); + +export { router, router as default }; diff --git a/frontend/src/stores/auth.ts b/frontend/src/stores/auth.ts new file mode 100644 index 00000000..c33db87a --- /dev/null +++ b/frontend/src/stores/auth.ts @@ -0,0 +1,46 @@ +import { defineStore } from "pinia"; +import { detectLocale, setLocale } from "@/i18n"; +import { cloneDeep } from "lodash-es"; + +export const useAuthStore = defineStore("auth", { + // convert to a function + state: (): { + user: IUser | null; + jwt: string; + logoutTimer: number | null; + } => ({ + user: null, + jwt: "", + logoutTimer: null, + }), + getters: { + // user and jwt getter removed, no longer needed + isLoggedIn: (state) => state.user !== null, + }, + actions: { + // no context as first argument, use `this` instead + setUser(user: IUser) { + if (user === null) { + this.user = null; + return; + } + + setLocale(user.locale || detectLocale()); + this.user = user; + }, + updateUser(user: Partial) { + if (user.locale) { + setLocale(user.locale); + } + + this.user = { ...this.user, ...cloneDeep(user) } as IUser; + }, + // easily reset state using `$reset` + clearUser() { + this.$reset(); + }, + setLogoutTimer(logoutTimer: number | null) { + this.logoutTimer = logoutTimer; + }, + }, +}); diff --git a/frontend/src/stores/clipboard.ts b/frontend/src/stores/clipboard.ts new file mode 100644 index 00000000..5ad8a775 --- /dev/null +++ b/frontend/src/stores/clipboard.ts @@ -0,0 +1,24 @@ +import { defineStore } from "pinia"; + +export const useClipboardStore = defineStore("clipboard", { + // convert to a function + state: (): { + key: string; + items: ClipItem[]; + path?: string; + } => ({ + key: "", + items: [], + path: undefined, + }), + getters: { + // user and jwt getter removed, no longer needed + }, + actions: { + // no context as first argument, use `this` instead + // easily reset state using `$reset` + resetClipboard() { + this.$reset(); + }, + }, +}); diff --git a/frontend/src/stores/file.ts b/frontend/src/stores/file.ts new file mode 100644 index 00000000..6ffe35d6 --- /dev/null +++ b/frontend/src/stores/file.ts @@ -0,0 +1,65 @@ +import { defineStore } from "pinia"; + +export const useFileStore = defineStore("file", { + // convert to a function + state: (): { + req: Resource | null; + oldReq: Resource | null; + reload: boolean; + selected: number[]; + multiple: boolean; + isFiles: boolean; + preselect: string | null; + } => ({ + req: null, + oldReq: null, + reload: false, + selected: [], + multiple: false, + isFiles: false, + preselect: null, + }), + getters: { + selectedCount: (state) => state.selected.length, + // route: () => { + // const routerStore = useRouterStore(); + // return routerStore.router.currentRoute; + // }, + // isFiles: (state) => { + // const layoutStore = useLayoutStore(); + // return !layoutStore.loading && state.route._value.name === "Files"; + // }, + isListing: (state) => { + return state.isFiles && state?.req?.isDir; + }, + }, + actions: { + // no context as first argument, use `this` instead + toggleMultiple() { + this.multiple = !this.multiple; + }, + updateRequest(value: Resource | null) { + const selectedItems = this.selected.map((i) => this.req?.items[i]); + this.oldReq = this.req; + this.req = value; + + this.selected = []; + + if (!this.req?.items) return; + this.selected = this.req.items + .filter((item) => + selectedItems.some((rItem) => rItem?.url === item.url) + ) + .map((item) => item.index); + }, + removeSelected(value: any) { + const i = this.selected.indexOf(value); + if (i === -1) return; + this.selected.splice(i, 1); + }, + // easily reset state using `$reset` + clearFile() { + this.$reset(); + }, + }, +}); diff --git a/frontend/src/stores/index.ts b/frontend/src/stores/index.ts new file mode 100644 index 00000000..4173f75a --- /dev/null +++ b/frontend/src/stores/index.ts @@ -0,0 +1,12 @@ +import { createPinia as _createPinia } from "pinia"; +import { markRaw } from "vue"; +import type { Router } from "vue-router"; + +export default function createPinia(router: Router) { + const pinia = _createPinia(); + pinia.use(({ store }) => { + store.router = markRaw(router); + }); + + return pinia; +} diff --git a/frontend/src/stores/layout.ts b/frontend/src/stores/layout.ts new file mode 100644 index 00000000..372fca06 --- /dev/null +++ b/frontend/src/stores/layout.ts @@ -0,0 +1,86 @@ +import { defineStore } from "pinia"; +// import { useAuthPreferencesStore } from "./auth-preferences"; +// import { useAuthEmailStore } from "./auth-email"; + +export const useLayoutStore = defineStore("layout", { + // convert to a function + state: (): { + loading: boolean; + prompts: PopupProps[]; + showShell: boolean | null; + } => ({ + loading: false, + prompts: [], + showShell: false, + }), + getters: { + currentPrompt(state) { + return state.prompts.length > 0 + ? state.prompts[state.prompts.length - 1] + : null; + }, + currentPromptName(): string | null | undefined { + return this.currentPrompt?.prompt; + }, + // user and jwt getter removed, no longer needed + }, + actions: { + // no context as first argument, use `this` instead + toggleShell() { + this.showShell = !this.showShell; + }, + setCloseOnPrompt(closeFunction: () => Promise, onPrompt: string) { + const prompt = this.prompts.find((prompt) => prompt.prompt === onPrompt); + if (prompt) { + prompt.close = closeFunction; + } + }, + showHover(value: PopupProps | string) { + if (typeof value !== "object") { + this.prompts.push({ + prompt: value, + confirm: null, + action: undefined, + saveAction: undefined, + props: null, + close: null, + }); + return; + } + + this.prompts.push({ + prompt: value.prompt, + confirm: value?.confirm, + action: value?.action, + saveAction: value?.saveAction, + props: value?.props, + close: value?.close, + }); + }, + showError() { + this.prompts.push({ + prompt: "error", + confirm: null, + action: undefined, + props: null, + close: null, + }); + }, + showSuccess() { + this.prompts.push({ + prompt: "success", + confirm: null, + action: undefined, + props: null, + close: null, + }); + }, + closeHovers() { + this.prompts.shift()?.close?.(); + }, + // easily reset state using `$reset` + clearLayout() { + this.$reset(); + }, + }, +}); diff --git a/frontend/src/stores/router.ts b/frontend/src/stores/router.ts new file mode 100644 index 00000000..e598824c --- /dev/null +++ b/frontend/src/stores/router.ts @@ -0,0 +1,14 @@ +import { defineStore } from "pinia"; + +/** + * Dummy store for exposing router to be used in other stores + * @example + * // route: () => { + * // const routerStore = useRouterStore(); + * // return routerStore.router.currentRoute; + * // }, + */ +export const useRouterStore = defineStore("routerStore", () => { + // can be an empty definition + return {}; +}); diff --git a/frontend/src/stores/upload.ts b/frontend/src/stores/upload.ts new file mode 100644 index 00000000..53d96ea9 --- /dev/null +++ b/frontend/src/stores/upload.ts @@ -0,0 +1,180 @@ +import { defineStore } from "pinia"; +import { useFileStore } from "./file"; +import { files as api } from "@/api"; +import buttons from "@/utils/buttons"; +import { computed, inject, markRaw, ref } from "vue"; +import * as tus from "@/api/tus"; + +// TODO: make this into a user setting +const UPLOADS_LIMIT = 5; + +const beforeUnload = (event: Event) => { + event.preventDefault(); + // To remove >> is deprecated + // event.returnValue = ""; +}; + +export const useUploadStore = defineStore("upload", () => { + const $showError = inject("$showError")!; + + let progressInterval: number | null = null; + + // + // STATE + // + + const allUploads = ref([]); + const activeUploads = ref>(new Set()); + const lastUpload = ref(-1); + const totalBytes = ref(0); + const sentBytes = ref(0); + + // + // ACTIONS + // + + const upload = ( + path: string, + name: string, + file: File | null, + overwrite: boolean, + type: ResourceType + ) => { + if (!hasActiveUploads() && !hasPendingUploads()) { + window.addEventListener("beforeunload", beforeUnload); + buttons.loading("upload"); + } + + const upload: Upload = { + path, + name, + file, + overwrite, + type, + totalBytes: file?.size || 1, + sentBytes: 0, + // Stores rapidly changing sent bytes value without causing component re-renders + rawProgress: markRaw({ + sentBytes: 0, + }), + }; + + totalBytes.value += upload.totalBytes; + allUploads.value.push(upload); + + processUploads(); + }; + + const abort = () => { + // Resets the state by preventing the processing of the remaning uploads + lastUpload.value = Infinity; + tus.abortAllUploads(); + }; + + // + // GETTERS + // + + const pendingUploadCount = computed( + () => + allUploads.value.length - + (lastUpload.value + 1) + + activeUploads.value.size + ); + + // + // PRIVATE FUNCTIONS + // + + const hasActiveUploads = () => activeUploads.value.size > 0; + + const hasPendingUploads = () => + allUploads.value.length > lastUpload.value + 1; + + const isActiveUploadsOnLimit = () => activeUploads.value.size < UPLOADS_LIMIT; + + const processUploads = async () => { + if (!hasActiveUploads() && !hasPendingUploads()) { + const fileStore = useFileStore(); + window.removeEventListener("beforeunload", beforeUnload); + buttons.success("upload"); + reset(); + fileStore.reload = true; + } + + if (isActiveUploadsOnLimit() && hasPendingUploads()) { + if (!hasActiveUploads()) { + // Update the state in a fixed time interval + progressInterval = window.setInterval(syncState, 1000); + } + + const upload = nextUpload(); + + if (upload.type === "dir") { + await api.post(upload.path).catch($showError); + } else { + const onUpload = (event: ProgressEvent) => { + upload.rawProgress.sentBytes = event.loaded; + }; + + await api + .post(upload.path, upload.file!, upload.overwrite, onUpload) + .catch((err) => err.message !== "Upload aborted" && $showError(err)); + } + + finishUpload(upload); + } + }; + + const nextUpload = (): Upload => { + lastUpload.value++; + + const upload = allUploads.value[lastUpload.value]; + activeUploads.value.add(upload); + + return upload; + }; + + const finishUpload = (upload: Upload) => { + sentBytes.value += upload.totalBytes - upload.sentBytes; + upload.sentBytes = upload.totalBytes; + upload.file = null; + + activeUploads.value.delete(upload); + processUploads(); + }; + + const syncState = () => { + for (const upload of activeUploads.value) { + sentBytes.value += upload.rawProgress.sentBytes - upload.sentBytes; + upload.sentBytes = upload.rawProgress.sentBytes; + } + }; + + const reset = () => { + if (progressInterval !== null) { + clearInterval(progressInterval); + progressInterval = null; + } + + allUploads.value = []; + activeUploads.value = new Set(); + lastUpload.value = -1; + totalBytes.value = 0; + sentBytes.value = 0; + }; + + return { + // STATE + activeUploads, + totalBytes, + sentBytes, + + // ACTIONS + upload, + abort, + + // GETTERS + pendingUploadCount, + }; +}); diff --git a/frontend/src/types/api.d.ts b/frontend/src/types/api.d.ts new file mode 100644 index 00000000..c1592a21 --- /dev/null +++ b/frontend/src/types/api.d.ts @@ -0,0 +1,34 @@ +type ApiMethod = "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; + +type ApiContent = + | Blob + | File + | Pick, "read"> + | ""; + +interface ApiOpts { + method?: ApiMethod; + headers?: object; + body?: any; + signal?: AbortSignal; +} + +interface TusSettings { + retryCount: number; + chunkSize: number; +} + +type ChecksumAlg = "md5" | "sha1" | "sha256" | "sha512"; + +interface Share { + hash: string; + path: string; + expire?: any; + userID?: number; + token?: string; + username?: string; +} + +interface SearchParams { + [key: string]: string; +} diff --git a/frontend/src/types/file.d.ts b/frontend/src/types/file.d.ts new file mode 100644 index 00000000..5664c16b --- /dev/null +++ b/frontend/src/types/file.d.ts @@ -0,0 +1,59 @@ +interface ResourceBase { + path: string; + name: string; + size: number; + extension: string; + modified: string; // ISO 8601 datetime + mode: number; + isDir: boolean; + isSymlink: boolean; + type: ResourceType; + url: string; +} + +interface Resource extends ResourceBase { + items: ResourceItem[]; + numDirs: number; + numFiles: number; + sorting: Sorting; + hash?: string; + token?: string; + index: number; + subtitles?: string[]; + content?: string; +} + +interface ResourceItem extends ResourceBase { + index: number; + subtitles?: string[]; +} + +type ResourceType = + | "dir" + | "video" + | "audio" + | "image" + | "pdf" + | "text" + | "blob" + | "textImmutable"; + +type DownloadFormat = + | "zip" + | "tar" + | "targz" + | "tarbz2" + | "tarxz" + | "tarlz4" + | "tarsz" + | null; + +interface ClipItem { + from: string; + name: string; +} + +interface BreadCrumb { + name: string; + url: string; +} diff --git a/frontend/src/types/global.d.ts b/frontend/src/types/global.d.ts new file mode 100644 index 00000000..5475c908 --- /dev/null +++ b/frontend/src/types/global.d.ts @@ -0,0 +1,13 @@ +export {}; + +declare global { + interface Window { + FileBrowser: any; + grecaptcha: any; + } + + interface HTMLElement { + // TODO: no idea what the exact type is + __vue__: any; + } +} diff --git a/frontend/src/types/layout.d.ts b/frontend/src/types/layout.d.ts new file mode 100644 index 00000000..a5c3f160 --- /dev/null +++ b/frontend/src/types/layout.d.ts @@ -0,0 +1,10 @@ +interface PopupProps { + prompt: string; + confirm?: any; + action?: PopupAction; + saveAction?: () => void; + props?: any; + close?: (() => Promise) | null; +} + +type PopupAction = (e: Event) => void; diff --git a/frontend/src/types/settings.d.ts b/frontend/src/types/settings.d.ts new file mode 100644 index 00000000..18672bdf --- /dev/null +++ b/frontend/src/types/settings.d.ts @@ -0,0 +1,62 @@ +interface ISettings { + signup: boolean; + createUserDir: boolean; + hideLoginButton: boolean; + minimumPasswordLength: number; + userHomeBasePath: string; + defaults: SettingsDefaults; + authMethod: string; + rules: any[]; + branding: SettingsBranding; + tus: SettingsTus; + shell: string[]; + commands: SettingsCommand; +} + +interface SettingsDefaults { + scope: string; + locale: string; + viewMode: ViewModeType; + singleClick: boolean; + redirectAfterCopyMove: boolean; + sorting: Sorting; + perm: Permissions; + commands: any[]; + hideDotfiles: boolean; + dateFormat: boolean; + aceEditorTheme: string; +} + +interface SettingsBranding { + name: string; + disableExternal: boolean; + disableUsedPercentage: boolean; + files: string; + theme: UserTheme; + color: string; +} + +interface SettingsTus { + chunkSize: number; + retryCount: number; +} + +interface SettingsCommand { + after_copy?: string[]; + after_delete?: string[]; + after_rename?: string[]; + after_save?: string[]; + after_upload?: string[]; + before_copy?: string[]; + before_delete?: string[]; + before_rename?: string[]; + before_save?: string[]; + before_upload?: string[]; +} + +interface SettingsUnit { + KB: number; + MB: number; + GB: number; + TB: number; +} diff --git a/frontend/src/types/toast.d.ts b/frontend/src/types/toast.d.ts new file mode 100644 index 00000000..5a691ed4 --- /dev/null +++ b/frontend/src/types/toast.d.ts @@ -0,0 +1,2 @@ +type IToastSuccess = (message: string) => void; +type IToastError = (error: Error | string, displayReport?: boolean) => void; diff --git a/frontend/src/types/upload.d.ts b/frontend/src/types/upload.d.ts new file mode 100644 index 00000000..4bad9e06 --- /dev/null +++ b/frontend/src/types/upload.d.ts @@ -0,0 +1,22 @@ +type Upload = { + path: string; + name: string; + file: File | null; + type: ResourceType; + overwrite: boolean; + totalBytes: number; + sentBytes: number; + rawProgress: { + sentBytes: number; + }; +}; + +interface UploadEntry { + name: string; + size: number; + isDir: boolean; + fullPath?: string; + file?: File; +} + +type UploadList = UploadEntry[]; diff --git a/frontend/src/types/user.d.ts b/frontend/src/types/user.d.ts new file mode 100644 index 00000000..317f1e43 --- /dev/null +++ b/frontend/src/types/user.d.ts @@ -0,0 +1,69 @@ +interface IUser { + id: number; + username: string; + password: string; + scope: string; + locale: string; + perm: Permissions; + commands: string[]; + rules: IRule[]; + lockPassword: boolean; + hideDotfiles: boolean; + singleClick: boolean; + redirectAfterCopyMove: boolean; + dateFormat: boolean; + viewMode: ViewModeType; + sorting?: Sorting; + aceEditorTheme: string; +} + +type ViewModeType = "list" | "mosaic" | "mosaic gallery"; + +interface IUserForm { + id?: number; + username?: string; + password?: string; + scope?: string; + locale?: string; + perm?: Permissions; + commands?: string[]; + rules?: IRule[]; + lockPassword?: boolean; + hideDotfiles?: boolean; + singleClick?: boolean; + redirectAfterCopyMove?: boolean; + dateFormat?: boolean; +} + +interface Permissions { + admin: boolean; + copy: boolean; + create: boolean; + delete: boolean; + download: boolean; + execute: boolean; + modify: boolean; + move: boolean; + rename: boolean; + share: boolean; + shell: boolean; + upload: boolean; +} + +interface Sorting { + by: string; + asc: boolean; +} + +interface IRule { + allow: boolean; + path: string; + regex: boolean; + regexp: IRegexp; +} + +interface IRegexp { + raw: string; +} + +type UserTheme = "light" | "dark" | ""; diff --git a/frontend/src/types/utif.d.ts b/frontend/src/types/utif.d.ts new file mode 100644 index 00000000..1919070b --- /dev/null +++ b/frontend/src/types/utif.d.ts @@ -0,0 +1 @@ +declare module "utif"; diff --git a/frontend/src/utils/auth.ts b/frontend/src/utils/auth.ts new file mode 100644 index 00000000..e75714f2 --- /dev/null +++ b/frontend/src/utils/auth.ts @@ -0,0 +1,141 @@ +import { useAuthStore } from "@/stores/auth"; +import router from "@/router"; +import type { JwtPayload } from "jwt-decode"; +import { jwtDecode } from "jwt-decode"; +import { authMethod, baseURL, noAuth, logoutPage } from "./constants"; +import { StatusError } from "@/api/utils"; +import { setSafeTimeout } from "@/api/utils"; + +export function parseToken(token: string) { + // falsy or malformed jwt will throw InvalidTokenError + const data = jwtDecode(token); + + document.cookie = `auth=${token}; Path=/; SameSite=Strict;`; + + localStorage.setItem("jwt", token); + + const authStore = useAuthStore(); + authStore.jwt = token; + authStore.setUser(data.user); + + // proxy auth with custom logout subject to unknown external timeout + if (logoutPage !== "/login" && authMethod === "proxy") { + console.warn("idle timeout disabled with proxy auth and custom logout"); + return; + } + + if (authStore.logoutTimer) { + clearTimeout(authStore.logoutTimer); + } + + const expiresAt = new Date(data.exp! * 1000); + const timeout = expiresAt.getTime() - Date.now(); + authStore.setLogoutTimer( + setSafeTimeout(() => { + logout("inactivity"); + }, timeout) + ); +} + +export async function validateLogin() { + try { + if (localStorage.getItem("jwt")) { + await renew(localStorage.getItem("jwt")); + } + } catch (error) { + console.warn("Invalid JWT token in storage"); + throw error; + } +} + +export async function login( + username: string, + password: string, + recaptcha: string +) { + const data = { username, password, recaptcha }; + + const res = await fetch(`${baseURL}/api/login`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(data), + }); + + const body = await res.text(); + + if (res.status === 200) { + parseToken(body); + } else { + throw new StatusError( + body || `${res.status} ${res.statusText}`, + res.status + ); + } +} + +export async function renew(jwt: string) { + const res = await fetch(`${baseURL}/api/renew`, { + method: "POST", + headers: { + "X-Auth": jwt, + }, + }); + + const body = await res.text(); + + if (res.status === 200) { + parseToken(body); + } else { + throw new StatusError( + body || `${res.status} ${res.statusText}`, + res.status + ); + } +} + +export async function signup(username: string, password: string) { + const data = { username, password }; + + const res = await fetch(`${baseURL}/api/signup`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(data), + }); + + if (res.status !== 200) { + const body = await res.text(); + throw new StatusError( + body || `${res.status} ${res.statusText}`, + res.status + ); + } +} + +export function logout(reason?: string) { + document.cookie = "auth=; Max-Age=0; Path=/; SameSite=Strict;"; + + const authStore = useAuthStore(); + authStore.clearUser(); + + localStorage.setItem("jwt", ""); + if (noAuth) { + window.location.reload(); + } else if (logoutPage !== "/login") { + document.location.href = `${logoutPage}`; + } else { + if (typeof reason === "string" && reason.trim() !== "") { + router.push({ + path: "/login", + query: { "logout-reason": reason }, + }); + } else { + router.push({ + path: "/login", + }); + } + } +} diff --git a/frontend/src/utils/buttons.ts b/frontend/src/utils/buttons.ts new file mode 100644 index 00000000..30ed74f2 --- /dev/null +++ b/frontend/src/utils/buttons.ts @@ -0,0 +1,83 @@ +function loading(button: string) { + const el: HTMLButtonElement | null = document.querySelector( + `#${button}-button > i` + ); + + if (el === undefined || el === null) { + console.log("Error getting button " + button); + return; + } + + if (el.innerHTML == "autorenew" || el.innerHTML == "done") { + return; + } + + el.dataset.icon = el.innerHTML; + el.style.opacity = "0"; + + setTimeout(() => { + if (el) { + el.classList.add("spin"); + el.innerHTML = "autorenew"; + el.style.opacity = "1"; + } + }, 100); +} + +function done(button: string) { + const el: HTMLButtonElement | null = document.querySelector( + `#${button}-button > i` + ); + + if (el === undefined || el === null) { + console.log("Error getting button " + button); + return; + } + + el.style.opacity = "0"; + + setTimeout(() => { + if (el !== null) { + el.classList.remove("spin"); + el.innerHTML = el?.dataset?.icon || ""; + el.style.opacity = "1"; + } + }, 100); +} + +function success(button: string) { + const el: HTMLButtonElement | null = document.querySelector( + `#${button}-button > i` + ); + + if (el === undefined || el === null) { + console.log("Error getting button " + button); + return; + } + + el.style.opacity = "0"; + + setTimeout(() => { + if (el !== null) { + el.classList.remove("spin"); + el.innerHTML = "done"; + el.style.opacity = "1"; + } + setTimeout(() => { + if (el) el.style.opacity = "0"; + + setTimeout(() => { + if (el !== null) { + el.innerHTML = el?.dataset?.icon || ""; + el.style.opacity = "1"; + } + }, 100); + }, 500); + }, 100); +} + +export default { + loading, + done, + success, +}; diff --git a/frontend/src/utils/clipboard.ts b/frontend/src/utils/clipboard.ts new file mode 100644 index 00000000..53e03589 --- /dev/null +++ b/frontend/src/utils/clipboard.ts @@ -0,0 +1,118 @@ +// Based on code by the following links: +// https://stackoverflow.com/a/74528564 +// https://web.dev/articles/async-clipboard + +interface ClipboardArgs { + text?: string; + data?: ClipboardItems; +} + +interface ClipboardOpts { + permission?: boolean; +} + +export function copy(data: ClipboardArgs, opts?: ClipboardOpts) { + return new Promise((resolve, reject) => { + if ( + // Clipboard API requires secure context + window.isSecureContext && + typeof navigator.clipboard !== "undefined" + ) { + if (opts?.permission) { + getPermission("clipboard-write") + .then(() => writeToClipboard(data).then(resolve).catch(reject)) + .catch(reject); + } else { + writeToClipboard(data).then(resolve).catch(reject); + } + } else if ( + document.queryCommandSupported && + document.queryCommandSupported("copy") && + data.text // old method only supports text + ) { + const textarea = createTemporaryTextarea(data.text); + const body = document.activeElement || document.body; + try { + body.appendChild(textarea); + textarea.focus(); + textarea.select(); + document.execCommand("copy"); + resolve(); + } catch (e) { + reject(e); + } finally { + body.removeChild(textarea); + } + } else { + reject( + new Error("None of copying methods are supported by this browser!") + ); + } + }); +} + +export function read() { + return new Promise((resolve, reject) => { + if ( + // Clipboard API requires secure context + window.isSecureContext && + typeof navigator.clipboard !== "undefined" + ) { + navigator.clipboard.readText().then(resolve).catch(reject); + } else { + reject(); + } + }); +} + +function getPermission(name: string) { + return new Promise((resolve, reject) => { + typeof navigator.permissions !== "undefined" && + navigator.permissions + // @ts-expect-error chrome specific api + .query({ name }) + .then((permission) => { + if (permission.state === "granted" || permission.state === "prompt") { + resolve(); + } else { + reject(new Error("Permission denied!")); + } + }); + }); +} + +function writeToClipboard(data: ClipboardArgs) { + if (data.text) { + return navigator.clipboard.writeText(data.text); + } + if (data.data) { + return navigator.clipboard.write(data.data); + } + + return new Promise((resolve, reject) => { + reject(new Error("No data was supplied!")); + }); +} + +const styles = { + fontSize: "12pt", + position: "fixed", + top: 0, + left: 0, + width: "2em", + height: "2em", + padding: 0, + margin: 0, + border: "none", + outline: "none", + boxShadow: "none", + background: "transparent", +}; + +function createTemporaryTextarea(text: string) { + const textarea = document.createElement("textarea"); + textarea.value = text; + textarea.setAttribute("readonly", ""); + Object.assign(textarea.style, styles); + return textarea; +} diff --git a/frontend/src/utils/constants.ts b/frontend/src/utils/constants.ts new file mode 100644 index 00000000..0580205a --- /dev/null +++ b/frontend/src/utils/constants.ts @@ -0,0 +1,46 @@ +const name: string = window.FileBrowser.Name || "File Browser"; +const disableExternal: boolean = window.FileBrowser.DisableExternal; +const disableUsedPercentage: boolean = window.FileBrowser.DisableUsedPercentage; +const baseURL: string = window.FileBrowser.BaseURL; +const staticURL: string = window.FileBrowser.StaticURL; +const recaptcha: string = window.FileBrowser.ReCaptcha; +const recaptchaKey: string = window.FileBrowser.ReCaptchaKey; +const signup: boolean = window.FileBrowser.Signup; +const version: string = window.FileBrowser.Version; +const logoURL = `${staticURL}/img/logo.svg`; +const noAuth: boolean = window.FileBrowser.NoAuth; +const authMethod = window.FileBrowser.AuthMethod; +const logoutPage: string = window.FileBrowser.LogoutPage; +const loginPage: boolean = window.FileBrowser.LoginPage; +const theme: UserTheme = window.FileBrowser.Theme; +const enableThumbs: boolean = window.FileBrowser.EnableThumbs; +const resizePreview: boolean = window.FileBrowser.ResizePreview; +const enableExec: boolean = window.FileBrowser.EnableExec; +const tusSettings = window.FileBrowser.TusSettings; +const origin = window.location.origin; +const tusEndpoint = `/api/tus`; +const hideLoginButton = window.FileBrowser.HideLoginButton; + +export { + name, + disableExternal, + disableUsedPercentage, + baseURL, + logoURL, + recaptcha, + recaptchaKey, + signup, + version, + noAuth, + authMethod, + logoutPage, + loginPage, + theme, + enableThumbs, + resizePreview, + enableExec, + tusSettings, + origin, + tusEndpoint, + hideLoginButton, +}; diff --git a/frontend/src/utils/cookie.ts b/frontend/src/utils/cookie.ts new file mode 100644 index 00000000..bdebf4f0 --- /dev/null +++ b/frontend/src/utils/cookie.ts @@ -0,0 +1,6 @@ +export default function (name: string) { + const re = new RegExp( + "(?:(?:^|.*;\\s*)" + name + "\\s*\\=\\s*([^;]*).*$)|^.*$" + ); + return document.cookie.replace(re, "$1"); +} diff --git a/frontend/src/utils/css.ts b/frontend/src/utils/css.ts new file mode 100644 index 00000000..aca6c62a --- /dev/null +++ b/frontend/src/utils/css.ts @@ -0,0 +1,31 @@ +export default function getRule(rules: string[]) { + for (let i = 0; i < rules.length; i++) { + rules[i] = rules[i].toLowerCase(); + } + + let result = null; + const find = Array.prototype.find; + + find.call(document.styleSheets, (styleSheet: CSSStyleSheet) => { + result = find.call(styleSheet.cssRules, (cssRule: CSSRule) => { + let found = false; + + // faster than checking instanceof for every element + if (cssRule.constructor.name === "CSSStyleRule") { + for (let i = 0; i < rules.length; i++) { + if ( + (cssRule as CSSStyleRule).selectorText.toLowerCase() === rules[i] + ) { + found = true; + } + } + } + + return found; + }); + + return result != null; + }); + + return result as CSSStyleRule | null; +} diff --git a/frontend/src/utils/csv.ts b/frontend/src/utils/csv.ts new file mode 100644 index 00000000..c03731e7 --- /dev/null +++ b/frontend/src/utils/csv.ts @@ -0,0 +1,64 @@ +export interface CsvData { + headers: string[]; + rows: string[][]; +} + +/** + * Parse CSV content into headers and rows + * Supports quoted fields and handles commas within quotes + */ +export function parseCSV( + content: string, + columnSeparator: Array +): CsvData { + if (!content || content.trim().length === 0) { + return { headers: [], rows: [] }; + } + + const lines = content.split(/\r?\n/); + const result: string[][] = []; + + for (const line of lines) { + if (line.trim().length === 0) continue; + + const row: string[] = []; + let currentField = ""; + let inQuotes = false; + + for (let i = 0; i < line.length; i++) { + const char = line[i]; + const nextChar = line[i + 1]; + + if (char === '"') { + if (inQuotes && nextChar === '"') { + // Escaped quote + currentField += '"'; + i++; // Skip next quote + } else { + // Toggle quote state + inQuotes = !inQuotes; + } + } else if (columnSeparator.includes(char) && !inQuotes) { + // Field separator + row.push(currentField); + currentField = ""; + } else { + currentField += char; + } + } + + // Add the last field + row.push(currentField); + result.push(row); + } + + if (result.length === 0) { + return { headers: [], rows: [] }; + } + + // First row is headers + const headers = result[0]; + const rows = result.slice(1); + + return { headers, rows }; +} diff --git a/frontend/src/utils/index.ts b/frontend/src/utils/index.ts new file mode 100644 index 00000000..d7f0bd9b --- /dev/null +++ b/frontend/src/utils/index.ts @@ -0,0 +1,6 @@ +import { partial } from "filesize"; + +/** + * Formats filesize as KiB/MiB/... + */ +export const filesize = partial({ base: 2 }); diff --git a/frontend/src/utils/theme.ts b/frontend/src/utils/theme.ts new file mode 100644 index 00000000..0244b044 --- /dev/null +++ b/frontend/src/utils/theme.ts @@ -0,0 +1,50 @@ +import { theme } from "./constants"; +import "ace-builds"; +import { themesByName } from "ace-builds/src-noconflict/ext-themelist"; + +export const getTheme = (): UserTheme => { + return (document.documentElement.className as UserTheme) || theme; +}; + +export const setTheme = (theme: UserTheme) => { + const html = document.documentElement; + if (!theme) { + html.className = getMediaPreference(); + } else { + html.className = theme; + } +}; + +export const toggleTheme = (): void => { + const activeTheme = getTheme(); + if (activeTheme === "light") { + setTheme("dark"); + } else { + setTheme("light"); + } +}; + +export const getMediaPreference = (): UserTheme => { + const hasDarkPreference = window.matchMedia( + "(prefers-color-scheme: dark)" + ).matches; + if (hasDarkPreference) { + return "dark"; + } else { + return "light"; + } +}; + +export const getEditorTheme = (themeName: string) => { + if (!themeName.startsWith("ace/theme/")) { + themeName = `ace/theme/${themeName}`; + } + const themeKey = themeName.replace("ace/theme/", ""); + if (themesByName[themeKey] !== undefined) { + return themeName; + } else if (getTheme() === "dark") { + return "ace/theme/twilight"; + } else { + return "ace/theme/chrome"; + } +}; diff --git a/frontend/src/utils/upload.ts b/frontend/src/utils/upload.ts new file mode 100644 index 00000000..e951cb43 --- /dev/null +++ b/frontend/src/utils/upload.ts @@ -0,0 +1,151 @@ +import { useLayoutStore } from "@/stores/layout"; +import { useUploadStore } from "@/stores/upload"; +import url from "@/utils/url"; + +export function checkConflict( + files: UploadList, + dest: ResourceItem[] +): boolean { + if (typeof dest === "undefined" || dest === null) { + dest = []; + } + + const folder_upload = files[0].fullPath !== undefined; + + const names = new Set(); + for (let i = 0; i < files.length; i++) { + const file = files[i]; + let name = file.name; + + if (folder_upload) { + const dirs = file.fullPath?.split("/"); + if (dirs && dirs.length > 1) { + name = dirs[0]; + } + } + + names.add(name); + } + + return dest.some((d) => names.has(d.name)); +} + +export function scanFiles(dt: DataTransfer): Promise { + return new Promise((resolve) => { + let reading = 0; + const contents: UploadList = []; + + if (dt.items) { + // ts didn't like the for of loop even tho + // it is the official example on MDN + // for (const item of dt.items) { + for (let i = 0; i < dt.items.length; i++) { + const item = dt.items[i]; + if ( + item.kind === "file" && + typeof item.webkitGetAsEntry === "function" + ) { + const entry = item.webkitGetAsEntry(); + entry && readEntry(entry); + } + } + } else { + resolve(dt.files); + } + + function readEntry(entry: FileSystemEntry, directory = ""): void { + if (entry.isFile) { + reading++; + (entry as FileSystemFileEntry).file((file) => { + reading--; + + contents.push({ + file, + name: file.name, + size: file.size, + isDir: false, + fullPath: `${directory}${file.name}`, + }); + + if (reading === 0) { + resolve(contents); + } + }); + } else if (entry.isDirectory) { + const dir = { + isDir: true, + size: 0, + fullPath: `${directory}${entry.name}`, + name: entry.name, + }; + + contents.push(dir); + + readReaderContent( + (entry as FileSystemDirectoryEntry).createReader(), + `${directory}${entry.name}` + ); + } + } + + function readReaderContent( + reader: FileSystemDirectoryReader, + directory: string + ): void { + reading++; + + reader.readEntries((entries) => { + reading--; + if (entries.length > 0) { + for (const entry of entries) { + readEntry(entry, `${directory}/`); + } + + readReaderContent(reader, `${directory}/`); + } + + if (reading === 0) { + resolve(contents); + } + }); + } + }); +} + +function detectType(mimetype: string): ResourceType { + if (mimetype.startsWith("video")) return "video"; + if (mimetype.startsWith("audio")) return "audio"; + if (mimetype.startsWith("image")) return "image"; + if (mimetype.startsWith("pdf")) return "pdf"; + if (mimetype.startsWith("text")) return "text"; + return "blob"; +} + +export function handleFiles( + files: UploadList, + base: string, + overwrite = false +) { + const uploadStore = useUploadStore(); + const layoutStore = useLayoutStore(); + + layoutStore.closeHovers(); + + for (const file of files) { + let path = base; + + if (file.fullPath !== undefined) { + path += url.encodePath(file.fullPath); + } else { + path += url.encodeRFC5987ValueChars(file.name); + } + + if (file.isDir) { + path += "/"; + } + + const type = file.isDir ? "dir" : detectType((file.file as File).type); + + uploadStore.upload(path, file.name, file.file ?? null, overwrite, type); + } +} diff --git a/frontend/src/utils/url.ts b/frontend/src/utils/url.ts new file mode 100644 index 00000000..063fa6d2 --- /dev/null +++ b/frontend/src/utils/url.ts @@ -0,0 +1,42 @@ +export function removeLastDir(url: string) { + const arr = url.split("/"); + if (arr.pop() === "") { + arr.pop(); + } + + return arr.join("/"); +} + +// this function is taken from mozilla +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent#Examples +export function encodeRFC5987ValueChars(str: string) { + return ( + encodeURIComponent(str) + // The following creates the sequences %27 %28 %29 %2A (Note that + // the valid encoding of "*" is %2A, which necessitates calling + // toUpperCase() to properly encode). Although RFC3986 reserves "!", + // RFC5987 does not, so we do not need to escape it. + .replace( + /['()*]/g, + (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}` + ) + // The following are not required for percent-encoding per RFC5987, + // so we can allow for a little better readability over the wire: |`^ + .replace(/%(7C|60|5E)/g, (str, hex) => + String.fromCharCode(parseInt(hex, 16)) + ) + ); +} + +export function encodePath(str: string) { + return str + .split("/") + .map((v) => encodeURIComponent(v)) + .join("/"); +} + +export default { + encodeRFC5987ValueChars, + removeLastDir, + encodePath, +}; diff --git a/frontend/src/views/Errors.vue b/frontend/src/views/Errors.vue new file mode 100644 index 00000000..a895ea9e --- /dev/null +++ b/frontend/src/views/Errors.vue @@ -0,0 +1,57 @@ + + + diff --git a/frontend/src/views/Files.vue b/frontend/src/views/Files.vue new file mode 100644 index 00000000..8952f209 --- /dev/null +++ b/frontend/src/views/Files.vue @@ -0,0 +1,184 @@ + + + diff --git a/frontend/src/views/Layout.vue b/frontend/src/views/Layout.vue new file mode 100644 index 00000000..5a91bee5 --- /dev/null +++ b/frontend/src/views/Layout.vue @@ -0,0 +1,54 @@ + + + diff --git a/frontend/src/views/Login.vue b/frontend/src/views/Login.vue new file mode 100644 index 00000000..c7f64a5b --- /dev/null +++ b/frontend/src/views/Login.vue @@ -0,0 +1,139 @@ + + + diff --git a/frontend/src/views/Settings.vue b/frontend/src/views/Settings.vue new file mode 100644 index 00000000..271715b2 --- /dev/null +++ b/frontend/src/views/Settings.vue @@ -0,0 +1,66 @@ + + + diff --git a/frontend/src/views/Share.vue b/frontend/src/views/Share.vue new file mode 100644 index 00000000..f92b8633 --- /dev/null +++ b/frontend/src/views/Share.vue @@ -0,0 +1,538 @@ + + + + + diff --git a/frontend/src/views/files/FileListing.vue b/frontend/src/views/files/FileListing.vue new file mode 100644 index 00000000..c9f636ba --- /dev/null +++ b/frontend/src/views/files/FileListing.vue @@ -0,0 +1,1072 @@ + + + diff --git a/frontend/src/views/settings/Global.vue b/frontend/src/views/settings/Global.vue new file mode 100644 index 00000000..3d391206 --- /dev/null +++ b/frontend/src/views/settings/Global.vue @@ -0,0 +1,425 @@ + + + diff --git a/frontend/src/views/settings/Profile.vue b/frontend/src/views/settings/Profile.vue new file mode 100644 index 00000000..ffb20f0d --- /dev/null +++ b/frontend/src/views/settings/Profile.vue @@ -0,0 +1,221 @@ + + + diff --git a/frontend/src/views/settings/Shares.vue b/frontend/src/views/settings/Shares.vue new file mode 100644 index 00000000..e1076ec9 --- /dev/null +++ b/frontend/src/views/settings/Shares.vue @@ -0,0 +1,159 @@ + + + diff --git a/frontend/src/views/settings/User.vue b/frontend/src/views/settings/User.vue new file mode 100644 index 00000000..77786e2a --- /dev/null +++ b/frontend/src/views/settings/User.vue @@ -0,0 +1,191 @@ + + + diff --git a/frontend/src/views/settings/Users.vue b/frontend/src/views/settings/Users.vue new file mode 100644 index 00000000..3d2e5486 --- /dev/null +++ b/frontend/src/views/settings/Users.vue @@ -0,0 +1,71 @@ + + + diff --git a/frontend/test-results/.last-run.json b/frontend/test-results/.last-run.json new file mode 100644 index 00000000..544c11fb --- /dev/null +++ b/frontend/test-results/.last-run.json @@ -0,0 +1,4 @@ +{ + "status": "failed", + "failedTests": [] +} diff --git a/frontend/tsconfig.app.json b/frontend/tsconfig.app.json new file mode 100644 index 00000000..7b77334a --- /dev/null +++ b/frontend/tsconfig.app.json @@ -0,0 +1,29 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": [ + "src/**/__tests__/*", + // Excluding non-TS Vue files which use the old Options API. + // This can be removed once those files are properly migrated to + // the new Composition API with TS support. + "src/components/Shell.vue", + "src/components/prompts/Copy.vue", + "src/components/prompts/Move.vue", + "src/components/prompts/Delete.vue", + "src/components/prompts/FileList.vue", + "src/components/prompts/Rename.vue", + "src/components/prompts/Share.vue" + ], + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "types": ["vite/client", "@intlify/unplugin-vue-i18n/messages"], + "paths": { + "@/*": ["./src/*"] + }, + // Version 0.8.0 of @vue/tsconfig enabled this automatically. + // Disabling for now since it's causing quite a lot of errors. + // Should be revisited. + "noUncheckedIndexedAccess": false + } +} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 00000000..66b5e570 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json new file mode 100644 index 00000000..29e91674 --- /dev/null +++ b/frontend/tsconfig.node.json @@ -0,0 +1,17 @@ +{ + "extends": "@tsconfig/node24/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*" + ], + "compilerOptions": { + "composite": true, + "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts new file mode 100644 index 00000000..583b2e38 --- /dev/null +++ b/frontend/vite.config.ts @@ -0,0 +1,81 @@ +import path from "node:path"; +import { defineConfig } from "vite"; +import vue from "@vitejs/plugin-vue"; +import VueI18nPlugin from "@intlify/unplugin-vue-i18n/vite"; +import legacy from "@vitejs/plugin-legacy"; +import { compression } from "vite-plugin-compression2"; + +const plugins = [ + vue(), + VueI18nPlugin({ + include: [path.resolve(__dirname, "./src/i18n/**/*.json")], + }), + legacy({ + // defaults already drop IE support + targets: ["defaults"], + }), + compression({ include: /\.js$/i, deleteOriginalAssets: true }), +]; + +const resolve = { + alias: { + // vue: "@vue/compat", + "@/": `${path.resolve(__dirname, "src")}/`, + }, +}; + +// https://vitejs.dev/config/ +export default defineConfig(({ command }) => { + if (command === "serve") { + return { + plugins, + resolve, + server: { + proxy: { + "/api/command": { + target: "ws://127.0.0.1:8080", + ws: true, + }, + "/api": "http://127.0.0.1:8080", + }, + }, + }; + } else { + // command === 'build' + return { + plugins, + resolve, + base: "", + build: { + rollupOptions: { + input: { + index: path.resolve(__dirname, "./public/index.html"), + }, + output: { + manualChunks: (id) => { + // bundle dayjs files in a single chunk + // this avoids having small files for each locale + if (id.includes("dayjs/")) { + return "dayjs"; + // bundle i18n in a separate chunk + } else if (id.includes("i18n/")) { + return "i18n"; + } + }, + }, + }, + }, + experimental: { + renderBuiltUrl(filename, { hostType }) { + if (hostType === "js") { + return { runtime: `window.__prependStaticUrl("${filename}")` }; + } else if (hostType === "html") { + return `[{[ .StaticURL ]}]/${filename}`; + } else { + return { relative: true }; + } + }, + }, + }; + } +}); diff --git a/go.mod b/go.mod new file mode 100644 index 00000000..edf46277 --- /dev/null +++ b/go.mod @@ -0,0 +1,81 @@ +module github.com/filebrowser/filebrowser/v2 + +go 1.25 + +require ( + github.com/asdine/storm/v3 v3.2.1 + github.com/asticode/go-astisub v0.38.0 + github.com/disintegration/imaging v1.6.2 + github.com/dsoprea/go-exif/v3 v3.0.1 + github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 + github.com/golang-jwt/jwt/v5 v5.3.0 + github.com/gorilla/mux v1.8.1 + github.com/gorilla/websocket v1.5.3 + github.com/jellydator/ttlcache/v3 v3.4.0 + github.com/maruel/natural v1.3.0 + github.com/marusama/semaphore/v2 v2.5.0 + github.com/mholt/archives v0.1.5 + github.com/mitchellh/go-homedir v1.1.0 + github.com/samber/lo v1.52.0 + github.com/shirou/gopsutil/v4 v4.25.12 + github.com/spf13/afero v1.15.0 + github.com/spf13/cobra v1.10.2 + github.com/spf13/pflag v1.0.10 + github.com/spf13/viper v1.21.0 + github.com/stretchr/testify v1.11.1 + github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce + golang.org/x/crypto v0.47.0 + golang.org/x/image v0.35.0 + golang.org/x/text v0.33.0 + gopkg.in/natefinch/lumberjack.v2 v2.2.1 + gopkg.in/yaml.v3 v3.0.1 +) + +require ( + github.com/STARRY-S/zip v0.2.3 // indirect + github.com/andybalholm/brotli v1.2.0 // indirect + github.com/asticode/go-astikit v0.56.0 // indirect + github.com/asticode/go-astits v1.13.0 // indirect + github.com/bodgit/plumbing v1.3.0 // indirect + github.com/bodgit/sevenzip v1.6.1 // indirect + github.com/bodgit/windows v1.0.1 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707 // indirect + github.com/dsoprea/go-logging v0.0.0-20200710184922-b02d349568dd // indirect + github.com/dsoprea/go-utility/v2 v2.0.0-20221003172846-a3e1774ef349 // indirect + github.com/ebitengine/purego v0.9.1 // indirect + github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/go-errors/errors v1.5.1 // indirect + github.com/go-ole/go-ole v1.3.0 // indirect + github.com/go-viper/mapstructure/v2 v2.4.0 // indirect + github.com/golang/geo v0.0.0-20250707181242-c5087ca84cf4 // indirect + github.com/golang/snappy v1.0.0 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/klauspost/compress v1.18.0 // indirect + github.com/klauspost/pgzip v1.2.6 // indirect + github.com/mikelolasagasti/xz v1.0.1 // indirect + github.com/minio/minlz v1.0.1 // indirect + github.com/nwaples/rardecode/v2 v2.2.0 // indirect + github.com/pelletier/go-toml/v2 v2.2.4 // indirect + github.com/pierrec/lz4/v4 v4.1.22 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/sagikazarmark/locafero v0.11.0 // indirect + github.com/sorairolake/lzip-go v0.3.8 // indirect + github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect + github.com/spf13/cast v1.10.0 // indirect + github.com/subosito/gotenv v1.6.0 // indirect + github.com/ulikunitz/xz v0.5.15 // indirect + github.com/yusufpapurcu/wmi v1.2.4 // indirect + go.etcd.io/bbolt v1.4.3 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect + go4.org v0.0.0-20230225012048-214862532bf5 // indirect + golang.org/x/net v0.48.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/sys v0.40.0 // indirect + gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 00000000..45dff859 --- /dev/null +++ b/go.sum @@ -0,0 +1,464 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DataDog/zstd v1.4.1 h1:3oxKN3wbHibqx897utPC2LTQU4J+IHWWJO+glkAkpFM= +github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= +github.com/STARRY-S/zip v0.2.3 h1:luE4dMvRPDOWQdeDdUxUoZkzUIpTccdKdhHHsQJ1fm4= +github.com/STARRY-S/zip v0.2.3/go.mod h1:lqJ9JdeRipyOQJrYSOtpNAiaesFO6zVDsE8GIGFaoSk= +github.com/Sereal/Sereal v0.0.0-20190618215532-0b8ac451a863 h1:BRrxwOZBolJN4gIwvZMJY1tzqBvQgpaZiQRuIDD40jM= +github.com/Sereal/Sereal v0.0.0-20190618215532-0b8ac451a863/go.mod h1:D0JMgToj/WdxCgd30Kc1UcA9E+WdZoJqeVOuYW7iTBM= +github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwToPjQ= +github.com/andybalholm/brotli v1.2.0/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= +github.com/asdine/storm/v3 v3.2.1 h1:I5AqhkPK6nBZ/qJXySdI7ot5BlXSZ7qvDY1zAn5ZJac= +github.com/asdine/storm/v3 v3.2.1/go.mod h1:LEpXwGt4pIqrE/XcTvCnZHT5MgZCV6Ub9q7yQzOFWr0= +github.com/asticode/go-astikit v0.20.0/go.mod h1:h4ly7idim1tNhaVkdVBeXQZEE3L0xblP7fCWbgwipF0= +github.com/asticode/go-astikit v0.30.0/go.mod h1:h4ly7idim1tNhaVkdVBeXQZEE3L0xblP7fCWbgwipF0= +github.com/asticode/go-astikit v0.56.0 h1:DmD2p7YnvxiPdF0h+dRmos3bsejNEXbycENsY5JfBqw= +github.com/asticode/go-astikit v0.56.0/go.mod h1:fV43j20UZYfXzP9oBn33udkvCvDvCDhzjVqoLFuuYZE= +github.com/asticode/go-astisub v0.38.0 h1:Qh3IO8Cotn0wwok5maid7xqsIJTwn2DtABT1UajKJaI= +github.com/asticode/go-astisub v0.38.0/go.mod h1:WTkuSzFB+Bp7wezuSf2Oxulj5A8zu2zLRVFf6bIFQK8= +github.com/asticode/go-astits v1.8.0/go.mod h1:DkOWmBNQpnr9mv24KfZjq4JawCFX1FCqjLVGvO0DygQ= +github.com/asticode/go-astits v1.13.0 h1:XOgkaadfZODnyZRR5Y0/DWkA9vrkLLPLeeOvDwfKZ1c= +github.com/asticode/go-astits v1.13.0/go.mod h1:QSHmknZ51pf6KJdHKZHJTLlMegIrhega3LPWz3ND/iI= +github.com/bodgit/plumbing v1.3.0 h1:pf9Itz1JOQgn7vEOE7v7nlEfBykYqvUYioC61TwWCFU= +github.com/bodgit/plumbing v1.3.0/go.mod h1:JOTb4XiRu5xfnmdnDJo6GmSbSbtSyufrsyZFByMtKEs= +github.com/bodgit/sevenzip v1.6.1 h1:kikg2pUMYC9ljU7W9SaqHXhym5HyKm8/M/jd31fYan4= +github.com/bodgit/sevenzip v1.6.1/go.mod h1:GVoYQbEVbOGT8n2pfqCIMRUaRjQ8F9oSqoBEqZh5fQ8= +github.com/bodgit/windows v1.0.1 h1:tF7K6KOluPYygXa3Z2594zxlkbKPAOvqr97etrGNIz4= +github.com/bodgit/windows v1.0.1/go.mod h1:a6JLwrB4KrTR5hBpp8FI9/9W9jJfeQ2h4XDXU74ZCdM= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0= +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/disintegration/imaging v1.6.2 h1:w1LecBlG2Lnp8B3jk5zSuNqd7b4DXhcjwek1ei82L+c= +github.com/disintegration/imaging v1.6.2/go.mod h1:44/5580QXChDfwIclfc/PCwrr44amcmDAg8hxG0Ewe4= +github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707 h1:2tV76y6Q9BB+NEBasnqvs7e49aEBFI8ejC89PSnWH+4= +github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707/go.mod h1:qssHWj60/X5sZFNxpG4HBPDHVqxNm4DfnCKgrbZOT+s= +github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY= +github.com/dsoprea/go-exif/v2 v2.0.0-20200321225314-640175a69fe4/go.mod h1:Lm2lMM2zx8p4a34ZemkaUV95AnMl4ZvLbCUbwOvLC2E= +github.com/dsoprea/go-exif/v3 v3.0.0-20200717053412-08f1b6708903/go.mod h1:0nsO1ce0mh5czxGeLo4+OCZ/C6Eo6ZlMWsz7rH/Gxv8= +github.com/dsoprea/go-exif/v3 v3.0.0-20210625224831-a6301f85c82b/go.mod h1:cg5SNYKHMmzxsr9X6ZeLh/nfBRHHp5PngtEPcujONtk= +github.com/dsoprea/go-exif/v3 v3.0.0-20221003160559-cf5cd88aa559/go.mod h1:rW6DMEv25U9zCtE5ukC7ttBRllXj7g7TAHl7tQrT5No= +github.com/dsoprea/go-exif/v3 v3.0.0-20221003171958-de6cb6e380a8/go.mod h1:akyZEJZ/k5bmbC9gA612ZLQkcED8enS9vuTiuAkENr0= +github.com/dsoprea/go-exif/v3 v3.0.1 h1:/IE4iW7gvY7BablV1XY0unqhMv26EYpOquVMwoBo/wc= +github.com/dsoprea/go-exif/v3 v3.0.1/go.mod h1:10HkA1Wz3h398cDP66L+Is9kKDmlqlIJGPv8pk4EWvc= +github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696/go.mod h1:Nm/x2ZUNRW6Fe5C3LxdY1PyZY5wmDv/s5dkPJ/VB3iA= +github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8= +github.com/dsoprea/go-logging v0.0.0-20200710184922-b02d349568dd h1:l+vLbuxptsC6VQyQsfD7NnEC8BZuFpz45PgY+pH8YTg= +github.com/dsoprea/go-logging v0.0.0-20200710184922-b02d349568dd/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8= +github.com/dsoprea/go-utility v0.0.0-20200711062821-fab8125e9bdf/go.mod h1:95+K3z2L0mqsVYd6yveIv1lmtT3tcQQ3dVakPySffW8= +github.com/dsoprea/go-utility/v2 v2.0.0-20200717064901-2fccff4aa15e/go.mod h1:uAzdkPTub5Y9yQwXe8W4m2XuP0tK4a9Q/dantD0+uaU= +github.com/dsoprea/go-utility/v2 v2.0.0-20221003142440-7a1927d49d9d/go.mod h1:LVjRU0RNUuMDqkPTxcALio0LWPFPXxxFCvVGVAwEpFc= +github.com/dsoprea/go-utility/v2 v2.0.0-20221003160719-7bc88537c05e/go.mod h1:VZ7cB0pTjm1ADBWhJUOHESu4ZYy9JN+ZPqjfiW09EPU= +github.com/dsoprea/go-utility/v2 v2.0.0-20221003172846-a3e1774ef349 h1:DilThiXje0z+3UQ5YjYiSRRzVdtamFpvBQXKwMglWqw= +github.com/dsoprea/go-utility/v2 v2.0.0-20221003172846-a3e1774ef349/go.mod h1:4GC5sXji84i/p+irqghpPFZBF8tRN/Q7+700G0/DLe8= +github.com/ebitengine/purego v0.9.1 h1:a/k2f2HQU3Pi399RPW1MOaZyhKJL9w/xFpKAg4q1s0A= +github.com/ebitengine/purego v0.9.1/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= +github.com/go-errors/errors v1.1.1/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= +github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= +github.com/go-errors/errors v1.5.1 h1:ZwEMSLRCapFLflTpT7NKaAc7ukJ8ZPEjzlxt8rPN8bk= +github.com/go-errors/errors v1.5.1/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= +github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= +github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= +github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= +github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/golang/geo v0.0.0-20200319012246-673a6f80352d/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/golang/geo v0.0.0-20210211234256-740aa86cb551/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/golang/geo v0.0.0-20250707181242-c5087ca84cf4 h1:vCeHcs8N7MOccOOsOVIy1xcYu+kBkA4J5urTgigww7c= +github.com/golang/geo v0.0.0-20250707181242-c5087ca84cf4/go.mod h1:AN0OjM34c3PbjAsX+QNma1nYtJtRxl+s9MZNV7S+efw= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= +github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= +github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/jellydator/ttlcache/v3 v3.4.0 h1:YS4P125qQS0tNhtL6aeYkheEaB/m8HCqdMMP4mnWdTY= +github.com/jellydator/ttlcache/v3 v3.4.0/go.mod h1:Hw9EgjymziQD3yGsQdf1FqFdpp7YjFMd4Srg5EJlgD4= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= +github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= +github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= +github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/maruel/natural v1.3.0 h1:VsmCsBmEyrR46RomtgHs5hbKADGRVtliHTyCOLFBpsg= +github.com/maruel/natural v1.3.0/go.mod h1:v+Rfd79xlw1AgVBjbO0BEQmptqb5HvL/k9GRHB7ZKEg= +github.com/marusama/semaphore/v2 v2.5.0 h1:o/1QJD9DBYOWRnDhPwDVAXQn6mQYD0gZaS1Tpx6DJGM= +github.com/marusama/semaphore/v2 v2.5.0/go.mod h1:z9nMiNUekt/LTpTUQdpp+4sJeYqUGpwMHfW0Z8V8fnQ= +github.com/mholt/archives v0.1.5 h1:Fh2hl1j7VEhc6DZs2DLMgiBNChUux154a1G+2esNvzQ= +github.com/mholt/archives v0.1.5/go.mod h1:3TPMmBLPsgszL+1As5zECTuKwKvIfj6YcwWPpeTAXF4= +github.com/mikelolasagasti/xz v1.0.1 h1:Q2F2jX0RYJUG3+WsM+FJknv+6eVjsjXNDV0KJXZzkD0= +github.com/mikelolasagasti/xz v1.0.1/go.mod h1:muAirjiOUxPRXwm9HdDtB3uoRPrGnL85XHtokL9Hcgc= +github.com/minio/minlz v1.0.1 h1:OUZUzXcib8diiX+JYxyRLIdomyZYzHct6EShOKtQY2A= +github.com/minio/minlz v1.0.1/go.mod h1:qT0aEB35q79LLornSzeDH75LBf3aH1MV+jB5w9Wasec= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/nwaples/rardecode/v2 v2.2.0 h1:4ufPGHiNe1rYJxYfehALLjup4Ls3ck42CWwjKiOqu0A= +github.com/nwaples/rardecode/v2 v2.2.0/go.mod h1:7uz379lSxPe6j9nvzxUZ+n7mnJNgjsRNb6IbvGVHRmw= +github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU= +github.com/pierrec/lz4/v4 v4.1.22/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pkg/profile v1.4.0/go.mod h1:NWz/XGvpEW1FyYQ7fCx4dqYBLlfTcE+A9FLAkNKqjFE= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt9k/+g42oCprj/FisM4qX9L3sZB3upGN2ZU= +github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd/go.mod h1:hPqNNc0+uJM6H+SuU8sEs5K5IQeKccPqeSjfgcKGgPk= +github.com/sagikazarmark/locafero v0.11.0 h1:1iurJgmM9G3PA/I+wWYIOw/5SyBtxapeHDcg+AAIFXc= +github.com/sagikazarmark/locafero v0.11.0/go.mod h1:nVIGvgyzw595SUSUE6tvCp3YYTeHs15MvlmU87WwIik= +github.com/samber/lo v1.52.0 h1:Rvi+3BFHES3A8meP33VPAxiBZX/Aws5RxrschYGjomw= +github.com/samber/lo v1.52.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0= +github.com/shirou/gopsutil/v4 v4.25.12 h1:e7PvW/0RmJ8p8vPGJH4jvNkOyLmbkXgXW4m6ZPic6CY= +github.com/shirou/gopsutil/v4 v4.25.12/go.mod h1:EivAfP5x2EhLp2ovdpKSozecVXn1TmuG7SMzs/Wh4PU= +github.com/sorairolake/lzip-go v0.3.8 h1:j5Q2313INdTA80ureWYRhX+1K78mUXfMoPZCw/ivWik= +github.com/sorairolake/lzip-go v0.3.8/go.mod h1:JcBqGMV0frlxwrsE9sMWXDjqn3EeVf0/54YPsw66qkU= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U= +github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= +github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= +github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= +github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= +github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU= +github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce h1:fb190+cK2Xz/dvi9Hv8eCYJYvIGUTN2/KLq1pT6CjEc= +github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoik09Xen7gje4m9ERNah1d1PPsVq1VEx9vE4= +github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.15 h1:9DNdB5s+SgV3bQ2ApL10xRc35ck0DuIX/isZvIk+ubY= +github.com/ulikunitz/xz v0.5.15/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= +github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU= +github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= +github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= +go.etcd.io/bbolt v1.4.3 h1:dEadXpI6G79deX5prL3QRNP6JB8UxVkqo4UPnHaNXJo= +go.etcd.io/bbolt v1.4.3/go.mod h1:tKQlpPaYCVFctUIgFKFnAlvbmB3tpy1vkTnDWohtc0E= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +go4.org v0.0.0-20230225012048-214862532bf5 h1:nifaUDeh+rPaBCMPMQHZmvJf+QdpLFnuQPwx+LxVmtc= +go4.org v0.0.0-20230225012048-214862532bf5/go.mod h1:F57wTi5Lrj6WLyswp5EYV1ncrEbFGHD4hhz6S1ZYeaU= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= +golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.35.0 h1:LKjiHdgMtO8z7Fh18nGY6KDcoEtVfsgLDPeLyguqb7I= +golang.org/x/image v0.35.0/go.mod h1:MwPLTVgvxSASsxdLzKrl8BRFuyqMyGhLwmC+TO1Sybk= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191105084925-a882066a44e0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200320220750-118fecf932d8/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20221002022538-bcab6841153b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= +golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5 h1:tycE03LOZYQNhDpS27tcQdAzLCVMaj7QT2SXxebnpCM= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= +gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/http.go b/http.go deleted file mode 100644 index 55810311..00000000 --- a/http.go +++ /dev/null @@ -1,257 +0,0 @@ -package filemanager - -import ( - "encoding/json" - "html/template" - "net/http" - "os" - "strings" -) - -// RequestContext contains the needed information to make handlers work. -type RequestContext struct { - User *User - FM *FileManager - FI *file - // On API handlers, Router is the APi handler we want. - Router string -} - -// serveHTTP is the main entry point of this HTML application. -func serveHTTP(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - // Checks if the URL contains the baseURL and strips it. Otherwise, it just - // returns a 404 error because we're not supposed to be here! - p := strings.TrimPrefix(r.URL.Path, c.FM.BaseURL) - - if len(p) >= len(r.URL.Path) && c.FM.BaseURL != "" { - return http.StatusNotFound, nil - } - - r.URL.Path = p - - // Check if this request is made to the service worker. If so, - // pass it through a template to add the needed variables. - if r.URL.Path == "/sw.js" { - return renderFile( - w, - c.FM.assets.MustString("sw.js"), - "application/javascript", - c, - ) - } - - // Checks if this request is made to the static assets folder. If so, and - // if it is a GET request, returns with the asset. Otherwise, returns - // a status not implemented. - if matchURL(r.URL.Path, "/static") { - if r.Method != http.MethodGet { - return http.StatusNotImplemented, nil - } - - return staticHandler(c, w, r) - } - - // Checks if this request is made to the API and directs to the - // API handler if so. - if matchURL(r.URL.Path, "/api") { - r.URL.Path = strings.TrimPrefix(r.URL.Path, "/api") - return apiHandler(c, w, r) - } - - // Any other request should show the index.html file. - w.Header().Set("x-frame-options", "SAMEORIGIN") - w.Header().Set("x-content-type", "nosniff") - w.Header().Set("x-xss-protection", "1; mode=block") - - return renderFile( - w, - c.FM.assets.MustString("index.html"), - "text/html", - c, - ) -} - -// staticHandler handles the static assets path. -func staticHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if r.URL.Path != "/static/manifest.json" { - http.FileServer(c.FM.assets.HTTPBox()).ServeHTTP(w, r) - return 0, nil - } - - return renderFile( - w, - c.FM.assets.MustString("static/manifest.json"), - "application/json", - c, - ) -} - -// apiHandler is the main entry point for the /api endpoint. -func apiHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if r.URL.Path == "/auth/get" { - return authHandler(c, w, r) - } - - if r.URL.Path == "/auth/renew" { - return renewAuthHandler(c, w, r) - } - - valid, _ := validateAuth(c, r) - if !valid { - return http.StatusForbidden, nil - } - - c.Router, r.URL.Path = splitURL(r.URL.Path) - - if !c.User.Allowed(r.URL.Path) { - return http.StatusForbidden, nil - } - - for p := range c.FM.Plugins { - code, err := plugins[p].Handler.Before(c, w, r) - if code != 0 || err != nil { - return code, err - } - } - - if c.Router == "checksum" || c.Router == "download" { - var err error - c.FI, err = getInfo(r.URL, c.FM, c.User) - if err != nil { - return errorToHTTP(err, false), err - } - } - - var code int - var err error - - switch c.Router { - case "download": - code, err = downloadHandler(c, w, r) - case "checksum": - code, err = checksumHandler(c, w, r) - case "command": - code, err = command(c, w, r) - case "search": - code, err = search(c, w, r) - case "resource": - code, err = resourceHandler(c, w, r) - case "users": - code, err = usersHandler(c, w, r) - case "commands": - code, err = commandsHandler(c, w, r) - case "plugins": - code, err = pluginsHandler(c, w, r) - default: - code = http.StatusNotFound - } - - if code >= 300 || err != nil { - return code, err - } - - for p := range c.FM.Plugins { - code, err := plugins[p].Handler.After(c, w, r) - if code != 0 || err != nil { - return code, err - } - } - - return code, err -} - -// serveChecksum calculates the hash of a file. Supports MD5, SHA1, SHA256 and SHA512. -func checksumHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - query := r.URL.Query().Get("algo") - - val, err := c.FI.Checksum(query) - if err == errInvalidOption { - return http.StatusBadRequest, err - } else if err != nil { - return http.StatusInternalServerError, err - } - - w.Write([]byte(val)) - return 0, nil -} - -// splitURL splits the path and returns everything that stands -// before the first slash and everything that goes after. -func splitURL(path string) (string, string) { - if path == "" { - return "", "" - } - - path = strings.TrimPrefix(path, "/") - - i := strings.Index(path, "/") - if i == -1 { - return "", path - } - - return path[0:i], path[i:] -} - -// renderFile renders a file using a template with some needed variables. -func renderFile(w http.ResponseWriter, file string, contentType string, c *RequestContext) (int, error) { - tpl := template.Must(template.New("file").Parse(file)) - w.Header().Set("Content-Type", contentType+"; charset=utf-8") - - var javascript = "" - for name := range c.FM.Plugins { - javascript += plugins[name].JavaScript + "\n" - } - - err := tpl.Execute(w, map[string]interface{}{ - "BaseURL": c.FM.RootURL(), - "JavaScript": template.JS(javascript), - }) - if err != nil { - return http.StatusInternalServerError, err - } - - return 0, nil -} - -// renderJSON prints the JSON version of data to the browser. -func renderJSON(w http.ResponseWriter, data interface{}) (int, error) { - marsh, err := json.Marshal(data) - if err != nil { - return http.StatusInternalServerError, err - } - - w.Header().Set("Content-Type", "application/json; charset=utf-8") - if _, err := w.Write(marsh); err != nil { - return http.StatusInternalServerError, err - } - - return 0, nil -} - -// matchURL checks if the first URL matches the second. -func matchURL(first, second string) bool { - first = strings.ToLower(first) - second = strings.ToLower(second) - - return strings.HasPrefix(first, second) -} - -// errorToHTTP converts errors to HTTP Status Code. -func errorToHTTP(err error, gone bool) int { - switch { - case err == nil: - return http.StatusOK - case os.IsPermission(err): - return http.StatusForbidden - case os.IsNotExist(err): - if !gone { - return http.StatusNotFound - } - - return http.StatusGone - case os.IsExist(err): - return http.StatusConflict - default: - return http.StatusInternalServerError - } -} diff --git a/http/auth.go b/http/auth.go new file mode 100644 index 00000000..4eceeafe --- /dev/null +++ b/http/auth.go @@ -0,0 +1,239 @@ +package fbhttp + +import ( + "encoding/json" + "errors" + "log" + "net/http" + "os" + "strings" + "time" + + "github.com/golang-jwt/jwt/v5" + "github.com/golang-jwt/jwt/v5/request" + + fbAuth "github.com/filebrowser/filebrowser/v2/auth" + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/users" +) + +const ( + DefaultTokenExpirationTime = time.Hour * 2 +) + +type userInfo struct { + ID uint `json:"id"` + Locale string `json:"locale"` + ViewMode users.ViewMode `json:"viewMode"` + SingleClick bool `json:"singleClick"` + RedirectAfterCopyMove bool `json:"redirectAfterCopyMove"` + Perm users.Permissions `json:"perm"` + Commands []string `json:"commands"` + LockPassword bool `json:"lockPassword"` + HideDotfiles bool `json:"hideDotfiles"` + DateFormat bool `json:"dateFormat"` + Username string `json:"username"` + AceEditorTheme string `json:"aceEditorTheme"` +} + +type authToken struct { + User userInfo `json:"user"` + jwt.RegisteredClaims +} + +type extractor []string + +func (e extractor) ExtractToken(r *http.Request) (string, error) { + token, _ := request.HeaderExtractor{"X-Auth"}.ExtractToken(r) + + // Checks if the token isn't empty and if it contains two dots. + // The former prevents incompatibility with URLs that previously + // used basic auth. + if token != "" && strings.Count(token, ".") == 2 { + return token, nil + } + + if r.Method == http.MethodGet { + cookie, _ := r.Cookie("auth") + if cookie != nil && strings.Count(cookie.Value, ".") == 2 { + return cookie.Value, nil + } + } + + return "", request.ErrNoTokenInRequest +} + +func renewableErr(err error, d *data) bool { + if d.settings.AuthMethod != fbAuth.MethodProxyAuth || err == nil { + return false + } + + if d.settings.LogoutPage == settings.DefaultLogoutPage { + return false + } + + if !errors.Is(err, jwt.ErrTokenExpired) { + return false + } + + return true +} + +func withUser(fn handleFunc) handleFunc { + return func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + keyFunc := func(_ *jwt.Token) (interface{}, error) { + return d.settings.Key, nil + } + + var tk authToken + p := jwt.NewParser(jwt.WithValidMethods([]string{jwt.SigningMethodHS256.Alg()}), jwt.WithExpirationRequired()) + token, err := request.ParseFromRequest(r, &extractor{}, keyFunc, request.WithClaims(&tk), request.WithParser(p)) + if (err != nil || !token.Valid) && !renewableErr(err, d) { + return http.StatusUnauthorized, nil + } + + expiresSoon := tk.ExpiresAt != nil && time.Until(tk.ExpiresAt.Time) < time.Hour + updated := tk.IssuedAt != nil && tk.IssuedAt.Unix() < d.store.Users.LastUpdate(tk.User.ID) + + if expiresSoon || updated { + w.Header().Add("X-Renew-Token", "true") + } + + d.user, err = d.store.Users.Get(d.server.Root, tk.User.ID) + if err != nil { + return http.StatusInternalServerError, err + } + return fn(w, r, d) + } +} + +func withAdmin(fn handleFunc) handleFunc { + return withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + if !d.user.Perm.Admin { + return http.StatusForbidden, nil + } + + return fn(w, r, d) + }) +} + +func loginHandler(tokenExpireTime time.Duration) handleFunc { + return func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + auther, err := d.store.Auth.Get(d.settings.AuthMethod) + if err != nil { + return http.StatusInternalServerError, err + } + + user, err := auther.Auth(r, d.store.Users, d.settings, d.server) + switch { + case errors.Is(err, os.ErrPermission): + return http.StatusForbidden, nil + case err != nil: + return http.StatusInternalServerError, err + } + + return printToken(w, r, d, user, tokenExpireTime) + } +} + +type signupBody struct { + Username string `json:"username"` + Password string `json:"password"` +} + +var signupHandler = func(_ http.ResponseWriter, r *http.Request, d *data) (int, error) { + if !d.settings.Signup { + return http.StatusMethodNotAllowed, nil + } + + if r.Body == nil { + return http.StatusBadRequest, nil + } + + info := &signupBody{} + err := json.NewDecoder(r.Body).Decode(info) + if err != nil { + return http.StatusBadRequest, err + } + + if info.Password == "" || info.Username == "" { + return http.StatusBadRequest, nil + } + + user := &users.User{ + Username: info.Username, + } + + d.settings.Defaults.Apply(user) + + pwd, err := users.ValidateAndHashPwd(info.Password, d.settings.MinimumPasswordLength) + if err != nil { + return http.StatusBadRequest, err + } + + user.Password = pwd + if d.settings.CreateUserDir { + user.Scope = "" + } + + userHome, err := d.settings.MakeUserDir(user.Username, user.Scope, d.server.Root) + if err != nil { + log.Printf("create user: failed to mkdir user home dir: [%s]", userHome) + return http.StatusInternalServerError, err + } + user.Scope = userHome + log.Printf("new user: %s, home dir: [%s].", user.Username, userHome) + + err = d.store.Users.Save(user) + if errors.Is(err, fberrors.ErrExist) { + return http.StatusConflict, err + } else if err != nil { + return http.StatusInternalServerError, err + } + + return http.StatusOK, nil +} + +func renewHandler(tokenExpireTime time.Duration) handleFunc { + return withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + w.Header().Set("X-Renew-Token", "false") + return printToken(w, r, d, d.user, tokenExpireTime) + }) +} + +func printToken(w http.ResponseWriter, _ *http.Request, d *data, user *users.User, tokenExpirationTime time.Duration) (int, error) { + claims := &authToken{ + User: userInfo{ + ID: user.ID, + Locale: user.Locale, + ViewMode: user.ViewMode, + SingleClick: user.SingleClick, + RedirectAfterCopyMove: user.RedirectAfterCopyMove, + Perm: user.Perm, + LockPassword: user.LockPassword, + Commands: user.Commands, + HideDotfiles: user.HideDotfiles, + DateFormat: user.DateFormat, + Username: user.Username, + AceEditorTheme: user.AceEditorTheme, + }, + RegisteredClaims: jwt.RegisteredClaims{ + IssuedAt: jwt.NewNumericDate(time.Now()), + ExpiresAt: jwt.NewNumericDate(time.Now().Add(tokenExpirationTime)), + Issuer: "File Browser", + }, + } + + token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) + signed, err := token.SignedString(d.settings.Key) + if err != nil { + return http.StatusInternalServerError, err + } + + w.Header().Set("Content-Type", "text/plain") + if _, err := w.Write([]byte(signed)); err != nil { + return http.StatusInternalServerError, err + } + return 0, nil +} diff --git a/http/commands.go b/http/commands.go new file mode 100644 index 00000000..f0380c50 --- /dev/null +++ b/http/commands.go @@ -0,0 +1,120 @@ +package fbhttp + +import ( + "bufio" + "io" + "log" + "net/http" + "os/exec" + "slices" + "strings" + "time" + + "github.com/gorilla/websocket" + + "github.com/filebrowser/filebrowser/v2/runner" +) + +const ( + WSWriteDeadline = 10 * time.Second +) + +var upgrader = websocket.Upgrader{ + ReadBufferSize: 1024, + WriteBufferSize: 1024, +} + +var ( + cmdNotAllowed = []byte("Command not allowed.") +) + +func wsErr(ws *websocket.Conn, r *http.Request, status int, err error) { + txt := http.StatusText(status) + if err != nil || status >= 400 { + log.Printf("%s: %v %s %v", r.URL.Path, status, r.RemoteAddr, err) + } + if err := ws.WriteControl(websocket.CloseInternalServerErr, []byte(txt), time.Now().Add(WSWriteDeadline)); err != nil { + log.Print(err) + } +} + +var commandsHandler = withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + conn, err := upgrader.Upgrade(w, r, nil) + if err != nil { + return http.StatusInternalServerError, err + } + defer conn.Close() + + var raw string + + for { + _, msg, err := conn.ReadMessage() + if err != nil { + wsErr(conn, r, http.StatusInternalServerError, err) + return 0, nil + } + + raw = strings.TrimSpace(string(msg)) + if raw != "" { + break + } + } + + // Fail fast + if !d.server.EnableExec || !d.user.Perm.Execute { + if err := conn.WriteMessage(websocket.TextMessage, cmdNotAllowed); err != nil { + wsErr(conn, r, http.StatusInternalServerError, err) + } + + return 0, nil + } + + command, name, err := runner.ParseCommand(d.settings, raw) + if err != nil { + if err := conn.WriteMessage(websocket.TextMessage, []byte(err.Error())); err != nil { + wsErr(conn, r, http.StatusInternalServerError, err) + } + return 0, nil + } + + if !slices.Contains(d.user.Commands, name) { + if err := conn.WriteMessage(websocket.TextMessage, cmdNotAllowed); err != nil { + wsErr(conn, r, http.StatusInternalServerError, err) + } + + return 0, nil + } + + cmd := exec.Command(command[0], command[1:]...) + cmd.Dir = d.user.FullPath(r.URL.Path) + + stdout, err := cmd.StdoutPipe() + if err != nil { + wsErr(conn, r, http.StatusInternalServerError, err) + return 0, nil + } + + stderr, err := cmd.StderrPipe() + if err != nil { + wsErr(conn, r, http.StatusInternalServerError, err) + return 0, nil + } + + if err := cmd.Start(); err != nil { + wsErr(conn, r, http.StatusInternalServerError, err) + return 0, nil + } + + s := bufio.NewScanner(io.MultiReader(stdout, stderr)) + for s.Scan() { + if err := conn.WriteMessage(websocket.TextMessage, s.Bytes()); err != nil { + log.Print(err) + } + } + + if err := cmd.Wait(); err != nil { + wsErr(conn, r, http.StatusInternalServerError, err) + } + + return 0, nil +}) diff --git a/http/data.go b/http/data.go new file mode 100644 index 00000000..d591053e --- /dev/null +++ b/http/data.go @@ -0,0 +1,85 @@ +package fbhttp + +import ( + "log" + "net/http" + "strconv" + + "github.com/tomasen/realip" + + "github.com/filebrowser/filebrowser/v2/rules" + "github.com/filebrowser/filebrowser/v2/runner" + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/storage" + "github.com/filebrowser/filebrowser/v2/users" +) + +type handleFunc func(w http.ResponseWriter, r *http.Request, d *data) (int, error) + +type data struct { + *runner.Runner + settings *settings.Settings + server *settings.Server + store *storage.Storage + user *users.User + raw interface{} +} + +// Check implements rules.Checker. +func (d *data) Check(path string) bool { + if d.user.HideDotfiles && rules.MatchHidden(path) { + return false + } + + allow := true + for _, rule := range d.settings.Rules { + if rule.Matches(path) { + allow = rule.Allow + } + } + + for _, rule := range d.user.Rules { + if rule.Matches(path) { + allow = rule.Allow + } + } + + return allow +} + +func handle(fn handleFunc, prefix string, store *storage.Storage, server *settings.Server) http.Handler { + handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + for k, v := range globalHeaders { + w.Header().Set(k, v) + } + + settings, err := store.Settings.Get() + if err != nil { + log.Fatalf("ERROR: couldn't get settings: %v\n", err) + return + } + + status, err := fn(w, r, &data{ + Runner: &runner.Runner{Enabled: server.EnableExec, Settings: settings}, + store: store, + settings: settings, + server: server, + }) + + if status >= 400 || err != nil { + clientIP := realip.FromRequest(r) + log.Printf("%s: %v %s %v", r.URL.Path, status, clientIP, err) + } + + if status != 0 { + txt := http.StatusText(status) + if status == http.StatusBadRequest && err != nil { + txt += " (" + err.Error() + ")" + } + http.Error(w, strconv.Itoa(status)+" "+txt, status) + return + } + }) + + return stripPrefix(prefix, handler) +} diff --git a/http/headers.go b/http/headers.go new file mode 100644 index 00000000..a18e7b53 --- /dev/null +++ b/http/headers.go @@ -0,0 +1,8 @@ +//go:build !dev + +package fbhttp + +// global headers to append to every response +var globalHeaders = map[string]string{ + "Cache-Control": "no-cache, no-store, must-revalidate", +} diff --git a/http/http.go b/http/http.go new file mode 100644 index 00000000..bb57f395 --- /dev/null +++ b/http/http.go @@ -0,0 +1,97 @@ +package fbhttp + +import ( + "io/fs" + "net/http" + + "github.com/gorilla/mux" + + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/storage" +) + +type modifyRequest struct { + What string `json:"what"` // Answer to: what data type? + Which []string `json:"which"` // Answer to: which fields? + CurrentPassword string `json:"current_password"` // Answer to: user logged password +} + +func NewHandler( + imgSvc ImgService, + fileCache FileCache, + store *storage.Storage, + server *settings.Server, + assetsFs fs.FS, +) (http.Handler, error) { + server.Clean() + + r := mux.NewRouter() + r.Use(func(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Security-Policy", `default-src 'self'; style-src 'unsafe-inline';`) + next.ServeHTTP(w, r) + }) + }) + index, static := getStaticHandlers(store, server, assetsFs) + + // NOTE: This fixes the issue where it would redirect if people did not put a + // trailing slash in the end. I hate this decision since this allows some awful + // URLs https://www.gorillatoolkit.org/pkg/mux#Router.SkipClean + r = r.SkipClean(true) + + monkey := func(fn handleFunc, prefix string) http.Handler { + return handle(fn, prefix, store, server) + } + + r.HandleFunc("/health", healthHandler) + r.PathPrefix("/static").Handler(static) + r.NotFoundHandler = index + + api := r.PathPrefix("/api").Subrouter() + + tokenExpirationTime := server.GetTokenExpirationTime(DefaultTokenExpirationTime) + api.Handle("/login", monkey(loginHandler(tokenExpirationTime), "")) + api.Handle("/signup", monkey(signupHandler, "")) + api.Handle("/renew", monkey(renewHandler(tokenExpirationTime), "")) + + users := api.PathPrefix("/users").Subrouter() + users.Handle("", monkey(usersGetHandler, "")).Methods("GET") + users.Handle("", monkey(userPostHandler, "")).Methods("POST") + users.Handle("/{id:[0-9]+}", monkey(userPutHandler, "")).Methods("PUT") + users.Handle("/{id:[0-9]+}", monkey(userGetHandler, "")).Methods("GET") + users.Handle("/{id:[0-9]+}", monkey(userDeleteHandler, "")).Methods("DELETE") + + api.PathPrefix("/resources").Handler(monkey(resourceGetHandler, "/api/resources")).Methods("GET") + api.PathPrefix("/resources").Handler(monkey(resourceDeleteHandler(fileCache), "/api/resources")).Methods("DELETE") + api.PathPrefix("/resources").Handler(monkey(resourcePostHandler(fileCache), "/api/resources")).Methods("POST") + api.PathPrefix("/resources").Handler(monkey(resourcePutHandler, "/api/resources")).Methods("PUT") + api.PathPrefix("/resources").Handler(monkey(resourcePatchHandler(fileCache), "/api/resources")).Methods("PATCH") + + api.PathPrefix("/tus").Handler(monkey(tusPostHandler(), "/api/tus")).Methods("POST") + api.PathPrefix("/tus").Handler(monkey(tusHeadHandler(), "/api/tus")).Methods("HEAD", "GET") + api.PathPrefix("/tus").Handler(monkey(tusPatchHandler(), "/api/tus")).Methods("PATCH") + api.PathPrefix("/tus").Handler(monkey(tusDeleteHandler(), "/api/tus")).Methods("DELETE") + + api.PathPrefix("/usage").Handler(monkey(diskUsage, "/api/usage")).Methods("GET") + + api.Path("/shares").Handler(monkey(shareListHandler, "/api/shares")).Methods("GET") + api.PathPrefix("/share").Handler(monkey(shareGetsHandler, "/api/share")).Methods("GET") + api.PathPrefix("/share").Handler(monkey(sharePostHandler, "/api/share")).Methods("POST") + api.PathPrefix("/share").Handler(monkey(shareDeleteHandler, "/api/share")).Methods("DELETE") + + api.Handle("/settings", monkey(settingsGetHandler, "")).Methods("GET") + api.Handle("/settings", monkey(settingsPutHandler, "")).Methods("PUT") + + api.PathPrefix("/raw").Handler(monkey(rawHandler, "/api/raw")).Methods("GET") + api.PathPrefix("/preview/{size}/{path:.*}"). + Handler(monkey(previewHandler(imgSvc, fileCache, server.EnableThumbnails, server.ResizePreview), "/api/preview")).Methods("GET") + api.PathPrefix("/command").Handler(monkey(commandsHandler, "/api/command")).Methods("GET") + api.PathPrefix("/search").Handler(monkey(searchHandler, "/api/search")).Methods("GET") + api.PathPrefix("/subtitle").Handler(monkey(subtitleHandler, "/api/subtitle")).Methods("GET") + + public := api.PathPrefix("/public").Subrouter() + public.PathPrefix("/dl").Handler(monkey(publicDlHandler, "/api/public/dl/")).Methods("GET") + public.PathPrefix("/share").Handler(monkey(publicShareHandler, "/api/public/share/")).Methods("GET") + + return stripPrefix(server.BaseURL, r), nil +} diff --git a/http/preview.go b/http/preview.go new file mode 100644 index 00000000..e57d597b --- /dev/null +++ b/http/preview.go @@ -0,0 +1,157 @@ +//go:generate go-enum --sql --marshal --names --file $GOFILE +package fbhttp + +import ( + "bytes" + "context" + "errors" + "fmt" + "io" + "net/http" + + "github.com/gorilla/mux" + + "github.com/filebrowser/filebrowser/v2/files" + "github.com/filebrowser/filebrowser/v2/img" +) + +/* +ENUM( +thumb +big +) +*/ +type PreviewSize int + +type ImgService interface { + FormatFromExtension(ext string) (img.Format, error) + Resize(ctx context.Context, in io.Reader, width, height int, out io.Writer, options ...img.Option) error +} + +type FileCache interface { + Store(ctx context.Context, key string, value []byte) error + Load(ctx context.Context, key string) ([]byte, bool, error) + Delete(ctx context.Context, key string) error +} + +func previewHandler(imgSvc ImgService, fileCache FileCache, enableThumbnails, resizePreview bool) handleFunc { + return withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + if !d.user.Perm.Download { + return http.StatusAccepted, nil + } + vars := mux.Vars(r) + + previewSize, err := ParsePreviewSize(vars["size"]) + if err != nil { + return http.StatusBadRequest, err + } + + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: "/" + vars["path"], + Modify: d.user.Perm.Modify, + Expand: true, + ReadHeader: d.server.TypeDetectionByHeader, + Checker: d, + }) + if err != nil { + return errToStatus(err), err + } + + setContentDisposition(w, r, file) + + switch file.Type { + case "image": + return handleImagePreview(w, r, imgSvc, fileCache, file, previewSize, enableThumbnails, resizePreview) + default: + return http.StatusNotImplemented, fmt.Errorf("can't create preview for %s type", file.Type) + } + }) +} + +func handleImagePreview( + w http.ResponseWriter, + r *http.Request, + imgSvc ImgService, + fileCache FileCache, + file *files.FileInfo, + previewSize PreviewSize, + enableThumbnails, resizePreview bool, +) (int, error) { + if (previewSize == PreviewSizeBig && !resizePreview) || + (previewSize == PreviewSizeThumb && !enableThumbnails) { + return rawFileHandler(w, r, file) + } + + format, err := imgSvc.FormatFromExtension(file.Extension) + // Unsupported extensions directly return the raw data + if errors.Is(err, img.ErrUnsupportedFormat) || format == img.FormatGif { + return rawFileHandler(w, r, file) + } + if err != nil { + return errToStatus(err), err + } + + cacheKey := previewCacheKey(file, previewSize) + resizedImage, ok, err := fileCache.Load(r.Context(), cacheKey) + if err != nil { + return errToStatus(err), err + } + if !ok { + resizedImage, err = createPreview(imgSvc, fileCache, file, previewSize) + if err != nil { + return errToStatus(err), err + } + } + + w.Header().Set("Cache-Control", "private") + http.ServeContent(w, r, file.Name, file.ModTime, bytes.NewReader(resizedImage)) + + return 0, nil +} + +func createPreview(imgSvc ImgService, fileCache FileCache, + file *files.FileInfo, previewSize PreviewSize) ([]byte, error) { + fd, err := file.Fs.Open(file.Path) + if err != nil { + return nil, err + } + defer fd.Close() + + var ( + width int + height int + options []img.Option + ) + + switch previewSize { + case PreviewSizeBig: + width = 1080 + height = 1080 + options = append(options, img.WithMode(img.ResizeModeFit), img.WithQuality(img.QualityMedium)) + case PreviewSizeThumb: + width = 256 + height = 256 + options = append(options, img.WithMode(img.ResizeModeFill), img.WithQuality(img.QualityLow), img.WithFormat(img.FormatJpeg)) + default: + return nil, img.ErrUnsupportedFormat + } + + buf := &bytes.Buffer{} + if err := imgSvc.Resize(context.Background(), fd, width, height, buf, options...); err != nil { + return nil, err + } + + go func() { + cacheKey := previewCacheKey(file, previewSize) + if err := fileCache.Store(context.Background(), cacheKey, buf.Bytes()); err != nil { + fmt.Printf("failed to cache resized image: %v", err) + } + }() + + return buf.Bytes(), nil +} + +func previewCacheKey(f *files.FileInfo, previewSize PreviewSize) string { + return fmt.Sprintf("%x%x%x", f.RealPath(), f.ModTime.Unix(), previewSize) +} diff --git a/http/preview_enum.go b/http/preview_enum.go new file mode 100644 index 00000000..2bb1a078 --- /dev/null +++ b/http/preview_enum.go @@ -0,0 +1,100 @@ +// Code generated by go-enum +// DO NOT EDIT! + +package fbhttp + +import ( + "database/sql/driver" + "fmt" + "strings" +) + +const ( + // PreviewSizeThumb is a PreviewSize of type Thumb + PreviewSizeThumb PreviewSize = iota + // PreviewSizeBig is a PreviewSize of type Big + PreviewSizeBig +) + +const _PreviewSizeName = "thumbbig" + +var _PreviewSizeNames = []string{ + _PreviewSizeName[0:5], + _PreviewSizeName[5:8], +} + +// PreviewSizeNames returns a list of possible string values of PreviewSize. +func PreviewSizeNames() []string { + tmp := make([]string, len(_PreviewSizeNames)) + copy(tmp, _PreviewSizeNames) + return tmp +} + +var _PreviewSizeMap = map[PreviewSize]string{ + 0: _PreviewSizeName[0:5], + 1: _PreviewSizeName[5:8], +} + +// String implements the Stringer interface. +func (x PreviewSize) String() string { + if str, ok := _PreviewSizeMap[x]; ok { + return str + } + return fmt.Sprintf("PreviewSize(%d)", x) +} + +var _PreviewSizeValue = map[string]PreviewSize{ + _PreviewSizeName[0:5]: 0, + _PreviewSizeName[5:8]: 1, +} + +// ParsePreviewSize attempts to convert a string to a PreviewSize +func ParsePreviewSize(name string) (PreviewSize, error) { + if x, ok := _PreviewSizeValue[name]; ok { + return x, nil + } + return PreviewSize(0), fmt.Errorf("%s is not a valid PreviewSize, try [%s]", name, strings.Join(_PreviewSizeNames, ", ")) +} + +// MarshalText implements the text marshaller method +func (x PreviewSize) MarshalText() ([]byte, error) { + return []byte(x.String()), nil +} + +// UnmarshalText implements the text unmarshaller method +func (x *PreviewSize) UnmarshalText(text []byte) error { + name := string(text) + tmp, err := ParsePreviewSize(name) + if err != nil { + return err + } + *x = tmp + return nil +} + +// Scan implements the Scanner interface. +func (x *PreviewSize) Scan(value interface{}) error { + var name string + + switch v := value.(type) { + case string: + name = v + case []byte: + name = string(v) + case nil: + *x = PreviewSize(0) + return nil + } + + tmp, err := ParsePreviewSize(name) + if err != nil { + return err + } + *x = tmp + return nil +} + +// Value implements the driver Valuer interface. +func (x PreviewSize) Value() (driver.Value, error) { + return x.String(), nil +} diff --git a/http/public.go b/http/public.go new file mode 100644 index 00000000..6dcdaff1 --- /dev/null +++ b/http/public.go @@ -0,0 +1,155 @@ +package fbhttp + +import ( + "errors" + "net/http" + "net/url" + "path" + "path/filepath" + "strings" + + "github.com/spf13/afero" + "golang.org/x/crypto/bcrypt" + + "github.com/filebrowser/filebrowser/v2/files" + "github.com/filebrowser/filebrowser/v2/share" +) + +var withHashFile = func(fn handleFunc) handleFunc { + return func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + id, ifPath := ifPathWithName(r) + link, err := d.store.Share.GetByHash(id) + if err != nil { + return errToStatus(err), err + } + + status, err := authenticateShareRequest(r, link) + if status != 0 || err != nil { + return status, err + } + + user, err := d.store.Users.Get(d.server.Root, link.UserID) + if err != nil { + return errToStatus(err), err + } + + d.user = user + + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: link.Path, + Modify: d.user.Perm.Modify, + Expand: false, + ReadHeader: d.server.TypeDetectionByHeader, + CalcImgRes: d.server.TypeDetectionByHeader, + Checker: d, + Token: link.Token, + }) + if err != nil { + return errToStatus(err), err + } + + // share base path + basePath := link.Path + + // file relative path + filePath := "" + + if file.IsDir { + basePath = filepath.Dir(basePath) + filePath = ifPath + } + + // set fs root to the shared file/folder + d.user.Fs = afero.NewBasePathFs(d.user.Fs, basePath) + + file, err = files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: filePath, + Modify: d.user.Perm.Modify, + Expand: true, + Checker: d, + Token: link.Token, + }) + if err != nil { + return errToStatus(err), err + } + + if file.IsDir { + // extract name from the last directory in the path + name := filepath.Base(strings.TrimRight(link.Path, string(filepath.Separator))) + file.Name = name + } + + d.raw = file + return fn(w, r, d) + } +} + +// ref to https://github.com/filebrowser/filebrowser/pull/727 +// `/api/public/dl/MEEuZK-v/file-name.txt` for old browsers to save file with correct name +func ifPathWithName(r *http.Request) (id, filePath string) { + pathElements := strings.Split(r.URL.Path, "/") + // prevent maliciously constructed parameters like `/api/public/dl/XZzCDnK2_not_exists_hash_name` + // len(pathElements) will be 1, and golang will panic `runtime error: index out of range` + + switch len(pathElements) { + case 1: + return r.URL.Path, "/" + default: + return pathElements[0], path.Join("/", path.Join(pathElements[1:]...)) + } +} + +var publicShareHandler = withHashFile(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + file := d.raw.(*files.FileInfo) + + if file.IsDir { + file.Sorting = files.Sorting{By: "name", Asc: false} + file.ApplySort() + return renderJSON(w, r, file) + } + + return renderJSON(w, r, file) +}) + +var publicDlHandler = withHashFile(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + file := d.raw.(*files.FileInfo) + if !file.IsDir { + return rawFileHandler(w, r, file) + } + + return rawDirHandler(w, r, d, file) +}) + +func authenticateShareRequest(r *http.Request, l *share.Link) (int, error) { + if l.PasswordHash == "" { + return 0, nil + } + + if r.URL.Query().Get("token") == l.Token { + return 0, nil + } + + password := r.Header.Get("X-SHARE-PASSWORD") + password, err := url.QueryUnescape(password) + if err != nil { + return 0, err + } + if password == "" { + return http.StatusUnauthorized, nil + } + if err := bcrypt.CompareHashAndPassword([]byte(l.PasswordHash), []byte(password)); err != nil { + if errors.Is(err, bcrypt.ErrMismatchedHashAndPassword) { + return http.StatusUnauthorized, nil + } + return 0, err + } + + return 0, nil +} + +func healthHandler(w http.ResponseWriter, _ *http.Request) { + w.WriteHeader(http.StatusOK) + _, _ = w.Write([]byte(`{"status":"OK"}`)) +} diff --git a/http/public_test.go b/http/public_test.go new file mode 100644 index 00000000..9a9c7f2e --- /dev/null +++ b/http/public_test.go @@ -0,0 +1,136 @@ +package fbhttp + +import ( + "fmt" + "net/http" + "net/http/httptest" + "path/filepath" + "testing" + + "github.com/asdine/storm/v3" + "github.com/spf13/afero" + + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/share" + "github.com/filebrowser/filebrowser/v2/storage/bolt" + "github.com/filebrowser/filebrowser/v2/users" +) + +func TestPublicShareHandlerAuthentication(t *testing.T) { + t.Parallel() + + const passwordBcrypt = "$2y$10$TFAmdCbyd/mEZDe5fUeZJu.MaJQXRTwdqb/IQV.eTn6dWrF58gCSe" + testCases := map[string]struct { + share *share.Link + req *http.Request + expectedStatusCode int + }{ + "Public share, no auth required": { + share: &share.Link{Hash: "h", UserID: 1}, + req: newHTTPRequest(t), + expectedStatusCode: 200, + }, + "Private share, no auth provided, 401": { + share: &share.Link{Hash: "h", UserID: 1, PasswordHash: passwordBcrypt, Token: "123"}, + req: newHTTPRequest(t), + expectedStatusCode: 401, + }, + "Private share, authentication via token": { + share: &share.Link{Hash: "h", UserID: 1, PasswordHash: passwordBcrypt, Token: "123"}, + req: newHTTPRequest(t, func(r *http.Request) { r.URL.RawQuery = "token=123" }), + expectedStatusCode: 200, + }, + "Private share, authentication via invalid token, 401": { + share: &share.Link{Hash: "h", UserID: 1, PasswordHash: passwordBcrypt, Token: "123"}, + req: newHTTPRequest(t, func(r *http.Request) { r.URL.RawQuery = "token=1234" }), + expectedStatusCode: 401, + }, + "Private share, authentication via password": { + share: &share.Link{Hash: "h", UserID: 1, PasswordHash: passwordBcrypt, Token: "123"}, + req: newHTTPRequest(t, func(r *http.Request) { r.Header.Set("X-SHARE-PASSWORD", "password") }), + expectedStatusCode: 200, + }, + "Private share, authentication via invalid password, 401": { + share: &share.Link{Hash: "h", UserID: 1, PasswordHash: passwordBcrypt, Token: "123"}, + req: newHTTPRequest(t, func(r *http.Request) { r.Header.Set("X-SHARE-PASSWORD", "wrong-password") }), + expectedStatusCode: 401, + }, + } + + for name, tc := range testCases { + for handlerName, handler := range map[string]handleFunc{"public share handler": publicShareHandler, "public dl handler": publicDlHandler} { + name, tc, handlerName, handler := name, tc, handlerName, handler + t.Run(fmt.Sprintf("%s: %s", handlerName, name), func(t *testing.T) { + t.Parallel() + + dbPath := filepath.Join(t.TempDir(), "db") + db, err := storm.Open(dbPath) + if err != nil { + t.Fatalf("failed to open db: %v", err) + } + + t.Cleanup(func() { + if err := db.Close(); err != nil { + t.Errorf("failed to close db: %v", err) + } + }) + + storage, err := bolt.NewStorage(db) + if err != nil { + t.Fatalf("failed to get storage: %v", err) + } + if err := storage.Share.Save(tc.share); err != nil { + t.Fatalf("failed to save share: %v", err) + } + if err := storage.Users.Save(&users.User{Username: "username", Password: "pw"}); err != nil { + t.Fatalf("failed to save user: %v", err) + } + if err := storage.Settings.Save(&settings.Settings{Key: []byte("key")}); err != nil { + t.Fatalf("failed to save settings: %v", err) + } + + storage.Users = &customFSUser{ + Store: storage.Users, + fs: &afero.MemMapFs{}, + } + + recorder := httptest.NewRecorder() + handler := handle(handler, "", storage, &settings.Server{}) + + handler.ServeHTTP(recorder, tc.req) + result := recorder.Result() + defer result.Body.Close() + if result.StatusCode != tc.expectedStatusCode { + t.Errorf("expected status code %d, got status code %d", tc.expectedStatusCode, result.StatusCode) + } + }) + } + } +} + +func newHTTPRequest(t *testing.T, requestModifiers ...func(*http.Request)) *http.Request { + t.Helper() + r, err := http.NewRequest(http.MethodGet, "h", http.NoBody) + if err != nil { + t.Fatalf("failed to construct request: %v", err) + } + for _, modify := range requestModifiers { + modify(r) + } + return r +} + +type customFSUser struct { + users.Store + fs afero.Fs +} + +func (cu *customFSUser) Get(baseScope string, id interface{}) (*users.User, error) { + user, err := cu.Store.Get(baseScope, id) + if err != nil { + return nil, err + } + user.Fs = cu.fs + + return user, nil +} diff --git a/http/raw.go b/http/raw.go new file mode 100644 index 00000000..a6857ffb --- /dev/null +++ b/http/raw.go @@ -0,0 +1,223 @@ +package fbhttp + +import ( + "errors" + "io/fs" + "log" + "net/http" + "net/url" + gopath "path" + "path/filepath" + "strings" + + "github.com/mholt/archives" + + "github.com/filebrowser/filebrowser/v2/files" + "github.com/filebrowser/filebrowser/v2/fileutils" + "github.com/filebrowser/filebrowser/v2/users" +) + +func slashClean(name string) string { + if name == "" || name[0] != '/' { + name = "/" + name + } + return gopath.Clean(name) +} + +func parseQueryFiles(r *http.Request, f *files.FileInfo, _ *users.User) ([]string, error) { + var fileSlice []string + names := strings.Split(r.URL.Query().Get("files"), ",") + + if len(names) == 0 { + fileSlice = append(fileSlice, f.Path) + } else { + for _, name := range names { + name, err := url.QueryUnescape(strings.ReplaceAll(name, "+", "%2B")) + if err != nil { + return nil, err + } + + name = slashClean(name) + fileSlice = append(fileSlice, filepath.Join(f.Path, name)) + } + } + + return fileSlice, nil +} + +func parseQueryAlgorithm(r *http.Request) (string, archives.Archival, error) { + switch r.URL.Query().Get("algo") { + case "zip", "true", "": + return ".zip", archives.Zip{}, nil + case "tar": + return ".tar", archives.Tar{}, nil + case "targz": + return ".tar.gz", archives.CompressedArchive{Compression: archives.Gz{}, Archival: archives.Tar{}}, nil + case "tarbz2": + return ".tar.bz2", archives.CompressedArchive{Compression: archives.Bz2{}, Archival: archives.Tar{}}, nil + case "tarxz": + return ".tar.xz", archives.CompressedArchive{Compression: archives.Xz{}, Archival: archives.Tar{}}, nil + case "tarlz4": + return ".tar.lz4", archives.CompressedArchive{Compression: archives.Lz4{}, Archival: archives.Tar{}}, nil + case "tarsz": + return ".tar.sz", archives.CompressedArchive{Compression: archives.Sz{}, Archival: archives.Tar{}}, nil + case "tarbr": + return ".tar.br", archives.CompressedArchive{Compression: archives.Brotli{}, Archival: archives.Tar{}}, nil + case "tarzst": + return ".tar.zst", archives.CompressedArchive{Compression: archives.Zstd{}, Archival: archives.Tar{}}, nil + default: + return "", nil, errors.New("format not implemented") + } +} + +func setContentDisposition(w http.ResponseWriter, r *http.Request, file *files.FileInfo) { + if r.URL.Query().Get("inline") == "true" { + w.Header().Set("Content-Disposition", "inline") + } else { + // As per RFC6266 section 4.3 + w.Header().Set("Content-Disposition", "attachment; filename*=utf-8''"+url.PathEscape(file.Name)) + } +} + +var rawHandler = withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + if !d.user.Perm.Download { + return http.StatusAccepted, nil + } + + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: r.URL.Path, + Modify: d.user.Perm.Modify, + Expand: false, + ReadHeader: d.server.TypeDetectionByHeader, + Checker: d, + }) + if err != nil { + return errToStatus(err), err + } + + if files.IsNamedPipe(file.Mode) { + setContentDisposition(w, r, file) + return 0, nil + } + + if !file.IsDir { + return rawFileHandler(w, r, file) + } + + return rawDirHandler(w, r, d, file) +}) + +func getFiles(d *data, path, commonPath string) ([]archives.FileInfo, error) { + if !d.Check(path) { + return nil, nil + } + + info, err := d.user.Fs.Stat(path) + if err != nil { + return nil, err + } + + var archiveFiles []archives.FileInfo + + if path != commonPath { + nameInArchive := strings.TrimPrefix(path, commonPath) + nameInArchive = strings.TrimPrefix(nameInArchive, string(filepath.Separator)) + nameInArchive = filepath.ToSlash(nameInArchive) + + archiveFiles = append(archiveFiles, archives.FileInfo{ + FileInfo: info, + NameInArchive: nameInArchive, + Open: func() (fs.File, error) { + return d.user.Fs.Open(path) + }, + }) + } + + if info.IsDir() { + f, err := d.user.Fs.Open(path) + if err != nil { + return nil, err + } + defer f.Close() + + names, err := f.Readdirnames(0) + if err != nil { + return nil, err + } + + for _, name := range names { + fPath := filepath.Join(path, name) + subFiles, err := getFiles(d, fPath, commonPath) + if err != nil { + log.Printf("Failed to get files from %s: %v", fPath, err) + continue + } + archiveFiles = append(archiveFiles, subFiles...) + } + } + + return archiveFiles, nil +} + +func rawDirHandler(w http.ResponseWriter, r *http.Request, d *data, file *files.FileInfo) (int, error) { + filenames, err := parseQueryFiles(r, file, d.user) + if err != nil { + return http.StatusInternalServerError, err + } + + extension, archiver, err := parseQueryAlgorithm(r) + if err != nil { + return http.StatusInternalServerError, err + } + + commonDir := fileutils.CommonPrefix(filepath.Separator, filenames...) + + var allFiles []archives.FileInfo + for _, fname := range filenames { + archiveFiles, err := getFiles(d, fname, commonDir) + if err != nil { + log.Printf("Failed to get files from %s: %v", fname, err) + continue + } + allFiles = append(allFiles, archiveFiles...) + } + + name := filepath.Base(commonDir) + if name == "." || name == "" || name == string(filepath.Separator) { + if file.Name != "" { + name = file.Name + } else { + actual, statErr := file.Fs.Stat(".") + if statErr != nil { + return http.StatusInternalServerError, statErr + } + name = actual.Name() + } + } + if len(filenames) > 1 { + name = "_" + name + } + name += extension + w.Header().Set("Content-Disposition", "attachment; filename*=utf-8''"+url.PathEscape(name)) + + if err := archiver.Archive(r.Context(), w, allFiles); err != nil { + return http.StatusInternalServerError, err + } + + return 0, nil +} + +func rawFileHandler(w http.ResponseWriter, r *http.Request, file *files.FileInfo) (int, error) { + fd, err := file.Fs.Open(file.Path) + if err != nil { + return http.StatusInternalServerError, err + } + defer fd.Close() + + setContentDisposition(w, r, file) + w.Header().Add("Content-Security-Policy", `script-src 'none';`) + w.Header().Set("Cache-Control", "private") + http.ServeContent(w, r, file.Name, file.ModTime, fd) + return 0, nil +} diff --git a/http/resource.go b/http/resource.go new file mode 100644 index 00000000..0a8da271 --- /dev/null +++ b/http/resource.go @@ -0,0 +1,382 @@ +package fbhttp + +import ( + "context" + "errors" + "fmt" + "io" + "io/fs" + "log" + "net/http" + "net/url" + "os" + "path" + "path/filepath" + "strings" + + "github.com/shirou/gopsutil/v4/disk" + "github.com/spf13/afero" + + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/files" + "github.com/filebrowser/filebrowser/v2/fileutils" +) + +var resourceGetHandler = withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: r.URL.Path, + Modify: d.user.Perm.Modify, + Expand: true, + ReadHeader: d.server.TypeDetectionByHeader, + Checker: d, + Content: true, + }) + if err != nil { + return errToStatus(err), err + } + + if file.IsDir { + file.Sorting = d.user.Sorting + file.ApplySort() + return renderJSON(w, r, file) + } + + if checksum := r.URL.Query().Get("checksum"); checksum != "" { + err := file.Checksum(checksum) + if errors.Is(err, fberrors.ErrInvalidOption) { + return http.StatusBadRequest, nil + } else if err != nil { + return http.StatusInternalServerError, err + } + + // do not waste bandwidth if we just want the checksum + file.Content = "" + } + + return renderJSON(w, r, file) +}) + +func resourceDeleteHandler(fileCache FileCache) handleFunc { + return withUser(func(_ http.ResponseWriter, r *http.Request, d *data) (int, error) { + if r.URL.Path == "/" || !d.user.Perm.Delete { + return http.StatusForbidden, nil + } + + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: r.URL.Path, + Modify: d.user.Perm.Modify, + Expand: false, + ReadHeader: d.server.TypeDetectionByHeader, + Checker: d, + }) + if err != nil { + return errToStatus(err), err + } + + err = d.store.Share.DeleteWithPathPrefix(file.Path) + if err != nil { + log.Printf("WARNING: Error(s) occurred while deleting associated shares with file: %s", err) + } + + // delete thumbnails + err = delThumbs(r.Context(), fileCache, file) + if err != nil { + return errToStatus(err), err + } + + err = d.RunHook(func() error { + return d.user.Fs.RemoveAll(r.URL.Path) + }, "delete", r.URL.Path, "", d.user) + + if err != nil { + return errToStatus(err), err + } + + return http.StatusNoContent, nil + }) +} + +func resourcePostHandler(fileCache FileCache) handleFunc { + return withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + if !d.user.Perm.Create || !d.Check(r.URL.Path) { + return http.StatusForbidden, nil + } + + // Directories creation on POST. + if strings.HasSuffix(r.URL.Path, "/") { + err := d.user.Fs.MkdirAll(r.URL.Path, d.settings.DirMode) + return errToStatus(err), err + } + + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: r.URL.Path, + Modify: d.user.Perm.Modify, + Expand: false, + ReadHeader: d.server.TypeDetectionByHeader, + Checker: d, + }) + if err == nil { + if r.URL.Query().Get("override") != "true" { + return http.StatusConflict, nil + } + + // Permission for overwriting the file + if !d.user.Perm.Modify { + return http.StatusForbidden, nil + } + + err = delThumbs(r.Context(), fileCache, file) + if err != nil { + return errToStatus(err), err + } + } + + err = d.RunHook(func() error { + info, writeErr := writeFile(d.user.Fs, r.URL.Path, r.Body, d.settings.FileMode, d.settings.DirMode) + if writeErr != nil { + return writeErr + } + + etag := fmt.Sprintf(`"%x%x"`, info.ModTime().UnixNano(), info.Size()) + w.Header().Set("ETag", etag) + return nil + }, "upload", r.URL.Path, "", d.user) + + if err != nil { + _ = d.user.Fs.RemoveAll(r.URL.Path) + } + + return errToStatus(err), err + }) +} + +var resourcePutHandler = withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + if !d.user.Perm.Modify || !d.Check(r.URL.Path) { + return http.StatusForbidden, nil + } + + // Only allow PUT for files. + if strings.HasSuffix(r.URL.Path, "/") { + return http.StatusMethodNotAllowed, nil + } + + exists, err := afero.Exists(d.user.Fs, r.URL.Path) + if err != nil { + return http.StatusInternalServerError, err + } + if !exists { + return http.StatusNotFound, nil + } + + err = d.RunHook(func() error { + info, writeErr := writeFile(d.user.Fs, r.URL.Path, r.Body, d.settings.FileMode, d.settings.DirMode) + if writeErr != nil { + return writeErr + } + + etag := fmt.Sprintf(`"%x%x"`, info.ModTime().UnixNano(), info.Size()) + w.Header().Set("ETag", etag) + return nil + }, "save", r.URL.Path, "", d.user) + + return errToStatus(err), err +}) + +func resourcePatchHandler(fileCache FileCache) handleFunc { + return withUser(func(_ http.ResponseWriter, r *http.Request, d *data) (int, error) { + src := r.URL.Path + dst := r.URL.Query().Get("destination") + action := r.URL.Query().Get("action") + dst, err := url.QueryUnescape(dst) + if !d.Check(src) || !d.Check(dst) { + return http.StatusForbidden, nil + } + if err != nil { + return errToStatus(err), err + } + if dst == "/" || src == "/" { + return http.StatusForbidden, nil + } + + err = checkParent(src, dst) + if err != nil { + return http.StatusBadRequest, err + } + + override := r.URL.Query().Get("override") == "true" + rename := r.URL.Query().Get("rename") == "true" + if !override && !rename { + if _, err = d.user.Fs.Stat(dst); err == nil { + return http.StatusConflict, nil + } + } + if rename { + dst = addVersionSuffix(dst, d.user.Fs) + } + + // Permission for overwriting the file + if override && !d.user.Perm.Modify { + return http.StatusForbidden, nil + } + + err = d.RunHook(func() error { + return patchAction(r.Context(), action, src, dst, d, fileCache) + }, action, src, dst, d.user) + + return errToStatus(err), err + }) +} + +func checkParent(src, dst string) error { + rel, err := filepath.Rel(src, dst) + if err != nil { + return err + } + + rel = filepath.ToSlash(rel) + if !strings.HasPrefix(rel, "../") && rel != ".." && rel != "." { + return fberrors.ErrSourceIsParent + } + + return nil +} + +func addVersionSuffix(source string, afs afero.Fs) string { + counter := 1 + dir, name := path.Split(source) + ext := filepath.Ext(name) + base := strings.TrimSuffix(name, ext) + + for { + if _, err := afs.Stat(source); err != nil { + break + } + renamed := fmt.Sprintf("%s(%d)%s", base, counter, ext) + source = path.Join(dir, renamed) + counter++ + } + + return source +} + +func writeFile(afs afero.Fs, dst string, in io.Reader, fileMode, dirMode fs.FileMode) (os.FileInfo, error) { + dir, _ := path.Split(dst) + err := afs.MkdirAll(dir, dirMode) + if err != nil { + return nil, err + } + + file, err := afs.OpenFile(dst, os.O_RDWR|os.O_CREATE|os.O_TRUNC, fileMode) + if err != nil { + return nil, err + } + defer file.Close() + + _, err = io.Copy(file, in) + if err != nil { + return nil, err + } + + // Sync the file to ensure all data is written to storage. + // to prevent file corruption. + if err := file.Sync(); err != nil { + return nil, err + } + + // Gets the info about the file. + info, err := file.Stat() + if err != nil { + return nil, err + } + + return info, nil +} + +func delThumbs(ctx context.Context, fileCache FileCache, file *files.FileInfo) error { + for _, previewSizeName := range PreviewSizeNames() { + size, _ := ParsePreviewSize(previewSizeName) + if err := fileCache.Delete(ctx, previewCacheKey(file, size)); err != nil { + return err + } + } + + return nil +} + +func patchAction(ctx context.Context, action, src, dst string, d *data, fileCache FileCache) error { + switch action { + case "copy": + if !d.user.Perm.Create { + return fberrors.ErrPermissionDenied + } + + return fileutils.Copy(d.user.Fs, src, dst, d.settings.FileMode, d.settings.DirMode) + case "rename": + if !d.user.Perm.Rename { + return fberrors.ErrPermissionDenied + } + src = path.Clean("/" + src) + dst = path.Clean("/" + dst) + + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: src, + Modify: d.user.Perm.Modify, + Expand: false, + ReadHeader: false, + Checker: d, + }) + if err != nil { + return err + } + + // delete thumbnails + err = delThumbs(ctx, fileCache, file) + if err != nil { + return err + } + + return fileutils.MoveFile(d.user.Fs, src, dst, d.settings.FileMode, d.settings.DirMode) + default: + return fmt.Errorf("unsupported action %s: %w", action, fberrors.ErrInvalidRequestParams) + } +} + +type DiskUsageResponse struct { + Total uint64 `json:"total"` + Used uint64 `json:"used"` +} + +var diskUsage = withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: r.URL.Path, + Modify: d.user.Perm.Modify, + Expand: false, + ReadHeader: false, + Checker: d, + Content: false, + }) + if err != nil { + return errToStatus(err), err + } + fPath := file.RealPath() + if !file.IsDir { + return renderJSON(w, r, &DiskUsageResponse{ + Total: 0, + Used: 0, + }) + } + + usage, err := disk.UsageWithContext(r.Context(), fPath) + if err != nil { + return errToStatus(err), err + } + return renderJSON(w, r, &DiskUsageResponse{ + Total: usage.Total, + Used: usage.Used, + }) +}) diff --git a/http/search.go b/http/search.go new file mode 100644 index 00000000..48a44c9b --- /dev/null +++ b/http/search.go @@ -0,0 +1,82 @@ +package fbhttp + +import ( + "context" + "encoding/json" + "errors" + "net/http" + "os" + "sync" + "time" + + "github.com/filebrowser/filebrowser/v2/search" +) + +const searchPingInterval = 5 + +var searchHandler = withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + response := make(chan map[string]interface{}) + ctx, cancel := context.WithCancelCause(r.Context()) + var wg sync.WaitGroup + wg.Add(1) + go func() { + defer wg.Done() + // Avoid connection timeout + timeout := time.NewTimer(searchPingInterval * time.Second) + defer timeout.Stop() + for { + var err error + var infoBytes []byte + select { + case info := <-response: + if info == nil { + return + } + infoBytes, err = json.Marshal(info) + case <-timeout.C: + // Send a heartbeat packet + infoBytes = nil + case <-ctx.Done(): + return + } + if err != nil { + cancel(err) + return + } + _, err = w.Write(infoBytes) + if err == nil { + _, err = w.Write([]byte("\n")) + } + if err != nil { + cancel(err) + return + } + if flusher, ok := w.(http.Flusher); ok { + flusher.Flush() + } + } + }() + query := r.URL.Query().Get("query") + + err := search.Search(ctx, d.user.Fs, r.URL.Path, query, d, func(path string, f os.FileInfo) error { + select { + case <-ctx.Done(): + case response <- map[string]interface{}{ + "dir": f.IsDir(), + "path": path, + }: + } + return context.Cause(ctx) + }) + close(response) + wg.Wait() + if err == nil { + err = context.Cause(ctx) + } + // ignore cancellation errors from user aborts + if err != nil && !errors.Is(err, context.Canceled) { + return http.StatusInternalServerError, err + } + + return 0, nil +}) diff --git a/http/settings.go b/http/settings.go new file mode 100644 index 00000000..a07d322e --- /dev/null +++ b/http/settings.go @@ -0,0 +1,66 @@ +package fbhttp + +import ( + "encoding/json" + "net/http" + + "github.com/filebrowser/filebrowser/v2/rules" + "github.com/filebrowser/filebrowser/v2/settings" +) + +type settingsData struct { + Signup bool `json:"signup"` + HideLoginButton bool `json:"hideLoginButton"` + CreateUserDir bool `json:"createUserDir"` + MinimumPasswordLength uint `json:"minimumPasswordLength"` + UserHomeBasePath string `json:"userHomeBasePath"` + Defaults settings.UserDefaults `json:"defaults"` + AuthMethod settings.AuthMethod `json:"authMethod"` + Rules []rules.Rule `json:"rules"` + Branding settings.Branding `json:"branding"` + Tus settings.Tus `json:"tus"` + Shell []string `json:"shell"` + Commands map[string][]string `json:"commands"` +} + +var settingsGetHandler = withAdmin(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + data := &settingsData{ + Signup: d.settings.Signup, + HideLoginButton: d.settings.HideLoginButton, + CreateUserDir: d.settings.CreateUserDir, + MinimumPasswordLength: d.settings.MinimumPasswordLength, + UserHomeBasePath: d.settings.UserHomeBasePath, + Defaults: d.settings.Defaults, + AuthMethod: d.settings.AuthMethod, + Rules: d.settings.Rules, + Branding: d.settings.Branding, + Tus: d.settings.Tus, + Shell: d.settings.Shell, + Commands: d.settings.Commands, + } + + return renderJSON(w, r, data) +}) + +var settingsPutHandler = withAdmin(func(_ http.ResponseWriter, r *http.Request, d *data) (int, error) { + req := &settingsData{} + err := json.NewDecoder(r.Body).Decode(req) + if err != nil { + return http.StatusBadRequest, err + } + + d.settings.Signup = req.Signup + d.settings.CreateUserDir = req.CreateUserDir + d.settings.MinimumPasswordLength = req.MinimumPasswordLength + d.settings.UserHomeBasePath = req.UserHomeBasePath + d.settings.Defaults = req.Defaults + d.settings.Rules = req.Rules + d.settings.Branding = req.Branding + d.settings.Tus = req.Tus + d.settings.Shell = req.Shell + d.settings.Commands = req.Commands + d.settings.HideLoginButton = req.HideLoginButton + + err = d.store.Settings.Save(d.settings) + return errToStatus(err), err +}) diff --git a/http/share.go b/http/share.go new file mode 100644 index 00000000..509a7b21 --- /dev/null +++ b/http/share.go @@ -0,0 +1,175 @@ +package fbhttp + +import ( + "crypto/rand" + "encoding/base64" + "encoding/json" + "errors" + "fmt" + "net/http" + "sort" + "strconv" + "strings" + "time" + + "golang.org/x/crypto/bcrypt" + + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/share" +) + +func withPermShare(fn handleFunc) handleFunc { + return withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + if !d.user.Perm.Share { + return http.StatusForbidden, nil + } + + return fn(w, r, d) + }) +} + +var shareListHandler = withPermShare(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + var ( + s []*share.Link + err error + ) + if d.user.Perm.Admin { + s, err = d.store.Share.All() + } else { + s, err = d.store.Share.FindByUserID(d.user.ID) + } + if errors.Is(err, fberrors.ErrNotExist) { + return renderJSON(w, r, []*share.Link{}) + } + + if err != nil { + return http.StatusInternalServerError, err + } + + sort.Slice(s, func(i, j int) bool { + if s[i].UserID != s[j].UserID { + return s[i].UserID < s[j].UserID + } + return s[i].Expire < s[j].Expire + }) + + return renderJSON(w, r, s) +}) + +var shareGetsHandler = withPermShare(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + s, err := d.store.Share.Gets(r.URL.Path, d.user.ID) + if errors.Is(err, fberrors.ErrNotExist) { + return renderJSON(w, r, []*share.Link{}) + } + + if err != nil { + return http.StatusInternalServerError, err + } + + return renderJSON(w, r, s) +}) + +var shareDeleteHandler = withPermShare(func(_ http.ResponseWriter, r *http.Request, d *data) (int, error) { + hash := strings.TrimSuffix(r.URL.Path, "/") + hash = strings.TrimPrefix(hash, "/") + + if hash == "" { + return http.StatusBadRequest, nil + } + + link, err := d.store.Share.GetByHash(hash) + if err != nil { + return errToStatus(err), err + } + + if link.UserID != d.user.ID && !d.user.Perm.Admin { + return http.StatusForbidden, nil + } + + err = d.store.Share.Delete(hash) + return errToStatus(err), err +}) + +var sharePostHandler = withPermShare(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + var s *share.Link + var body share.CreateBody + if r.Body != nil { + if err := json.NewDecoder(r.Body).Decode(&body); err != nil { + return http.StatusBadRequest, fmt.Errorf("failed to decode body: %w", err) + } + defer r.Body.Close() + } + + bytes := make([]byte, 6) + _, err := rand.Read(bytes) + if err != nil { + return http.StatusInternalServerError, err + } + + str := base64.URLEncoding.EncodeToString(bytes) + + var expire int64 = 0 + + if body.Expires != "" { + num, err := strconv.Atoi(body.Expires) + if err != nil { + return http.StatusInternalServerError, err + } + + var add time.Duration + switch body.Unit { + case "seconds": + add = time.Second * time.Duration(num) + case "minutes": + add = time.Minute * time.Duration(num) + case "days": + add = time.Hour * 24 * time.Duration(num) + default: + add = time.Hour * time.Duration(num) + } + + expire = time.Now().Add(add).Unix() + } + + hash, status, err := getSharePasswordHash(body) + if err != nil { + return status, err + } + + var token string + if len(hash) > 0 { + tokenBuffer := make([]byte, 96) + if _, err := rand.Read(tokenBuffer); err != nil { + return http.StatusInternalServerError, err + } + token = base64.URLEncoding.EncodeToString(tokenBuffer) + } + + s = &share.Link{ + Path: r.URL.Path, + Hash: str, + Expire: expire, + UserID: d.user.ID, + PasswordHash: string(hash), + Token: token, + } + + if err := d.store.Share.Save(s); err != nil { + return http.StatusInternalServerError, err + } + + return renderJSON(w, r, s) +}) + +func getSharePasswordHash(body share.CreateBody) (data []byte, statuscode int, err error) { + if body.Password == "" { + return nil, 0, nil + } + + hash, err := bcrypt.GenerateFromPassword([]byte(body.Password), bcrypt.DefaultCost) + if err != nil { + return nil, http.StatusInternalServerError, fmt.Errorf("failed to hash password: %w", err) + } + + return hash, 0, nil +} diff --git a/http/static.go b/http/static.go new file mode 100644 index 00000000..d996cc07 --- /dev/null +++ b/http/static.go @@ -0,0 +1,163 @@ +package fbhttp + +import ( + "encoding/json" + "errors" + "fmt" + "io/fs" + "log" + "net/http" + "os" + "path" + "path/filepath" + "strings" + "text/template" + + "github.com/filebrowser/filebrowser/v2/auth" + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/storage" + "github.com/filebrowser/filebrowser/v2/version" +) + +func handleWithStaticData(w http.ResponseWriter, _ *http.Request, d *data, fSys fs.FS, file, contentType string) (int, error) { + w.Header().Set("Content-Type", contentType) + + auther, err := d.store.Auth.Get(d.settings.AuthMethod) + if err != nil { + return http.StatusInternalServerError, err + } + + data := map[string]interface{}{ + "Name": d.settings.Branding.Name, + "DisableExternal": d.settings.Branding.DisableExternal, + "DisableUsedPercentage": d.settings.Branding.DisableUsedPercentage, + "Color": d.settings.Branding.Color, + "BaseURL": d.server.BaseURL, + "Version": version.Version, + "StaticURL": path.Join(d.server.BaseURL, "/static"), + "Signup": d.settings.Signup, + "NoAuth": d.settings.AuthMethod == auth.MethodNoAuth, + "AuthMethod": d.settings.AuthMethod, + "LogoutPage": d.settings.LogoutPage, + "LoginPage": auther.LoginPage(), + "CSS": false, + "ReCaptcha": false, + "Theme": d.settings.Branding.Theme, + "EnableThumbs": d.server.EnableThumbnails, + "ResizePreview": d.server.ResizePreview, + "EnableExec": d.server.EnableExec, + "TusSettings": d.settings.Tus, + "HideLoginButton": d.settings.HideLoginButton, + } + + if d.settings.Branding.Files != "" { + fPath := filepath.Join(d.settings.Branding.Files, "custom.css") + _, err := os.Stat(fPath) + + if err != nil && !os.IsNotExist(err) { + log.Printf("couldn't load custom styles: %v", err) + } + + if err == nil { + data["CSS"] = true + } + } + + if d.settings.AuthMethod == auth.MethodJSONAuth { + raw, err := d.store.Auth.Get(d.settings.AuthMethod) + if err != nil { + return http.StatusInternalServerError, err + } + + auther := raw.(*auth.JSONAuth) + + if auther.ReCaptcha != nil { + data["ReCaptcha"] = auther.ReCaptcha.Key != "" && auther.ReCaptcha.Secret != "" + data["ReCaptchaHost"] = auther.ReCaptcha.Host + data["ReCaptchaKey"] = auther.ReCaptcha.Key + } + } + + b, err := json.Marshal(data) + if err != nil { + return http.StatusInternalServerError, err + } + + data["Json"] = strings.ReplaceAll(string(b), `'`, `\'`) + + fileContents, err := fs.ReadFile(fSys, file) + if err != nil { + if errors.Is(err, os.ErrNotExist) { + return http.StatusNotFound, err + } + return http.StatusInternalServerError, err + } + index := template.Must(template.New("index").Delims("[{[", "]}]").Parse(string(fileContents))) + err = index.Execute(w, data) + if err != nil { + return http.StatusInternalServerError, err + } + + return 0, nil +} + +func getStaticHandlers(store *storage.Storage, server *settings.Server, assetsFs fs.FS) (index, static http.Handler) { + index = handle(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + if r.Method != http.MethodGet { + return http.StatusNotFound, nil + } + + w.Header().Set("x-xss-protection", "1; mode=block") + return handleWithStaticData(w, r, d, assetsFs, "public/index.html", "text/html; charset=utf-8") + }, "", store, server) + + static = handle(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + if r.Method != http.MethodGet { + return http.StatusNotFound, nil + } + + if strings.HasSuffix(r.URL.Path, "/") { + return http.StatusNotFound, nil + } + + const maxAge = 86400 // 1 day + w.Header().Set("Cache-Control", fmt.Sprintf("public, max-age=%v", maxAge)) + + if d.settings.Branding.Files != "" { + if strings.HasPrefix(r.URL.Path, "img/") { + fPath := filepath.Join(d.settings.Branding.Files, r.URL.Path) + _, err := os.Stat(fPath) + if err != nil && !os.IsNotExist(err) { + log.Printf("could not load branding file override: %v", err) + } else if err == nil { + http.ServeFile(w, r, fPath) + return 0, nil + } + } else if r.URL.Path == "custom.css" && d.settings.Branding.Files != "" { + http.ServeFile(w, r, filepath.Join(d.settings.Branding.Files, "custom.css")) + return 0, nil + } + } + + if !strings.HasSuffix(r.URL.Path, ".js") { + http.FileServer(http.FS(assetsFs)).ServeHTTP(w, r) + return 0, nil + } + + fileContents, err := fs.ReadFile(assetsFs, r.URL.Path+".gz") + if err != nil { + return http.StatusNotFound, err + } + + w.Header().Set("Content-Encoding", "gzip") + w.Header().Set("Content-Type", "application/javascript; charset=utf-8") + + if _, err := w.Write(fileContents); err != nil { + return http.StatusInternalServerError, err + } + + return 0, nil + }, "/static/", store, server) + + return index, static +} diff --git a/http/subtitle.go b/http/subtitle.go new file mode 100644 index 00000000..07c2dcfc --- /dev/null +++ b/http/subtitle.go @@ -0,0 +1,80 @@ +package fbhttp + +import ( + "bytes" + "net/http" + "strings" + + "github.com/asticode/go-astisub" + + "github.com/filebrowser/filebrowser/v2/files" +) + +var subtitleHandler = withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + if !d.user.Perm.Download { + return http.StatusAccepted, nil + } + + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: r.URL.Path, + Modify: d.user.Perm.Modify, + Expand: false, + ReadHeader: d.server.TypeDetectionByHeader, + Checker: d, + }) + if err != nil { + return errToStatus(err), err + } + + if file.IsDir { + return http.StatusBadRequest, nil + } + + return subtitleFileHandler(w, r, file) +}) + +func subtitleFileHandler(w http.ResponseWriter, r *http.Request, file *files.FileInfo) (int, error) { + // if its not a subtitle file, reject + if !files.IsSupportedSubtitle(file.Name) { + return http.StatusBadRequest, nil + } + + fd, err := file.Fs.Open(file.Path) + if err != nil { + return http.StatusInternalServerError, err + } + defer fd.Close() + + // load subtitle for conversion to vtt + var sub *astisub.Subtitles + if strings.HasSuffix(file.Name, ".srt") { + sub, err = astisub.ReadFromSRT(fd) + } else if strings.HasSuffix(file.Name, ".ass") || strings.HasSuffix(file.Name, ".ssa") { + sub, err = astisub.ReadFromSSA(fd) + } + if err != nil { + return http.StatusInternalServerError, err + } + + setContentDisposition(w, r, file) + w.Header().Add("Content-Security-Policy", `script-src 'none';`) + w.Header().Set("Cache-Control", "private") + // force type to text/vtt + w.Header().Set("Content-Type", "text/vtt") + + // serve vtt file directly + if sub == nil { + http.ServeContent(w, r, file.Name, file.ModTime, fd) + return 0, nil + } + + // convert others to vtt and serve from buffer + var buf = &bytes.Buffer{} + err = sub.WriteToWebVTT(buf) + if err != nil { + return http.StatusInternalServerError, err + } + http.ServeContent(w, r, file.Name, file.ModTime, bytes.NewReader(buf.Bytes())) + return 0, nil +} diff --git a/http/tus_handlers.go b/http/tus_handlers.go new file mode 100644 index 00000000..498d776f --- /dev/null +++ b/http/tus_handlers.go @@ -0,0 +1,325 @@ +package fbhttp + +import ( + "context" + "errors" + "fmt" + "io" + "net/http" + "net/url" + "os" + "path/filepath" + "strconv" + "time" + + "github.com/jellydator/ttlcache/v3" + "github.com/spf13/afero" + + "github.com/filebrowser/filebrowser/v2/files" +) + +const maxUploadWait = 3 * time.Minute + +// Tracks active uploads along with their respective upload lengths +var activeUploads = initActiveUploads() + +func initActiveUploads() *ttlcache.Cache[string, int64] { + cache := ttlcache.New[string, int64]() + cache.OnEviction(func(_ context.Context, reason ttlcache.EvictionReason, item *ttlcache.Item[string, int64]) { + if reason == ttlcache.EvictionReasonExpired { + fmt.Printf("deleting incomplete upload file: \"%s\"", item.Key()) + os.Remove(item.Key()) + } + }) + go cache.Start() + + return cache +} + +func registerUpload(filePath string, fileSize int64) { + activeUploads.Set(filePath, fileSize, maxUploadWait) +} + +func completeUpload(filePath string) { + activeUploads.Delete(filePath) +} + +func getActiveUploadLength(filePath string) (int64, error) { + item := activeUploads.Get(filePath) + if item == nil { + return 0, fmt.Errorf("no active upload found for the given path") + } + + return item.Value(), nil +} + +func keepUploadActive(filePath string) func() { + stop := make(chan bool) + + go func() { + ticker := time.NewTicker(2 * time.Second) + defer ticker.Stop() + + for { + select { + case <-stop: + return + case <-ticker.C: + activeUploads.Touch(filePath) + } + } + }() + + return func() { + close(stop) + } +} + +func tusPostHandler() handleFunc { + return withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + if !d.user.Perm.Create || !d.Check(r.URL.Path) { + return http.StatusForbidden, nil + } + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: r.URL.Path, + Modify: d.user.Perm.Modify, + Expand: false, + ReadHeader: d.server.TypeDetectionByHeader, + Checker: d, + }) + switch { + case errors.Is(err, afero.ErrFileNotFound): + dirPath := filepath.Dir(r.URL.Path) + if _, statErr := d.user.Fs.Stat(dirPath); os.IsNotExist(statErr) { + if mkdirErr := d.user.Fs.MkdirAll(dirPath, d.settings.DirMode); mkdirErr != nil { + return http.StatusInternalServerError, err + } + } + case err != nil: + return errToStatus(err), err + } + + fileFlags := os.O_CREATE | os.O_WRONLY + + // if file exists + if file != nil { + if file.IsDir { + return http.StatusBadRequest, fmt.Errorf("cannot upload to a directory %s", file.RealPath()) + } + + // Existing files will remain untouched unless explicitly instructed to override + if r.URL.Query().Get("override") != "true" { + return http.StatusConflict, nil + } + + // Permission for overwriting the file + if !d.user.Perm.Modify { + return http.StatusForbidden, nil + } + + fileFlags |= os.O_TRUNC + } + + openFile, err := d.user.Fs.OpenFile(r.URL.Path, fileFlags, d.settings.FileMode) + if err != nil { + return errToStatus(err), err + } + defer openFile.Close() + + file, err = files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: r.URL.Path, + Modify: d.user.Perm.Modify, + Expand: false, + ReadHeader: false, + Checker: d, + Content: false, + }) + if err != nil { + return errToStatus(err), err + } + + uploadLength, err := getUploadLength(r) + if err != nil { + return http.StatusBadRequest, fmt.Errorf("invalid upload length: %w", err) + } + + // Enables the user to utilize the PATCH endpoint for uploading file data + registerUpload(file.RealPath(), uploadLength) + + path, err := url.JoinPath("/", d.server.BaseURL, "/api/tus", r.URL.Path) + if err != nil { + return http.StatusBadRequest, fmt.Errorf("invalid path: %w", err) + } + + w.Header().Set("Location", path) + return http.StatusCreated, nil + }) +} + +func tusHeadHandler() handleFunc { + return withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + w.Header().Set("Cache-Control", "no-store") + if !d.user.Perm.Create || !d.Check(r.URL.Path) { + return http.StatusForbidden, nil + } + + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: r.URL.Path, + Modify: d.user.Perm.Modify, + Expand: false, + ReadHeader: d.server.TypeDetectionByHeader, + Checker: d, + }) + if err != nil { + return errToStatus(err), err + } + + uploadLength, err := getActiveUploadLength(file.RealPath()) + if err != nil { + return http.StatusNotFound, err + } + + w.Header().Set("Upload-Offset", strconv.FormatInt(file.Size, 10)) + w.Header().Set("Upload-Length", strconv.FormatInt(uploadLength, 10)) + + return http.StatusOK, nil + }) +} + +func tusPatchHandler() handleFunc { + return withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + if !d.user.Perm.Create || !d.Check(r.URL.Path) { + return http.StatusForbidden, nil + } + if r.Header.Get("Content-Type") != "application/offset+octet-stream" { + return http.StatusUnsupportedMediaType, nil + } + + uploadOffset, err := getUploadOffset(r) + if err != nil { + return http.StatusBadRequest, fmt.Errorf("invalid upload offset") + } + + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: r.URL.Path, + Modify: d.user.Perm.Modify, + Expand: false, + ReadHeader: d.server.TypeDetectionByHeader, + Checker: d, + }) + + switch { + case errors.Is(err, afero.ErrFileNotFound): + return http.StatusNotFound, nil + case err != nil: + return errToStatus(err), err + } + + uploadLength, err := getActiveUploadLength(file.RealPath()) + if err != nil { + return http.StatusNotFound, err + } + + // Prevent the upload from being evicted during the transfer + stop := keepUploadActive(file.RealPath()) + defer stop() + + switch { + case file.IsDir: + return http.StatusBadRequest, fmt.Errorf("cannot upload to a directory %s", file.RealPath()) + case file.Size != uploadOffset: + return http.StatusConflict, fmt.Errorf( + "%s file size doesn't match the provided offset: %d", + file.RealPath(), + uploadOffset, + ) + } + + openFile, err := d.user.Fs.OpenFile(r.URL.Path, os.O_WRONLY|os.O_APPEND, d.settings.FileMode) + if err != nil { + return http.StatusInternalServerError, fmt.Errorf("could not open file: %w", err) + } + defer openFile.Close() + + _, err = openFile.Seek(uploadOffset, 0) + if err != nil { + return http.StatusInternalServerError, fmt.Errorf("could not seek file: %w", err) + } + + defer r.Body.Close() + bytesWritten, err := io.Copy(openFile, r.Body) + if err != nil { + return http.StatusInternalServerError, fmt.Errorf("could not write to file: %w", err) + } + + // Sync the file to ensure all data is written to storage + // to prevent file corruption. + if err := openFile.Sync(); err != nil { + return http.StatusInternalServerError, fmt.Errorf("could not sync file: %w", err) + } + + newOffset := uploadOffset + bytesWritten + w.Header().Set("Upload-Offset", strconv.FormatInt(newOffset, 10)) + + if newOffset >= uploadLength { + completeUpload(file.RealPath()) + _ = d.RunHook(func() error { return nil }, "upload", r.URL.Path, "", d.user) + } + + return http.StatusNoContent, nil + }) +} + +func tusDeleteHandler() handleFunc { + return withUser(func(_ http.ResponseWriter, r *http.Request, d *data) (int, error) { + if r.URL.Path == "/" || !d.user.Perm.Create { + return http.StatusForbidden, nil + } + + file, err := files.NewFileInfo(&files.FileOptions{ + Fs: d.user.Fs, + Path: r.URL.Path, + Modify: d.user.Perm.Modify, + Expand: false, + ReadHeader: d.server.TypeDetectionByHeader, + Checker: d, + }) + if err != nil { + return errToStatus(err), err + } + + _, err = getActiveUploadLength(file.RealPath()) + if err != nil { + return http.StatusNotFound, err + } + + err = d.user.Fs.RemoveAll(r.URL.Path) + if err != nil { + return errToStatus(err), err + } + + completeUpload(file.RealPath()) + + return http.StatusNoContent, nil + }) +} + +func getUploadLength(r *http.Request) (int64, error) { + uploadOffset, err := strconv.ParseInt(r.Header.Get("Upload-Length"), 10, 64) + if err != nil { + return 0, fmt.Errorf("invalid upload length: %w", err) + } + return uploadOffset, nil +} + +func getUploadOffset(r *http.Request) (int64, error) { + uploadOffset, err := strconv.ParseInt(r.Header.Get("Upload-Offset"), 10, 64) + if err != nil { + return 0, fmt.Errorf("invalid upload offset: %w", err) + } + return uploadOffset, nil +} diff --git a/http/users.go b/http/users.go new file mode 100644 index 00000000..5604dc38 --- /dev/null +++ b/http/users.go @@ -0,0 +1,256 @@ +package fbhttp + +import ( + "encoding/json" + "errors" + "log" + "net/http" + "sort" + "strconv" + + "github.com/gorilla/mux" + "golang.org/x/text/cases" + "golang.org/x/text/language" + + "github.com/filebrowser/filebrowser/v2/auth" + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/users" +) + +var ( + NonModifiableFieldsForNonAdmin = []string{"Username", "Scope", "LockPassword", "Perm", "Commands", "Rules"} +) + +type modifyUserRequest struct { + modifyRequest + Data *users.User `json:"data"` +} + +func getUserID(r *http.Request) (uint, error) { + vars := mux.Vars(r) + i, err := strconv.ParseUint(vars["id"], 10, 0) + if err != nil { + return 0, err + } + return uint(i), err +} + +func getUser(_ http.ResponseWriter, r *http.Request) (*modifyUserRequest, error) { + if r.Body == nil { + return nil, fberrors.ErrEmptyRequest + } + + req := &modifyUserRequest{} + err := json.NewDecoder(r.Body).Decode(req) + if err != nil { + return nil, err + } + + if req.What != "user" { + return nil, fberrors.ErrInvalidDataType + } + + return req, nil +} + +func withSelfOrAdmin(fn handleFunc) handleFunc { + return withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + id, err := getUserID(r) + if err != nil { + return http.StatusInternalServerError, err + } + + if d.user.ID != id && !d.user.Perm.Admin { + return http.StatusForbidden, nil + } + + d.raw = id + return fn(w, r, d) + }) +} + +var usersGetHandler = withAdmin(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + users, err := d.store.Users.Gets(d.server.Root) + if err != nil { + return http.StatusInternalServerError, err + } + + for _, u := range users { + u.Password = "" + } + + sort.Slice(users, func(i, j int) bool { + return users[i].ID < users[j].ID + }) + + return renderJSON(w, r, users) +}) + +var userGetHandler = withSelfOrAdmin(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + u, err := d.store.Users.Get(d.server.Root, d.raw.(uint)) + if errors.Is(err, fberrors.ErrNotExist) { + return http.StatusNotFound, err + } + + if err != nil { + return http.StatusInternalServerError, err + } + + u.Password = "" + if !d.user.Perm.Admin { + u.Scope = "" + } + return renderJSON(w, r, u) +}) + +var userDeleteHandler = withSelfOrAdmin(func(_ http.ResponseWriter, r *http.Request, d *data) (int, error) { + if r.Body == nil { + return http.StatusBadRequest, fberrors.ErrEmptyRequest + } + + var body struct { + CurrentPassword string `json:"current_password"` + } + + if err := json.NewDecoder(r.Body).Decode(&body); err != nil { + return http.StatusBadRequest, err + } + + if d.settings.AuthMethod == auth.MethodJSONAuth { + if !users.CheckPwd(body.CurrentPassword, d.user.Password) { + return http.StatusBadRequest, fberrors.ErrCurrentPasswordIncorrect + } + } + + err := d.store.Users.Delete(d.raw.(uint)) + if err != nil { + return errToStatus(err), err + } + + return http.StatusOK, nil +}) + +var userPostHandler = withAdmin(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + req, err := getUser(w, r) + if err != nil { + return http.StatusBadRequest, err + } + + if d.settings.AuthMethod == auth.MethodJSONAuth { + if !users.CheckPwd(req.CurrentPassword, d.user.Password) { + return http.StatusBadRequest, fberrors.ErrCurrentPasswordIncorrect + } + } + + if len(req.Which) != 0 { + return http.StatusBadRequest, nil + } + + if req.Data.Password == "" { + return http.StatusBadRequest, fberrors.ErrEmptyPassword + } + + req.Data.Password, err = users.ValidateAndHashPwd(req.Data.Password, d.settings.MinimumPasswordLength) + if err != nil { + return http.StatusBadRequest, err + } + + userHome, err := d.settings.MakeUserDir(req.Data.Username, req.Data.Scope, d.server.Root) + if err != nil { + log.Printf("create user: failed to mkdir user home dir: [%s]", userHome) + return http.StatusInternalServerError, err + } + req.Data.Scope = userHome + log.Printf("user: %s, home dir: [%s].", req.Data.Username, userHome) + + err = d.store.Users.Save(req.Data) + if err != nil { + return http.StatusInternalServerError, err + } + + w.Header().Set("Location", "/settings/users/"+strconv.FormatUint(uint64(req.Data.ID), 10)) + return http.StatusCreated, nil +}) + +var userPutHandler = withSelfOrAdmin(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) { + req, err := getUser(w, r) + if err != nil { + return http.StatusBadRequest, err + } + + if d.settings.AuthMethod == auth.MethodJSONAuth { + var sensibleFields = map[string]struct{}{ + "all": {}, + "username": {}, + "password": {}, + "scope": {}, + "lockPassword": {}, + "commands": {}, + "perm": {}, + } + + for _, field := range req.Which { + if _, ok := sensibleFields[field]; ok { + if !users.CheckPwd(req.CurrentPassword, d.user.Password) { + return http.StatusBadRequest, fberrors.ErrCurrentPasswordIncorrect + } + break + } + } + } + + if req.Data.ID != d.raw.(uint) { + return http.StatusBadRequest, nil + } + + if len(req.Which) == 0 || (len(req.Which) == 1 && req.Which[0] == "all") { + if !d.user.Perm.Admin { + return http.StatusForbidden, nil + } + + if req.Data.Password != "" { + req.Data.Password, err = users.ValidateAndHashPwd(req.Data.Password, d.settings.MinimumPasswordLength) + if err != nil { + return http.StatusBadRequest, err + } + } else { + var suser *users.User + suser, err = d.store.Users.Get(d.server.Root, d.raw.(uint)) + if err != nil { + return http.StatusInternalServerError, err + } + req.Data.Password = suser.Password + } + + req.Which = []string{} + } + + for k, v := range req.Which { + v = cases.Title(language.English, cases.NoLower).String(v) + req.Which[k] = v + + if v == "Password" { + if !d.user.Perm.Admin && d.user.LockPassword { + return http.StatusForbidden, nil + } + + req.Data.Password, err = users.ValidateAndHashPwd(req.Data.Password, d.settings.MinimumPasswordLength) + if err != nil { + return http.StatusBadRequest, err + } + } + + for _, f := range NonModifiableFieldsForNonAdmin { + if !d.user.Perm.Admin && v == f { + return http.StatusForbidden, nil + } + } + } + + err = d.store.Users.Update(req.Data, req.Which...) + if err != nil { + return http.StatusInternalServerError, err + } + + return http.StatusOK, nil +}) diff --git a/http/utils.go b/http/utils.go new file mode 100644 index 00000000..c76cecf4 --- /dev/null +++ b/http/utils.go @@ -0,0 +1,71 @@ +package fbhttp + +import ( + "encoding/json" + "errors" + "net/http" + "net/url" + "os" + "strings" + + libErrors "github.com/filebrowser/filebrowser/v2/errors" + imgErrors "github.com/filebrowser/filebrowser/v2/img" +) + +func renderJSON(w http.ResponseWriter, _ *http.Request, data interface{}) (int, error) { + marsh, err := json.Marshal(data) + + if err != nil { + return http.StatusInternalServerError, err + } + + w.Header().Set("Content-Type", "application/json; charset=utf-8") + if _, err := w.Write(marsh); err != nil { + return http.StatusInternalServerError, err + } + + return 0, nil +} + +func errToStatus(err error) int { + switch { + case err == nil: + return http.StatusOK + case os.IsPermission(err): + return http.StatusForbidden + case os.IsNotExist(err), errors.Is(err, libErrors.ErrNotExist): + return http.StatusNotFound + case os.IsExist(err), errors.Is(err, libErrors.ErrExist): + return http.StatusConflict + case errors.Is(err, libErrors.ErrPermissionDenied): + return http.StatusForbidden + case errors.Is(err, libErrors.ErrInvalidRequestParams): + return http.StatusBadRequest + case errors.Is(err, libErrors.ErrRootUserDeletion): + return http.StatusForbidden + case errors.Is(err, imgErrors.ErrImageTooLarge): + return http.StatusRequestEntityTooLarge + default: + return http.StatusInternalServerError + } +} + +// This is an adaptation if http.StripPrefix in which we don't +// return 404 if the page doesn't have the needed prefix. +func stripPrefix(prefix string, h http.Handler) http.Handler { + if prefix == "" || prefix == "/" { + return h + } + + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + p := strings.TrimPrefix(r.URL.Path, prefix) + rp := strings.TrimPrefix(r.URL.RawPath, prefix) + r2 := new(http.Request) + *r2 = *r + r2.URL = new(url.URL) + *r2.URL = *r.URL + r2.URL.Path = p + r2.URL.RawPath = rp + h.ServeHTTP(w, r2) + }) +} diff --git a/img/service.go b/img/service.go new file mode 100644 index 00000000..47aaddca --- /dev/null +++ b/img/service.go @@ -0,0 +1,259 @@ +//go:generate go-enum --sql --marshal --file $GOFILE +package img + +import ( + "bytes" + "context" + "errors" + "fmt" + "image" + "io" + + "github.com/disintegration/imaging" + "github.com/dsoprea/go-exif/v3" + "github.com/marusama/semaphore/v2" + + exifcommon "github.com/dsoprea/go-exif/v3/common" +) + +// ErrUnsupportedFormat means the given image format is not supported. +var ErrUnsupportedFormat = errors.New("unsupported image format") + +// ErrImageTooLarge means the image is too large to create a thumbnail. +var ErrImageTooLarge = errors.New("image too large for thumbnail generation") + +// Maximum dimensions for thumbnail generation to prevent server crashes +const ( + MaxImageWidth = 10000 + MaxImageHeight = 10000 +) + +// Service +type Service struct { + sem semaphore.Semaphore +} + +func New(workers int) *Service { + return &Service{ + sem: semaphore.New(workers), + } +} + +// Format is an image file format. +/* +ENUM( +jpeg +png +gif +tiff +bmp +) +*/ +type Format int + +func (x Format) toImaging() imaging.Format { + switch x { + case FormatJpeg: + return imaging.JPEG + case FormatPng: + return imaging.PNG + case FormatGif: + return imaging.GIF + case FormatTiff: + return imaging.TIFF + case FormatBmp: + return imaging.BMP + default: + return imaging.JPEG + } +} + +/* +ENUM( +high +medium +low +) +*/ +type Quality int + +func (x Quality) resampleFilter() imaging.ResampleFilter { + switch x { + case QualityHigh: + return imaging.Lanczos + case QualityMedium: + return imaging.Box + case QualityLow: + return imaging.NearestNeighbor + default: + return imaging.Box + } +} + +/* +ENUM( +fit +fill +) +*/ +type ResizeMode int + +func (s *Service) FormatFromExtension(ext string) (Format, error) { + format, err := imaging.FormatFromExtension(ext) + if err != nil { + return -1, ErrUnsupportedFormat + } + switch format { + case imaging.JPEG: + return FormatJpeg, nil + case imaging.PNG: + return FormatPng, nil + case imaging.GIF: + return FormatGif, nil + case imaging.TIFF: + return FormatTiff, nil + case imaging.BMP: + return FormatBmp, nil + } + return -1, ErrUnsupportedFormat +} + +type resizeConfig struct { + format Format + resizeMode ResizeMode + quality Quality +} + +type Option func(*resizeConfig) + +func WithFormat(format Format) Option { + return func(config *resizeConfig) { + config.format = format + } +} + +func WithMode(mode ResizeMode) Option { + return func(config *resizeConfig) { + config.resizeMode = mode + } +} + +func WithQuality(quality Quality) Option { + return func(config *resizeConfig) { + config.quality = quality + } +} + +func (s *Service) Resize(ctx context.Context, in io.Reader, width, height int, out io.Writer, options ...Option) error { + if err := s.sem.Acquire(ctx, 1); err != nil { + return err + } + defer s.sem.Release(1) + + format, wrappedReader, err := s.detectFormat(in) + if err != nil { + return err + } + + config := resizeConfig{ + format: format, + resizeMode: ResizeModeFit, + quality: QualityMedium, + } + for _, option := range options { + option(&config) + } + + if config.quality == QualityLow && format == FormatJpeg { + thm, newWrappedReader, errThm := getEmbeddedThumbnail(wrappedReader) + wrappedReader = newWrappedReader + if errThm == nil { + _, err = out.Write(thm) + if err == nil { + return nil + } + } + } + + img, err := imaging.Decode(wrappedReader, imaging.AutoOrientation(true)) + if err != nil { + return err + } + + switch config.resizeMode { + case ResizeModeFill: + img = imaging.Fill(img, width, height, imaging.Center, config.quality.resampleFilter()) + case ResizeModeFit: + fallthrough + default: + img = imaging.Fit(img, width, height, config.quality.resampleFilter()) + } + + return imaging.Encode(out, img, config.format.toImaging()) +} + +func (s *Service) detectFormat(in io.Reader) (Format, io.Reader, error) { + buf := &bytes.Buffer{} + r := io.TeeReader(in, buf) + + imgConfig, imgFormat, err := image.DecodeConfig(r) + if err != nil { + return 0, nil, fmt.Errorf("%s: %w", err.Error(), ErrUnsupportedFormat) + } + + // Check if image dimensions exceed maximum allowed size + if imgConfig.Width > MaxImageWidth || imgConfig.Height > MaxImageHeight { + return 0, nil, fmt.Errorf("image dimensions %dx%d exceed maximum %dx%d: %w", + imgConfig.Width, imgConfig.Height, MaxImageWidth, MaxImageHeight, ErrImageTooLarge) + } + + format, err := ParseFormat(imgFormat) + if err != nil { + return 0, nil, ErrUnsupportedFormat + } + + return format, io.MultiReader(buf, in), nil +} + +func getEmbeddedThumbnail(in io.Reader) ([]byte, io.Reader, error) { + buf := &bytes.Buffer{} + r := io.TeeReader(in, buf) + wrappedReader := io.MultiReader(buf, in) + + offset := 0 + offsets := []int{12, 30} + head := make([]byte, 0xffff) + + _, err := r.Read(head) + if err != nil { + return nil, wrappedReader, err + } + + for _, offset = range offsets { + if _, err = exif.ParseExifHeader(head[offset:]); err == nil { + break + } + } + + if err != nil { + return nil, wrappedReader, err + } + + im, err := exifcommon.NewIfdMappingWithStandard() + if err != nil { + return nil, wrappedReader, err + } + + _, index, err := exif.Collect(im, exif.NewTagIndex(), head[offset:]) + if err != nil { + return nil, wrappedReader, err + } + + ifd := index.RootIfd.NextIfd() + if ifd == nil { + return nil, wrappedReader, exif.ErrNoThumbnail + } + + thm, err := ifd.Thumbnail() + return thm, wrappedReader, err +} diff --git a/img/service_enum.go b/img/service_enum.go new file mode 100644 index 00000000..33826438 --- /dev/null +++ b/img/service_enum.go @@ -0,0 +1,259 @@ +// Code generated by go-enum +// DO NOT EDIT! + +package img + +import ( + "database/sql/driver" + "fmt" +) + +const ( + // FormatJpeg is a Format of type Jpeg + FormatJpeg Format = iota + // FormatPng is a Format of type Png + FormatPng + // FormatGif is a Format of type Gif + FormatGif + // FormatTiff is a Format of type Tiff + FormatTiff + // FormatBmp is a Format of type Bmp + FormatBmp +) + +const _FormatName = "jpegpnggiftiffbmp" + +var _FormatMap = map[Format]string{ + 0: _FormatName[0:4], + 1: _FormatName[4:7], + 2: _FormatName[7:10], + 3: _FormatName[10:14], + 4: _FormatName[14:17], +} + +// String implements the Stringer interface. +func (x Format) String() string { + if str, ok := _FormatMap[x]; ok { + return str + } + return fmt.Sprintf("Format(%d)", x) +} + +var _FormatValue = map[string]Format{ + _FormatName[0:4]: 0, + _FormatName[4:7]: 1, + _FormatName[7:10]: 2, + _FormatName[10:14]: 3, + _FormatName[14:17]: 4, +} + +// ParseFormat attempts to convert a string to a Format +func ParseFormat(name string) (Format, error) { + if x, ok := _FormatValue[name]; ok { + return x, nil + } + return Format(0), fmt.Errorf("%s is not a valid Format", name) +} + +// MarshalText implements the text marshaller method +func (x Format) MarshalText() ([]byte, error) { + return []byte(x.String()), nil +} + +// UnmarshalText implements the text unmarshaller method +func (x *Format) UnmarshalText(text []byte) error { + name := string(text) + tmp, err := ParseFormat(name) + if err != nil { + return err + } + *x = tmp + return nil +} + +// Scan implements the Scanner interface. +func (x *Format) Scan(value interface{}) error { + var name string + + switch v := value.(type) { + case string: + name = v + case []byte: + name = string(v) + case nil: + *x = Format(0) + return nil + } + + tmp, err := ParseFormat(name) + if err != nil { + return err + } + *x = tmp + return nil +} + +// Value implements the driver Valuer interface. +func (x Format) Value() (driver.Value, error) { + return x.String(), nil +} + +const ( + // QualityHigh is a Quality of type High + QualityHigh Quality = iota + // QualityMedium is a Quality of type Medium + QualityMedium + // QualityLow is a Quality of type Low + QualityLow +) + +const _QualityName = "highmediumlow" + +var _QualityMap = map[Quality]string{ + 0: _QualityName[0:4], + 1: _QualityName[4:10], + 2: _QualityName[10:13], +} + +// String implements the Stringer interface. +func (x Quality) String() string { + if str, ok := _QualityMap[x]; ok { + return str + } + return fmt.Sprintf("Quality(%d)", x) +} + +var _QualityValue = map[string]Quality{ + _QualityName[0:4]: 0, + _QualityName[4:10]: 1, + _QualityName[10:13]: 2, +} + +// ParseQuality attempts to convert a string to a Quality +func ParseQuality(name string) (Quality, error) { + if x, ok := _QualityValue[name]; ok { + return x, nil + } + return Quality(0), fmt.Errorf("%s is not a valid Quality", name) +} + +// MarshalText implements the text marshaller method +func (x Quality) MarshalText() ([]byte, error) { + return []byte(x.String()), nil +} + +// UnmarshalText implements the text unmarshaller method +func (x *Quality) UnmarshalText(text []byte) error { + name := string(text) + tmp, err := ParseQuality(name) + if err != nil { + return err + } + *x = tmp + return nil +} + +// Scan implements the Scanner interface. +func (x *Quality) Scan(value interface{}) error { + var name string + + switch v := value.(type) { + case string: + name = v + case []byte: + name = string(v) + case nil: + *x = Quality(0) + return nil + } + + tmp, err := ParseQuality(name) + if err != nil { + return err + } + *x = tmp + return nil +} + +// Value implements the driver Valuer interface. +func (x Quality) Value() (driver.Value, error) { + return x.String(), nil +} + +const ( + // ResizeModeFit is a ResizeMode of type Fit + ResizeModeFit ResizeMode = iota + // ResizeModeFill is a ResizeMode of type Fill + ResizeModeFill +) + +const _ResizeModeName = "fitfill" + +var _ResizeModeMap = map[ResizeMode]string{ + 0: _ResizeModeName[0:3], + 1: _ResizeModeName[3:7], +} + +// String implements the Stringer interface. +func (x ResizeMode) String() string { + if str, ok := _ResizeModeMap[x]; ok { + return str + } + return fmt.Sprintf("ResizeMode(%d)", x) +} + +var _ResizeModeValue = map[string]ResizeMode{ + _ResizeModeName[0:3]: 0, + _ResizeModeName[3:7]: 1, +} + +// ParseResizeMode attempts to convert a string to a ResizeMode +func ParseResizeMode(name string) (ResizeMode, error) { + if x, ok := _ResizeModeValue[name]; ok { + return x, nil + } + return ResizeMode(0), fmt.Errorf("%s is not a valid ResizeMode", name) +} + +// MarshalText implements the text marshaller method +func (x ResizeMode) MarshalText() ([]byte, error) { + return []byte(x.String()), nil +} + +// UnmarshalText implements the text unmarshaller method +func (x *ResizeMode) UnmarshalText(text []byte) error { + name := string(text) + tmp, err := ParseResizeMode(name) + if err != nil { + return err + } + *x = tmp + return nil +} + +// Scan implements the Scanner interface. +func (x *ResizeMode) Scan(value interface{}) error { + var name string + + switch v := value.(type) { + case string: + name = v + case []byte: + name = string(v) + case nil: + *x = ResizeMode(0) + return nil + } + + tmp, err := ParseResizeMode(name) + if err != nil { + return err + } + *x = tmp + return nil +} + +// Value implements the driver Valuer interface. +func (x ResizeMode) Value() (driver.Value, error) { + return x.String(), nil +} diff --git a/img/service_test.go b/img/service_test.go new file mode 100644 index 00000000..f37ab4c2 --- /dev/null +++ b/img/service_test.go @@ -0,0 +1,446 @@ +package img + +import ( + "bytes" + "context" + "image" + "image/gif" + "image/jpeg" + "image/png" + "io" + "testing" + + "github.com/spf13/afero" + "github.com/stretchr/testify/require" + "golang.org/x/image/bmp" + "golang.org/x/image/tiff" +) + +func TestService_Resize(t *testing.T) { + testCases := map[string]struct { + options []Option + width int + height int + source func(t *testing.T) afero.File + matcher func(t *testing.T, reader io.Reader) + wantErr bool + }{ + "fill upscale": { + options: []Option{WithMode(ResizeModeFill)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 50, 20) + }, + matcher: sizeMatcher(100, 100), + }, + "fill downscale": { + options: []Option{WithMode(ResizeModeFill)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 200, 150) + }, + matcher: sizeMatcher(100, 100), + }, + "fit upscale": { + options: []Option{WithMode(ResizeModeFit)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 50, 20) + }, + matcher: sizeMatcher(50, 20), + }, + "fit downscale": { + options: []Option{WithMode(ResizeModeFit)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 200, 150) + }, + matcher: sizeMatcher(100, 75), + }, + "keep original format": { + options: []Option{}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayPng(t, 200, 150) + }, + matcher: formatMatcher(FormatPng), + }, + "convert to jpeg": { + options: []Option{WithFormat(FormatJpeg)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 200, 150) + }, + matcher: formatMatcher(FormatJpeg), + }, + "convert to png": { + options: []Option{WithFormat(FormatPng)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 200, 150) + }, + matcher: formatMatcher(FormatPng), + }, + "convert to gif": { + options: []Option{WithFormat(FormatGif)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 200, 150) + }, + matcher: formatMatcher(FormatGif), + }, + "convert to tiff": { + options: []Option{WithFormat(FormatTiff)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 200, 150) + }, + matcher: formatMatcher(FormatTiff), + }, + "convert to bmp": { + options: []Option{WithFormat(FormatBmp)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 200, 150) + }, + matcher: formatMatcher(FormatBmp), + }, + "convert to unknown": { + options: []Option{WithFormat(Format(-1))}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 200, 150) + }, + matcher: formatMatcher(FormatJpeg), + }, + "resize png": { + options: []Option{WithMode(ResizeModeFill)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayPng(t, 200, 150) + }, + matcher: sizeMatcher(100, 100), + }, + "resize gif": { + options: []Option{WithMode(ResizeModeFill)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayGif(t, 200, 150) + }, + matcher: sizeMatcher(100, 100), + }, + "resize tiff": { + options: []Option{WithMode(ResizeModeFill)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayTiff(t, 200, 150) + }, + matcher: sizeMatcher(100, 100), + }, + "resize bmp": { + options: []Option{WithMode(ResizeModeFill)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayBmp(t, 200, 150) + }, + matcher: sizeMatcher(100, 100), + }, + "resize with high quality": { + options: []Option{WithMode(ResizeModeFill), WithQuality(QualityHigh)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 200, 150) + }, + matcher: sizeMatcher(100, 100), + }, + "resize with medium quality": { + options: []Option{WithMode(ResizeModeFill), WithQuality(QualityMedium)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 200, 150) + }, + matcher: sizeMatcher(100, 100), + }, + "resize with low quality": { + options: []Option{WithMode(ResizeModeFill), WithQuality(QualityLow)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 200, 150) + }, + matcher: sizeMatcher(100, 100), + }, + "resize with unknown quality": { + options: []Option{WithMode(ResizeModeFill), WithQuality(Quality(-1))}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return newGrayJpeg(t, 200, 150) + }, + matcher: sizeMatcher(100, 100), + }, + "get thumbnail from file with APP0 JFIF": { + options: []Option{WithMode(ResizeModeFill), WithQuality(QualityLow)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return openFile(t, "testdata/gray-sample.jpg") + }, + matcher: sizeMatcher(125, 128), + }, + "get thumbnail from file without APP0 JFIF": { + options: []Option{WithMode(ResizeModeFill), WithQuality(QualityLow)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return openFile(t, "testdata/20130612_142406.jpg") + }, + matcher: sizeMatcher(320, 240), + }, + "resize from file without IFD1 thumbnail": { + options: []Option{WithMode(ResizeModeFill), WithQuality(QualityLow)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return openFile(t, "testdata/IMG_2578.JPG") + }, + matcher: sizeMatcher(100, 100), + }, + "resize for higher quality levels": { + options: []Option{WithMode(ResizeModeFill), WithQuality(QualityMedium)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + return openFile(t, "testdata/gray-sample.jpg") + }, + matcher: sizeMatcher(100, 100), + }, + "broken file": { + options: []Option{WithMode(ResizeModeFit)}, + width: 100, + height: 100, + source: func(t *testing.T) afero.File { + t.Helper() + fs := afero.NewMemMapFs() + file, err := fs.Create("image.jpg") + require.NoError(t, err) + + _, err = file.WriteString("this is not an image") + require.NoError(t, err) + + return file + }, + wantErr: true, + }, + } + + for name, test := range testCases { + t.Run(name, func(t *testing.T) { + svc := New(1) + source := test.source(t) + defer source.Close() + + buf := &bytes.Buffer{} + err := svc.Resize(context.Background(), source, test.width, test.height, buf, test.options...) + if (err != nil) != test.wantErr { + t.Fatalf("GetMarketSpecs() error = %v, wantErr %v", err, test.wantErr) + } + if err != nil { + return + } + test.matcher(t, buf) + }) + } +} + +func sizeMatcher(width, height int) func(t *testing.T, reader io.Reader) { + return func(t *testing.T, reader io.Reader) { + resizedImg, _, err := image.Decode(reader) + require.NoError(t, err) + + require.Equal(t, width, resizedImg.Bounds().Dx()) + require.Equal(t, height, resizedImg.Bounds().Dy()) + } +} + +func formatMatcher(format Format) func(t *testing.T, reader io.Reader) { + return func(t *testing.T, reader io.Reader) { + _, decodedFormat, err := image.DecodeConfig(reader) + require.NoError(t, err) + + require.Equal(t, format.String(), decodedFormat) + } +} + +func newGrayJpeg(t *testing.T, width, height int) afero.File { + fs := afero.NewMemMapFs() + file, err := fs.Create("image.jpg") + require.NoError(t, err) + + img := image.NewGray(image.Rect(0, 0, width, height)) + err = jpeg.Encode(file, img, &jpeg.Options{Quality: 90}) + require.NoError(t, err) + + _, err = file.Seek(0, io.SeekStart) + require.NoError(t, err) + + return file +} + +func newGrayPng(t *testing.T, width, height int) afero.File { + fs := afero.NewMemMapFs() + file, err := fs.Create("image.png") + require.NoError(t, err) + + img := image.NewGray(image.Rect(0, 0, width, height)) + err = png.Encode(file, img) + require.NoError(t, err) + + _, err = file.Seek(0, io.SeekStart) + require.NoError(t, err) + + return file +} + +func newGrayGif(t *testing.T, width, height int) afero.File { + fs := afero.NewMemMapFs() + file, err := fs.Create("image.gif") + require.NoError(t, err) + + img := image.NewGray(image.Rect(0, 0, width, height)) + err = gif.Encode(file, img, nil) + require.NoError(t, err) + + _, err = file.Seek(0, io.SeekStart) + require.NoError(t, err) + + return file +} + +func newGrayTiff(t *testing.T, width, height int) afero.File { + fs := afero.NewMemMapFs() + file, err := fs.Create("image.tiff") + require.NoError(t, err) + + img := image.NewGray(image.Rect(0, 0, width, height)) + err = tiff.Encode(file, img, nil) + require.NoError(t, err) + + _, err = file.Seek(0, io.SeekStart) + require.NoError(t, err) + + return file +} + +func newGrayBmp(t *testing.T, width, height int) afero.File { + fs := afero.NewMemMapFs() + file, err := fs.Create("image.bmp") + require.NoError(t, err) + + img := image.NewGray(image.Rect(0, 0, width, height)) + err = bmp.Encode(file, img) + require.NoError(t, err) + + _, err = file.Seek(0, io.SeekStart) + require.NoError(t, err) + + return file +} + +func openFile(t *testing.T, name string) afero.File { + appfs := afero.NewOsFs() + file, err := appfs.Open(name) + + require.NoError(t, err) + + return file +} + +func TestService_FormatFromExtension(t *testing.T) { + testCases := map[string]struct { + ext string + want Format + wantErr error + }{ + "jpg": { + ext: ".jpg", + want: FormatJpeg, + }, + "jpeg": { + ext: ".jpeg", + want: FormatJpeg, + }, + "png": { + ext: ".png", + want: FormatPng, + }, + "gif": { + ext: ".gif", + want: FormatGif, + }, + "tiff": { + ext: ".tiff", + want: FormatTiff, + }, + "bmp": { + ext: ".bmp", + want: FormatBmp, + }, + "unknown": { + ext: ".mov", + wantErr: ErrUnsupportedFormat, + }, + } + + for name, test := range testCases { + t.Run(name, func(t *testing.T) { + svc := New(1) + got, err := svc.FormatFromExtension(test.ext) + require.ErrorIsf(t, err, test.wantErr, "error = %v, wantErr %v", err, test.wantErr) + if err != nil { + return + } + require.Equal(t, test.want, got) + }) + } +} diff --git a/img/testdata/20130612_142406.jpg b/img/testdata/20130612_142406.jpg new file mode 100644 index 00000000..055c14b5 Binary files /dev/null and b/img/testdata/20130612_142406.jpg differ diff --git a/img/testdata/IMG_2578.JPG b/img/testdata/IMG_2578.JPG new file mode 100644 index 00000000..84f6fb50 Binary files /dev/null and b/img/testdata/IMG_2578.JPG differ diff --git a/img/testdata/gray-sample.jpg b/img/testdata/gray-sample.jpg new file mode 100644 index 00000000..a20a5899 Binary files /dev/null and b/img/testdata/gray-sample.jpg differ diff --git a/main.go b/main.go new file mode 100644 index 00000000..bde39461 --- /dev/null +++ b/main.go @@ -0,0 +1,13 @@ +package main + +import ( + "os" + + "github.com/filebrowser/filebrowser/v2/cmd" +) + +func main() { + if err := cmd.Execute(); err != nil { + os.Exit(1) + } +} diff --git a/package.json b/package.json deleted file mode 100644 index 3ed7d997..00000000 --- a/package.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "name": "filemanager", - "version": "1.0.0", - "author": "Henrique Dias ", - "private": true, - "scripts": { - "dev": "node ./assets/build/dev.js", - "build": "node ./assets/build/build.js", - "lint": "eslint --ext .js,.vue assets/src" - }, - "dependencies": { - "codemirror": "^5.27.4", - "filesize": "^3.5.10", - "moment": "^2.18.1", - "normalize.css": "^7.0.0", - "vue": "^2.3.3", - "vue-router": "^2.7.0", - "vuex": "^2.3.1" - }, - "devDependencies": { - "autoprefixer": "^6.7.2", - "babel-core": "^6.22.1", - "babel-eslint": "^7.1.1", - "babel-loader": "^6.2.10", - "babel-plugin-transform-runtime": "^6.22.0", - "babel-preset-env": "^1.3.2", - "babel-preset-stage-2": "^6.22.0", - "babel-register": "^6.22.0", - "chalk": "^1.1.3", - "connect-history-api-fallback": "^1.3.0", - "copy-webpack-plugin": "^4.0.1", - "css-loader": "^0.28.0", - "eslint": "^3.19.0", - "eslint-config-standard": "^6.2.1", - "eslint-friendly-formatter": "^2.0.7", - "eslint-loader": "^1.7.1", - "eslint-plugin-html": "^2.0.0", - "eslint-plugin-promise": "^3.4.0", - "eslint-plugin-standard": "^2.0.1", - "eventsource-polyfill": "^0.9.6", - "express": "^4.14.1", - "extract-text-webpack-plugin": "^2.0.0", - "file-loader": "^0.11.1", - "friendly-errors-webpack-plugin": "^1.1.3", - "html-webpack-plugin": "^2.28.0", - "http-proxy-middleware": "^0.17.3", - "opn": "^4.0.2", - "optimize-css-assets-webpack-plugin": "^1.3.0", - "ora": "^1.2.0", - "rimraf": "^2.6.0", - "semver": "^5.3.0", - "shelljs": "^0.7.6", - "sw-precache-webpack-plugin": "^0.9.1", - "uglify-js": "^3.0.23", - "url-loader": "^0.5.8", - "vue-loader": "^12.1.0", - "vue-style-loader": "^3.0.1", - "vue-template-compiler": "^2.3.3", - "webpack": "^2.6.1", - "webpack-bundle-analyzer": "^2.2.1", - "webpack-dev-middleware": "^1.10.0", - "webpack-hot-middleware": "^2.18.0", - "webpack-merge": "^4.1.0" - }, - "engines": { - "node": ">= 4.0.0", - "npm": ">= 3.0.0" - }, - "postcss": { - "plugins": { - "autoprefixer": {} - } - }, - "browserslist": [ - "> 1%", - "last 2 versions", - "not ie <= 8" - ] -} diff --git a/plugins/hugo.go b/plugins/hugo.go deleted file mode 100644 index 2a70a051..00000000 --- a/plugins/hugo.go +++ /dev/null @@ -1,228 +0,0 @@ -package plugins - -import ( - "errors" - "log" - "net/http" - "os" - "os/exec" - "path/filepath" - "strings" - "time" - - "github.com/hacdias/filemanager" - "github.com/hacdias/varutils" - "github.com/robfig/cron" -) - -func init() { - filemanager.RegisterPlugin("hugo", filemanager.Plugin{ - JavaScript: hugoJavaScript, - CommandEvents: []string{"before_publish", "after_publish"}, - Permissions: []filemanager.Permission{ - { - Name: "allowPublish", - Value: true, - }, - }, - Handler: &hugo{}, - }) -} - -var ( - ErrHugoNotFound = errors.New("It seems that tou don't have 'hugo' on your PATH") - ErrUnsupportedFileType = errors.New("The type of the provided file isn't supported for this action") -) - -// Hugo is a hugo (https://gohugo.io) plugin. -type Hugo struct { - // Website root - Root string `name:"Website Root"` - // Public folder - Public string `name:"Public Directory"` - // Hugo executable path - Exe string `name:"Hugo Executable"` - // Hugo arguments - Args []string `name:"Hugo Arguments"` - // Indicates if we should clean public before a new publish. - CleanPublic bool `name:"Clean Public"` -} - -// Find finds the hugo executable in the path. -func (h *Hugo) Find() error { - var err error - if h.Exe, err = exec.LookPath("hugo"); err != nil { - return ErrHugoNotFound - } - - return nil -} - -// run runs Hugo with the define arguments. -func (h Hugo) run(force bool) { - // If the CleanPublic option is enabled, clean it. - if h.CleanPublic { - os.RemoveAll(h.Public) - } - - // Prevent running if watching is enabled - if b, pos := varutils.StringInSlice("--watch", h.Args); b && !force { - if len(h.Args) > pos && h.Args[pos+1] != "false" { - return - } - - if len(h.Args) == pos+1 { - return - } - } - - if err := Run(h.Exe, h.Args, h.Root); err != nil { - log.Println(err) - } -} - -// schedule schedules a post to be published later. -func (h Hugo) schedule(c *filemanager.RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - t, err := time.Parse("2006-01-02T15:04", r.Header.Get("Schedule")) - path := filepath.Join(string(c.User.FileSystem), r.URL.Path) - path = filepath.Clean(path) - - if err != nil { - return http.StatusInternalServerError, err - } - - scheduler := cron.New() - scheduler.AddFunc(t.Format("05 04 15 02 01 *"), func() { - if err := h.undraft(path); err != nil { - log.Printf(err.Error()) - return - } - - h.run(false) - }) - - scheduler.Start() - return http.StatusOK, nil -} - -func (h Hugo) undraft(file string) error { - args := []string{"undraft", file} - if err := Run(h.Exe, args, h.Root); err != nil && !strings.Contains(err.Error(), "not a Draft") { - return err - } - - return nil -} - -type hugo struct{} - -func (h hugo) Before(c *filemanager.RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - o := c.FM.Plugins["hugo"].(*Hugo) - - // If we are using the 'magic url' for the settings, we should redirect the - // request for the acutual path. - if r.URL.Path == "/settings/" || r.URL.Path == "/settings" { - var frontmatter string - var err error - - if _, err = os.Stat(filepath.Join(o.Root, "config.yaml")); err == nil { - frontmatter = "yaml" - } - - if _, err = os.Stat(filepath.Join(o.Root, "config.json")); err == nil { - frontmatter = "json" - } - - if _, err = os.Stat(filepath.Join(o.Root, "config.toml")); err == nil { - frontmatter = "toml" - } - - r.URL.Path = "/config." + frontmatter - } - - // From here on, we only care about 'hugo' router so we can bypass - // the others. - if c.Router != "hugo" { - return 0, nil - } - - // If we are not using HTTP Post, we shall return Method Not Allowed - // since we are only working with this method. - if r.Method != http.MethodPost { - return http.StatusMethodNotAllowed, nil - } - - // If we are creating a file built from an archetype. - if r.Header.Get("Archetype") != "" { - if !c.User.AllowNew { - return http.StatusForbidden, nil - } - - filename := filepath.Join(string(c.User.FileSystem), r.URL.Path) - archetype := r.Header.Get("archetype") - - ext := filepath.Ext(filename) - - // If the request isn't for a markdown file, we can't - // handle it. - if ext != ".markdown" && ext != ".md" { - return http.StatusBadRequest, ErrUnsupportedFileType - } - - // Tries to create a new file based on this archetype. - args := []string{"new", filename, "--kind", archetype} - if err := Run(o.Exe, args, o.Root); err != nil { - return http.StatusInternalServerError, err - } - - // Writes the location of the new file to the Header. - w.Header().Set("Location", "/files/content/"+filename) - return http.StatusCreated, nil - } - - // If we are trying to regenerate the website. - if r.Header.Get("Regenerate") == "true" { - if !c.User.Permissions["allowPublish"] { - return http.StatusForbidden, nil - } - - filename := filepath.Join(string(c.User.FileSystem), r.URL.Path) - - // Before save command handler. - if err := c.FM.Runner("before_publish", filename); err != nil { - return http.StatusInternalServerError, err - } - - // We only run undraft command if it is a file. - if strings.HasSuffix(filename, ".md") && strings.HasSuffix(filename, ".markdown") { - if err := o.undraft(filename); err != nil { - return http.StatusInternalServerError, err - } - - } - - // Regenerates the file - o.run(false) - - // Executed the before publish command. - if err := c.FM.Runner("before_publish", filename); err != nil { - return http.StatusInternalServerError, err - } - - return http.StatusOK, nil - } - - if r.Header.Get("Schedule") != "" { - if !c.User.Permissions["allowPublish"] { - return http.StatusForbidden, nil - } - - return o.schedule(c, w, r) - } - - return http.StatusNotFound, nil -} - -func (h hugo) After(c *filemanager.RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - return 0, nil -} diff --git a/plugins/hugo.js.go b/plugins/hugo.js.go deleted file mode 100644 index e65f2a83..00000000 --- a/plugins/hugo.js.go +++ /dev/null @@ -1,227 +0,0 @@ -package plugins - -const hugoJavaScript = `'use strict'; - -(function () { - if (window.plugins === undefined || window.plugins === null) { - window.plugins = [] - } - - let regenerate = function (data, url) { - url = data.api.removePrefix(url) - - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('POST', data.store.state.baseURL + "/api/hugo" + url, true) - request.setRequestHeader('Authorization', "Bearer " + data.store.state.jwt) - request.setRequestHeader('Regenerate', 'true') - - request.onload = () => { - if (request.status === 200) { - resolve() - } else { - reject(request.responseText) - } - } - - request.onerror = (error) => reject(error) - request.send() - }) - } - - let newArchetype = function (data, url, type) { - url = data.api.removePrefix(url) - - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('POST', data.store.state.baseURL + "/api/hugo" + url, true) - request.setRequestHeader('Authorization',"Bearer " + data.store.state.jwt) - request.setRequestHeader('Archetype', encodeURIComponent(type)) - - request.onload = () => { - if (request.status === 200) { - resolve(request.getResponseHeader('Location')) - } else { - reject(request.responseText) - } - } - - request.onerror = (error) => reject(error) - request.send() - }) - } - - let schedule = function (data, file, date) { - file = data.api.removePrefix(file) - - return new Promise((resolve, reject) => { - let request = new window.XMLHttpRequest() - request.open('POST', data.store.state.baseURL + "/api/hugo" + file, true) - request.setRequestHeader('Authorization', "Bearer " + data.store.state.jwt) - request.setRequestHeader('Schedule', date) - - request.onload = () => { - if (request.status === 200) { - resolve(request.getResponseHeader('Location')) - } else { - reject(request.responseText) - } - } - - request.onerror = (error) => reject(error) - request.send() - }) - } - - window.plugins.push({ - name: 'hugo', - credits: 'With a flavour of Hugo.', - header: { - visible: [ - { - if: function (data, route) { - return (data.store.state.req.kind === 'editor' && - !data.store.state.loading && - data.store.state.user.allowEdit & - data.store.state.user.permissions.allowPublish) - }, - click: function (event, data, route) { - event.preventDefault() - document.getElementById('save-button').click() - // TODO: wait for save to finish? - data.buttons.loading('publish') - - regenerate(data, route.path) - .then(() => { - data.buttons.done('publish') - data.store.commit('showSuccess', 'Post published!') - data.store.commit('setReload', true) - }) - .catch((error) => { - data.buttons.done('publish') - data.store.commit('showError', error) - }) - }, - id: 'publish-button', - icon: 'send', - name: 'Publish' - } - ], - hidden: [ - { - if: function (data, route) { - return (data.store.state.req.kind === 'editor' && - !data.store.state.loading && - data.store.state.req.metadata !== undefined && - data.store.state.req.metadata !== null && - data.store.state.user.permissions.allowPublish) - }, - click: function (event, data, route) { - document.getElementById('save-button').click() - data.store.commit('showHover', 'schedule') - }, - id: 'schedule-button', - icon: 'alarm', - name: 'Schedule' - } - ] - }, - sidebar: [ - { - click: function (event, data, route) { - data.router.push({ path: '/files/settings' }) - }, - icon: 'settings', - name: 'Hugo Settings' - }, - { - click: function (event, data, route) { - data.store.commit('showHover', 'new-archetype') - }, - if: function (data, route) { - return data.store.state.user.allowNew - }, - icon: 'merge_type', - name: 'Hugo New' - } /* , - { - click: function (event, data, route) { - console.log('evt') - }, - icon: 'remove_red_eye', - name: 'Preview' - } */ - ], - prompts: [ - { - name: 'new-archetype', - title: 'New file', - description: 'Create a new post based on an archetype. Your file will be created on content folder.', - inputs: [ - { - type: 'text', - name: 'file', - placeholder: 'File name' - }, - { - type: 'text', - name: 'archetype', - placeholder: 'Archetype' - } - ], - ok: 'Create', - submit: function (event, data, route) { - event.preventDefault() - - let file = event.currentTarget.querySelector('[name="file"]').value - let type = event.currentTarget.querySelector('[name="archetype"]').value - if (type === '') type = 'default' - - data.store.commit('closeHovers') - - newArchetype(data, '/' + file, type) - .then((url) => { - data.router.push({ path: url }) - }) - .catch(error => { - data.store.commit('showError', error) - }) - } - }, - { - name: 'schedule', - title: 'Schedule', - description: 'Pick a date and time to schedule the publication of this post.', - inputs: [ - { - type: 'datetime-local', - name: 'date', - placeholder: 'Date' - } - ], - ok: 'Schedule', - submit: function (event, data, route) { - event.preventDefault() - data.buttons.loading('schedule') - - let date = event.currentTarget.querySelector('[name="date"]').value - if (date === '') { - data.buttons.done('schedule') - data.store.commit('showError', 'The date must not be empty.') - return - } - - schedule(data, route.path, date) - .then(() => { - data.buttons.done('schedule') - data.store.commit('showSuccess', 'Post scheduled!') - }) - .catch((error) => { - data.buttons.done('schedule') - data.store.commit('showError', error) - }) - } - } - ] - }) -})()` diff --git a/plugins/utils.go b/plugins/utils.go deleted file mode 100644 index 5676cfcd..00000000 --- a/plugins/utils.go +++ /dev/null @@ -1,19 +0,0 @@ -package plugins - -import ( - "errors" - "os/exec" -) - -// Run executes an external command -func Run(command string, args []string, path string) error { - cmd := exec.Command(command, args...) - cmd.Dir = path - out, err := cmd.CombinedOutput() - - if err != nil { - return errors.New(string(out)) - } - - return nil -} diff --git a/renovate.json b/renovate.json new file mode 100644 index 00000000..ae7193e8 --- /dev/null +++ b/renovate.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended", + "group:allNonMajor", + "group:allDigest", + ":disableDependencyDashboard", + ":semanticCommitTypeAll(chore)" + ], + "postUpdateOptions": [ + "gomodUpdateImportPaths", + "gomodTidy" + ], + "schedule": "* * * * 0,6" +} diff --git a/resource.go b/resource.go deleted file mode 100644 index 1e1766d3..00000000 --- a/resource.go +++ /dev/null @@ -1,300 +0,0 @@ -package filemanager - -import ( - "errors" - "fmt" - "io" - "net/http" - "net/url" - "os" - "path/filepath" - "strings" - - "github.com/hacdias/fileutils" -) - -// sanitizeURL sanitizes the URL to prevent path transversal -// using fileutils.SlashClean and adds the trailing slash bar. -func sanitizeURL(url string) string { - path := fileutils.SlashClean(url) - if strings.HasSuffix(url, "/") && path != "/" { - return path + "/" - } - return path -} - -func resourceHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - r.URL.Path = sanitizeURL(r.URL.Path) - - switch r.Method { - case http.MethodGet: - return resourceGetHandler(c, w, r) - case http.MethodDelete: - return resourceDeleteHandler(c, w, r) - case http.MethodPut: - // Before save command handler. - path := filepath.Join(string(c.User.FileSystem), r.URL.Path) - if err := c.FM.Runner("before_save", path); err != nil { - return http.StatusInternalServerError, err - } - - code, err := resourcePostPutHandler(c, w, r) - if code != http.StatusOK { - return code, err - } - - // After save command handler. - if err := c.FM.Runner("after_save", path); err != nil { - return http.StatusInternalServerError, err - } - - return code, err - case http.MethodPatch: - return resourcePatchHandler(c, w, r) - case http.MethodPost: - return resourcePostPutHandler(c, w, r) - } - - return http.StatusNotImplemented, nil -} - -func resourceGetHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - // Gets the information of the directory/file. - f, err := getInfo(r.URL, c.FM, c.User) - if err != nil { - return errorToHTTP(err, false), err - } - - // If it's a dir and the path doesn't end with a trailing slash, - // add a trailing slash to the path. - if f.IsDir && !strings.HasSuffix(r.URL.Path, "/") { - r.URL.Path = r.URL.Path + "/" - } - - // If it is a dir, go and serve the listing. - if f.IsDir { - c.FI = f - return listingHandler(c, w, r) - } - - // Tries to get the file type. - if err = f.GetFileType(true); err != nil { - return errorToHTTP(err, true), err - } - - // Serve a preview if the file can't be edited or the - // user has no permission to edit this file. Otherwise, - // just serve the editor. - if !f.CanBeEdited() || !c.User.AllowEdit { - f.Kind = "preview" - return renderJSON(w, f) - } - - f.Kind = "editor" - - // Tries to get the editor data. - if err = f.getEditor(); err != nil { - return http.StatusInternalServerError, err - } - - return renderJSON(w, f) -} - -func listingHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - f := c.FI - f.Kind = "listing" - - // Tries to get the listing data. - if err := f.getListing(c, r); err != nil { - return errorToHTTP(err, true), err - } - - listing := f.listing - - // Defines the cookie scope. - cookieScope := c.FM.RootURL() - if cookieScope == "" { - cookieScope = "/" - } - - // Copy the query values into the Listing struct - if sort, order, err := handleSortOrder(w, r, cookieScope); err == nil { - listing.Sort = sort - listing.Order = order - } else { - return http.StatusBadRequest, err - } - - listing.ApplySort() - listing.Display = displayMode(w, r, cookieScope) - - return renderJSON(w, f) -} - -func resourceDeleteHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - // Prevent the removal of the root directory. - if r.URL.Path == "/" || !c.User.AllowEdit { - return http.StatusForbidden, nil - } - - // Remove the file or folder. - err := c.User.FileSystem.RemoveAll(r.URL.Path) - if err != nil { - return errorToHTTP(err, true), err - } - - return http.StatusOK, nil -} - -func resourcePostPutHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if !c.User.AllowNew && r.Method == http.MethodPost { - return http.StatusForbidden, nil - } - - if !c.User.AllowEdit && r.Method == http.MethodPut { - return http.StatusForbidden, nil - } - - // Checks if the current request is for a directory and not a file. - if strings.HasSuffix(r.URL.Path, "/") { - // If the method is PUT, we return 405 Method not Allowed, because - // POST should be used instead. - if r.Method == http.MethodPut { - return http.StatusMethodNotAllowed, nil - } - - // Otherwise we try to create the directory. - err := c.User.FileSystem.Mkdir(r.URL.Path, 0666) - return errorToHTTP(err, false), err - } - - // If using POST method, we are trying to create a new file so it is not - // desirable to override an already existent file. Thus, we check - // if the file already exists. If so, we just return a 409 Conflict. - if r.Method == http.MethodPost { - if _, err := c.User.FileSystem.Stat(r.URL.Path); err == nil { - return http.StatusConflict, errors.New("There is already a file on that path") - } - } - - // Create/Open the file. - f, err := c.User.FileSystem.OpenFile(r.URL.Path, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0666) - if err != nil { - return errorToHTTP(err, false), err - } - defer f.Close() - - // Copies the new content for the file. - _, err = io.Copy(f, r.Body) - if err != nil { - return errorToHTTP(err, false), err - } - - // Gets the info about the file. - fi, err := f.Stat() - if err != nil { - return errorToHTTP(err, false), err - } - - // Writes the ETag Header. - etag := fmt.Sprintf(`"%x%x"`, fi.ModTime().UnixNano(), fi.Size()) - w.Header().Set("ETag", etag) - return http.StatusOK, nil -} - -// resourcePatchHandler is the entry point for resource handler. -func resourcePatchHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if !c.User.AllowEdit { - return http.StatusForbidden, nil - } - - dst := r.Header.Get("Destination") - action := r.Header.Get("Action") - dst, err := url.QueryUnescape(dst) - if err != nil { - return errorToHTTP(err, true), err - } - - src := r.URL.Path - - if dst == "/" || src == "/" { - return http.StatusForbidden, nil - } - - if action == "copy" { - err = c.User.FileSystem.Copy(src, dst) - } else { - err = c.User.FileSystem.Rename(src, dst) - } - - return errorToHTTP(err, true), err -} - -// displayMode obtains the display mode from the Cookie. -func displayMode(w http.ResponseWriter, r *http.Request, scope string) string { - var displayMode string - - // Checks the cookie. - if displayCookie, err := r.Cookie("display"); err == nil { - displayMode = displayCookie.Value - } - - // If it's invalid, set it to mosaic, which is the default. - if displayMode == "" || (displayMode != "mosaic" && displayMode != "list") { - displayMode = "mosaic" - } - - // Set the cookie. - http.SetCookie(w, &http.Cookie{ - Name: "display", - Value: displayMode, - MaxAge: 31536000, - Path: scope, - Secure: r.TLS != nil, - }) - - return displayMode -} - -// handleSortOrder gets and stores for a Listing the 'sort' and 'order', -// and reads 'limit' if given. The latter is 0 if not given. Sets cookies. -func handleSortOrder(w http.ResponseWriter, r *http.Request, scope string) (sort string, order string, err error) { - sort = r.URL.Query().Get("sort") - order = r.URL.Query().Get("order") - - // If the query 'sort' or 'order' is empty, use defaults or any values - // previously saved in Cookies. - switch sort { - case "": - sort = "name" - if sortCookie, sortErr := r.Cookie("sort"); sortErr == nil { - sort = sortCookie.Value - } - case "name", "size": - http.SetCookie(w, &http.Cookie{ - Name: "sort", - Value: sort, - MaxAge: 31536000, - Path: scope, - Secure: r.TLS != nil, - }) - } - - switch order { - case "": - order = "asc" - if orderCookie, orderErr := r.Cookie("order"); orderErr == nil { - order = orderCookie.Value - } - case "asc", "desc": - http.SetCookie(w, &http.Cookie{ - Name: "order", - Value: order, - MaxAge: 31536000, - Path: scope, - Secure: r.TLS != nil, - }) - } - - return -} diff --git a/rice-box.go.REMOVED.git-id b/rice-box.go.REMOVED.git-id deleted file mode 100644 index 11c86299..00000000 --- a/rice-box.go.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -261f3077300416639c340ca30538b4c40284dd00 \ No newline at end of file diff --git a/rules/rules.go b/rules/rules.go new file mode 100644 index 00000000..7c6ef11b --- /dev/null +++ b/rules/rules.go @@ -0,0 +1,51 @@ +package rules + +import ( + "path/filepath" + "regexp" + "strings" +) + +// Checker is a Rules checker. +type Checker interface { + Check(path string) bool +} + +// Rule is a allow/disallow rule. +type Rule struct { + Regex bool `json:"regex"` + Allow bool `json:"allow"` + Path string `json:"path"` + Regexp *Regexp `json:"regexp"` +} + +// MatchHidden matches paths with a basename +// that begins with a dot. +func MatchHidden(path string) bool { + return path != "" && strings.HasPrefix(filepath.Base(path), ".") +} + +// Matches matches a path against a rule. +func (r *Rule) Matches(path string) bool { + if r.Regex { + return r.Regexp.MatchString(path) + } + + return strings.HasPrefix(path, r.Path) +} + +// Regexp is a wrapper to the native regexp type where we +// save the raw expression. +type Regexp struct { + Raw string `json:"raw"` + regexp *regexp.Regexp +} + +// MatchString checks if a string matches the regexp. +func (r *Regexp) MatchString(s string) bool { + if r.regexp == nil { + r.regexp = regexp.MustCompile(r.Raw) + } + + return r.regexp.MatchString(s) +} diff --git a/rules/rules_test.go b/rules/rules_test.go new file mode 100644 index 00000000..570f921f --- /dev/null +++ b/rules/rules_test.go @@ -0,0 +1,23 @@ +package rules + +import "testing" + +func TestMatchHidden(t *testing.T) { + cases := map[string]bool{ + "/": false, + "/src": false, + "/src/": false, + "/.circleci": true, + "/a/b/c/.docker.json": true, + ".docker.json": true, + "Dockerfile": false, + "/Dockerfile": false, + } + + for path, want := range cases { + got := MatchHidden(path) + if got != want { + t.Errorf("MatchHidden(%s)=%v; want %v", path, got, want) + } + } +} diff --git a/runner/commands.go b/runner/commands.go new file mode 100644 index 00000000..d5d0e19b --- /dev/null +++ b/runner/commands.go @@ -0,0 +1,136 @@ +// Copyright 2015 Light Code Labs, LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runner + +import ( + "errors" + "runtime" + "unicode" + + "github.com/flynn/go-shlex" +) + +const ( + osWindows = "windows" + osLinux = "linux" +) + +var runtimeGoos = runtime.GOOS + +// SplitCommandAndArgs takes a command string and parses it shell-style into the +// command and its separate arguments. +func SplitCommandAndArgs(command string) (cmd string, args []string, err error) { + var parts []string + + if runtimeGoos == osWindows { + parts = parseWindowsCommand(command) // parse it Windows-style + } else { + parts, err = parseUnixCommand(command) // parse it Unix-style + if err != nil { + err = errors.New("error parsing command: " + err.Error()) + return + } + } + + if len(parts) == 0 { + err = errors.New("no command contained in '" + command + "'") + return + } + + cmd = parts[0] + if len(parts) > 1 { + args = parts[1:] + } + + return +} + +// parseUnixCommand parses a unix style command line and returns the +// command and its arguments or an error +func parseUnixCommand(cmd string) ([]string, error) { + return shlex.Split(cmd) +} + +// parseWindowsCommand parses windows command lines and +// returns the command and the arguments as an array. It +// should be able to parse commonly used command lines. +// Only basic syntax is supported: +// - spaces in double quotes are not token delimiters +// - double quotes are escaped by either backspace or another double quote +// - except for the above case backspaces are path separators (not special) +// +// Many sources point out that escaping quotes using backslash can be unsafe. +// Use two double quotes when possible. (Source: http://stackoverflow.com/a/31413730/2616179 ) +// +// This function has to be used on Windows instead +// of the shlex package because this function treats backslash +// characters properly. +func parseWindowsCommand(cmd string) []string { + const backslash = '\\' + const quote = '"' + + var parts []string + var part string + var inQuotes bool + var lastRune rune + + for i, ch := range cmd { + if i != 0 { + lastRune = rune(cmd[i-1]) + } + + if ch == backslash { + // put it in the part - for now we don't know if it's an + // escaping char or path separator + part += string(ch) + continue + } + + if ch == quote { + if lastRune == backslash { + // remove the backslash from the part and add the escaped quote instead + part = part[:len(part)-1] + part += string(ch) + continue + } + + if lastRune == quote { + // revert the last change of the inQuotes state + // it was an escaping quote + inQuotes = !inQuotes + part += string(ch) + continue + } + + // normal escaping quotes + inQuotes = !inQuotes + continue + } + + if unicode.IsSpace(ch) && !inQuotes && part != "" { + parts = append(parts, part) + part = "" + continue + } + + part += string(ch) + } + + if part != "" { + parts = append(parts, part) + } + + return parts +} diff --git a/runner/commands_test.go b/runner/commands_test.go new file mode 100644 index 00000000..fa7d4115 --- /dev/null +++ b/runner/commands_test.go @@ -0,0 +1,303 @@ +// Copyright 2015 Light Code Labs, LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package runner + +import ( + "fmt" + "runtime" + "strings" + "testing" +) + +func TestParseUnixCommand(t *testing.T) { + tests := []struct { + input string + expected []string + }{ + // 0 - empty command + { + input: ``, + expected: []string{}, + }, + // 1 - command without arguments + { + input: `command`, + expected: []string{`command`}, + }, + // 2 - command with single argument + { + input: `command arg1`, + expected: []string{`command`, `arg1`}, + }, + // 3 - command with multiple arguments + { + input: `command arg1 arg2`, + expected: []string{`command`, `arg1`, `arg2`}, + }, + // 4 - command with single argument with space character - in quotes + { + input: `command "arg1 arg1"`, + expected: []string{`command`, `arg1 arg1`}, + }, + // 5 - command with multiple spaces and tab character + { + input: "command arg1 arg2\targ3", + expected: []string{`command`, `arg1`, `arg2`, `arg3`}, + }, + // 6 - command with single argument with space character - escaped with backspace + { + input: `command arg1\ arg2`, + expected: []string{`command`, `arg1 arg2`}, + }, + // 7 - single quotes should escape special chars + { + input: `command 'arg1\ arg2'`, + expected: []string{`command`, `arg1\ arg2`}, + }, + } + + for i, test := range tests { + errorPrefix := fmt.Sprintf("Test [%d]: ", i) + errorSuffix := fmt.Sprintf(" Command to parse: [%s]", test.input) + actual, _ := parseUnixCommand(test.input) + if len(actual) != len(test.expected) { + t.Errorf(errorPrefix+"Expected %d parts, got %d: %#v."+errorSuffix, len(test.expected), len(actual), actual) + continue + } + for j := 0; j < len(actual); j++ { + if expectedPart, actualPart := test.expected[j], actual[j]; expectedPart != actualPart { + t.Errorf(errorPrefix+"Expected: %v Actual: %v (index %d)."+errorSuffix, expectedPart, actualPart, j) + } + } + } +} + +func TestParseWindowsCommand(t *testing.T) { + tests := []struct { + input string + expected []string + }{ + { // 0 - empty command - do not fail + input: ``, + expected: []string{}, + }, + { // 1 - cmd without args + input: `cmd`, + expected: []string{`cmd`}, + }, + { // 2 - multiple args + input: `cmd arg1 arg2`, + expected: []string{`cmd`, `arg1`, `arg2`}, + }, + { // 3 - multiple args with space + input: `cmd "combined arg" arg2`, + expected: []string{`cmd`, `combined arg`, `arg2`}, + }, + { // 4 - path without spaces + input: `mkdir C:\Windows\foo\bar`, + expected: []string{`mkdir`, `C:\Windows\foo\bar`}, + }, + { // 5 - command with space in quotes + input: `"command here"`, + expected: []string{`command here`}, + }, + { // 6 - argument with escaped quotes (two quotes) + input: `cmd ""arg""`, + expected: []string{`cmd`, `"arg"`}, + }, + { // 7 - argument with escaped quotes (backslash) + input: `cmd \"arg\"`, + expected: []string{`cmd`, `"arg"`}, + }, + { // 8 - two quotes (escaped) inside an inQuote element + input: `cmd "a ""quoted value"`, + expected: []string{`cmd`, `a "quoted value`}, + }, + { // 9 - two quotes outside an inQuote element + input: `cmd a ""quoted value`, + expected: []string{`cmd`, `a`, `"quoted`, `value`}, + }, + { // 10 - path with space in quotes + input: `mkdir "C:\directory name\foobar"`, + expected: []string{`mkdir`, `C:\directory name\foobar`}, + }, + { // 11 - space without quotes + input: `mkdir C:\ space`, + expected: []string{`mkdir`, `C:\`, `space`}, + }, + { // 12 - space in quotes + input: `mkdir "C:\ space"`, + expected: []string{`mkdir`, `C:\ space`}, + }, + { // 13 - UNC + input: `mkdir \\?\C:\Users`, + expected: []string{`mkdir`, `\\?\C:\Users`}, + }, + { // 14 - UNC with space + input: `mkdir "\\?\C:\Program Files"`, + expected: []string{`mkdir`, `\\?\C:\Program Files`}, + }, + + { // 15 - unclosed quotes - treat as if the path ends with quote + input: `mkdir "c:\Program files`, + expected: []string{`mkdir`, `c:\Program files`}, + }, + { // 16 - quotes used inside the argument + input: `mkdir "c:\P"rogra"m f"iles`, + expected: []string{`mkdir`, `c:\Program files`}, + }, + } + + for i, test := range tests { + errorPrefix := fmt.Sprintf("Test [%d]: ", i) + errorSuffix := fmt.Sprintf(" Command to parse: [%s]", test.input) + + actual := parseWindowsCommand(test.input) + if len(actual) != len(test.expected) { + t.Errorf(errorPrefix+"Expected %d parts, got %d: %#v."+errorSuffix, len(test.expected), len(actual), actual) + continue + } + for j := 0; j < len(actual); j++ { + if expectedPart, actualPart := test.expected[j], actual[j]; expectedPart != actualPart { + t.Errorf(errorPrefix+"Expected: %v Actual: %v (index %d)."+errorSuffix, expectedPart, actualPart, j) + } + } + } +} + +func TestSplitCommandAndArgs(t *testing.T) { + // force linux parsing. It's more robust and covers error cases + runtimeGoos = osLinux + defer func() { + runtimeGoos = runtime.GOOS + }() + + var parseErrorContent = "error parsing command:" + var noCommandErrContent = "no command contained in" + + tests := []struct { + input string + expectedCommand string + expectedArgs []string + expectedErrContent string + }{ + // 0 - empty command + { + input: ``, + expectedCommand: ``, + expectedArgs: nil, + expectedErrContent: noCommandErrContent, + }, + // 1 - command without arguments + { + input: `command`, + expectedCommand: `command`, + expectedArgs: nil, + expectedErrContent: ``, + }, + // 2 - command with single argument + { + input: `command arg1`, + expectedCommand: `command`, + expectedArgs: []string{`arg1`}, + expectedErrContent: ``, + }, + // 3 - command with multiple arguments + { + input: `command arg1 arg2`, + expectedCommand: `command`, + expectedArgs: []string{`arg1`, `arg2`}, + expectedErrContent: ``, + }, + // 4 - command with unclosed quotes + { + input: `command "arg1 arg2`, + expectedCommand: "", + expectedArgs: nil, + expectedErrContent: parseErrorContent, + }, + // 5 - command with unclosed quotes + { + input: `command 'arg1 arg2"`, + expectedCommand: "", + expectedArgs: nil, + expectedErrContent: parseErrorContent, + }, + } + + for i, test := range tests { + errorPrefix := fmt.Sprintf("Test [%d]: ", i) + errorSuffix := fmt.Sprintf(" Command to parse: [%s]", test.input) + actualCommand, actualArgs, actualErr := SplitCommandAndArgs(test.input) + + // test if error matches expectation + if test.expectedErrContent != "" { + if actualErr == nil { + t.Errorf(errorPrefix+"Expected error with content [%s], found no error."+errorSuffix, test.expectedErrContent) + } else if !strings.Contains(actualErr.Error(), test.expectedErrContent) { + t.Errorf(errorPrefix+"Expected error with content [%s], found [%v]."+errorSuffix, test.expectedErrContent, actualErr) + } + } else if actualErr != nil { + t.Errorf(errorPrefix+"Expected no error, found [%v]."+errorSuffix, actualErr) + } + + // test if command matches + if test.expectedCommand != actualCommand { + t.Errorf(errorPrefix+"Expected command: [%s], actual: [%s]."+errorSuffix, test.expectedCommand, actualCommand) + } + + // test if arguments match + if len(test.expectedArgs) != len(actualArgs) { + t.Errorf(errorPrefix+"Wrong number of arguments! Expected [%v], actual [%v]."+errorSuffix, test.expectedArgs, actualArgs) + } else { + // test args only if the count matches. + for j, actualArg := range actualArgs { + expectedArg := test.expectedArgs[j] + if actualArg != expectedArg { + t.Errorf(errorPrefix+"Argument at position [%d] differ! Expected [%s], actual [%s]"+errorSuffix, j, expectedArg, actualArg) + } + } + } + } +} + +func ExampleSplitCommandAndArgs() { + var commandLine string + var command string + var args []string + + // just for the test - change GOOS and reset it at the end of the test + runtimeGoos = osWindows + defer func() { + runtimeGoos = runtime.GOOS + }() + + commandLine = `mkdir /P "C:\Program Files"` + command, args, _ = SplitCommandAndArgs(commandLine) + + fmt.Printf("Windows: %s: %s [%s]\n", commandLine, command, strings.Join(args, ",")) + + // set GOOS to linux + runtimeGoos = osLinux + + commandLine = `mkdir -p /path/with\ space` + command, args, _ = SplitCommandAndArgs(commandLine) + + fmt.Printf("Linux: %s: %s [%s]\n", commandLine, command, strings.Join(args, ",")) + + // Output: + // Windows: mkdir /P "C:\Program Files": mkdir [/P,C:\Program Files] + // Linux: mkdir -p /path/with\ space: mkdir [-p,/path/with space] +} diff --git a/runner/parser.go b/runner/parser.go new file mode 100644 index 00000000..e1035720 --- /dev/null +++ b/runner/parser.go @@ -0,0 +1,25 @@ +package runner + +import ( + "github.com/filebrowser/filebrowser/v2/settings" +) + +// ParseCommand parses the command taking in account if the current +// instance uses a shell to run the commands or just calls the binary +// directly. +func ParseCommand(s *settings.Settings, raw string) (command []string, name string, err error) { + name, args, err := SplitCommandAndArgs(raw) + if err != nil { + return + } + + if len(s.Shell) == 0 || s.Shell[0] == "" { + command = append(command, name) + command = append(command, args...) + } else { + command = append(command, s.Shell...) + command = append(command, raw) + } + + return command, name, nil +} diff --git a/runner/runner.go b/runner/runner.go new file mode 100644 index 00000000..3408a1ee --- /dev/null +++ b/runner/runner.go @@ -0,0 +1,118 @@ +package runner + +import ( + "fmt" + "log" + "os" + "os/exec" + "strings" + + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/users" +) + +// Runner is a commands runner. +type Runner struct { + Enabled bool + *settings.Settings +} + +// RunHook runs the hooks for the before and after event. +func (r *Runner) RunHook(fn func() error, evt, path, dst string, user *users.User) error { + path = user.FullPath(path) + dst = user.FullPath(dst) + + if r.Enabled { + if val, ok := r.Commands["before_"+evt]; ok { + for _, command := range val { + err := r.exec(command, "before_"+evt, path, dst, user) + if err != nil { + return err + } + } + } + } + + err := fn() + if err != nil { + return err + } + + if r.Enabled { + if val, ok := r.Commands["after_"+evt]; ok { + for _, command := range val { + err := r.exec(command, "after_"+evt, path, dst, user) + if err != nil { + return err + } + } + } + } + + return nil +} + +func (r *Runner) exec(raw, evt, path, dst string, user *users.User) error { + blocking := true + + if strings.HasSuffix(raw, "&") { + blocking = false + raw = strings.TrimSpace(strings.TrimSuffix(raw, "&")) + } + + command, _, err := ParseCommand(r.Settings, raw) + if err != nil { + return err + } + + envMapping := func(key string) string { + switch key { + case "FILE": + return path + case "SCOPE": + return user.Scope + case "TRIGGER": + return evt + case "USERNAME": + return user.Username + case "DESTINATION": + return dst + default: + return os.Getenv(key) + } + } + for i, arg := range command { + if i == 0 { + continue + } + + command[i] = os.Expand(arg, envMapping) + } + + cmd := exec.Command(command[0], command[1:]...) + cmd.Env = append(os.Environ(), fmt.Sprintf("FILE=%s", path)) + cmd.Env = append(cmd.Env, fmt.Sprintf("SCOPE=%s", user.Scope)) + cmd.Env = append(cmd.Env, fmt.Sprintf("TRIGGER=%s", evt)) + cmd.Env = append(cmd.Env, fmt.Sprintf("USERNAME=%s", user.Username)) + cmd.Env = append(cmd.Env, fmt.Sprintf("DESTINATION=%s", dst)) + + cmd.Stdin = os.Stdin + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + + if !blocking { + log.Printf("[INFO] Nonblocking Command: \"%s\"", strings.Join(command, " ")) + defer func() { + go func() { + err := cmd.Wait() + if err != nil { + log.Printf("[INFO] Nonblocking Command \"%s\" failed: %s", strings.Join(command, " "), err) + } + }() + }() + return cmd.Start() + } + + log.Printf("[INFO] Blocking Command: \"%s\"", strings.Join(command, " ")) + return cmd.Run() +} diff --git a/search/conditions.go b/search/conditions.go new file mode 100644 index 00000000..c7bcd3b9 --- /dev/null +++ b/search/conditions.go @@ -0,0 +1,102 @@ +package search + +import ( + "mime" + "path/filepath" + "regexp" + "strings" +) + +var ( + typeRegexp = regexp.MustCompile(`type:(\w+)`) +) + +type condition func(path string) bool + +func extensionCondition(extension string) condition { + return func(path string) bool { + return filepath.Ext(path) == "."+extension + } +} + +func imageCondition(path string) bool { + extension := filepath.Ext(path) + mimetype := mime.TypeByExtension(extension) + + return strings.HasPrefix(mimetype, "image") +} + +func audioCondition(path string) bool { + extension := filepath.Ext(path) + mimetype := mime.TypeByExtension(extension) + + return strings.HasPrefix(mimetype, "audio") +} + +func videoCondition(path string) bool { + extension := filepath.Ext(path) + mimetype := mime.TypeByExtension(extension) + + return strings.HasPrefix(mimetype, "video") +} + +func parseSearch(value string) *searchOptions { + opts := &searchOptions{ + CaseSensitive: strings.Contains(value, "case:sensitive"), + Conditions: []condition{}, + Terms: []string{}, + } + + // removes the options from the value + value = strings.ReplaceAll(value, "case:insensitive", "") + value = strings.ReplaceAll(value, "case:sensitive", "") + value = strings.TrimSpace(value) + + types := typeRegexp.FindAllStringSubmatch(value, -1) + for _, t := range types { + if len(t) == 1 { + continue + } + + switch t[1] { + case "image": + opts.Conditions = append(opts.Conditions, imageCondition) + case "audio", "music": + opts.Conditions = append(opts.Conditions, audioCondition) + case "video": + opts.Conditions = append(opts.Conditions, videoCondition) + default: + opts.Conditions = append(opts.Conditions, extensionCondition(t[1])) + } + } + + if len(types) > 0 { + // Remove the fields from the search value. + value = typeRegexp.ReplaceAllString(value, "") + } + + // If it's case insensitive, put everything in lowercase. + if !opts.CaseSensitive { + value = strings.ToLower(value) + } + + // Remove the spaces from the search value. + value = strings.TrimSpace(value) + + if value == "" { + return opts + } + + // if the value starts with " and finishes what that character, we will + // only search for that term + if value[0] == '"' && value[len(value)-1] == '"' { + unique := strings.TrimPrefix(value, "\"") + unique = strings.TrimSuffix(unique, "\"") + + opts.Terms = []string{unique} + return opts + } + + opts.Terms = strings.Split(value, " ") + return opts +} diff --git a/search/search.go b/search/search.go new file mode 100644 index 00000000..c58cc22f --- /dev/null +++ b/search/search.go @@ -0,0 +1,77 @@ +package search + +import ( + "context" + "os" + "path" + "path/filepath" + "strings" + + "github.com/spf13/afero" + + "github.com/filebrowser/filebrowser/v2/rules" +) + +type searchOptions struct { + CaseSensitive bool + Conditions []condition + Terms []string +} + +// Search searches for a query in a fs. +func Search(ctx context.Context, + fs afero.Fs, scope, query string, checker rules.Checker, found func(path string, f os.FileInfo) error) error { + search := parseSearch(query) + + scope = filepath.ToSlash(filepath.Clean(scope)) + scope = path.Join("/", scope) + + return afero.Walk(fs, scope, func(fPath string, f os.FileInfo, _ error) error { + if ctx.Err() != nil { + return context.Cause(ctx) + } + fPath = filepath.ToSlash(filepath.Clean(fPath)) + fPath = path.Join("/", fPath) + relativePath := strings.TrimPrefix(fPath, scope) + relativePath = strings.TrimPrefix(relativePath, "/") + + if fPath == scope { + return nil + } + + if !checker.Check(fPath) { + return nil + } + + if len(search.Conditions) > 0 { + match := false + + for _, t := range search.Conditions { + if t(fPath) { + match = true + break + } + } + + if !match { + return nil + } + } + + if len(search.Terms) > 0 { + for _, term := range search.Terms { + _, fileName := path.Split(fPath) + if !search.CaseSensitive { + fileName = strings.ToLower(fileName) + term = strings.ToLower(term) + } + if strings.Contains(fileName, term) { + return found(relativePath, f) + } + } + return nil + } + + return found(relativePath, f) + }) +} diff --git a/settings.go b/settings.go deleted file mode 100644 index e5e5c317..00000000 --- a/settings.go +++ /dev/null @@ -1,126 +0,0 @@ -package filemanager - -import ( - "encoding/json" - "errors" - "net/http" - "reflect" - - "github.com/mitchellh/mapstructure" -) - -func commandsHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - switch r.Method { - case http.MethodGet: - return commandsGetHandler(c, w, r) - case http.MethodPut: - return commandsPutHandler(c, w, r) - } - - return http.StatusMethodNotAllowed, nil -} - -func commandsGetHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if !c.User.Admin { - return http.StatusForbidden, nil - } - - return renderJSON(w, c.FM.Commands) -} - -func commandsPutHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if !c.User.Admin { - return http.StatusForbidden, nil - } - - if r.Body == nil { - return http.StatusBadGateway, errors.New("Empty request body") - } - - var commands map[string][]string - - // Parses the user and checks for error. - err := json.NewDecoder(r.Body).Decode(&commands) - if err != nil { - return http.StatusBadRequest, errors.New("Invalid JSON") - } - - if err := c.FM.db.Set("config", "commands", commands); err != nil { - return http.StatusInternalServerError, err - } - - c.FM.Commands = commands - return http.StatusOK, nil -} - -func pluginsHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - switch r.Method { - case http.MethodGet: - return pluginsGetHandler(c, w, r) - case http.MethodPut: - return pluginsPutHandler(c, w, r) - } - - return http.StatusMethodNotAllowed, nil -} - -type pluginOption struct { - Variable string `json:"variable"` - Name string `json:"name"` - Value interface{} `json:"value"` -} - -func pluginsGetHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if !c.User.Admin { - return http.StatusForbidden, nil - } - - plugins := map[string][]pluginOption{} - - for name, p := range c.FM.Plugins { - plugins[name] = []pluginOption{} - - t := reflect.TypeOf(p).Elem() - for i := 0; i < t.NumField(); i++ { - plugins[name] = append(plugins[name], pluginOption{ - Variable: t.Field(i).Name, - Name: t.Field(i).Tag.Get("name"), - Value: reflect.ValueOf(p).Elem().FieldByName(t.Field(i).Name).Interface(), - }) - } - } - - return renderJSON(w, plugins) -} - -func pluginsPutHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if !c.User.Admin { - return http.StatusForbidden, nil - } - - if r.Body == nil { - return http.StatusBadGateway, errors.New("Empty request body") - } - - var raw map[string]map[string]interface{} - - // Parses the user and checks for error. - err := json.NewDecoder(r.Body).Decode(&raw) - if err != nil { - return http.StatusBadRequest, err - } - - for name, plugin := range raw { - err = mapstructure.Decode(plugin, c.FM.Plugins[name]) - if err != nil { - return http.StatusInternalServerError, err - } - - err = c.FM.db.Set("plugins", name, c.FM.Plugins[name]) - if err != nil { - return http.StatusInternalServerError, err - } - } - - return http.StatusOK, nil -} diff --git a/settings/branding.go b/settings/branding.go new file mode 100644 index 00000000..cd196236 --- /dev/null +++ b/settings/branding.go @@ -0,0 +1,11 @@ +package settings + +// Branding contains the branding settings of the app. +type Branding struct { + Name string `json:"name"` + DisableExternal bool `json:"disableExternal"` + DisableUsedPercentage bool `json:"disableUsedPercentage"` + Files string `json:"files"` + Theme string `json:"theme"` + Color string `json:"color"` +} diff --git a/settings/defaults.go b/settings/defaults.go new file mode 100644 index 00000000..46024179 --- /dev/null +++ b/settings/defaults.go @@ -0,0 +1,37 @@ +package settings + +import ( + "github.com/filebrowser/filebrowser/v2/files" + "github.com/filebrowser/filebrowser/v2/users" +) + +// UserDefaults is a type that holds the default values +// for some fields on User. +type UserDefaults struct { + Scope string `json:"scope"` + Locale string `json:"locale"` + ViewMode users.ViewMode `json:"viewMode"` + SingleClick bool `json:"singleClick"` + RedirectAfterCopyMove bool `json:"redirectAfterCopyMove"` + Sorting files.Sorting `json:"sorting"` + Perm users.Permissions `json:"perm"` + Commands []string `json:"commands"` + HideDotfiles bool `json:"hideDotfiles"` + DateFormat bool `json:"dateFormat"` + AceEditorTheme string `json:"aceEditorTheme"` +} + +// Apply applies the default options to a user. +func (d *UserDefaults) Apply(u *users.User) { + u.Scope = d.Scope + u.Locale = d.Locale + u.ViewMode = d.ViewMode + u.SingleClick = d.SingleClick + u.RedirectAfterCopyMove = d.RedirectAfterCopyMove + u.Perm = d.Perm + u.Sorting = d.Sorting + u.Commands = d.Commands + u.HideDotfiles = d.HideDotfiles + u.DateFormat = d.DateFormat + u.AceEditorTheme = d.AceEditorTheme +} diff --git a/settings/dir.go b/settings/dir.go new file mode 100644 index 00000000..0e857950 --- /dev/null +++ b/settings/dir.go @@ -0,0 +1,53 @@ +package settings + +import ( + "errors" + "fmt" + "log" + "os" + "path" + "regexp" + "strings" + + "github.com/spf13/afero" +) + +var ( + invalidFilenameChars = regexp.MustCompile(`[^0-9A-Za-z@_\-.]`) + + dashes = regexp.MustCompile(`[\-]+`) +) + +// MakeUserDir makes the user directory according to settings. +func (s *Settings) MakeUserDir(username, userScope, serverRoot string) (string, error) { + userScope = strings.TrimSpace(userScope) + if userScope == "" && s.CreateUserDir { + username = cleanUsername(username) + if username == "" || username == "-" || username == "." { + log.Printf("create user: invalid user for home dir creation: [%s]", username) + return "", errors.New("invalid user for home dir creation") + } + userScope = path.Join(s.UserHomeBasePath, username) + } + + userScope = path.Join("/", userScope) + + fs := afero.NewBasePathFs(afero.NewOsFs(), serverRoot) + if err := fs.MkdirAll(userScope, os.ModePerm); err != nil { + return "", fmt.Errorf("failed to create user home dir: [%s]: %w", userScope, err) + } + return userScope, nil +} + +func cleanUsername(s string) string { + // Remove any trailing space to avoid ending on - + s = strings.Trim(s, " ") + s = strings.ReplaceAll(s, "..", "") + + // Replace all characters which not in the list `0-9A-Za-z@_\-.` with a dash + s = invalidFilenameChars.ReplaceAllString(s, "-") + + // Remove any multiple dashes caused by replacements above + s = dashes.ReplaceAllString(s, "-") + return s +} diff --git a/settings/settings.go b/settings/settings.go new file mode 100644 index 00000000..d71be16a --- /dev/null +++ b/settings/settings.go @@ -0,0 +1,95 @@ +package settings + +import ( + "crypto/rand" + "io/fs" + "log" + "strings" + "time" + + "github.com/filebrowser/filebrowser/v2/rules" +) + +const DefaultUsersHomeBasePath = "/users" +const DefaultLogoutPage = "/login" +const DefaultMinimumPasswordLength = 12 +const DefaultFileMode = 0640 +const DefaultDirMode = 0750 + +// AuthMethod describes an authentication method. +type AuthMethod string + +// Settings contain the main settings of the application. +type Settings struct { + Key []byte `json:"key"` + Signup bool `json:"signup"` + HideLoginButton bool `json:"hideLoginButton"` + CreateUserDir bool `json:"createUserDir"` + UserHomeBasePath string `json:"userHomeBasePath"` + Defaults UserDefaults `json:"defaults"` + AuthMethod AuthMethod `json:"authMethod"` + LogoutPage string `json:"logoutPage"` + Branding Branding `json:"branding"` + Tus Tus `json:"tus"` + Commands map[string][]string `json:"commands"` + Shell []string `json:"shell"` + Rules []rules.Rule `json:"rules"` + MinimumPasswordLength uint `json:"minimumPasswordLength"` + FileMode fs.FileMode `json:"fileMode"` + DirMode fs.FileMode `json:"dirMode"` + HideDotfiles bool `json:"hideDotfiles"` +} + +// GetRules implements rules.Provider. +func (s *Settings) GetRules() []rules.Rule { + return s.Rules +} + +// Server specific settings. +type Server struct { + Root string `json:"root"` + BaseURL string `json:"baseURL"` + Socket string `json:"socket"` + TLSKey string `json:"tlsKey"` + TLSCert string `json:"tlsCert"` + Port string `json:"port"` + Address string `json:"address"` + Log string `json:"log"` + EnableThumbnails bool `json:"enableThumbnails"` + ResizePreview bool `json:"resizePreview"` + EnableExec bool `json:"enableExec"` + TypeDetectionByHeader bool `json:"typeDetectionByHeader"` + ImageResolutionCal bool `json:"imageResolutionCalculation"` + AuthHook string `json:"authHook"` + TokenExpirationTime string `json:"tokenExpirationTime"` +} + +// Clean cleans any variables that might need cleaning. +func (s *Server) Clean() { + s.BaseURL = strings.TrimSuffix(s.BaseURL, "/") +} + +func (s *Server) GetTokenExpirationTime(fallback time.Duration) time.Duration { + if s.TokenExpirationTime == "" { + return fallback + } + + duration, err := time.ParseDuration(s.TokenExpirationTime) + if err != nil { + log.Printf("[WARN] Failed to parse tokenExpirationTime: %v", err) + return fallback + } + return duration +} + +// GenerateKey generates a key of 512 bits. +func GenerateKey() ([]byte, error) { + b := make([]byte, 64) + _, err := rand.Read(b) + // Note that err == nil only if we read len(b) bytes. + if err != nil { + return nil, err + } + + return b, nil +} diff --git a/settings/storage.go b/settings/storage.go new file mode 100644 index 00000000..573024f7 --- /dev/null +++ b/settings/storage.go @@ -0,0 +1,129 @@ +package settings + +import ( + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/rules" + "github.com/filebrowser/filebrowser/v2/users" +) + +// StorageBackend is a settings storage backend. +type StorageBackend interface { + Get() (*Settings, error) + Save(*Settings) error + GetServer() (*Server, error) + SaveServer(*Server) error +} + +// Storage is a settings storage. +type Storage struct { + back StorageBackend +} + +// NewStorage creates a settings storage from a backend. +func NewStorage(back StorageBackend) *Storage { + return &Storage{back: back} +} + +// Get returns the settings for the current instance. +func (s *Storage) Get() (*Settings, error) { + set, err := s.back.Get() + if err != nil { + return nil, err + } + + if set.UserHomeBasePath == "" { + set.UserHomeBasePath = DefaultUsersHomeBasePath + } + + if set.LogoutPage == "" { + set.LogoutPage = DefaultLogoutPage + } + + if set.MinimumPasswordLength == 0 { + set.MinimumPasswordLength = DefaultMinimumPasswordLength + } + + if set.Tus == (Tus{}) { + set.Tus = Tus{ + ChunkSize: DefaultTusChunkSize, + RetryCount: DefaultTusRetryCount, + } + } + + if set.FileMode == 0 { + set.FileMode = DefaultFileMode + } + + if set.DirMode == 0 { + set.DirMode = DefaultDirMode + } + + return set, nil +} + +var defaultEvents = []string{ + "save", + "copy", + "rename", + "upload", + "delete", +} + +// Save saves the settings for the current instance. +func (s *Storage) Save(set *Settings) error { + if len(set.Key) == 0 { + return fberrors.ErrEmptyKey + } + + if set.Defaults.Locale == "" { + set.Defaults.Locale = "en" + } + + if set.Defaults.Commands == nil { + set.Defaults.Commands = []string{} + } + + if set.Defaults.ViewMode == "" { + set.Defaults.ViewMode = users.MosaicViewMode + } + + if set.Rules == nil { + set.Rules = []rules.Rule{} + } + + if set.Shell == nil { + set.Shell = []string{} + } + + if set.Commands == nil { + set.Commands = map[string][]string{} + } + + for _, event := range defaultEvents { + if _, ok := set.Commands["before_"+event]; !ok { + set.Commands["before_"+event] = []string{} + } + + if _, ok := set.Commands["after_"+event]; !ok { + set.Commands["after_"+event] = []string{} + } + } + + err := s.back.Save(set) + if err != nil { + return err + } + + return nil +} + +// GetServer wraps StorageBackend.GetServer. +func (s *Storage) GetServer() (*Server, error) { + return s.back.GetServer() +} + +// SaveServer wraps StorageBackend.SaveServer and adds some verification. +func (s *Storage) SaveServer(ser *Server) error { + ser.Clean() + return s.back.SaveServer(ser) +} diff --git a/settings/tus.go b/settings/tus.go new file mode 100644 index 00000000..b869c2e1 --- /dev/null +++ b/settings/tus.go @@ -0,0 +1,10 @@ +package settings + +const DefaultTusChunkSize = 10 * 1024 * 1024 // 10MB +const DefaultTusRetryCount = 5 + +// Tus contains the tus.io settings of the app. +type Tus struct { + ChunkSize uint64 `json:"chunkSize"` + RetryCount uint16 `json:"retryCount"` +} diff --git a/share/share.go b/share/share.go new file mode 100644 index 00000000..f14c543d --- /dev/null +++ b/share/share.go @@ -0,0 +1,20 @@ +package share + +type CreateBody struct { + Password string `json:"password"` + Expires string `json:"expires"` + Unit string `json:"unit"` +} + +// Link is the information needed to build a shareable link. +type Link struct { + Hash string `json:"hash" storm:"id,index"` + Path string `json:"path" storm:"index"` + UserID uint `json:"userID"` + Expire int64 `json:"expire"` + PasswordHash string `json:"password_hash,omitempty"` + // Token is a random value that will only be set when PasswordHash is set. It is + // URL-Safe and is used to download links in password-protected shares via a + // query arg. + Token string `json:"token,omitempty"` +} diff --git a/share/storage.go b/share/storage.go new file mode 100644 index 00000000..76ba26eb --- /dev/null +++ b/share/storage.go @@ -0,0 +1,125 @@ +package share + +import ( + "time" + + fberrors "github.com/filebrowser/filebrowser/v2/errors" +) + +// StorageBackend is the interface to implement for a share storage. +type StorageBackend interface { + All() ([]*Link, error) + FindByUserID(id uint) ([]*Link, error) + GetByHash(hash string) (*Link, error) + GetPermanent(path string, id uint) (*Link, error) + Gets(path string, id uint) ([]*Link, error) + Save(s *Link) error + Delete(hash string) error + DeleteWithPathPrefix(path string) error +} + +// Storage is a storage. +type Storage struct { + back StorageBackend +} + +// NewStorage creates a share links storage from a backend. +func NewStorage(back StorageBackend) *Storage { + return &Storage{back: back} +} + +// All wraps a StorageBackend.All. +func (s *Storage) All() ([]*Link, error) { + links, err := s.back.All() + + if err != nil { + return nil, err + } + + for i, link := range links { + if link.Expire != 0 && link.Expire <= time.Now().Unix() { + if err := s.Delete(link.Hash); err != nil { + return nil, err + } + links = append(links[:i], links[i+1:]...) + } + } + + return links, nil +} + +// FindByUserID wraps a StorageBackend.FindByUserID. +func (s *Storage) FindByUserID(id uint) ([]*Link, error) { + links, err := s.back.FindByUserID(id) + + if err != nil { + return nil, err + } + + for i, link := range links { + if link.Expire != 0 && link.Expire <= time.Now().Unix() { + if err := s.Delete(link.Hash); err != nil { + return nil, err + } + links = append(links[:i], links[i+1:]...) + } + } + + return links, nil +} + +// GetByHash wraps a StorageBackend.GetByHash. +func (s *Storage) GetByHash(hash string) (*Link, error) { + link, err := s.back.GetByHash(hash) + if err != nil { + return nil, err + } + + if link.Expire != 0 && link.Expire <= time.Now().Unix() { + if err := s.Delete(link.Hash); err != nil { + return nil, err + } + return nil, fberrors.ErrNotExist + } + + return link, nil +} + +// GetPermanent wraps a StorageBackend.GetPermanent +func (s *Storage) GetPermanent(path string, id uint) (*Link, error) { + return s.back.GetPermanent(path, id) +} + +// Gets wraps a StorageBackend.Gets +func (s *Storage) Gets(path string, id uint) ([]*Link, error) { + links, err := s.back.Gets(path, id) + + if err != nil { + return nil, err + } + + for i, link := range links { + if link.Expire != 0 && link.Expire <= time.Now().Unix() { + if err := s.Delete(link.Hash); err != nil { + return nil, err + } + links = append(links[:i], links[i+1:]...) + } + } + + return links, nil +} + +// Save wraps a StorageBackend.Save +func (s *Storage) Save(l *Link) error { + return s.back.Save(l) +} + +// Delete wraps a StorageBackend.Delete +func (s *Storage) Delete(hash string) error { + return s.back.Delete(hash) +} + +func (s *Storage) DeleteWithPathPrefix(path string) error { + return s.back.DeleteWithPathPrefix(path) +} diff --git a/storage/bolt/auth.go b/storage/bolt/auth.go new file mode 100644 index 00000000..1de95192 --- /dev/null +++ b/storage/bolt/auth.go @@ -0,0 +1,36 @@ +package bolt + +import ( + "github.com/asdine/storm/v3" + + "github.com/filebrowser/filebrowser/v2/auth" + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/settings" +) + +type authBackend struct { + db *storm.DB +} + +func (s authBackend) Get(t settings.AuthMethod) (auth.Auther, error) { + var auther auth.Auther + + switch t { + case auth.MethodJSONAuth: + auther = &auth.JSONAuth{} + case auth.MethodProxyAuth: + auther = &auth.ProxyAuth{} + case auth.MethodHookAuth: + auther = &auth.HookAuth{} + case auth.MethodNoAuth: + auther = &auth.NoAuth{} + default: + return nil, fberrors.ErrInvalidAuthMethod + } + + return auther, get(s.db, "auther", auther) +} + +func (s authBackend) Save(a auth.Auther) error { + return save(s.db, "auther", a) +} diff --git a/storage/bolt/bolt.go b/storage/bolt/bolt.go new file mode 100644 index 00000000..803ebc36 --- /dev/null +++ b/storage/bolt/bolt.go @@ -0,0 +1,31 @@ +package bolt + +import ( + "github.com/asdine/storm/v3" + + "github.com/filebrowser/filebrowser/v2/auth" + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/share" + "github.com/filebrowser/filebrowser/v2/storage" + "github.com/filebrowser/filebrowser/v2/users" +) + +// NewStorage creates a storage.Storage based on Bolt DB. +func NewStorage(db *storm.DB) (*storage.Storage, error) { + userStore := users.NewStorage(usersBackend{db: db}) + shareStore := share.NewStorage(shareBackend{db: db}) + settingsStore := settings.NewStorage(settingsBackend{db: db}) + authStore := auth.NewStorage(authBackend{db: db}, userStore) + + err := save(db, "version", 2) + if err != nil { + return nil, err + } + + return &storage.Storage{ + Auth: authStore, + Users: userStore, + Share: shareStore, + Settings: settingsStore, + }, nil +} diff --git a/storage/bolt/config.go b/storage/bolt/config.go new file mode 100644 index 00000000..a4d40064 --- /dev/null +++ b/storage/bolt/config.go @@ -0,0 +1,29 @@ +package bolt + +import ( + "github.com/asdine/storm/v3" + + "github.com/filebrowser/filebrowser/v2/settings" +) + +type settingsBackend struct { + db *storm.DB +} + +func (s settingsBackend) Get() (*settings.Settings, error) { + set := &settings.Settings{} + return set, get(s.db, "settings", set) +} + +func (s settingsBackend) Save(set *settings.Settings) error { + return save(s.db, "settings", set) +} + +func (s settingsBackend) GetServer() (*settings.Server, error) { + server := &settings.Server{} + return server, get(s.db, "server", server) +} + +func (s settingsBackend) SaveServer(server *settings.Server) error { + return save(s.db, "server", server) +} diff --git a/storage/bolt/share.go b/storage/bolt/share.go new file mode 100644 index 00000000..c5b91483 --- /dev/null +++ b/storage/bolt/share.go @@ -0,0 +1,90 @@ +package bolt + +import ( + "errors" + + "github.com/asdine/storm/v3" + "github.com/asdine/storm/v3/q" + + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/share" +) + +type shareBackend struct { + db *storm.DB +} + +func (s shareBackend) All() ([]*share.Link, error) { + var v []*share.Link + err := s.db.All(&v) + if errors.Is(err, storm.ErrNotFound) { + return v, fberrors.ErrNotExist + } + + return v, err +} + +func (s shareBackend) FindByUserID(id uint) ([]*share.Link, error) { + var v []*share.Link + err := s.db.Select(q.Eq("UserID", id)).Find(&v) + if errors.Is(err, storm.ErrNotFound) { + return v, fberrors.ErrNotExist + } + + return v, err +} + +func (s shareBackend) GetByHash(hash string) (*share.Link, error) { + var v share.Link + err := s.db.One("Hash", hash, &v) + if errors.Is(err, storm.ErrNotFound) { + return nil, fberrors.ErrNotExist + } + + return &v, err +} + +func (s shareBackend) GetPermanent(path string, id uint) (*share.Link, error) { + var v share.Link + err := s.db.Select(q.Eq("Path", path), q.Eq("Expire", 0), q.Eq("UserID", id)).First(&v) + if errors.Is(err, storm.ErrNotFound) { + return nil, fberrors.ErrNotExist + } + + return &v, err +} + +func (s shareBackend) Gets(path string, id uint) ([]*share.Link, error) { + var v []*share.Link + err := s.db.Select(q.Eq("Path", path), q.Eq("UserID", id)).Find(&v) + if errors.Is(err, storm.ErrNotFound) { + return v, fberrors.ErrNotExist + } + + return v, err +} + +func (s shareBackend) Save(l *share.Link) error { + return s.db.Save(l) +} + +func (s shareBackend) Delete(hash string) error { + err := s.db.DeleteStruct(&share.Link{Hash: hash}) + if errors.Is(err, storm.ErrNotFound) { + return nil + } + return err +} + +func (s shareBackend) DeleteWithPathPrefix(pathPrefix string) error { + var links []share.Link + if err := s.db.Prefix("Path", pathPrefix, &links); err != nil { + return err + } + + var err error + for _, link := range links { + err = errors.Join(err, s.db.DeleteStruct(&share.Link{Hash: link.Hash})) + } + return err +} diff --git a/storage/bolt/users.go b/storage/bolt/users.go new file mode 100644 index 00000000..974c0a48 --- /dev/null +++ b/storage/bolt/users.go @@ -0,0 +1,95 @@ +package bolt + +import ( + "errors" + "fmt" + "reflect" + + "github.com/asdine/storm/v3" + + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/users" +) + +type usersBackend struct { + db *storm.DB +} + +func (st usersBackend) GetBy(i interface{}) (user *users.User, err error) { + user = &users.User{} + + var arg string + switch i.(type) { + case uint: + arg = "ID" + case string: + arg = "Username" + default: + return nil, fberrors.ErrInvalidDataType + } + + err = st.db.One(arg, i, user) + + if err != nil { + if errors.Is(err, storm.ErrNotFound) { + return nil, fberrors.ErrNotExist + } + return nil, err + } + + return +} + +func (st usersBackend) Gets() ([]*users.User, error) { + var allUsers []*users.User + err := st.db.All(&allUsers) + if errors.Is(err, storm.ErrNotFound) { + return nil, fberrors.ErrNotExist + } + + if err != nil { + return allUsers, err + } + + return allUsers, err +} + +func (st usersBackend) Update(user *users.User, fields ...string) error { + if len(fields) == 0 { + return st.Save(user) + } + + for _, field := range fields { + userField := reflect.ValueOf(user).Elem().FieldByName(field) + if !userField.IsValid() { + return fmt.Errorf("invalid field: %s", field) + } + val := userField.Interface() + if err := st.db.UpdateField(user, field, val); err != nil { + return err + } + } + + return nil +} + +func (st usersBackend) Save(user *users.User) error { + err := st.db.Save(user) + if errors.Is(err, storm.ErrAlreadyExists) { + return fberrors.ErrExist + } + return err +} + +func (st usersBackend) DeleteByID(id uint) error { + return st.db.DeleteStruct(&users.User{ID: id}) +} + +func (st usersBackend) DeleteByUsername(username string) error { + user, err := st.GetBy(username) + if err != nil { + return err + } + + return st.db.DeleteStruct(user) +} diff --git a/storage/bolt/utils.go b/storage/bolt/utils.go new file mode 100644 index 00000000..b16bccff --- /dev/null +++ b/storage/bolt/utils.go @@ -0,0 +1,22 @@ +package bolt + +import ( + "errors" + + "github.com/asdine/storm/v3" + + fberrors "github.com/filebrowser/filebrowser/v2/errors" +) + +func get(db *storm.DB, name string, to interface{}) error { + err := db.Get("config", name, to) + if errors.Is(err, storm.ErrNotFound) { + return fberrors.ErrNotExist + } + + return err +} + +func save(db *storm.DB, name string, from interface{}) error { + return db.Set("config", name, from) +} diff --git a/storage/storage.go b/storage/storage.go new file mode 100644 index 00000000..d4f1a652 --- /dev/null +++ b/storage/storage.go @@ -0,0 +1,17 @@ +package storage + +import ( + "github.com/filebrowser/filebrowser/v2/auth" + "github.com/filebrowser/filebrowser/v2/settings" + "github.com/filebrowser/filebrowser/v2/share" + "github.com/filebrowser/filebrowser/v2/users" +) + +// Storage is a storage powered by a Backend which makes the necessary +// verifications when fetching and saving data to ensure consistency. +type Storage struct { + Users users.Store + Share *share.Storage + Auth *auth.Storage + Settings *settings.Storage +} diff --git a/transifex.yml b/transifex.yml new file mode 100644 index 00000000..8a12912b --- /dev/null +++ b/transifex.yml @@ -0,0 +1,15 @@ +filters: +- filter_type: file + file_format: KEYVALUEJSON + source_language: en + source_file: frontend/src/i18n/en.json + translation_files_expression: 'frontend/src/i18n/.json' + +settings: + language_mapping: + sv_SE: sv-se + pt_BR: pt-br + zh_CN: zh-cn + zh_HK: zh-hk + zh_TW: zh-tw + nl_BE: nl-be diff --git a/users.go b/users.go deleted file mode 100644 index 6eab4e03..00000000 --- a/users.go +++ /dev/null @@ -1,335 +0,0 @@ -package filemanager - -import ( - "encoding/json" - "errors" - "net/http" - "sort" - "strconv" - "strings" - - "github.com/asdine/storm" -) - -// usersHandler is the entry point of the users API. It's just a router -// to send the request to its -func usersHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if r.URL.Path == "/change-password" { - return usersUpdatePassword(c, w, r) - } - - if r.URL.Path == "/change-css" { - return usersUpdateCSS(c, w, r) - } - - // If the user is admin and the HTTP Method is not - // PUT, then we return forbidden. - if !c.User.Admin { - return http.StatusForbidden, nil - } - - switch r.Method { - case http.MethodGet: - return usersGetHandler(c, w, r) - case http.MethodPost: - return usersPostHandler(c, w, r) - case http.MethodDelete: - return usersDeleteHandler(c, w, r) - case http.MethodPut: - return usersPutHandler(c, w, r) - } - - return http.StatusNotImplemented, nil -} - -// getUserID returns the id from the user which is present -// in the request url. If the url is invalid and doesn't -// contain a valid ID, it returns an error. -func getUserID(r *http.Request) (int, error) { - // Obtains the ID in string from the URL and converts - // it into an integer. - sid := strings.TrimPrefix(r.URL.Path, "/") - sid = strings.TrimSuffix(sid, "/") - id, err := strconv.Atoi(sid) - if err != nil { - return http.StatusBadRequest, err - } - - return id, nil -} - -// getUser returns the user which is present in the request -// body. If the body is empty or the JSON is invalid, it -// returns an error. -func getUser(r *http.Request) (*User, error) { - if r.Body == nil { - return nil, errEmptyRequest - } - - u := &User{} - - err := json.NewDecoder(r.Body).Decode(u) - if err != nil { - return nil, err - } - - return u, nil -} - -func usersGetHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - // Request for the default user data. - if r.URL.Path == "/base" { - return renderJSON(w, c.FM.DefaultUser) - } - - // Request for the listing of users. - if r.URL.Path == "/" { - users := []User{} - - for _, user := range c.FM.Users { - // Copies the user info and removes its - // password so it won't be sent to the - // front-end. - u := *user - u.Password = "" - users = append(users, u) - } - - sort.Slice(users, func(i, j int) bool { - return users[i].ID < users[j].ID - }) - - return renderJSON(w, users) - } - - id, err := getUserID(r) - if err != nil { - return http.StatusInternalServerError, err - } - - // Searches for the user and prints the one who matches. - for _, user := range c.FM.Users { - if user.ID != id { - continue - } - - u := *user - u.Password = "" - return renderJSON(w, u) - } - - // If there aren't any matches, return not found. - return http.StatusNotFound, errUserNotExist -} - -func usersPostHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if r.URL.Path != "/" { - return http.StatusMethodNotAllowed, nil - } - - u, err := getUser(r) - if err != nil { - return http.StatusBadRequest, err - } - - // The username, password and scope cannot be empty. - if u.Username == "" || u.Password == "" || u.FileSystem == "" { - return http.StatusBadRequest, errors.New("username, password or scope is empty") - } - - // Initialize rules if they're not initialized. - if u.Rules == nil { - u.Rules = []*Rule{} - } - - // Initialize commands if not initialized. - if u.Commands == nil { - u.Commands = []string{} - } - - // It's a new user so the ID will be auto created. - if u.ID != 0 { - u.ID = 0 - } - - // Hashes the password. - pw, err := hashPassword(u.Password) - if err != nil { - return http.StatusInternalServerError, err - } - - u.Password = pw - - // Saves the user to the database. - err = c.FM.db.Save(u) - if err == storm.ErrAlreadyExists { - return http.StatusConflict, errUserExist - } - - if err != nil { - return http.StatusInternalServerError, err - } - - // Saves the user to the memory. - c.FM.Users[u.Username] = u - - // Set the Location header and return. - w.Header().Set("Location", "/users/"+strconv.Itoa(u.ID)) - w.WriteHeader(http.StatusCreated) - return 0, nil -} - -func usersDeleteHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if r.URL.Path == "/" { - return http.StatusMethodNotAllowed, nil - } - - id, err := getUserID(r) - if err != nil { - return http.StatusInternalServerError, err - } - - // Deletes the user from the database. - err = c.FM.db.DeleteStruct(&User{ID: id}) - if err == storm.ErrNotFound { - return http.StatusNotFound, errUserNotExist - } - - if err != nil { - return http.StatusInternalServerError, err - } - - // Delete the user from the in-memory users map. - for _, user := range c.FM.Users { - if user.ID == id { - delete(c.FM.Users, user.Username) - break - } - } - - return http.StatusOK, nil -} - -func usersUpdatePassword(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if r.Method != http.MethodPut { - return http.StatusMethodNotAllowed, nil - } - - u, err := getUser(r) - if err != nil { - return http.StatusBadRequest, err - } - - if u.Password == "" { - return http.StatusBadRequest, errEmptyPassword - } - - pw, err := hashPassword(u.Password) - if err != nil { - return http.StatusInternalServerError, err - } - - c.User.Password = pw - err = c.FM.db.UpdateField(&User{ID: c.User.ID}, "Password", pw) - if err != nil { - return http.StatusInternalServerError, err - } - - return http.StatusOK, nil -} - -func usersUpdateCSS(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - if r.Method != http.MethodPut { - return http.StatusMethodNotAllowed, nil - } - - u, err := getUser(r) - if err != nil { - return http.StatusBadRequest, err - } - - c.User.CSS = u.CSS - err = c.FM.db.UpdateField(&User{ID: c.User.ID}, "CSS", u.CSS) - if err != nil { - return http.StatusInternalServerError, err - } - - return http.StatusOK, nil -} - -func usersPutHandler(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - // New users should be created on /api/users. - if r.URL.Path == "/" { - return http.StatusMethodNotAllowed, nil - } - - id, err := getUserID(r) - if err != nil { - return http.StatusInternalServerError, err - } - - u, err := getUser(r) - if err != nil { - return http.StatusBadRequest, err - } - - // The username and the filesystem cannot be empty. - if u.Username == "" || u.FileSystem == "" { - return http.StatusBadRequest, errors.New("Username, password or scope are empty") - } - - // Initialize rules if they're not initialized. - if u.Rules == nil { - u.Rules = []*Rule{} - } - - // Initialize commands if not initialized. - if u.Commands == nil { - u.Commands = []string{} - } - - var ouser *User - for _, user := range c.FM.Users { - if user.ID == id { - ouser = user - break - } - } - - if ouser == nil { - return http.StatusNotFound, nil - } - - u.ID = id - - if u.Password == "" { - u.Password = ouser.Password - } else { - pw, err := hashPassword(u.Password) - if err != nil { - return http.StatusInternalServerError, err - } - - u.Password = pw - } - - if u.Permissions == nil { - u.Permissions = c.FM.DefaultUser.Permissions - } - - // Updates the whole User struct because we always are supposed - // to send a new entire object. - err = c.FM.db.Save(u) - if err != nil { - return http.StatusInternalServerError, err - } - - // If the user changed the username, delete the old user - // from the in-memory user map. - if ouser.Username != u.Username { - delete(c.FM.Users, ouser.Username) - } - - c.FM.Users[u.Username] = u - return http.StatusOK, nil -} diff --git a/users/assets.go b/users/assets.go new file mode 100644 index 00000000..7b09580d --- /dev/null +++ b/users/assets.go @@ -0,0 +1,25 @@ +package users + +import ( + "embed" + "strings" +) + +//go:embed assets +var assets embed.FS +var commonPasswords map[string]struct{} + +func init() { + // Password list sourced from: + // https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/100k-most-used-passwords-NCSC.txt + data, err := assets.ReadFile("assets/common-passwords.txt") + if err != nil { + panic(err) + } + + passwords := strings.Split(strings.TrimSpace(string(data)), "\n") + commonPasswords = make(map[string]struct{}, len(passwords)) + for _, password := range passwords { + commonPasswords[strings.TrimSpace(password)] = struct{}{} + } +} diff --git a/users/assets/common-passwords.txt b/users/assets/common-passwords.txt new file mode 100644 index 00000000..9ac1387d --- /dev/null +++ b/users/assets/common-passwords.txt @@ -0,0 +1,100000 @@ +123456 +123456789 +qwerty +password +111111 +12345678 +abc123 +1234567 +password1 +12345 +1234567890 +123123 +000000 +iloveyou +1234 +1q2w3e4r5t +qwertyuiop +123 +monkey +dragon +123456a +654321 +123321 +666666 +1qaz2wsx +myspace1 +121212 +homelesspa +123qwe +a123456 +123abc +1q2w3e4r +qwe123 +7777777 +qwerty123 +target123 +tinkle +987654321 +qwerty1 +222222 +zxcvbnm +1g2w3e4r +gwerty +zag12wsx +gwerty123 +555555 +fuckyou +112233 +asdfghjkl +1q2w3e +123123123 +qazwsx +computer +princess +12345a +ashley +159753 +michael +football +sunshine +1234qwer +iloveyou1 +aaaaaa +fuckyou1 +789456123 +daniel +777777 +princess1 +123654 +11111 +asdfgh +999999 +11111111 +passer2009 +888888 +love +abcd1234 +shadow +football1 +love123 +superman +jordan23 +jessica +monkey1 +12qwaszx +a12345 +baseball +123456789a +killer +asdf +samsung +master +azerty +charlie +asd123 +soccer +FQRG7CS493 +88888888 +jordan +michael1 +jesus1 +linkedin +babygirl1 +789456 +blink182 +thomas +qwer1234 +333333 +liverpool +michelle +nicole +qwert +j38ifUbn +131313 +asdasd +0 +987654 +lovely +q1w2e3r4 +0123456789 +gfhjkm +andrew +hello1 +joshua +Status +justin +anthony +angel1 +iloveyou2 +1111111 +zxcvbn +hello +1111 +jennifer +hunter +naruto +bitch1 +welcome +159357 +101010 +tigger +147258369 +babygirl +jessica1 +parola +5201314 +robert +fuckyou2 +696969 +102030 +0987654321 +loveme +123456q +apple +pokemon +mother +money1 +secret +anthony1 +purple +q1w2e3r4t5y6 +baseball1 +qazwsxedc +1111111111 +abc +buster +matthew +andrea +soccer1 +basketball +hannah +freedom +golfer +chelsea +passw0rd +george +trustno1 +friends +william +iloveu +amanda +number1 +chocolate +qwerty12 +summer +flower +charlie1 +maggie +pakistan +samantha +asdf1234 +letmein +asshole1 +superman1 +marina +147258 +batman +fuk19600 +butterfly +010203 +qweqwe +29rsavoy +forever +1 +mustang +sunshine1 +ashley1 +internet +london +666 +harley +alexander +xbox360 +00000000 +12341234 +q1w2e3 +pepper +family +loveyou +50cent +joseph +whatever +! +jasmine +orange +user +junior +cookie +martin +qweasdzxc +212121 +1qazxsw2 +password12 +google +password2 +111222 +lol123 +hello123 +jordan1 +shadow1 +patrick +3rJs1la7qE +ginger +nicole1 +mylove +arsenal +12344321 +abcdef +love12 +232323 +VQsaBLPzLa +taylor +myspace +brandon +angel +12345q +brandon1 +chris1 +diamond +snoopy +asshole +qweasd +starwars +matrix +mickey +school +jonathan +melissa +eminem +1234561 +cjmasterinf +lovers +1234567891 +nikita +richard +1342 +yellow +12345qwert +oliver +q1w2e3r4t5 +cheese +a123456789 +christian +290966 +wall.e +12345678910 +12413 +sophie +tudelft +DIOSESFIEL +dpbk1234 +PE#5GZ29PTZMSE +bailey +U38fa39 +mercedes +victoria +147852 +asdasd5 +matthew1 +abcdefg +peanut +456789 +red123 +happy1 +sandra +benjamin +dragon1 +444444 +123654789 +$HEX +elizabeth +prince +amanda1 +angels +angela +qqqqqq +samuel +banana +barcelona +ghbdtn +computer1 +michelle1 +william1 +hockey +monster +carlos +justin1 +antonio +qwertyu +nathan +55555 +123789 +0000 +killer1 +11223344 +chicken +lucky1 +gabriel +welcome1 +zaq12wsx +jasmine1 +silver +hunter1 +bubbles +hottie1 +purple1 +andrew1 +daniel1 +liverpool1 +1qaz2wsx3edc +rainbow +morgan +natasha +fuckoff +jackson +austin +vanessa +mommy1 +madison +adidas +xxxxxx +252525 +america +james1 +metallica +slipknot +chicken1 +87654321 +jesus +NULL +0000000000 +alexis +!ab#cd$ +spiderman +steven +ferrari +lauren +456123 +robert1 +147852369 +qwaszx +buddy1 +butterfly1 +!~!1 +tinkerbell +bandit +danielle +0123456 +nicholas +hannah1 +qwerty12345 +1234554321 +asdfasdf +pokemon1 +nirvana +destiny +scooter +cookie1 +123qweasd +loveme1 +chelsea1 +chocolate1 +1234567a +juventus +rachel +111222tianya +qazxsw +zzzzzz +monica +stella +america1 +999999999 +jennifer1 +freedom1 +taylor1 +741852963 +yamaha +victor +00000 +qwertyui +a1b2c3 +ronaldo +1password +smokey +david1 +money +daddy1 +cocacola +a838hfiD +1234abcd +joshua1 +123asd +buster1 +myspace123 +booboo +madison1 +samantha1 +heather +7654321 +elizabeth1 +poop +tigger1 +family1 +mustang1 +142536 +november +jasper +lovely1 +diamond1 +success +edward +music1 +valentina +harley1 +sweety +tennis +zxc123 +friend +qaz123 +whatever1 +thomas1 +nothing +N0=Acc3ss +super123 +casper +Password +chester +Exigent +password123 +cheese1 +spongebob1 +mynoob +hahaha +hellokitty +098765 +alexandra +canada +david +1q2w3e4r5t6y +dennis +december +olivia +a1b2c3d4 +playboy +sabrina +patricia +summer1 +friends1 +mexico1 +dakota +barbie +loulou +johnny +music +123456m +Password1 +lover1 +maggie1 +pretty +123hfjdk147 +nicolas +qwert1 +charles +phoenix +rebecca +thunder +sexy123 +iloveu2 +123456789q +batman1 +beautiful +carolina +4815162342 +vincent +jeremy +spider +master1 +heather1 +weed420 +Sojdlg123aljg +pepper1 +sebastian +yankees +dallas +pussy1 +cameron +caroline +peanut1 +guitar +startfinding +midnight +i +iw14Fi9j +yankees1 +elephant +124578 +scorpion +sexy +tweety +bubbles1 +fuckoff1 +cowboys1 +fuckme +fucker +louise +dolphin +852456 +patrick1 +loser1 +mother1 +lalala +naruto1 +veronica +melissa1 +sparky +newyork +adrian +123456s +september +heaven +alexander1 +jessie +crystal +tigers +k.: +p +iloveyou! +chris +gemini +raiders1 +135790 +zxcvbnm1 +peaches +merlin +12121212 +spongebob +scooby +stephanie +shannon +james +246810 +1a2b3c +555666 +sergey +lovelove +202020 +159951 +precious +123456j +lakers +manchester +ginger1 +134679 +cristina +apples +a1234567 +qqww1122 +pussy +daniela +jackson1 +123456b +jackie +rocky1 +asdfghjkl1 +sakura +qazwsx123 +yellow1 +flower1 +apple1 +010101 +newyork1 +sammy1 +alex +muffin +cherry +poohbear +richard1 +nigger1 +test123 +destiny1 +flowers +slipknot1 +cooper +753951 +monster1 +paSSword +baby123 +mexico +blessed1 +toyota +spiderman1 +beauty +fuck +emmanuel +genius +winston +tiffany +charlotte +741852 +iloveu1 +diablo +onelove +tiger1 +badboy +maverick +joseph1 +winner +mickey1 +creative +beautiful1 +softball +hotmail +421uiopy258 +brittany +1314520 +aa123456 +asdf123 +lastfm +manuel +sayang +kristina +austin1 +stupid1 +hottie +booboo1 +murphy +stalker +carmen +doudou +qazqaz +scorpio +m123456 +pimpin1 +pass +badoo +garfield +0000000 +fuckme1 +scooter1 +151515 +aaaaa +brandy +kitty1 +myspace2 +steelers +compaq +claudia +123456d +rabbit +bailey1 +crazy1 +august +isabella +orange1 +october +q123456 +green1 +black1 +samson +aaaa +angelo +1a2b3c4d +9876543210 +boomer +junior1 +12345678a +shorty1 +tyler1 +456456 +kimberly +guitar1 +cowboys +shorty +passion +soleil +christ +1v7Upjw3nT +111 +albert +andrey +ranger +dexter +lucky7 +popcorn +babyboy1 +bitch +alyssa +brittany1 +123456abc +forever1 +fucker1 +barney +1122334455 +blessed +metallica1 +1029384756 +karina +krishna +cameron1 +california +christian1 +melanie +j123456 +password! +happy +963852741 +woaini +danielle1 +samsung1 +gangsta1 +icecream +letmein1 +qwerty123456 +eagles +love13 +qwert123 +uQA9Ebw445 +fucku2 +smokey1 +leonardo +asdfgh1 +police +christine +windows +bismillah +miguel +iloveyou12 +: +snickers +arsenal1 +7758521 +bubba1 +cowboy +denise +pretty1 +george1 +q12345 +winter +dancer +coffee +player1 +fernando +maxwell +swordfish +rangers +horses +francis +951753 +martina +fylhtq +chivas1 +secret1 +s123456 +marlboro +qwerty1234 +kitten +lauren1 +twilight +florida +141414 +pass123 +YAgjecc826 +jason1 +54321 +nathan1 +sydney +pumpkin +molly1 +dolphin1 +vfhbyf +natalie +hiphop +skater1 +fishing +bond007 +kobe24 +barbara +loveyou1 +tiffany1 +john316 +cassie +iloveme +hardcore +stupid +fatima +alexis1 +rockstar +abc1234 +123456z +playboy1 +321321 +123123a +greenday +baby +maria +angelina +starwars1 +google1 +b123456 +school1 +bonnie +123qwe123 +SZ9kQcCTwY +lucky +father +courtney +sexy12 +007007 +crystal1 +abc123456 +fluffy +kissme +marseille +trinity +sweet1 +candy1 +qwerty7 +password3 +alejandro +a +pookie +roberto +sarah1 +player +justinbieb +turtle +poohbear1 +simone +corvette +jackass1 +lolita +jonathan1 +steven1 +alicia +lollipop +jackass +123456c +786786 +biteme +honey +motorola +nicholas1 +friendster +angel123 +portugal +iloveme1 +simple +012345 +vfrcbv +brooklyn +morgan1 +darkness +rainbow1 +shelby +slayer +natalia +snowball +chicago +454545 +aaaaaa1 +1234512345 +people +lovers1 +sharon +golden +snoopy1 +shannon1 +raiders +123qweasdzxc +sweetie +789789 +teresa +blue123 +242424 +awesome +boston +victoria1 +pamela +wilson +ssssss +mike +kevin +test +klaster +123456k +kenneth +bonjour +tucker +catherine +hockey1 +pa55word +9379992 +password. +eminem1 +love11 +mnbvcxz +logitech +redsox +remember +popcorn1 +kevin1 +isabelle +P3Rat54797 +seven7 +steelers1 +qwe +marcus +bulldog +yfnfif +cricket +lakers24 +edward1 +tweety1 +qazwsx1 +123456t +single +lizottes +nastya +amber1 +sarah +blessing +marley +rockstar1 +fender +aaa111 +willow +camille +aaaaaaaa +florida1 +peaches1 +bella1 +carlos1 +connor +d123456 +love4ever +cutie1 +indian +goodluck +marie1 +loveme2 +marine +hammer +chance +stephen +121314 +123456l +z123456 +santiago +strawberry +abcdefg1 +bigdaddy +daisy1 +thunder1 +asdfghjk +marvin +mmmmmm +vanessa1 +happy123 +abcd123 +fuckyou! +iverson3 +hotdog +svetlana +arthur +1212 +never +tintin +234567 +iceman +orlando +satan666 +superstar +babygurl1 +090909 +johnson +fyfcnfcbz +freddy +rachel1 +magic +qwert12345 +chester1 +loverboy +miller +cookies +parker +azertyuiop +porsche +teacher +5555555555 +angelica +yourmom1 +bullshit +sunday +christopher +love1234 +travis +5555555 +evildick +666999 +monika +nissan +qwer +asdfg +midnight1 +williams +please +55555555 +spencer +aaaaa1 +gateway +tiger +dallas1 +111111a +charles1 +321654 +gracie +raymond +ladybug +sweetpea +rush2112 +greenday1 +sunflower +1123581321 +baby12 +jason +precious1 +lakers1 +brooklyn1 +stephanie1 +undertaker +m +12345t +sweetheart +ihateyou +zachary +emily1 +fktrcfylh +123698745 +tamara +asdfjkl +21212121 +456852 +lebron23 +andrei +paradise +doctor +kawasaki +PolniyPizdec0211 +a12345678 +money123 +171717 +sophia +winnie +bianca +bigboy +22222222 +qqq111 +jacob1 +andrea1 +john +julian +pantera +lucky13 +poopoo +lollol +3d8Cubaj2E +lorenzo +sasuke +babyboy +nascar +hahaha1 +vladimir +abc12345 +sierra +shopping +career121 +12345qwerty +genesis +christina +bandit1 +mylove1 +cool +nelson +abcd +january +sweet +qq123456 +scarface +159159 +montana +ricardo +dolphins +giovanni +frankie +soccer12 +johnny1 +facebook +changeme +zxcvbnm123 +jerome +sassy1 +password11 +123454321 +qw123321 +dakota1 +australia +southside1 +soccer10 +zoosk +maryjane +пїЅпїЅпїЅпїЅпїЅпїЅ +brenda +rebecca1 +baller1 +honey1 +jeffrey +xavier +eagles1 +ryan +getmoney1 +brianna1 +realmadrid +8675309 +k. +scooby1 +westside +minnie +bobby1 +vampire +linkinpark +asdasdasd +francesco +inuyasha +1478963 +asdfg1 +falcon +123456r +green +laura +1q1q1q +aaa +rosebud +katie1 +alex123 +111222333 +asdfghj +iG4abOX4 +sergio +nigger +sterling +sophie1 +claire +100200 +italia +ronaldo7 +timothy +jaguar +mariana +maksim +abigail +isabel +sairam +520520 +jackie1 +savannah +bigdaddy1 +courtney1 +disney +bigboy1 +nigga1 +blue +zaqwsx +love22 +c123456 +dancer1 +1qwerty +musica +single1 +123456aa +valentin +brooke +oliver1 +chicago1 +cherry1 +london1 +cjkysirj +alberto +jesus123 +565656 +blabla +maria1 +warcraft +patches +cat123 +mahalkita +banana1 +P +monkey123 +hollister1 +alyssa1 +lover +butter +walter +black +alessandro +778899 +W5tXn36alfW +tigers1 +password7 +danny1 +awesome1 +bestfriend +dominic +gabriel1 +michele +gateway1 +oscar1 +sex +cancer +helpme +volleyball +yuantuo2012 +marie +123456g +princess12 +love69 +justine +chouchou +bitch123 +champion +france +kitty +element1 +963852 +jasmin +fishing1 +4444 +darling +united +manutd +teddybear +regina +natalie1 +passwort +francesca +181818 +abcdef1 +maximus +rafael +buddy +victory +qwerasdf +animal +student +hawaii +apple123 +spirit +jamaica +carter +kayla1 +gabriela +mariposa +abcdefgh +love23 +super +yahoo1 +rental +eddie1 +dreams +sexy69 +cheyenne +babygirl12 +poop123 +1234321 +england +eduardo +valeria +zachary1 +1986 +bob123 +antonio1 +sniper +napoli +panther +willie +redsox1 +hallo +zaq123 +calvin +veronika +111111111 +lol +nintendo +copper +millie +georgia +ybccfy +dog123 +brianna +123zxc +happiness +diesel +monkey12 +mohamed +123321a +camaro +bigdog +7895123 +100000 +engineer +bitches1 +estrella +grandma1 +princesa +oksana +gloria +penguin +virginia +skater +scarface1 +suzuki +martin1 +blue22 +donald +123456e +PASSWORD +1234560 +newlife +chris123 +�+�����+�����+�����+�����+�����+���� +123qaz +leslie +jimmy1 +sweet16 +anderson +abcdefg123 +77777777 +blahblah +wwwwww +aleksandr +shelby1 +adriana +kisses +giuseppe +softball1 +skyline +audrey +fucku1 +trouble +badboy1 +rey619 +tristan +celtic +vkontakte +love101 +pimpin +simpsons +liberty +7777 +jeremy1 +godisgood +angels1 +262626 +cupcake +twilight1 +skate1 +potter +bradley +warrior +qw123 +miranda +pumpkin1 +barbie1 +sexsex +100 +147896325 +smile +hesoyam +debbie +ruslan +online +maddie +jessie1 +pink123 +speedy +taurus +loveyou2 +olivia1 +ladybug1 +wizard +allison +pierre +domino +benjamin1 +apples1 +silvia +kingkong +bobby +monday +polina +fuckyou123 +honda1 +mercury +nokia +rascal +pepsi1 +6969 +silver1 +angela1 +florence +adgjmptw +cookies1 +margarita +hallo123 +monique +258456 +fuck123 +9111961 +love14 +pass1234 +children +zzzzzzzz +tyler +123451 +cristian +star +justice +password5 +booger +knight +mamapapa +dreamer +siemens +esther +soccer11 +hollywood +qawsed +password01 +monkey2 +cassie1 +anna +inuyasha1 +amoremio +sister +gregory +191919 +serenity +natali +sabrina1 +N8ZGT5P0sHw= +prince1 +rangers1 +camila +123456qwerty +ncc1701 +1bitch +nirvana1 +ronald +business +texas1 +element +avatar +panasonic +gangster +serega +brandy1 +asasas +25802580 +missy1 +colorado +jenny1 +microsoft +cowboy1 +909090 +1989 +sammy +jupiter +stanley +madonna +123456p +serena +valerie +superstar1 +legolas +Groupd2013 +31415926 +dbrnjhbz +rocket +megan1 +airforce1 +apollo +3Odi15ngxB +internet1 +westside1 +qwer123 +brooke1 +kelsey +pebbles +system +catdog +christina1 +flowers1 +Passw0rd +sultan +icecream1 +bulldog1 +redneck1 +123457 +123987 +gizmo1 +johncena1 +danger +chichi +donkey +nfnmzyf +asdzxc +india +titanic +compaq1 +thebest +kirill +javier +hamster +myspace! +223344 +gangsta +packers +asdasd123 +pookie1 +hitman +kathleen +qwqwqw +cupcake1 +skittles +sports +coucou +frankie1 +P@ssw0rd +aaron1 +christmas +molly +casper1 +qti7Zxh18U +blondie +football12 +smiley +snickers1 +lasvegas +sam123 +445566 +september1 +2222 +jayjay +basket +elena +ireland +110110 +123456789m +k123456 +tommy1 +jesus7 +madrid +marshall +vegeta +people1 +minecraft +terminator +security +drowssap +sparky1 +123456789z +19871987 +poiuytrewq +j12345 +pauline +jackson5 +jetaime +p@ssw0rd +ronnie +skippy +kimberly1 +rammstein +alexandre +scotland +nikki1 +rocky +asdfjkl: +motdepasse +stefan +celine +harrypotter +aaaaaaa +babydoll +manman +violet +dddddd +192837465 +pizza1 +legend +321654987 +iloveyou. +bella +truelove +harvey +tanner +runescape1 +fantasy +peter +casanova +friday +robbie +katrina +philips +spencer1 +francisco +cool123 +viktor +exigent +fluffy1 +qwertz +chocolat +christophe +phoenix1 +poiuyt +z +bambam +jesus777 +99999999 +1qaz1qaz +323232 +pussy69 +killer123 +rhbcnbyf +alejandra +muffin1 +kelly1 +stonecold +aurora +chivas +loser +gordon +love21 +gandalf +lalala1 +jasper1 +a1s2d3f4 +spanky +love10 +mitchell +g9l2d1fzPY +jack +babygirl2 +19851985 +welcome123 +franklin +russia +carpediem +aaaaaaaaaa +linked +zaq1xsw2 +megaparol12345 +travis1 +admin123 +daisy +lorena +froggy +smiles +douglas +handsome +shithead +1blood +tatiana +santos +little1 +anastasia +unicorn +5555 +12369874 +savannah1 +tinker1 +sweetie1 +jenny +dIWtgm8492 +1234567q +super1 +margaret +viking +muhammad +maxwell1 +pppppp +sexyboy +phantom +fatboy +m12345 +tomtom +080808 +monica1 +ballin1 +eclipse +andres +elijah +maurice +piglet +baxter +123456654321 +pikachu +india123 +platinum +gangster1 +garcia +passport +jesuschrist +kelly +sandra1 +hotmail1 +mahalko +charmed +loving +272727 +corazon +katherine +michel +myspace12 +access +bunny1 +123321123 +wisdom +mozart +snowball1 +147147 +asdfghjkl: +patches1 +abcde +chloe1 +horses1 +D1lakiss +98765 +church +everton +12345m +nicola +peace1 +marcus1 +trouble1 +13579 +dylan1 +tinker +161616 +candy +69696969 +valentine +grace +sandy1 +hercules +123456f +beatrice +puppy1 +cooper1 +wolverine +12345s +mama +jamesbond +jamie1 +theman +anton +19841984 +toshiba +cthutq +maradona +emily +gibson +787878 +bingo1 +green123 +marcel +lolipop +maganda +penis1 +turtle1 +amsterdam +joanna +fashion +mercedes1 +yahoo.com +123000 +19861986 +britney +boston1 +goldfish +power +james123 +kitkat +network +lawrence +pass1 +112358 +beatles +winston1 +saibaba +princess2 +trevor +promise +norman +14789632 +hotdog1 +idontknow +hollywood1 +damian +star123 +123456y +diamonds +trinity1 +ihateyou1 +kkkkkk +cutiepie +soccer13 +bulldogs +felipe +yoyoyo +heaven1 +enigma +marion +angel12 +brian1 +jayden +germany +mario +onelove1 +369369 +soccer7 +casey1 +sasha +brother +matteo +max123 +melody +jimmy +success1 +simona +julien +hjvfirf +loveu2 +digital +english +reggie +shalom +power1 +einstein +forever21 +karate +135792468 +hello12 +bubble +nathalie +benfica +billy +spartak +hahahaha +harrison +timothy1 +mom123 +123456123 +danny +kingdom +poopoo1 +admin +gunner +ranger1 +1234asdf +anhyeuem +helena +sasha1 +buttercup +argentina +water1 +cocacola1 +polska +soccer123 +omsairam +saturn +hg0209 +manager +georgia1 +stephen1 +baller +282828 +forest +12345r +johncena +sweets +elaine +maryjane1 +dragonball +milano +stargate +colombia +brian +19891989 +captain +infinity +pandora +amelia +trfnthbyf +dianne +eagle1 +redskins +digital1 +sexybitch1 +general +pogiako +dinosaur +zidane +7894561230 +colt45 +spring +sureno13 +arnold +catdog1 +jesse1 +eugene +teddy1 +penelope +19921992 +runescape +paintball1 +little +blood1 +test1234 +summer08 +billy1 +nadine +myname +therock +rusty1 +fatboy1 +ciaociao +football2 +swimming +wesley +travel +Telechargement +zxczxc +orlando1 +nonmember +grandma +password4 +654123 +tennis1 +shithead1 +denise1 +thuglife +bbbbbb +vRbGQnS997 +nothing1 +nigga +asd +subaru +chacha +tequiero +moomoo +charly +penis +chopper +comeon11 +lacrosse +12345j +scoobydoo +butter1 +gracie1 +sadie1 +zxcv1234 +iverson +bowwow1 +123789456 +bullshit1 +020202 +faith1 +kitten1 +monique1 +pink +victor1 +wordpass +bullet +r123456 +duncan +a11111 +1qa2ws3ed +adrian1 +laura1 +thx1138 +russell +love15 +cutiepie1 +flatron +sebastian1 +gordon24 +sexygirl1 +123321q +ilovegod +asdf12 +pickle +mememe +mar +kristen +143143 +kittycat +420420 +bamboo +mylife +e123456 +walker +oscar +boobies +cleopatra +pascal +alaska +testing +dragons +?????? +19821982 +qwerty321 +pippo +porsche1 +perfect +password13 +hummer +justme +303030 +Megaparol12345 +sammie +smile1 +19801980 +david123 +teddybear1 +baseball12 +blue12 +joker1 +dustin +katerina +cynthia +11112222 +mario1 +harry1 +qazwsx12 +fabian +samuel1 +fuckyou69 +cecilia +roland +2 +golfcourse +070707 +daddy +magic1 +313131 +alfred +martinez +elephant1 +2004 +fktrctq +katie +ass123 +yahoo +ilovejesus +l123456 +123456123456 +houston1 +allison1 +smoke420 +godzilla +bernard +ganesh +peterpan +mybaby +brutus +pitbull +buddy123 +iloveme2 +skittles1 +spurs1 +logan1 +x4ivygA51F +9-11-1961 +ciccio +pineapple +panthers +napoleon +chopper1 +honda +drummer1 +louise1 +holiday +11235813 +federico +music123 +houston +startrek +vincent1 +qazxswedc +alabama +mohammed +qwe12345 +cambiami +iloveyou3 +christine1 +gggggg +friendship +911911 +pa55w0rd +pokemon123 +mountain +boomer1 +steve +galina +12301230 +vfvjxrf +college +biteme1 +raymond1 +bitches +looking +bhf +bradley1 +packers1 +berlin +lindsay +linkin +isabella1 +hassan +hacker +booger1 +987456 +my3kids +scotty +storm1 +19831983 +martha +5211314 +123456789s +bigdog1 +catch22 +mariah +marco +catalina +wildcats +solomon +caramel +michigan +oicu812 +44444 +butthead +myspace. +13131313 +vampires +philip +amber +cheer1 +753159 +sunny1 +peewee +bob +charmed1 +change +hiphop1 +yourmom +mybaby1 +theman1 +strength +panther1 +tommy +badass1 +jjjjjj +cdtnkfyf +charlotte1 +barcelona1 +hardcore1 +bubba +1loveyou +pussycat +spitfire +myself +Tnk0Mk16VX +babygurl +qweasd123 +chanel +fender1 +howard +andreas +megan +bluebird +a123123 +123456987 +carolina1 +asdqwe123 +sexygirl +sandy +popeye +matt +ybrbnf +pickles +2012comeer +medicine +autumn +something +evelyn +misty1 +cutie +naruto123 +peter1 +soccer2 +maxime +miriam +10101010 +grace1 +fordf150 +asd123456 +ilovehim1 +moonlight +caprice +lonely +123098 +t123456 +skipper +damien +llllll +angel2 +10203040 +YfDbUfNjH10305070 +spider1 +johnson1 +deejay +giulia +africa +joel +saints +bananas +bonita +password10 +tucker1 +rodrigo +runner +joanne +000 +567890 +archie +birthday +77777 +baseball2 +trixie +mark +789123 +dearbook +spike1 +19951995 +null +password0 +q1q1q1 +pimp123 +blackberry +lilwayne1 +king +maddog +sugar1 +linda +elvis1 +66666666 +the +ffffff +firebird +kermit +jake +phoebe +aaliyah +7758258 +123456n +alison +s12345 +22222 +s +123465 +salvador +barney1 +sexy101 +drpepper +melanie1 +miracle +aaa123 +c +mypassword +caitlin +wxcvbn +fred +harry +ironman +thebest1 +natasha1 +ferrari1 +fuku00198 +d +usa123 +lololo +102938 +pebbles1 +898989 +abigail1 +a111111 +thumper +familia +rfrfirf +spartan117 +chance1 +goober +2222222 +qwerty11 +brenda1 +monkeys +cassandra +aaron +2cute4u +darren +135246 +tiger123 +always +smokie +steve1 +freddie +nick +poopy1 +genesis1 +panget +guinness +chiara +athena +personal +alabama1 +jaimatadi +gators +israel +darkangel +ellie +evony192 +19881988 +smoke1 +knopka +hershey +budlight1 +peace +lovebug +alicia1 +pencil +mikey1 +a1a1a1 +predator +ka_dJKHJsy6 +alejandro1 +torres +hayden +newport1 +montana1 +111111q +marcos +lvbnhbq +QWERTY +bigdick +20102010 +chevy1 +fuckme69 +sporting +indonesia +fernanda +aezakmi +olivier +devil666 +147369 +pizza +aquarius +dragon123 +bonnie1 +kelsey1 +mexican1 +12qw23we +1234567890q +future +franco +vikings +rahasia +222333 +jayden1 +44444444 +diana +sunset +lovelife +love01 +theone +Sample123 +b +penguin1 +lizzie +bearshare +denver +my3sons +remember1 +drummer +lorraine +12345d +aaliyah1 +lindsey +davide +scott +nemesis +blondie1 +mike123 +hector +holly1 +tarzan +jeremiah +brasil +badass +pimp +magnum +temp +boogie +death1 +connie +capricorn +12131415 +wrestling1 +private +potato +special +пїЅпїЅпїЅпїЅпїЅпїЅпїЅ +good +manuela +cherokee +florian +asdfasdf1 +kenneth1 +blablabla +sexy13 +lincoln +friend1 +sheila +christ1 +yvonne +minnie1 +turkey +dipset1 +yamaha1 +veronica1 +punk +summer09 +a1s2d3 +love09 +passer2011 +sex123 +kennedy +2hot4u +marine1 +maddie1 +cricket1 +nikki +selena +goldie +cooldude +giants +broncos +123qwerty +juliana +myspace3 +buddha +skateboard +sk84life +chloe +buttons +westlife +norte14 +lizard +kissme1 +111qqq +defender +dumbass1 +favour +shaggy +vampire1 +456654 +darkness1 +tequila +daniel123 +azerty123 +1984 +bball1 +assassin +testtest +youbye123 +samurai +dragons1 +sk8ter +505050 +hello2 +14531453 +penny1 +11111a +federica +marian +killa1 +dance1 +explorer +simple1 +ibrahim +death +matilda +dickhead +qwer12 +pioneer +ducati +babylove +formula1 +crazy +angel13 +janice +789654 +micheal +password9 +jayjay1 +hailey +wangyut2 +363636 +1987 +l +dfvgbh +marissa +gilbert +cheyenne1 +canada1 +f +faith +12345z +monkeys1 +dominique +tokiohotel +xxx +j +delete +miller1 +deedee +alexandra1 +cantik +1985 +kenny1 +12345k +mama123 +connor1 +antoine +papillon +111555 +123455 +dolphins1 +haha123 +123456h +babyblue +pitbull1 +emerald +1313 +love16 +miranda1 +343434 +beauty1 +fondoom +sebastien +hhhhhh +simon +teacher1 +monalisa +ekaterina +19941994 +larisa +hearts +jeffrey1 +sapphire +disney1 +england1 +alex12 +wolves +jamie +warren +surfer +subzero +gustavo +arizona +bear +puppies +freeman +19931993 +april +julia +1234567899 +vision +k +telefon +1myspace +jacob +pink12 +sydney1 +dragon12 +killer12 +theresa +agent007 +123456789j +getmoney +33333333 +picasso +idontknow1 +linda1 +morris +spooky +julius +336699 +design +camilla +wrestling +jamaica1 +racing +lucky123 +9999 +salvatore +loverboy1 +shanna +19901990 +fuck69 +pinky1 +panthers1 +snowman +brownie +lollipop1 +murphy1 +kkkkkkkk +random +hughes +1princess +death666 +shirley +321456 +cjkywt +roberta +digger +miguel1 +stefano +zoey101 +19811981 +dude +benson +money2 +sierra1 +jayson +sputnik +9999999999 +watermelon +iloveyou7 +654321a +alpha1 +special1 +valera +bambam1 +8888 +bluefish +525252 +american +voodoo +malibu +123456w +rabbit1 +dodgers1 +slayer1 +amore +carmen1 +april1 +money12 +frank +blahblah1 +poopie1 +123123q +050505 +dustin1 +elijah1 +cuddles +fucking +winter1 +ily123 +liliana +fuckit +scott1 +frank1 +abcde1 +karolina +shelly +bonbon +90210 +6666 +tigger2 +justice1 +1234566 +adidas1 +shadow12 +harmony +fuckit1 +deborah +qazwsxedcrfv +1lover +babydoll1 +sam +king123 +paloma +golden1 +bethany +pimp12 +julie +celeste +sachin +906090 +123456qwe +marines +bulldogs1 +hotrod +forget +369258147 +bollocks +daniele +gerald +dalejr88 +abcde12345 +132435 +mustafa +password00 +6hBf28W791 +kisses1 +broncos1 +sweetpea1 +ficken +kitty123 +buttercup1 +987456321 +alessia +dominik +zk.: +lilmama1 +kissmyass +mommy +stellina +123456asd +d12345 +dragonfly +karen +bitch12 +matrix1 +980099 +loser123 +dominic1 +password8 +lindsey1 +stinky +sublime +ronaldinho +volcom1 +asdasd1 +shit +summer07 +jacobs +garrett +hotstuff +smiley1 +qweqweqwe +gundam +24680 +19911991 +beckham +maison +blood5 +candy123 +0.00000000 +thegame +nightmare +water +235689 +best +bunny +ghjcnj +doggy1 +password69 +thailand +password22 +simpson +sexymama1 +raven1 +february +lala123 +stella1 +lovebug1 +viktoria +oooooo +newlife1 +josh +doggie +soccer3 +201301 +redwings +aspirine +tobias +pirate +badger +energy +charlene +adam +emilie +5678 +пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ +dickhead1 +letter +123456789k +master123 +dennis1 +n +geronimo +gregor +redneck +riley1 +beaver +atlanta +atlanta1 +dadada +mariam +funny1 +garden +545454 +country +mommy123 +james23 +mookie +electra +buffalo +curtis +xavier1 +scorpio1 +yousuck1 +god +barbara1 +justdoit +massimo +marley1 +pakistan1 +olga +122333 +ytrewq +19781978 +tatyana +josephine +1980 +qawsedrf +ladygaga +f123456 +singer +carrie +soccer9 +lover123 +yankees2 +popopo +godislove +cuteako +valencia +insanity +sk8ordie +molly123 +twins2 +creative1 +fountain +harold +driver +redskins1 +suckit +rose +3333 +mollie +poop12 +queen1 +kristen1 +dexter1 +bella123 +bitch2 +�+�����+�����+�����+�����+�����+�����+���� +liberty1 +rolltide +madmax +german +dylan +jazzy1 +valentino +christmas1 +vanilla +connect +clowns +burrito +october1 +sunny +schalke04 +preston +prettygirl +tornado +panda1 +stacey +cloud9 +willie1 +sammy123 +pavilion +vacation +love08 +tottenham +5hsU75kpoT +callie +broken +love143 +hey123 +coffee1 +2222222222 +fish +hihihi +UsdopaA +fireball +yankee +privet +bobbob +shakira +soccer14 +noway +akopa123 +illinois +pantera1 +rockon +newcastle +samsam +daniels +kkkkkkk +shadow123 +drpepper1 +sexy11 +scarlett +season +gabby1 +cedric +teddy +melvin +avalon +a1b2c3d4e5 +321123 +usdopaa +lucas +12345679 +ashton +froggy1 +shamrock +tomcat +shawn1 +marius +simba1 +mariah1 +frances +eternity +12345b +vagina +volcom +wallace +goodboy +rosemary +marlon +lollypop +paris1 +bubble1 +rooster +topgun +sasasa +g123456 +psycho +patricia1 +332211 +warcraft1 +123456789d +gerard +qwerqwer +donkey1 +dick +young1 +dodgers +milena +canyon +magnet +kristin +blackie +sanane +1jesus +989898 +1945 +manuel1 +redrose +bacchus +Linkedin +19791979 +zombie +01020304 +flores +poopie +phillip +area51 +taco +fatass1 +12 +gabrielle +holland +magnolia +784512 +naruto12 +314159 +666777 +budlight +1951 +fresh1 +tanner1 +chandler +1982 +hello! +11111q +maxmax +jellybean +soccer5 +paramore +romeo1 +stratfor +istanbul +john123 +4200 +ragnarok +goddess +sunflower1 +andromeda +dollar +redbull +sweety1 +cinderella +michael2 +mamama +mason1 +bigred +laguna +9999999 +warrior1 +november1 +rocker +dinamo +258258 +passion1 +lala +delfin +1022 +sasuke1 +blacky +marines1 +030303 +1234567890a +sanchez +annie1 +fuckme2 +tattoo +cool12 +hamilton +batista +2000 +galaxy +000111 +dillon +police1 +education +whitney +rosario +henry1 +porsche911 +bogdan +antonella +gregory1 +michigan1 +alessandra +cookie123 +cxfcnmt +99999 +yoyoyo1 +sunrise +copper1 +casablanca +vikings1 +20092009 +wilson1 +1988 +starcraft +vivian +enterprise +famous1 +OcPOOok325 +lionking +marissa1 +samira +temppass +100100 +19751975 +lucifer +my2girls +a1a2a3 +rooney +patriots +zxasqw12 +qazwsxedc1 +ghbdtnbr +123456789l +sabina +fuckyou12 +isaiah +judith +respect +cme2012 +yahoo123 +reddog +chargers1 +yasmin +sparkle +passat +wayne1 +iluvu2 +aaron431 +brother1 +stanley1 +samara +simon1 +country1 +bettyboop +blazer +swordfish1 +1010 +nigeria +3333333 +info +theone1 +marketing +december1 +newport +dog +dorothy +karen1 +p123456 +amores +boobies1 +alice +hola +chris12 +leonard +spam +catherine1 +98765432 +sobaka +julian1 +kent +ricky1 +kittycat1 +patriots1 +manson +hershey1 +outlaw +sidney +1qa2ws +dance +johanna +monkey7 +family5 +998877 +holly +stratus +moomoo1 +sara +holden +monkey11 +anything +bluesky +blueeyes +kurt +samson1 +perfect1 +carter1 +1979 +willow1 +andreea +000001 +twinkle +123456789p +carlitos +coconut +haha +scoobydoo1 +lester +skyline1 +roxanne +madeline +rosie1 +fucky0u +south13 +douglas1 +butterfly2 +pisces +bentley +blackjack +122001 +mamamia +newton +bigdick1 +19961996 +redhead +hotties +mahal +boubou +corona +baby13 +peewee1 +micheal1 +baseball7 +desiree +wow12345 +gogogo +caroline1 +dupont +shane1 +hongkong +b12345 +pickles1 +ticket +marilyn +space1 +bobmarley +classic +wonderful +qwe123qwe +ethan1 +1q2w3e4 +widget +zvezda +laptop +kevin123 +thuglife1 +youngmoney +underground +indiana +w123456 +acmilan +hailey1 +smile123 +224466 +1983 +7777777777 +4321 +tripper +yomama1 +red +fireman +renata +billabong +777888 +annette +bernie +�+�����+�����+�����+�����+�����+�����+�����+���� +blossom +chase1 +williams1 +football10 +lakshmi +joe123 +makaveli +456321 +almond +ninja1 +sugar +panda +sigma +love24 +burton +google123 +clifford +pepito +daddysgirl +morena +stormy +1357924680 +cartman +kristine +nikola +washington +freckles +bishop +trigger +1q2w3e4r5 +hendrix +password23 +tristan1 +cracker +detroit +beatriz +lilwayne +oblivion +giovanna +spike +gizmo +germany1 +fortuna +paul +kayla +callum +maverick1 +parker1 +soccer4 +bscirc +alfredo +lisa +bettyboop1 +divine +sister1 +coupons +megaman +353535 +poison +broken1 +myspace.co +juggalo1 +star12 +blah +blue13 +blowme +060606 +markus +jeter2 +coming +starfish +Welcome1 +toronto +sandrine +amigos +ronnie1 +telephone +jordan12 +thankyou +renee1 +stardust +chubby +billybob +258369 +armando +skywalker +rebel1 +freddy1 +snowman1 +babies +lindsay1 +montreal +herman +jesse +777 +hotboy1 +jester +ncc1701d +football7 +alladin79 +mierda +k12345 +heyhey1 +random1 +1977 +peugeot +monkey3 +333666 +cassidy +mandy1 +therock1 +myspace7 +albert1 +arianna +casey +max +savage +just4fun +mate1 +20082008 +hernandez +spiderman3 +horse1 +marianne +apollo13 +paintball +katherine1 +789987 +azerty1 +fucklove1 +godbless +mobile +baseball3 +robinson +munchkin +hayley +000000a +eeyore +1asshole +ronaldo9 +punkrock +icehouse +skeeter +sharp +serenity1 +brownie1 +everton1 +chemistry +joejoe +292929 +gothic +paris +warcraft3 +ireland1 +sergei +missy +bubblegum1 +hotstuff1 +mykids +claudia1 +gators1 +1981 +hookem +jrcfyf +12345qwe +griffin +kaktus +dietcoke +asdfg123 +bitch69 +cashmoney +cashmoney1 +steaua +brazil +1236987 +jack123 +ilove1 +snuggles +snowflake +martini +entropy +bubblegum +1q2w3e4r5t6y7u8i9o0p +piazza +deftones +longhorns1 +123456789o +aobo2010 +redrum +kaylee +nicole12 +damilola +christy +aol123 +marlboro1 +loveme123 +callofduty +michaela +pegasus +bluemoon +tony +flipper +sheena +omg123 +spanky1 +marshall1 +Michael +eric +192837 +catfish +bruno +superman12 +please1 +jerry1 +juliette +521521 +garfield1 +ILOVEYOU +artist +something1 +birdie +mouse1 +carson +blueberry +warriors +tyson1 +1122 +PolniyPizdec110211 +12345abc +september2 +millie1 +speedy1 +cheater1 +sexxxy +wicked +claudio +cracker1 +mackenzie +19761976 +unknown +sanjay +michal +trevor1 +janine +lancer +great1 +brandi +5xfgs3Ii9D +stefania +sommer +arizona1 +paddle +love18 +superman2 +1978 +y6p67FtrqJ +timmy1 +hanuman +universal +monkey13 +hammer1 +jojo +lighthouse +password6 +rock +coco +marcelo +656565 +pop123 +rosebud1 +angelito +dalton +testpass +rocky123 +winner1 +kingston +bozo +esperanza +roscoe +cat +andre +singapore +scrappy1 +skyhawk +rjntyjr +rayray1 +doodle +rocknroll +magdalena +jordan123 +boxcar +rajesh +cougar +thumper1 +slayer666 +braves +yolanda +1234qwe +fake123 +enrique +n123456 +service +rrrrrr +cubs +allah1 +helpme1 +love07 +black123 +flamingo +tester1 +pinky +linkedin1 +rastaman +extreme +dkflbvbh +blizzard +baseball11 +1qwert +antonia +soulmate +112211 +sharon1 +qwertyqwerty +skate4life +1babygirl +incubus +office +point +marisa +gjkbyf +ramona +***** +alexia +butthead1 +kolobok +fellow +bastard +raquel +buffy1 +derrick +jeanne +nuttertools +blackcat +cynthia1 +iforgot +369258 +19731973 +momdad +yomama +mememe1 +my2kids +godfather +zxzxzx +elvis +mamita +1990 +sexy14 +banane +maximus1 +123456789123 +ironmaiden +1991 +geheim +lkjhgfdsa +mister +fatcat +semperfi +qwerty2 +coolio +mommy2 +angel7 +sassy +elodie +richie +mendoza +3 +pastor +tasha1 +lane +revolution +fisher +santana +whitney1 +as123456 +indigo +purple12 +ilovehim +account +angie1 +rascal1 +leslie1 +225588 +colombia1 +poppy1 +soccer15 +raptor +maria123 +wicked1 +jay123 +cccccc +hilary +fiesta +baseball10 +maxine +t +1a2s3d4f +felicia +toyota1 +ilove +111aaa +amour +motherlode +12qwas +1monkey +clover +debbie1 +shopping1 +nks230kjs82 +galatasaray +123456as +milan +just4me +dreamer1 +sexybitch +golf +kaitlyn +camero1 +priyanka +tyler123 +fashion1 +tootsie +powers +rfnthbyf +praise +target +ricardo1 +rayray +c12345 +babygirl13 +112233445566 +ashley12 +biscuit +princess10 +evolution +pwd1234 +romain +trooper +webhompass +blonde +23232323 +preston1 +lightning +bianca1 +rbhbkk +felix +SKIFFY +alejandra1 +ivanov +westham +sports1 +wildcats1 +princesse +lollol1 +olamide +585858 +alexandru +tttttt +champion1 +yugioh +research +12345c +88888 +cutie123 +pokemon12 +number2 +nichole1 +lilly1 +animal1 +ashley123 +animals +johnjohn +labrador +g-unit +nathaniel +paulina +dingdong +12345g +smallville +lavender +annie +boricua1 +jakarta +12345l +imissyou +19771977 +hitler +sonic1 +vagina1 +love12345 +susana +gladiator +january1 +rodney +russell1 +qqqqqqqq +sweetness +moose1 +handball +quentin +scruffy +jojo123 +1976 +playstation +mauricio +gemini1 +marijuana +justinbieber +lovelove1 +twister +anamaria +daniel12 +moloko +19971997 +zk. +classof09 +ibanez +techno +my2boys +redred +simpsons1 +ariana +chipper +sammie1 +ingrid +azsxdc +eastside1 +family4 +monkey22 +sherry +12345678q +windows1 +suckit1 +alessio +hobbit +bananas1 +dave +papamama +suzanne +987654321a +danilo +aragorn +warhammer +casino +hottie101 +kaitlyn1 +naughty +nick123 +derrick1 +trinidad +123love +joker +25252525 +baseball5 +daddy123 +unreal +henry +xxxxxx1 +oceane +laurent +carebear +anthony2 +dusty1 +12345671 +pinkfloyd +raphael +nicole123 +jason123 +reggie1 +pizza123 +zxcasdqwe +bigred1 +esmeralda +street +stewart +1975 +monday1 +pickle1 +immortal +000000000 +iceman1 +andy +truelove1 +allen1 +panzer +gabriella +hehehe +atlantis +beatles1 +gibson1 +larry1 +spartan +katana +123456v +shane +girls +power123 +zeppelin +vincenzo +julia1 +vaffanculo +metal666 +surfing +happy2 +369852 +mission +qwe123456 +hornet +jerry +football11 +darwin +virgin +asddsa +cadillac +corvette1 +mary +diana1 +garrett1 +123456789987654321 +loveless +scrappy +applepie +aurelie +radiohead +heyhey +zxcvbn1 +snowboard +123456qw +counter +brown1 +frederic +private1 +babycakes1 +insane +rodriguez +stinky1 +believe +19741974 +larissa +1234abc +godisgreat +inlove +youtube +1Fr2rfq7xL +julie1 +puppies1 +sexy01 +hayden1 +diablo2 +111213 +scarlet +logan +aaaa1111 +soccer22 +6666666 +MaprCheM56458 +baller23 +424242 +wedding +cheryl +kittykat +michael123 +sophia1 +randy1 +teresa1 +nintendo1 +valerie1 +wonder +sublime1 +arturo +coolman +weed +bowling +gabriele +eleven11 +harris +monitor +watson +asshole2 +esteban +qqqqqq1 +robbie1 +lolo +logitech1 +flying +hallo1 +pepsi +sherlock +iloveyou13 +pineapple1 +1992 +fuck12 +skate +iloveyou22 +smith +roman +qweasdzxc123 +vfhecz +clement +pamela1 +marianna +fireman1 +autumn1 +jajaja +baby11 +money6 +man +hannah123 +caitlin1 +granny +zxcvbnm,./ +kenshin +qwertyuio +cindy +rough +w1985a +peter123 +australia1 +gorgeous +what +pasaway +dthjybrf +clayton +angelica1 +mathew +justin123 +fuckyou3 +787898 +nascar1 +pancho +anderson1 +denis +r +sandman +888999 +Unknown +sampson +emma +poopy +blake1 +chrissy +verbatim +phantom1 +wildcat +tdutybq +nugget +w1980a +trisha +jakjak +breanna1 +myspace11 +frosty +asterix +2468 +cindy1 +alibaba +monkey5 +skorpion +maureen +motherfucker +jumpman23 +apache +chico1 +kickass +graham +wwe123 +vfrcbvrf +sprite +babyko +riccardo +asdf3423 +123456789123456789 +paige1 +homer1 +andre1 +gagged +rockon1 +drowssap1 +coyote +ernesto +colleen +jose123 +sunshine2 +808080 +pornstar +qwerty6 +purple123 +lasvegas1 +habibi +nana +fuckyou. +brendan +empire +marlene +enter +5532361cnjqrf +123456789b +fernando1 +sarah123 +w1979a +sooners1 +love17 +rusty +voyager +madman +iloveyou14 +258963 +romance +heart +smudge +college1 +cotton +1974 +password21 +horse +wolfgang +armani +detroit1 +irish1 +nevermind +secret666 +football9 +23456789 +collins +a801016 +miamor +ghetto1 +angelina1 +vfksirf +dixie1 +inferno +juliet +highheel +chrisbrown +z1x2c3 +w1990a +123567 +theking +bethany1 +a23456 +kelvin +bowwow +fire +abhishek +1a1a1a +norton +ultimate +jersey +retard1 +bryan1 +tester +fighter +backspace +osiris +987987 +zaqxsw +disturbed1 +francis1 +kaiser +f00tball +control +1a2b3c4d5e +carebear1 +gbpltw +spiderman2 +free +robin +mitchell1 +polaris +katrina1 +iloveyou4 +ericsson +gonzalez +bigman +134679852 +sexyboy1 +airforce +awful +campbell +chevrolet +babyface +jojojo +aleksandra +haley1 +1598753 +w1989a +jungle +cookie12 +soccer17 +car +deepak +hawaii50 +xyz123 +romashka +jillian +mermaid +cassidy1 +qwertyuiop[] +ninja +donald1 +whore1 +irina +jellybean1 +ghost1 +boobs +carole +24682468 +devils +200000 +francois +football3 +hakr +123456ab +halloween +axio +morrison +blaze1 +cactus +global +motocross +111000 +abraham +chevelle +sarita +fucklove +h123456 +skolko +iloveyou11 +princess13 +1020304050 +unicorn1 +vladik +hunting1 +kenny +blue1234 +buttons1 +lucas1 +415263 +162534 +princess11 +soccer8 +pyon +soldier +sandiego +halo123 +southpark +sentnece +1973 +erika +america10 +schatz +london12 +anjali +aditya +emilia +laurence +daisy123 +1million +moreno +ash123 +kissmyass1 +phone +austin316 +prayer +elvira +q123456789 +nature +bryan +universe +aztnm +hola123 +1969 +master12 +diego +doggie1 +h +pk3x7w9W +romeo +starlight +toulouse +richmond +86 +desire +cinnamon +holiday1 +allstar +mexico13 +punkin +puppy +hunting +isaiah1 +airborne +w1982a +charlie2 +w1984a +viper1 +steph1 +raven +patience +university +147741 +nokia1 +1993 +keyboard +mastermind +jonas1 +kucing +kramer +delpiero +lestat +unique +farmer +phillip1 +action +adriana1 +qwe321 +noodles +britney1 +abcdefghij +carina +xxxxx +crazy123 +boogie1 +window +2cool4u +renault +hawaii1 +passwort1 +hamster1 +rocker1 +merlin1 +jesusislord +33333 +sayangku +castle +football5 +d71lWz9zjS +virginia1 +rocket1 +ganteng +emanuel +thegame1 +flower123 +angel01 +lennon +house1 +purple2 +baxter1 +timber +cuddles1 +xxxxxxxx +letmein2 +ktyjxrf +yankee1 +joey +25251325 +w1986a +justin12 +14344 +sabine +my +jesus12 +cheese123 +whynot +1angel +jefferson +nnnnnn +iloveyou5 +meghan +aliali +stars +sexylady +12345678900 +eleonora +iloveyou123 +fucku +jeremiah1 +nichole +r2d2c3po +qazwsxedc123 +mamamama +malcolm +kiki +franklin1 +w1988a +xxxx +raider +sucker +kathryn +malina +backend +lover12 +angel11 +sexy15 +bobcat +UvGX8f8232 +1994 +a1a2a3a4 +emilio +7 +iamthebest +jessica123 +1314521 +makayla1 +slimshady +ghetto +nellie +reaper +stephane +tomato +bruno1 +faggot1 +794613 +amorcito +aspire +cheche +treasure +family6 +cannabis +house +babygirl10 +calvin1 +sirius +wordpass1 +titans +я +rockyou +assass +sandeep +maestro +metal1 +salman +walter1 +123ewq +vodafone +pirates +alisha +mushroom +love33 +jesucristo +rebelde +�� +stuart +deedee1 +w1983a +пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ +deniska +babyblue1 +mouse +taekwondo +amelie +kotenok +cheval +messi10 +naughty1 +billabong1 +peanuts +9 +hottie12 +kennedy1 +webster +lonely1 +giants1 +hannah12 +philippe +345678 +malika +goldfish1 +chantal +natalya +president +firefly +baseball13 +charity +1000000 +amazing +168168 +netlog +w1975a +southside +james007 +A123456 +scruffy1 +deathnote +skate123 +princess3 +catcat +maurice1 +chrissy1 +nokia6300 +princess7 +lucy +hottie123 +faithful +556677 +kingkong1 +theking1 +suckme +nicolas1 +helene +lawyer +agnieszka +history +12345678901 +lillian +w1987a +qqqqq1 +mississippi +1995 +love123456 +united1 +vietnam +marvin1 +dudley +kristin1 +opensesame +mexican +1andonly +rebelde1 +jake123 +19721972 +guadalupe +blackie1 +captain1 +1230 +rambler +father1 +pearljam +soledad +angel3 +mimi +newcastle1 +hermione +qweewq +babyboo1 +rochelle +hudson +simba +melinda +national +falcons1 +franky +spunky +summer06 +dating +pimp101 +taytay1 +landon +sailor +kamikaze +543210 +pingpong +corey1 +chevy +dracula +pussy123 +hunter12 +indiana1 +soccer21 +calimero +myspace13 +granny1 +brittney +saints1 +southpark1 +boomboom +rfhbyf +jessica2 +nelson1 +seattle +gandako +misty +oxford +adriano +1a2s3d +1234568 +dan +games +viewsonic +mike12 +download +marcela +big +ABC123 +skippy1 +w1981a +angeles +qqq123 +yamahar1 +herbert +colorado1 +w1978a +diablo1 +forgot +jocelyn +1234569 +diesel1 +121212a +jackass2 +fenerbahce +pentium +svetik +castillo +1qaz +sylvia +159632 +littleman1 +renato +g +renegade +noodle +whiskey +international +juggalo +ironman1 +felix1 +amadeus +american1 +freaky1 +microlab +sally1 +676767 +bonjovi +erica1 +ivan +trumpet1 +dumbass +devin1 +teamo1 +victory1 +3rJs1la2qE +redman +sexy23 +mnbvcxz1 +shadow2 +daniela1 +summer12 +killbill +annabelle +penny +palermo +charlie123 +ihateyou2 +beverly +megane +hellfire +nursing +claude +yousuck +eclipse1 +ryan123 +hearts1 +jordan2 +friday13 +shelly1 +sharks +information +lover2 +12345678s +skipper1 +ashleigh +8 +love4u +teamo +horny +vfvekz +interests +qwertyu1 +justme1 +6543210 +betty1 +cosmos +bridget +beyonce +gunner1 +home +luckydog +man123 +freaky +w1976a +rosita +marie123 +ab123456 +tyrone +mohammad +onepiece +r12345 +friends2 +billie +bronco +princess01 +password1234 +789654123 +1972 +kasper +153624 +panama +manolo +natalia1 +moose +romania +foster +123456789c +babylon5 +kyle +sexylady1 +redhead1 +2323 +guest +caesar +wombat +d9Zufqd92N +nicole2 +alpha +dallas214 +ilovemymom +jobsearch +discovery +abdullah +route66 +blowjob +nissan1 +jenna1 +darius +myspace5 +savage1 +chiquita +bitch! +135791 +qweqwe123 +blue11 +qwertyuio1 +qwert12 +ali123 +chipie +666888 +vitalik +batista1 +15426378 +kiss +vanille +wesley1 +tarheels +wolfpack +andrew12 +shadow13 +dolores +19981998 +dirtbike1 +august1 +goodman +felicidade +rhfcjnrf +classof08 +123456789r +football21 +anita +123456789t +t12345 +deadman +asdqwe +1zn6FpN01x +3girls +123456qq +arschloch +guillaume +leticia +hobbes +2005 +elisabeth +woody1 +belinda +payton +seven +golfer1 +shiloh +w1977a +jeff +doraemon +aleksey +western +squirrel +blood +sparta +mirage +werewolf +lampard +skeeter1 +madonna1 +mittens +soccer23 +momdad1 +lucas123 +123mudar +ricky +inside +dude123 +mikey +sampson1 +devil +lincoln1 +pass1word +dominique1 +emo123 +white1 +1family +sadie +eddie +junjun +terry1 +killer2 +thanks +batman123 +lacoste +pimp69 +babygirl3 +asd456 +pompier +memory +rommel +nascar24 +alenka +allstar1 +hot123 +alex1234 +andrew123 +cassandra1 +honeybee +lilman1 +inlove1 +enter1 +murray +darkside +winnie1 +kittens +ciao +million +trucker1 +texas +rooster1 +AKAX89Wn +qwert6 +kinder +kaylee1 +oscar123 +gerrard8 +ashton1 +brandi1 +hotgirl1 +javier1 +luciano +2121 +karina1 +marathon +hello1234 +matias +hottie2 +libertad +shutup +louloute +zxcvbnm: +asdfgh123 +freak1 +Password123 +3rJs5la8qE +g13916055158 +sweetness1 +manutd1 +zxcvb +vladislav +bleach +strong +cellphone1 +ssyu1314 +lovehurts1 +hi +blue42 +science +miami305 +coco123 +lovingyou +babycakes +princess! +rachael +lilian +etoile +leanne +dfkthbz +3children +monkey69 +soccer16 +audia4 +damian1 +karachi +elliott +memphis +120120 +football22 +falcon1 +v123456 +sherman +swimming1 +again1 +123QWE123 +alberto1 +krystal +chicken2 +258852 +eunice +chandra +chichi1 +mathilde +heart1 +sandro +jacqueline +tonton +vfvfgfgf +nutella +jehovah +2girls +josh123 +james12 +violeta +a000000 +fallen +goober1 +q1q2q3 +domenico +leelee +azsxdcfv +ji394su3 +kristina1 +fernandez +p4ssw0rd +michael12 +jobs +farfalla +odessa +chris2 +kamila +soccer6 +chocolate2 +132456 +michele1 +alfonso +maxima +manman1 +gloria1 +island +johndeere +my3girls +fussball +qarglr123 +963258 +4 +joyjoy +money5 +12qw34er +ronaldo1 +gerrard +green12 +boo123 +scotland1 +001122 +angie +loveme12 +newjob +sexy21 +lacrosse1 +turkey1 +peace123 +bigfoot +sunshine12 +catfish1 +foxpass +пїЅпїЅпїЅпїЅпїЅ +1230123 +5 +iloveu123 +474747 +jean +roberto1 +123qwer +6V21wbgad +2sexy4u +layouts1 +fuckyou7 +airplane +volume +thompson +verizon1 +nightmare1 +dalejr8 +pothead1 +attila +china1 +robin1 +danny123 +TempPassWord +sasha123 +cute +krystal1 +corona1 +porkchop +change1 +king12 +timmy +eileen +ganda +sayang1 +mathieu +angel5 +misiek +kokoko +melina +nopassword +regina1 +mama12 +milton +dawson +qwertyuiop1 +dancing +shooter +singer1 +Qwerty +badgirl +mymother +designer +macmac +camaro1 +anubis +000007 +nikolas +nancy +papa +alexandr +cheater +elizabeth2 +hamlet +janjan +12345abcde +toshiba1 +potter1 +hooters +maiden +drjynfrnt +alex13 +adgjmp +motorola1 +peyton +01234567 +jonjon +monkey! +makayla +tacobell1 +ilovemyself +patata +marjorie +amandine +bullet1 +fktrcfylhf +harvey1 +elliot +sk8board +carlos123 +fallen1 +ashlee +behappy +emily123 +bobby123 +newpass +hunter123 +desiree1 +malaysia +tigger12 +erica +Omni +ass +12345e +fuckthis1 +nancy1 +flames +goodgirl +�+�����+�����+�����+�����+�����+�����+�����+�����+���� +manunited +qqqq +123450 +eduardo1 +salome +12345p +chosen1 +1234567890- +112112 +kakashi +blonde1 +curtis1 +waheguru +q +123456x +xiang123456 +myspace01 +theresa1 +platinum1 +eagle +priscilla +poppop +pedro +kendall +love45 +chargers +babylove1 +loving1 +baby01 +rolltide1 +PolniyPizdec1102 +attitude +newman +flamengo +diamonds1 +project1 +nascar88 +nina +ramirez +losangeles +chronic +gladys +5150 +poisson +marina1 +jasmin1 +kendra +socrates +dwade3 +salvation +wachtwoord +cristiano +doggy +iubire +inter +spongebob2 +killme +464646 +hellohello +ilikepie +figaro +thomas123 +paula +admin1 +player69 +kayleigh +moimoi +brittney1 +qqqqqqq +rose123 +danila +syncmaster +viper +mnbvcx +leo123 +fuckfuck +lourdes +champ1 +mario123 +sweet123 +loveya +presario +freddie1 +breanna +facebook1 +amerika +john12 +steph +express +cartman1 +1qaz!QAZ +dodge1 +password14 +qwedsa +linkedin123 +kingdom1 +loser12 +heckfy +pangit +amber123 +happy12 +polska1 +skyler +school123 +fatty1 +yasmine +honey123 +alina +nounours +brucelee +357159 +Qwerty123 +cookie2 +larry +digimon +insane1 +tazmania +jacob123 +hell666 +fu7u4a#$$$ +professional +wanker +321321321 +fitness +963963 +8888888888 +wow123 +mookie1 +69camaro +opeyemi +Eh1K9oh335 +cheetah +eeeeee +surfing1 +freestyle +nokia123 +m123456789 +pontiac +oracle +member +pacman +tuning +converse +jerome1 +qdujvyG5sxa +caleb1 +xxx123 +sally +poland +nguyen +11221122 +shotgun +hernandez1 +booty1 +girls1 +doberman +poppy +fuckoff! +keith1 +geraldine +placebo +http +dodger +beavis +futbol +sexy10 +lupita +search +castro +lovelife1 +eastside +�+�����+�����+�����+�����+���� +caramelo +kristi +z1x2c3v4 +24681012 +central +lilly +abcdef123 +whocares +l12345 +johannes +636363 +lexmark +microsoft1 +emerson +marika +sissy1 +757575 +tony123 +dante1 +playa1 +vvvvvv +walker1 +040404 +ziggy1 +bitch101 +voiture +candice +201314 +virginie +martine +chicco +hector1 +honesty +snake1 +cardinal +mylife1 +2112 +homer +bangladesh +pasword +church1 +sailing +milagros +122002 +babygirl11 +sexymama +anaconda +sniper1 +mexico123 +planet +topolino +110092 +12345f +rock123 +hariom +dragon2 +samsung123 +musique +lollypop1 +lionel +coupon +mamma +shasta +ashley2 +sexy16 +Aa123456 +maryam +lobster +laurie +dragon13 +musicman +bintang +sesame +bomber +a654321 +jessica12 +baseball9 +abracadabra +555777 +general1 +scotty1 +xander +1357911 +20002000 +Daniel +gotohell +benny1 +bill +porter +boots1 +nofear +gianni +stars1 +delphine +18atcskD2W +1996 +racecar +tacobell +love19 +yfdbufnjh63 +angel10 +summer123 +333 +1q2w3e4r5t6y7u +bigboss +omg199 +gonzales +oklahoma +student1 +taylor12 +anthony123 +smooth +bigtits +whiskers +testing123 +1970 +vfczyz +nounou +safety +walmart1 +ilovesex +123aaa +darkstar +sylvester +myfamily +alfaromeo +betty +wolf +excalibur +969696 +juanita +badgirl1 +myspace4 +0102030405 +laetitia +zxcasd +blue32 +velvet +trunks +19071907 +tabitha +555 +queen +harrison1 +trumpet +buster123 +morgane +celtic1 +tammy1 +coolio1 +password99 +bright +buckeyes +car123 +littleman +7uGd5HIp2J +whatthezor +marta +donna1 +kitkat1 +summertime +star69 +abcabc +library +debora +ganesha +741258 +dream +messenger +snowflake1 +simone1 +katelyn +amanda123 +solnce +quincy +love4life +jesus2 +yoyo +wrangler +katie123 +carolyn +martinez1 +wanted +paradise1 +111112 +lovers2 +cintaku +c43qpul5RZ +rctybz +love25 +leopard +qwe1122334 +selena1 +sexy22 +suresh +111333 +buffalo1 +kim123 +openup +armagedon +radio +london123 +lovehurts +party1 +manish +wendy1 +zxcvb1 +kirsten +baby14 +mersedes +megadeth +okokok +gerard1 +familyguy1 +lizzie1 +monamour +allen +trombone +prodigy +frogger +water123 +vanilla1 +cartoon +carrot +101112 +123456781 +gsxr1000 +1971 +beyonce1 +surfer1 +CM6E7Aumn9 +martha1 +roadrunner +satellite +landon1 +123456A +piglet1 +hellboy +smile4me +gunners +angel101 +lee123 +stoner420 +happiness1 +harmony1 +brandon2 +abcd12 +eleanor +baseball8 +pupsik +love88 +komputer +joseluis +layout1 +1truelove +electric +rambo1 +carla +sundance +shaman +bigman1 +aussie +godisgood1 +marino +love20 +demon1 +freebird +beast1 +fuckoff2 +jazmin +pakistan123 +moocow +smackdown +monaco +ihateu +matt123 +shaggy1 +nickjonas1 +cutie12 +19691969 +12345654321 +blah123 +briana +marisol +firefox +business1 +ismail +dangerous +kisskiss +ben +mandy +snakes +marcin +register +p0o9i8u7 +nokian73 +rachelle +bhbirf +8ix6S1fceH +shadow11 +groovy +margot +isabel1 +wolverine1 +easy123 +anakin +tangkai +squirt +thankgod +insert +thomas12 +teiubesc +friday1 +jennie +fredfred +trabajo +conner +4runner +garcia1 +miley1 +james2 +ballet +��������� +brigitte +baker3 +ethan +oakland1 +maroon5 +rootbeer +asshole123 +ashish +jeanette +2525 +tottenham1 +lakers8 +dfktynbyf +carmela +ford +packers4 +iw14Fi9jxL +weezer +20012001 +jose +mackenzie1 +summer11 +ramses +glitter +angelika +goblue +heslo +theboss +mystery +career +voyager1 +sonia +bobbie +love77 +sahara +kathleen1 +deanna +stevie +sascha +hotrod1 +ilovegod1 +hummer1 +sofia +lowrider +mammamia +melisa +welcome2 +moscow +66666 +raider1 +lola +iloveher1 +momof3 +I +Parola12 +pikachu1 +imagine +gianluca +369852147 +2002 +snake +akatsuki +ronald1 +stranger +a123456a +mattie +whatsup +white +bryant +ramesh +dogdog +giggles +aaa123123 +chucky +dima +omega1 +852963 +billybob1 +qazzaq +filippo +computer12 +sparkle1 +anastasiya +chandler1 +rebound1 +babybaby +qwerasdfzxcv +zxcv123 +senha123 +sunday1 +alex11 +wassup +qwertyuiop123 +bentley1 +robert123 +yellow12 +kicker +falcons +lorenzo1 +tina +alvaro +asd12345 +married +blasted1 +darren1 +daredevil +bingo +spanish +ernest +kIkeunyw +vectra +madness +1234qw +happyday +beagle +rainbow6 +claire1 +jericho +butterfly7 +supernova +maman +ilovemom +morpheus +dandan +LinkedIn +miami1 +rfrnec +emmanuel1 +kangaroo +football23 +ntktajy +neptune +accord +carol +sexsexsex +tigger123 +sailormoon +metal +cooldude1 +philly1 +patrik +bangalore +hotboy +strike +brooks +nobody +famous +alice1 +878787 +guardian +soldier1 +mine +cecile +becky1 +freak +smart1 +M +desmond +simran +me1234 +gameboy +clarence +sonic +q1234567 +running +alexandria +amanda12 +2580 +buster12 +369963 +derek1 +joshua12 +blueberry1 +standard +arlene +marijuana1 +omarion1 +zzzzzzz +evangelion +fantasy1 +amazing1 +iloveyou8 +crazy8 +poop11 +hamburg +kathy1 +scania +dragonballz +trigger1 +capslock +yvette +ultima +adam12 +hitman1 +ViPHV5J736 +me +kakashka +giorgio +escape +456 +sean +chargers21 +cats +lalalala +dublin +qweasdzxc1 +Thomas +purple7 +ghost +hannibal +gameover +fuck11 +clayton1 +pas +suckmydick +999666 +penguins +trixie1 +moneymaker +shelley +sharma +oleg +last.fm +stacey1 +jenny123 +Million2 +camera +oranges +qwerty13 +ramones +courage +mateusz +junebug +9876543 +cristal +****** +pink11 +mongoose +pyramid +carrie1 +johndeere1 +myangel +1999 +000webhost +smith1 +shirley1 +mumbai +cooler +cfitymrf +wasser +mylove123 +172839 +estrella1 +wolves1 +clinton +8888888 +redhot +loveu1 +welcome12 +caterina +randy +philly +enrico +asdfg12345 +654654 +ace123 +juicy1 +mother123 +3333333333 +bubba123 +q2w3e4r5 +dannyboy +sergio1 +19701970 +salope +pa +zipper +1966 +michelle12 +anarchy +koshka +roger1 +1231234 +benny +nelly1 +westham1 +biggie +lesbian +pooper +charger +angel14 +security1 +movies +sameer +13243546 +kentucky +delta1 +queenie +matematica +sexy1234 +.adgjm +125125 +juanito +danger1 +coldplay +lokomotiv +michael7 +schalke +collin +alonso +namaste +ilovemom1 +iforgot1 +mommy3 +babyphat1 +159263 +monopoly +mazda626 +741963 +cherry123 +flash1 +funny +z12345 +stingray +200 +katarina +bonita1 +fuckyou13 +�+�����+�� +1968 +univers2l +patriot +014789 +trinity3 +nintendo64 +tom +goblin +Patrick +jeffhardy1 +1qazwsx +bernardo +valentine1 +qweasd1 +santosh +batman12 +medina +1z2x3c +retard +snowboard1 +blackdog +backspace1 +dorian +algerie +hendrix1 +bushido +asdfgh12 +bitchy1 +v +joe +leavemealone +marino13 +lonewolf +flyers +aubrey +swimmer +sakura1 +moneyman1 +mickeymouse +cristo +sooners +jesusis1 +myspace08 +momma1 +2fast4u +donnie +jimbob +baby1234 +01230123 +cucciolo +umbrella +louis +6666666666 +denver1 +diego1 +123456o +20202020 +tracey +goodbye +686868 +abc123abc +god123 +12qw12qw +killer7 +katelyn1 +110 +rodney1 +megaman1 +anthony12 +knight1 +575757 +fletcher +bitch13 +hellothere +soccer18 +yellow123 +lol12345 +love06 +angelo1 +kickass1 +trance +iloveu! +king23 +hello5 +margaret1 +christy1 +guigui +nonono +fuckyou666 +hello11 +122112 +summer69 +vfhufhbnf +741741 +joker123 +goldberg +kristian +angel22 +bball23 +love99 +ana123 +donovan +morales +magic123 +858585 +zxcvbnm, +22446688 +paladin +brutus1 +brown +vitoria +kendra1 +belle +515151 +buffy +2001 +rupert +barsik +wutang +jordan11 +software +madina +woodstock +dalton1 +my3boys +bigmac +dondon +mattia +punisher +rosie +sisters +000123 +11 +hayley1 +cheese12 +playboy69 +none +waters +987321 +trucker +football13 +poodle +dan123 +jimmy123 +gilbert1 +godzilla1 +baby08 +bubbles2 +angelique +antony +baseball4 +callie1 +147963 +machine +lilmama +adam123 +shawn +manisha +girl +mountain1 +1997 +tractor +fortune +houston713 +windows7 +primavera +madden +piggy1 +snuggles1 +reebok +kieran +eugene1 +sonny1 +godfather1 +babatunde +gorilla +lahore +together +buddy2 +gratis +goldie1 +myname1 +bastard1 +briana1 +holahola +jeffhardy +integra +mechanical +qwert1234 +postal +basket1 +hot +server +benito +redalert +bugsbunny +gretchen +dragonfly1 +...... +button +jesuschris +december12 +princess5 +polopolo +maldita +june12 +12345w +money$ +ferret +1a2a3a +wildcat1 +hanna +honeyko +daphne +money23 +bayern +wendy +hollister +smitty +romano +dookie +duke +hussain +tiger2 +michelle2 +busted +kendall1 +qwaszx12 +michael3 +maryann +baby23 +family123 +everest +roger +alucard +candy12 +bears1 +letmein123 +iloveyou10 +pudding +bearbear +sandiego1 +123456789n +babygirl01 +papito +benoit +blaster +sparrow +10203 +19711971 +mathias +dont4get +prakash +kamasutra +vegeta1 +estelle +nana123 +535353 +catarina +booboo2 +616161 +monty1 +tootsie1 +Megaparol +beach1 +katrin +holden1 +trucks +help +2010 +legend1 +jared1 +852852 +bitchass1 +anna123 +404040 +anime1 +hondacivic +sponge +better +wizard1 +cardinals1 +sexybeast1 +guillermo +pokemon2 +cheesecake +television +love00 +spirit1 +blue23 +poker1 +summer10 +noodles1 +414141 +as790433 +devon1 +english1 +elaine1 +spartan1 +ben123 +123456789g +prelude +fabulous +andres1 +reading +nikolay +beckham7 +hurricane +peekaboo +tyrone1 +#1bitch +pussycat1 +studio +spooky1 +positive +20022002 +britt1 +memphis1 +manager1 +mon +estrela +alaska1 +skylar +baseball22 +contact +beethoven +maximilian +kristy +arthur1 +grizzly +lancelot +chanel1 +loved1 +loveya1 +popo +francisco1 +sunny123 +scorpion1 +taytay +coolcat +shadow01 +hihihi1 +cody +audrey1 +santiago1 +devil1 +dimitri +1football +turner +hunter01 +taylor123 +cheer +babyface1 +always1 +coolguy +alpine +lena +innocent +joyce +tkfkdgo +kosmos +muslim +goddess1 +infiniti +soccer09 +fatass +fytxrf +jewels +norman1 +lawrence1 +1q1q1q1q +allah786 +silence +74108520 +original +monkey01 +joaquin +ravens +aqwzsx +chickens +blades +pedro1 +mamour +pink13 +packard +nathaniel1 +balls +supergirl +meowmeow +Alexander +jesussaves +hayabusa +chicken123 +connie1 +sandy123 +112233a +medion +gerardo +domino1 +yellow2 +woaini1314 +colton +ybrjkfq +babygirl14 +hotmama1 +anjing +carlo +chelsea123 +cleveland +love55 +eleven +pallmall +hawkeye +767676 +frances1 +werder +edison +cha +center +7753191 +q11111 +hotshot +flower12 +2008 +tattoo1 +tanya +dragon11 +marco1 +comfort +higgins +yfnfkmz +passpass +trooper1 +666666a +longhorn +beach +chloe123 +softball12 +dragoon +poonam +my4kids +giorgia +incorrect +leandro +kontol +trebor +morning21 +warlock +joanna1 +email +gunit1 +chipper1 +oakland +kosama +tarheels1 +matthew2 +team +demon666 +grapes +temp123 +128500 +mariano +dillon1 +dragon69 +shutup1 +arianna1 +myspace10 +goofy1 +lemons +orange123 +qqqqq +j123456789 +fabiola +striker +krista +terry +2007 +noname +dmitriy +director +unique1 +sanchez1 +puppy123 +faithful1 +destroy +youyou +money3 +crimson +eatshit +annette1 +jacques +mariposa1 +gamecube +jersey1 +ilove69 +moneyman +lesbian1 +mexico12 +gegcbr +cocoa1 +dirtbike +gatito +juancarlos +santana1 +marcia +network1 +braves1 +chuck1 +Jundian2011xr +eureka +fucking1 +milana +dell123 +sylvie +stormy1 +chemical +minime +pencil1 +kawasaki1 +demon +fatcat1 +puertorico +jones +123456i +92k2cizCdP +daniil +dharma +mihail +2006 +paradox +mazdarx7 +weasel +1234zxcv +thirteen13 +mishka +french +fuckyou22 +fallout +howard1 +dad123 +meredith +Abcd1234 +nyq28Giz1Z +grandpa1 +printer +cancer1 +redbull1 +angelbaby1 +ab1234 +anything1 +cavalier +hentai +paramore1 +123456789e +145236 +triumph +lulu +noelle +william2 +iloveme123 +starbucks +pimp13 +rdfhnbhf +monkey10 +sunshine7 +jesus01 +luciana +david12 +elefante +class09 +fatman +purple11 +taylor2 +lovergirl1 +love2010 +matthias +1967 +mama1234 +summer01 +smiles1 +brendan1 +159753456 +qqqq1111 +iamnumber1 +sassy123 +haters1 +222 +apple2 +jasmine2 +pepper12 +e12345 +mckenzie +lala12 +qaz +portland +mahesh +khalid +0987654 +kentucky1 +longhorns +vb +knights +boss +justin2 +321 +loveyou123 +susan +prasad +1998 +revenge +whiskey1 +soccer101 +showtime +holla1 +gatita +joshua123 +e +mankind +123456789abc +1fuckyou +456987 +stoner1 +hope +kimkim +sevilla +yfcntymrf +kjkszpj +cristina1 +babyboo +yamahar6 +boobs1 +pepsi123 +456456456 +lebron +impala +dream1 +doodle1 +hejsan +zouzou +onlyme +maymay +felicidad +333444 +jones1 +lol1234 +lovegod +auburn +riley +kipper +kittykat1 +srinivas +azamat +angel21 +zaqxswcde +marvel +purple13 +tom123 +cardinals +1hottie +manny1 +hunter2 +soccer! +741258963 +coconut1 +griffin1 +whatsup1 +asdfzxcv +rooney10 +notthat +abrakadabra +administrator +895623 +oluwaseun +irock1 +a123654 +monkey6 +baseball21 +dimples +janelle +zxcvbnm12 +chase +balaji +shasha +silly1 +robert12 +sheba1 +terror +batman2 +pippin +ivanova +pirates1 +vinnie +home0401 +baby22 +lady +stalker1 +ismael +finalfantasy +ilovemusic +camilo +stoner +jordan01 +evelyn1 +jenjen +broadway +addison +brayden1 +souljaboy1 +cutegirl +kaka22 +runner1 +rodriguez1 +violin +green2 +telefono +emanuele +rfn.if +shotgun1 +beer +hithere +dkflbckfd +hanson +333777 +cepetsugih +vancouver +ellie1 +spectrum +258000 +123459 +baby15 +daughter +ilaria +roxanne1 +nikita1 +outlaw1 +mason +dfcbkbq +jenifer +fuckface +salmon +nasty1 +sexyme +pavilion1 +braveheart +120 +mmmmmmmm +Blink123 +cathy +fra +camille1 +balance +selina +monroe +starcraft1 +giggles1 +frogger1 +qazxsw123 +dfkthf +chris13 +children3 +babygirl7 +rachael1 +agustin +football4 +halloween1 +warriors1 +football8 +asdfghj1 +boy123 +cosmo1 +amarillo +113113 +797979 +stinger +12312312 +evgeniy +bruce1 +flash +747474 +bratz1 +chronic1 +coolgirl +bobo +diosesamor +boxing +adventure +bordeaux +roxana +pooppoop +007 +biscuit1 +kissme2 +angel23 +joker13 +QWERTYUIOP +meandyou +beetle +mykids3 +werner +purple3 +apple12 +kaykay1 +999888 +imcool1 +agosto +tracy1 +dimple +domingo +irish +chivas10 +andrew2 +393041123 +cantona +s123456789 +cinema +temp1234 +luna +penis123 +vfibyf +jonas123 +ashlee1 +artemka +12345n +coolcool +oakley +kansas +torres9 +bacardi +erika1 +beanie +maggie12 +thug4life +italia1 +1212121212 +reagan +fallout3 +missy123 +kitty2 +tyson +lionheart +budweiser +temitope +kenzie +tiesto +rocknroll1 +columbia +gillian +19681968 +junior123 +harry123 +dogs +topsecret +king1234 +number3 +brandon12 +loredana +skater123 +titans1 +burger +bumblebee +number +start123 +scream +simpleplan +waterloo +libero +1mother +angel15 +assass1 +bender +fossil +loves1 +amours +legion +373737 +iloveyou69 +irene +woody +leonie +bernadette +hannah01 +home1234 +vishal +996633 +Jessica +iloveme! +jumper +kitty12 +ludmila +romina +secret123 +kayla123 +changeme1 +jenna +rivera +pelusa +1z2x3c4v +citroen +4444444 +blessings +kaykay +teddy123 +thirteen +beloved +buckeyes1 +jjcG16dj5K +dietcoke1 +hermes +hubert +Charlie +keith +eduard +tupac1 +daniel2 +smackdown1 +myspace9 +khushi +1964 +passwords +jorge1 +carmelo +heroes +123qwe123qwe +qwerty77 +krasotka +gizmo123 +lovergirl +fuckface1 +archana +kleopatra +password15 +amelia1 +prissy +2020 +cobra1 +hollister2 +anime +pirate1 +online1 +busted1 +hoover +yomomma1 +monkey4 +wonderland +jorge +susan1 +orange12 +celtic1888 +bigmoney +legolas1 +gambit +chivas11 +dorothy1 +donna +monster123 +lukas +ballin +114477 +loser2 +alex01 +su123456 +stones +giraffe +yahooo +money7 +jesuss +svoboda +overlord +baby101 +blackjack1 +mommy12 +almighty +cute123 +commando +amalia +megan123 +lovesucks1 +salvador1 +johnny5 +jazmine +rustam +escort +nick12 +honest +goodness +wertyu +flower2 +friends123 +thierry +damien1 +loves +zigzag +mustangs +archer +xfiles +alinka +lamborghini +parrot +iloveyou23 +bloods +school12 +141516 +14141414 +12345h +1965 +star11 +kelly123 +maggie123 +hotty1 +nicole13 +princess21 +sssss +19051905 +belle1 +1qazzaq1 +pass12 +theodore +patrice +newpassword +ihateu1 +cutie101 +diamante +stefanie +cgfhnfr +health +dominican1 +qwerty777 +mallory +buckeye +brandon123 +fuck0ff +shibby +asd123asd +eragon +andy123 +jupiter1 +princess14 +d2Xyw89sxJ +fyutkbyf +ayesha +brothers +mittens1 +lifesucks +olayinka +honduras +qqwwee +qaz123456 +12345qw +leonardo1 +lillian1 +anne +hellsing +battle +killers +sucesso +vicente +justine1 +1234rewq +168ASD168 +blanca +toto +birthday1 +maddog1 +nicky1 +ihateu2 +cherokee1 +jazmine1 +monkey23 +vicky +stargate1 +charley +hockey12 +123abc123 +23456 +willy +lizard1 +life +mustang2 +plastic +12345600 +georgie +rebeca +chelseafc +Michael1 +richie1 +Dragon +thesims2 +pot420 +ericka +melody1 +westwood +pothead420 +lucky2 +retired +rambo +starbucks1 +bitch3 +2sweet +sexy09 +renee +mother2 +1111qqqq +cinta +demons +lewis +dauphin +system1 +01010101 +shitface1 +123admin321 +harley01 +multiplelog +plymouth +josh12 +1money +mark123 +red1234 +lolipop1 +bowling1 +allah +henry14 +gsxr750 +konstantin +963258741 +luke +kate +hermosa +corinne +password09 +bernard1 +keeper +biology +sephiroth +derek +gabrielle1 +albina +don +951357 +kontakt +hannah2 +lowrider1 +mexico10 +duchess +cricri +silent +789789789 +romero +camaroz28 +myspace23 +poncho +pooper1 +market +maurizio +nicole11 +baby10 +www123 +123456789w +mondeo +piccolo +lineage2 +pandora1 +tiger12 +qqqwww +weed123 +myspace101 +welkom +nevaeh1 +helloo +momo +celtics +taishan2011 +manila +gandalf1 +venus +Jennifer +animals1 +evergreen +iloveyou21 +eatshit1 +786786786 +artemis +tricia +estrellita +bloody +1234567z +hottie! +nikki123 +danica +love44 +matador +leelee1 +ferari +toffee +wallace1 +alexander2 +alexalex +123698741 +girlfriend +loveu +projectsadminx +marilyn1 +married1 +sponge1 +brayden +jack12 +money11 +someone +blowme1 +cowgirl1 +bobbob1 +toledo +highlander +jktymrf +1221 +torino +surside13 +titanic1 +volkswagen +2good4u +bartek +00112233 +pdtplf +bkl29m2bk +pavel +fabrizio +babyboy2 +mayday +sleepy +twins +444555 +assman +sullivan +isaac1 +484848 +annamaria +g12345 +herbie +ufkbyf +darlene +april12 +blabla1 +happydays +fgtkmcby +seattle1 +a1s2d3f4g5 +cheese2 +preciosa +temple +uhfybn8888 +rainbows +senegal +pollito +jordan3 +11111111111 +wenoob +pimpdaddy1 +masters +imperial +gay123 +yandex +kiki123 +coolman1 +iamcool +number9 +frederick +pacific +rossi46 +passport1 +hooters1 +prettyboy1 +journey +luis123 +quality +georgina +560076 +mylord +becky +chubby1 +lola123 +scooter2 +tamara1 +moneys +rootbeer1 +kenken +ou812 +diane +maribel +warning +cowgirl +buddy12 +love2009 +shanti +rereirf +0123 +minerva +asroma +lights +jordan13 +spring1 +alex10 +nadia +123458 +sweets1 +karine +gavin1 +elmo123 +lewis1 +jasmine123 +aiden1 +jose12 +halflife +jermaine +burton1 +myspace22 +baby09 +capricorn1 +shogun +dortmund +zxcv +ichliebedich +viviana +mariel +spitfire1 +fusion +utopia +free123 +zaqwsxcde +painter +catania +carlotta +baseball23 +stitch +omega +azertyui +jonas +computer2 +000999 +zxcasdqwe123 +sexyme1 +stealth +a123321 +jeffery +mehmet +sexylove1 +mathew1 +??????? +three3 +horny1 +mihaela +corazon1 +carmel +ginger12 +qwer4321 +bagira +turbo1 +swimmer1 +techn9ne +moon +jesusfreak +hercules1 +sandman1 +lemonade +mango1 +arnaud +lovely2 +2345678 +wellington +nurse1 +ilovechris +punkrock1 +millwall +p12345 +daniella +lassie +daniel01 +pazzword123 +mummy1 +massage +unknown1 +youandme +huhbbhzu78 +chico +bennett +635241 +loveislife +patate +87654321q +neveragain +kifj9n7bfu +gator1 +7007 +7777777a +gordon1 +ali +dominika +silverado +123456789qwe +number7 +lizzy1 +987123 +joejonas1 +myself1 +tasha +1sunshine +colleen1 +teamo123 +kodiak +1235789 +kill +tigger01 +adrien +zazaza +jamie123 +redwings1 +kathryn1 +sucker1 +wayne +karate1 +kayode +latino +dancing1 +whatever! +start1 +peterpan1 +bighead1 +mhine +nigga123 +confused +rtyuehe +sonyericsson +lalala123 +butterfly3 +myspace09 +6 +balls1 +bubbles123 +gfhjkm123 +abc321 +rihanna +cannon +123412 +anthony3 +73501505 +delta +magnus +asdfghjkl123 +addison1 +left4dead +brighton +francine +malaga +austin12 +Shadow +jamesbond007 +maddy1 +charger1 +networking +poetry +zacefron1 +stunt101 +carol1 +fatman1 +jesus3 +clarinet +conrad +ohiostate1 +whisper +cavallo +Michelle +hi1234 +celeron +smooth1 +yolanda1 +mission1 +sexy18 +cellphone +ramram +faster +walmart +princess22 +madison2 +babe +beaner1 +technics +resident +aerosmith +india1 +youtube1 +salomon +bitch11 +mike1234 +010 +cafemom +senior09 +choupette +sagitario +november11 +cobra +sunshine3 +shanghai +mazda6 +igor +19671967 +ashley11 +astonvilla +durango1 +snoopy2 +�+������� +angel16 +jeffery1 +latina1 +princesa1 +testing1 +a00000 +mykids2 +pompom +dance123 +7412369 +jG3h4HFn +yanyan +mollie1 +grizzly1 +434343 +benji +blazer1 +buddyboy +koolaid1 +benben +mafalda +1234567m +matheus +support +loulou1 +squall +demon123 +jade +june22 +margarita1 +qwe1234 +dddd +blacky1 +hohoho +trust +1qay2wsx +demo +115599 +dt123456 +soccer19 +roscoe1 +lisa123 +dreams1 +12211221 +Sta +147896 +gertrude +linda123 +polo +madagascar +727272 +astrid +coleman +iphone +gabby +matilde +durango +tabitha1 +volley +bobmarley1 +bitch01 +nicole3 +working +iloveyou9 +splash +kingsley +jackjack +zombie1 +princess4 +carbon +pussy2 +carson1 +joshua01 +daddy2 +badminton +desert +20052005 +europa +warszawa +skater12 +reaper1 +hollie +fuckthis +dusty +toby +maksimka +dirty1 +1963 +felicia1 +linkedin2011 +n12345 +raiderz1 +candyman +cheetah1 +babygirl15 +a112233 +willy1 +faggot +madeleine +vfitymrf +summer2 +babygirl5 +storm +fuckyou5 +kathy +murder1 +1231231 +violetta +jerusalem +warren1 +w66YRyBgRa +viktoriya +sexsex1 +baby07 +yummy1 +loveme3 +blackrose +1234567s +blackbird +laura123 +159753a +alexa1 +fullaccess +ahmed +ms0083jxj +8522003 +peyton1 +respect1 +emiliano +kostya +popo123 +green7 +davids +june23 +sunita +roxy +pearl1 +hfytnrb +chaton +carlos12 +baker +panda123 +adelina +myboys +chevys10 +kathmandu +ariel +becca1 +1596321 +czz000 +miracle1 +notebook +megasecret +michael23 +america123 +nokia5800 +ryan12 +apollo1 +ananas +ihatethisgame +musica1 +shakira1 +werty +Princess +ncc1701a +susanne +playstation3 +19651965 +archie1 +pothead +jokers +ariel1 +bertha +7896321 +meatball +131415 +bigmoney1 +imnumber1 +forzamilan +nacional +browns +caca123 +fre +sandhya +pimp11 +kingking +marcello +blake +hacker1 +yannick +racecar1 +15151515 +moonlight1 +shit123 +smelly +caca +smart +cantona7 +mercury1 +chris11 +diamond2 +benji1 +pulsar +spartans +boricua +555556 +yvonne1 +isabelle1 +lucky12 +josefina +tommy123 +babygirl09 +N�odefinido +201010 +classic1 +bunny123 +babygurl12 +saskia +stewart1 +geoffrey +harrypotte +select +delacruz +1a2a3a4a +solution +10577 +butthole1 +ilove123 +allie1 +powder +gaston +nestor +triskelion +pinkie +condor +liverpool8 +chivas123 +oldman +start +1475369 +nanana +ale +606060 +remington +kakaka +jake12 +qqqqqqqqqq +alegria +lilman +david2 +iloveu12 +123456789h +gabriela1 +maximum +music101 +qwe1asd +skyler1 +girasole +didier +ginger123 +rakesh +money100 +honduras1 +london22 +disturbed +arsenal123 +madeline1 +poochie +poseidon +mulder +celica +davidson +revenge1 +bruce +sparkles +777999 +bossman +fabio +crjhgbjy +silvana +chacha1 +123456789f +monika1 +grumpy +fxzZ75 +seagull +you +colts18 +yxcvbnm +front242 +muppet +login +chicca +momomo +p455w0rd +cody123 +superfly +tyler12 +blade +w12345 +mariya +132465 +57chevy +clifford1 +coco12 +aileen +1loveu +bear123 +leader +2009 +kim +gaurav +iamcool1 +sexy08 +dylan123 +198 +joejoe1 +1qazxsw23edc +portugal1 +paolo +tomtom1 +noodle1 +bigpimpin1 +senior08 +mileycyrus +survivor +Robert +123654a +vanesa +tomate +senior +mike23 +sara123 +freckles1 +makemoney +willis +mississipp +pepper123 +godsmack +finger +celeste1 +bautista +vendetta +seventeen +ncc1701e +camelot +junebug1 +lovestory +pooh +pablo +briciola +helloworld +tresd5 +jermaine1 +fuck666 +skinny +semperfi1 +rabota +jess123 +pierre1 +121 +bubbles12 +mikemike +work +poipoi +pictures +pornstar1 +princess23 +sasha12 +adeline +superman7 +sprite1 +knicks +pillow +ltybcrf +daddy12 +charlie12 +bebe +Pa55word +livelife +juan123 +oklahoma1 +cancel +kashmir +tdutybz +jess +hotmama +hospital +boo +4myspace +sweden +X3LUym2MMJ +2003 +45454545 +skiing +chrisb1 +hamish +tyler2 +cleveland1 +maniac +meghan1 +billy123 +trojan +june13 +handsome1 +blueeyes1 +spyder +roses +beaner +moises +steelers7 +blade1 +rhiannon +slipknot6 +nightwish +yankees13 +four20 +101101 +aaron123 +ilovehim2 +357951 +anthony7 +mystic +san +labtec +hammers +crip4life +lifeisgood +daewoo +dragon7 +indians +october10 +wolfman +stryker +tammy +sexyman1 +tekken +marie12 +yyyyyy +qwerty78 +orchid +coolkid1 +keisha +africa1 +iverson1 +navigator +gotmilk +584520 +ashley13 +myspac3 +334455 +bionicle +humtum +1loveme +simpson1 +waterfall +999 +noisette +mimi123 +jordan5 +huskers +scottie +luther +superman3 +psycho1 +yahoomail +20072007 +motocross1 +jared +armando1 +123456. +1iloveyou +nataly +rasmus +clarissa +shorty12 +fisherman +baby21 +hello9 +zxcvb123 +abcde123 +hardrock +annalisa +safari +159753123 +june21 +darkangel1 +hotgirl +chucky1 +babe123 +789632145 +celina +awsome +rockets1 +elisa +rjycnfynby +patito +1michael +cbr600 +milkshake +lightning1 +monkey21 +greg +simsim +myspace8 +montgom2409 +tesoro +bitch5 +solomon1 +- +s8YLPe9jDPvYM +classof07 +google12 +love2008 +560037 +newstart +bigbang +classof201 +stallion +wonderful1 +firebird1 +olenka +sterling1 +daniel11 +playboy123 +forest1 +evony1 +1435254 +nicole01 +kaka +121121 +frog +hustler1 +razvan +blackman +poo +baseball6 +snoopdog +haha12 +female +franck +company +159159159 +bhebhe +adewale +whisky +mallorca +freeze112 +0192837465 +killer11 +green13 +myspace69 +adelaide +daytona +cimbom +emachines1 +paola +19031903 +baseball24 +reality +bball +april20 +m1234567 +monkey101 +tomorrow +mathis +peanut12 +legenda +shorty13 +shania +mobster1 +bunnies +868686 +ecuador +sunset1 +199 +bookmark +bangbang +rjynfrn +alison1 +sausage +lavoro +peanut2 +thomas2 +northside1 +class08 +naruto2 +198888 +johnpaul +subway +andrew11 +cuteme +justin01 +brian123 +amazon +leoleo +oliveira +pharmacy +fish123 +duncan1 +forget1 +maximo +nopass +kalina +lifesucks1 +vbkfirf +albatros +banshee +lil +foxtrot +new +giacomo +steffi +william3 +freedom2 +littlebit +sheldon +capone +keegan +central1 +glamour +beaver1 +april21 +thursday +Indya123 +mollydog +reggae +gringo +bounty +greece +25011990 +rowena +princesita +adekunle +robinhood +lorraine1 +zaraza +cowboys22 +march17 +heineken +qw123456 +cheer123 +space +sexy17 +palmer +fuckyou11 +light +coolboy +professor +646464 +april22 +1q2w3e4r5t6y7u8i +mazafaka +homework +dbrnjh +koroleva +radio1 +principessa +gothic1 +baseball14 +angelus +z00000 +10 +godis1 +lampard8 +husband +persik +nugget1 +killer13 +corey +landrover +tequila1 +redred1 +a1a2a3a4a5 +heidi +kfhbcf +dwayne +rancid +medicina +candle +negrita +cotton1 +school2 +beckham23 +cooking +veronique +faisal +bookworm +answer +godhelpme +dragon01 +fghtkm +catwoman +smelly1 +friendly +phone1 +matahari +pleasure +ludacris +19991999 +july21 +will +saturday +mygirls +springer +shawty1 +fuzzy1 +zhjckfd +buster01 +babylon +aliens +chillin +peluche +triton +tsunami +maryland +cutie2 +jensen +black12 +1diamond +mickey123 +randall +marihuana +hello3 +love26 +frosty1 +football24 +nokian70 +candice1 +12321 +ilikepie1 +robert2 +coolcat1 +pink22 +adeola +baby16 +pandas +venera +webster1 +ankara +reddog1 +simon123 +cancun +12345qwer +control1 +flyboy1 +queens +venezuela +thomas22 +default +w +blueblue +asd1234 +ssss +roxy123 +incubus1 +angel88 +anuradha +ashleigh1 +pancho1 +reset123 +guatemala +ssssssss +applepie1 +12345v +garbage +manowar +mickey12 +food +project +alexis12 +kikiki +gremlin +ghostrider +m0nkey +1366613 +butler +gorgeous1 +kenwood +jillian1 +qwertyui1 +pok29q6666 +bonehead +22334455 +pimp23 +jaguar1 +rammstein1 +minette +forrest +mitch +leonard1 +amy123 +password08 +123asd123 +eeyore1 +1234567j +godofwar +amoure +create +junior12 +farida +dude12 +beaches +n1frdz +emerald1 +june16 +love777 +mighty +thomas01 +ordinateur +23jordan +ZXCVBNM +george123 +krokodil +nastia +kittie +therese +giovanni1 +password88 +jessica3 +password24 +account1 +racing1 +angel07 +az123456 +383838 +pat +lucia +auburn1 +abcd123456 +sadie123 +qazzaq1 +lovebird +mommy11 +a1a1a1a1 +venice +meme +flipper1 +rogers +novo +bigbird +big123 +qwe789 +bengals1 +jasmine12 +versace +maggie01 +mary123 +heidi1 +satana +123456789v +malachi +greenday12 +family2 +veritas +porkchop1 +tatiana1 +eight8 +terrell1 +verona +puppylove1 +legacy +tootie +dipset +holland1 +mazda323 +homeboy +zander +baker1 +deutschland +manning18 +open +april13 +zxcvb12345 +1475963 +yuliya +margherita +tomas +my1love +janet +mango +family3 +12345677 +iguana +birdman +123456aaa +poptart1 +1234565 +123abcd +tweetybird +louis1 +south1 +lovely123 +ठ: +London +porn +1q2q3q +mom +blossom1 +shorty123 +thelma +chivas12 +chosen +qwerty69 +samantha12 +lucille +speed +aberdeen +martin123 +hockey11 +orange2 +candy2 +fabrice +love27 +ebony1 +l1nk3d1n +barbados +1357913579 +biteme2 +tkbpfdtnf +???????? +weezy1 +go2hell +tuesday +fanfan +guitarra +michela +killian +lucy123 +speaker +456789123 +munchkin1 +godislove1 +latina +220 +sprint +pancakes +grover +melvin1 +escorpion +liberte +626262 +ashley01 +twister1 +basketbal1 +payton1 +mynameis +k.lvbkf +guadalupe1 +babygirl21 +edward123 +ray123 +hottie3 +il0veyou +training +bassman +21122112 +progress +qwaszx1 +123123123123 +zelda1 +melinda1 +june11 +grandpa +myspace0 +angeline +violet1 +sexybaby1 +roberts +love34 +grace123 +motherfuck +ghjcnjnfr +q2w3e4 +scully +guilherme +john!20130605at1753 +333333333 +skyblue +123890 +cherries +buckeye1 +forzaroma +janette +taylor01 +music2 +newmoon +14881488 +wednesday +indira +andrew01 +clemson1 +kittens1 +april23 +whiteboy1 +peanuts1 +mummy +fighter1 +2children +789852 +dinesh +ilovepussy +deftones1 +619619 +tenerife +march +mariana1 +chris01 +dallas22 +alisha1 +jingjing +pankaj +icarus +eternal +707070 +parkour +jaden1 +history1 +c.ronaldo +justin11 +fuckers +luis +pietro +ignacio +babygirl! +bellissima +huskers1 +kungfu +goforit +babygirl16 +rosalie +zeppelin1 +redman1 +mancity +deanna1 +nokian95 +110085 +lovesucks +vertigo +destroyer +cadillac1 +good123 +amor +lesley +babygirl08 +princess15 +evanescence +roma +123321123321 +pepper2 +Byusdg23 +smoking +56789 +ripper +winchester +holmes +йцукен +love4you +dilbert +sexy07 +1232323q +z123456789 +duckie +doctor1 +�+�������� +number5 +rashmi +18n28n24a5 +great +rawr123 +fabregas +sexyman +operator +babygirl23 +possum +09876 +19641964 +kings1 +jordan10 +freeman1 +gotcha +phoebe1 +rjhjktdf +xxxxxxx +technology +angel69 +bessie +210 +panties +jesusc +billyboy +rafael1 +arnold1 +comcast1 +apsk54321 +tara +dixie +music4life +Andrew +gotcha1 +time +suzuki1 +bridget1 +paige +principe +concrete +anita1 +porno +monsters +battlefield +mother12 +ayomide +nike +pirata +turbo +lolo123 +missyou +carolyn1 +fergie +pakistani +z0102030405 +april15 +greenbay +chivas13 +grandkids +789 +home123 +whatever2 +indian1 +roller +mylene +bruno123 +horizon +besiktas +yeah +1232123 +kiss123 +qwerty666 +dutchess +janet1 +ठ +monkey8 +owt243yGbJ +ursula +nikolai +blingbling +angel4 +bigfoot1 +chevrolet1 +nigger123 +qwerty01 +maynard +101 +24242424 +emotional +qwerty789 +marcella +manu +redsox04 +qwegta13091990 +boris +armstrong +717171 +bandung +zainab +iluvu1 +maradona10 +pauline1 +football20 +cock +lord +as1234 +madalina +joey123 +badboy2 +748596 +april14 +2424 +sherman1 +paula1 +colts1 +biggie1 +1414 +budweiser1 +alexa +louie1 +confused1 +snoop1 +star13 +cherie +9293709b13 +theused1 +sweet12 +valeria1 +dalila +kochanie +adonis +214365 +bailey12 +zzzzzzzzzz +village +street1 +zenith +theboss1 +333222 +nursing1 +ppppp +prashant +love5683 +buster2 +travel1 +cazzo +shorty2 +yesyes +hunter11 +chuck +kirsty +ontario +wisdom1 +ariana1 +june24 +qwerty22 +clover1 +Sunshine +slavik +leo +morris1 +emma123 +vicky1 +barkley +0147258369 +rastafari +samtron +!qaz2wsx +donnie1 +777666 +march12 +aaasss +spike123 +softball11 +abby +petunia +sharingan +shady1 +catalin +dick123 +lovely12 +aaaaaaa1 +leonid +.adgjmptw +abiodun +dogdog1 +111111111111 +donovan1 +qwerty5 +223322 +mash4077 +130 +dollar1 +momof2 +111999 +stevie1 +mystery1 +mimosa +paperino +chicken12 +lalaland +hyderabad +liverpoolfc +20112011 +пароль +nelly +soccer08 +nokia3310 +canela +redrum1 +money4 +iloveyou15 +princess8 +marriage +sextrime1 +bertie +explorer1 +aa123123 +100200300 +famille +breeze +losers +jesse123 +yumyum +numba1 +iloveyou09 +italian1 +daniel13 +marlin +p@ssword +sousou +amanda2 +argentina1 +patty1 +mar123 +dottie +charming +blizzard1 +pizzas +123456abcd +mostwanted +110011 +pobeda +antares +patrizia +medved +compton1 +bonheur +fantastic +123stella +110120 +santos1 +iloveher +rhonda +martina1 +sssssss +crazy12 +bradford +butthole +lopez +daisy12 +magali +bugger +234234 +lynn +chinnu +angelbaby +jocelyn1 +mandarin +hamilton1 +love89 +honda123 +football09 +sunderland +tropical +mallory1 +desperado +discover +puppylove +march1 +samiam +pimpin2 +drogba +159 +family12 +edwards +jamila +rebels +321678 +wishbone +qwerty! +losers1 +ludovic +looser +booty +malcolm1 +mafia1 +conner1 +medical +PRINCESS +5poppin +fuckyou6 +transam +supergirl1 +cookiemons +helen +pistons1 +livestrong +sidekick3 +babygirl4 +pokerface +lee +bestfriends +manson1 +test1 +carlton +jessica7 +matthew12 +iloveyou6 +sidney1 +tigrou +deadman1 +hannah11 +hater1 +sammy12 +1962 +kimbum +young +christian2 +pringles +lovehate +juventus1 +85208520 +smoke +bugsbunny1 +commander +gianna +password19 +gwapo +papapa +nipper +1234509876 +bharat +pie123 +loveis +punkin1 +friends4 +bobobo +enrique1 +fred123 +mat +nikitos +142857 +jesus4me +picture +black2 +cabbage +jesus! +asdffdsa +scarlett1 +green11 +shmily +vacation1 +gonzalo +linkin1 +qaz123wsx +glitter1 +rodolfo +pupuce +games1 +mellon +jackpot +harley123 +737373 +123456zxc +2bornot2b +bogart +lamont1 +italiano +valentina1 +lemon8 +peters +zasada +dalejr +lance +goodbye1 +123456789. +charlie3 +yugioh1 +212223 +rhjrjlbk +rolando +goodlife +extreme1 +abcdefgh1 +badboys +tulips +cool11 +sweetgirl +roman1 +management +14121412 +2128506 +delete1 +pluto +hejhej +offspring +never1 +slick1 +eric123 +gabriel123 +schatzi +nissan350z +michael11 +blink +felicity +momanddad +bones1 +amistad +pablito +star1234 +angel18 +dodgeram +sheila1 +softball2 +august12 +isabela +thedoors +monkeybutt +hyundai +trial +one +zacefron +candycane1 +12qw12 +china +jordan7 +113355 +ferdinand +spunky1 +chaos +summer99 +heritage +butt +20062006 +kobebryant +badman +lover69 +jamal1 +bruins +19631963 +cecilia1 +kumar +booboo12 +spanish1 +1anthony +gameboy1 +hidden +4children +babygirl69 +1butterfly +princess9 +splinter +naveen +cruzazul +fantasia +sexyback1 +2blessed +baseball15 +natural +leather +hello. +freeway +morgana +nathan12 +bridge +jaihanuman +aa1234 +april16 +september9 +joseph12 +lickme +пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ +hjccbz +harriet +lopez1 +sonali +leon +light1 +zorro +51505150 +stanislav +exodus +bailey123 +Argentina +booboo123 +fxzZ75yer +benedict +mmmmm +dodge +katkat +football! +doodoo +aptx4869 +qwertasdfg +malachi1 +peanut123 +cinnamon1 +fuckyou4 +dolly1 +242526 +stepan +gorilla1 +fktyrf +mitsubishi +angel6 +murder +blue10 +caramel1 +electro +gold +wifey1 +theend +soccer20 +Doomsayer.2.7mords.V +soccer24 +myspace07 +pink101 +sneakers +nevaeh +nokia6233 +march23 +highland +bristol +dookie1 +scarlet1 +coolguy1 +imgay1 +natacha +pepette +assasin +121283 +mildred +joshua2 +micaela +kannan +AZERTY +maria12 +150 +omarion +tweety2 +revelation +psalm23 +halo +nathan123 +vjcrdf +monster2 +june14 +weather +summer05 +password07 +19661966 +corolla +il0vey0u +lespaul +martins +adrienne +janice1 +Charlie1 +bologna +klapaucius +ariane +rasengan +arsenal14 +polarbear +austin123 +aprilia +skinhead +sha +cevthrb +bossman1 +jessica13 +777555 +ciara1 +H2vWDuBjX4 +wookie +strong1 +june10 +709394 +snowwhite +228228 +deborah1 +logan123 +bball12 +soccer07 +bluebird1 +alexis123 +april10 +sexybabe +caballo +william123 +kimmie +poochie1 +lexmark1 +fireball1 +hedgehog +keyboard1 +password20 +1004 +lolita1 +michael01 +angel8 +adv24 +pearl +angel08 +gggg +scooby2 +chuckie +april11 +margie +momoney +110001 +barbie123 +maciek +june28 +shinigami +1cookie +ruby +everything +shooter1 +27653 +maddison +bailey01 +love02 +love4me +19411945 +fishes +christie +AAAAAA +00001111 +devildog +chuchu +chivas100 +scout1 +aardvark +blessing1 +poussin +badger1 +kellie +soprano +250 +john1234 +crackers +lenochka +beautiful2 +march11 +delfino +sherry1 +scvMOFAS79 +july23 +01011980 +kirsten1 +ilovejusti +twisted1 +caline +maggie2 +cookie3 +matthew123 +seniseviyorum +shitty1 +june17 +trenton1 +sleepy1 +pacman1 +bloods1 +skylar1 +picard +smarty +chronic420 +qazqazqaz +xboxlive +jelly1 +destiny2 +110688 +jazz +holly123 +hello7 +joseph123 +eagles5 +funky1 +chiefs +nicole7 +piramida +michael13 +colton1 +vanhalen +softball13 +green3 +rebel +246813579 +dr.pepper +number12 +135798642 +amormio +chewy1 +harley12 +lucky777 +victoire +marcopolo +titties +bluebell +110019 +thegreat1 +aries +ladies +vernon +sagitarius +ghblehjr +october31 +monkey9 +secure +885522 +1a2s3d4f5g +nevada +mikayla +123123qwe +writer +casey123 +nikhil +creation +piper1 +forzainter +diablo666 +Letmein1 +angel9 +snapper +kenworth +marcos1 +eldorado +march22 +daniel19 +corrado +annika +blackops +seamus +liverp00l +x123456 +italien +asshole12 +dom +shark +kelley +darius1 +believe1 +jennifer12 +apples123 +magandaako +skinny1 +ravens1 +faith123 +trojans1 +232425 +finance +123456789asd +beast +andrej +bigben +christelle +imcool +softball7 +andre123 +kenzie1 +josiah +dragon88 +baby69 +softball10 +firefly1 +you123 +starlight1 +i23456 +snoopdogg +piggy +carmelo15 +recovery +bitch23 +alvin +maryjane42 +amethyst +bulls23 +mazda3 +vittoria +rainbow123 +janina +andreas1 +juan +laguna1 +paper1 +aikido +sherwood +bambino +123456qwer +abcd12345 +shamrock1 +twinkle1 +children2 +april17 +W5tn36alfW +princess16 +sacred +gilles +warlord +slamdunk +jane +babygirl22 +soccer01 +doreen +qweqwe1 +Benjamin +hogwarts +supersonic +crazy4u +qwerqwer2 +orion +tony12 +010203040506 +killa +110075 +lipgloss1 +123kid +cazzone +angeleyes +denisa +america12 +qwerty99 +greeneyes +kagome +joanne1 +Jordan +dragon5 +banana123 +starfish1 +columbus +holla +porcodio +hotpink1 +goldeneye +isaac +alissa +nevermore +josie1 +eqeS606898 +sunshine! +pallina +champagne +mmmmmmmmmm +winmx1 +456123789 +madden1 +1213141516 +esther1 +bushido1 +morning +paper123 +mariajose +cougar1 +sky123 +badbitch1 +lily +fordf250 +forever2 +harold1 +theonly1 +ninja123 +davinci +gucci1 +bass +houses +rufus1 +qazxsw1 +trololo +monkeyman +bebe123 +cambridge +anfield +vlad +bollox +rovers +cornelia +blue21 +1960 +design1 +restart +cougars +byebye +all4one +090807 +nabila +cookies123 +crosby87 +derp12!@ +mustang69 +onedirection +kacper +gidget +sweet2 +golfing +?????????? +friends! +zarina +cheese! +borussia +killer666 +tracy +pop +mexico2 +123369 +purple22 +hurricane1 +knights1 +football14 +viking1 +europe +362436 +skater2 +chris23 +400053 +yfnfkb +Matthew +lacey1 +wonder1 +palace +allahu +urmom1 +vishnu +babybear +123258 +bonsai +eatme +cristian1 +pussy12 +mike11 +fucku123 +august11 +xxxxxxxxxx +septiembre +starstar +johnlock +dimadima +billie1 +buddha1 +drake1 +littlebit1 +muskan +princess08 +nimrod +twilight12 +window1 +bajingan +digger1 +cherry12 +20032003 +fatima1 +march15 +brady12 +lipgloss +opelastra +riverside +santino +popeye1 +march13 +caravan +birdman1 +wilbur +april24 +iloveyou08 +serena1 +987789 +irinka +ilovehim! +nolimit +131421 +nicole21 +Bailey +bleach1 +hooligan +560078 +bishop1 +theused +12345asd +mygirls2 +illusion +command +makaveli1 +russel +ready2go +achilles +computers +taylor11 +zxc123456 +aaaaaaaaa +pablo1 +acuario +venkat +granada +elliott1 +55555a +sexysexy +kevin12 +june15 +a123098 +123soleil +underworld +password17 +cinder +monkey14 +shadows +julieta +7elephants +inspiron +mamochka +aishiteru +123a123 +vermont +peaceout +oliver123 +lemon1 +heaven7 +google.com +fart +prissy1 +harper +southern +crusader +hillary +chinese +moritz +lamont +caitlyn +tweety12 +rocky2 +1player +jubjub +mclaren +230 +1001 +milkshake1 +samuel01 +florencia +panasonic1 +samanta +pinkfloyd1 +sangeeta +sweety12 +sasuke123 +ducky1 +satan +snooker +jojo12 +sarajevo +pasquale +fullmoon +lillie +dynasty +mermaid1 +Brasil +u77789 +1zxcvbnm +darrell +anarchy1 +slipknot66 +sheeba +dana +13 +passwd +lenovo +june26 +naruto11 +darkstar1 +chaos1 +feder_1941 +classof200 +easter +potpot +drew +cucciola +kirby1 +12345qaz +999000 +brodie +solange +gymnastics +140 +hurley +sterva +music12 +eminem123 +walnut +ziggy +pradeep +sophie123 +sammy2 +bella12 +girl123 +japan +secrets +fearless +fuckme123 +praveen +montecarlo +baba +zanzibar +0147852369 +azazaz +monster12 +firefighter +myheart +caliente +chris10 +peacock +eminem12 +luckydog1 +frank123 +carola +goose1 +shitface +bretagne +roxane +stonecold1 +aurore +banana11 +oregon +elizaveta +rose12 +jesus77 +gsxr600 +cessna +zxccxz +princess09 +wildfire +messiah +rajkumar +buddie +matilda1 +snoopy123 +dagger +pudding1 +twisted +dell +pretty12 +654987 +murcielago +babygirl9 +penis69 +818181 +mypass +pasword1 +guerrero +vijaya +ijrjkfl +kolawole +rosemarie +chihuahua +money4me +crazy2 +bryant24 +butterfly8 +architect +sabbath +junior2 +kakashi1 +nicole22 +june +topcat +lorena1 +mocha1 +hooker +glasgow + +louie +wright +july22 +juanita1 +pancake +yummy +cesar +hilary1 +1superman +camera1 +clara +1qazxc +palmtree +mikejones1 +cristi +203040 +gordo1 +malik1 +070809 +tricolor +rockstar12 +polaris1 +loretta +kasia +theatre +пїЅпїЅпїЅпїЅ +alexis09 +sexygurl1 +monty +1515 +Password01 +bigcock +maricel +july14 +sailboat +ste +kkk123 +millenium +nolove +1nigga +varvara +dollars +guess +darklord +history278 +gfhjkm1 +olawale +1961 +123a456 +floppy +xbox +printer1 +topper +naynay1 +tototo +2011 +Liverpool +chobits +lupita1 +brazil1 +jesus33 +march21 +tango +nickjonas +baili123com +987654321q +koolaid +patriots12 +midget +pioneer1 +march18 +1234ab +angel17 +gunit +hottie13 +peterson +hustler +jimenez +narayana +nicky +alliance +rossella +1000 +denden +phillips +dynasty1 +texas123 +sonic123 +youssef +windsor +uganda +ibanez1 +michael5 +craig1 +softball3 +darling1 +yoyo123 +hilton +password77 +snapple +bitch22 +traktor +pooh12 +420weed +moneymoney +peachy +1chance +dark +feather +july12 +friends12 +jesus11 +emachines +usher1 +mirror +0000001 +fuckyou8 +wedding1 +1hotmama +kavita +laurita +butch1 +malibu1 +fireblade +pinky123 +pedro123 +seven77 +adebayo +familia1 +d123456789 +198000 +partizan +futurama +april18 +mygirl +dayday1 +jktxrf +polly +myspace200 +deerhunter +love1 +moremoney +chennai +lover13 +yellow11 +alondra +dkflbr +pr1ncess +tango1 +kool +mymusic +miamor1 +olesya +password16 +hamburger +jonny1 +matthew3 +1234567b +molson +amsterdam1 +solrac +1212123 +august13 +nssadmin +question +june18 +greens +mylinkedin +itachi +kimberley +666555 +sun +chippy +lottie +qwertzuiop +couponSC10 +buster11 +june25 +moonshine +jazmin1 +ludwig +110017 +666333 +nana12 +09876543 +kalpana +amor123 +boobear1 +mattie1 +mimimi +dontforget +audia3 +friendofemily +darlene1 +zebra1 +lance1 +baller12 +allan +bloody1 +helen1 +shaolin +nutmeg +marie2 +nike123 +jose13 +saturn1 +senior07 +wagner +diego123 +sf49ers +family7 +italian +cruise +philips1 +jack1234 +mikaela +skywalker1 +cupcakes +barselona +piolin +devilmaycry +santa1 +dolly +kronos +y123456 +sony +456258 +qwerty21 +mickey2 +holyshit +doodoo1 +19283746 +alexey +852258 +bumbum +photo1 +jamjam +sriram +tekiero +seven777 +matt12 +8PHroWZ624 +converse1 +savanna +joshua11 +future1 +startrek1 +pimping1 +sonia1 +clemson +francy +photos +guinness1 +dayana +sixteen +irishka +ad123456 +h12345 +1daddy +muhammed +athena1 +mac123 +thegreat123 +iluvme1 +onetwo3 +raiders13 +crossfire +lkjhgf +meagan +147896321 + +basketball1 +impossible +beverly1 +shadow7 +optimus +elefant +budapest +chris3 +zyjxrf +suzanne1 +pontiac1 +ralph +number11 +123qwert +blackhawk +johann +jobshop2002 +babygirl19 +heartbreak +bossy1 +12348765 +promise1 +kosova +amigas +june20 +ballin23 +ezekiel +lonestar +fisher1 +august23 +lov +boobear +patton +password33 +lobster1 +2gether +alfredo1 +�+����+�� +22 +chris14 +radhika +alvarez +loveless1 +green5 +familyguy +cerise +cthtuf +superman23 +robinson1 +sinner +israel1 +ichigo +children1 +pretty123 +tortuga +volvo +kaka123 +grenouille +kawaii +dragon22 +ashley7 +laptop1 +monkeyboy +pokemon11 +patty +tommaso +desmond1 +foobar +darina +loveme! +liverpool9 +kkkk +ralph1 +sam12345 +puppydog +espoir +brandon3 +??? +remote +cachorro +2babies +fabien +qazqaz1 +german1 +fabienne +meme123 +layla1 +4444444444 +lollollol +valley +poppy123 +555888 +hhhh +clouds +macarena +a7777777 +slimshady1 +speed1 +qwedsazxc +12345678m +kaitlin +ladybird +myspace21 +lucifer666 +root +zxc +112233q +cheers +atomic +angel09 +wolfie +420 +trojans +19191919 +2wsx3edc +oktober +shweta +bmx4life +canadian +tigger11 +khadija +dolapo +sdfsdf +3odi15ngxb +godlovesme +latino1 +333555 +trinidad1 +dante +idunno +lauren12 +1q2w3e4r5t6y7u8i9o +terrell +asshole! +love28 +open123 +edwin +class07 +1122334 +240 +francisca +mia123 +anthony5 +lipstick +hotpink +meow +teamomucho +not4you +jefferson1 +anthony13 +natalka +nebraska +110119 +today +lemon +2lovers +maimai +december25 +nomore +6543211 +jasmine3 +люблю +che +blaze +poohbear12 +kyle123 +sparks +1love1 +zxasqw +naruto13 +009988 +nastena +986532 +babes +france1 +tecktonik +hanna1 +Passwort +august21 +159357456 +rainbow2 +filomena +ilovemysel +sasuke12 +tolkien +123123123a +iluvme +evil666 +clinton1 +lucero +river1 +xtreme +mylove2 +petrov +morgan12 +adrianna +redroses +person +simba123 +1mommy +George +25800852 +iamthe1 +magpie +football08 +player2 +zzzzz +1pussy +1231 +cool1234 +20122012 +ghbywtccf +trenton +april26 +transformers +smitty1 +s1234567 +bigsexy1 +master2 +nicole14 +coltrane +taylor13 +october13 +951159 +k123456789 +millions +pentium4 +marija +4everlove +angelita +musical +majestic +raffaele +ruben +surenos13 +looking1 +0000007 +longhorn1 +j1234567 +sexual +sveta +fucker2 +bonjour1 +hinata +dani +1secret +medusa +1melissa +minicooper +love100 +alfred19 +595959 +jansen +123456789i +idontcare +nextel1 +Welcome123 +ukraine +red12345 +techno1 +april25 +supermario +joejonas +westcoast +horney +penelope1 +190 +harley2 +party +fkbyjxrf +kissme123 +megatron +money101 +qazwsxed +393939 +twiggy +steven123 +cheeky +dilligaf +goldstar +conejo +nicole10 +qazxcv +killer5 +bosco1 +nwo4life +hottie11 +78963214 +goliath +april19 +132132 +money22 +klaudia +123698 +baller3 +jackson2 +march24 +love92 +loco13 +170 +candygirl1 +musicman1 +matthieu +luigi +damnit +1111111a +philip1 +dee123 +strider +andrea123 +dwayne1 +powerful +althea +Abc123 +cordoba +fuckoff123 +brandon7 +guatemala1 +richmond1 +mmmm +candycane +56565656 +melo15 +cheryl1 +margaux +james3 +diamant +florence1 +geneva +march10 +�+�����+�����+�����+���� +kingfisher +gfhjkmgfhjkm +tennessee1 +suicide +phillies +ohmygod +pathfinder +august22 +cucumber +jay +carter15 +1959 +1fucker +drakon +stinker +marseille13 +today1 +123456qaz +carrera +cococo +snow +asdfghjk1 +chase123 +ginger2 +capital1 +playgirl +abby123 +valerio +susanna +minouche +sonny +tanya1 +180 +bluesky1 +malena +karthik +daddygirl1 +flavia +football33 +123zaq +159852 +pepita +mushroom1 +jackal +mikayla1 +june19 +tmm +poop1234 +avalanche +princes +carpenter +yourmom2 +bermuda +deutsch +garnet +charlie01 +forgot1 +jethro +samurai1 +mckenzie1 +prince123 +zodiac +kimmy1 +cdtnbr +supernatural +ferguson +197777 +novembre +eliana +deskjet +mazdarx8 +123456798 +weare138 +zero +genius1 +tits +killer69 +blaze420 +pooh123 +money10 +yesterday +chris5 +�+�����+�����+�����+�����+�����+�����+�����+�����+�����+���� +r1cd38d +mamacita +rosemary1 +jordyn +clancy +nicole23 +maxine1 +moimeme +freebird1 +753357 +charlie7 +radiohead1 +obiwan +april28 +topher +rock12 +really +thomas11 +myspace14 +indya123 +intruder +fabulous1 +bear12 +crimson1 +justin13 +ewanko +edgar1 +curious +fuckyou9 +fucklove13 +shilpa +chelle +959595 +enter123 +17171717 +turtles +rahman +running1 +1957 +fiorentina +topdog +reddevil +monkeyman1 +roswell +hahaha123 +gymnast1 +capoeira +condom +paul123 +narnia +20082009 +ferreira +julia123 +belinda1 +knowledge +money09 +powell +vasilisa +halima +tinkerbel1 +killers1 +july15 +bitchy +superman11 +kennwort +lukasz +333999 +e3r4t5y6 +anders +candace +blue99 +trains +daniel10 +bombay +sonnenschein +joelle +goaway +bonjovi1 +asshole69 +computador +sheena1 +user888 +alex22 +ddddd +любовь +chris22 +football6 +hopper +lespaul1 +1chicken +tralala +ihateyou! +260 +geminis +jan +marlene1 +archangel +criminal +131420 +qwerty23 +36mafia +artist1 +balla1 +chris21 +virgo +None +. +cash +bacon1 +7758520 +corleone +828282 +aa +oreo123 +100500 +romance1 +june27 +florin +seven11 +Master +borabora +b123456789 +000777 +qwerty. +princeton +flight +123q123 +frisco +money13 +stephan +cesar1 +america2 +pink1234 +tennessee +madagaskar +cartoon1 +jonjon1 +rainbow7 +121234 +slut +margarida +darrell1 +qwerty0 +afrodita +nfytxrf +wazzup +a1111111 +hey +caleb +f12345 +tommyboy +march25 +Nicole +222111 +crevette +maggie11 +DANIEL +loveable +hotshot1 +elwood +charmaine +saxophone +lover101 +oranges1 +9876543211 +160 +misfits +dynamite +a121212 +asdfjkl; +MICHAEL +password18 +expert12 +emerica1 +pimpin69 +moskva +100484 +boobie +telephone1 +norbert +annaanna +purple! +shankar +iloveyou16 +cathy1 +sinbad +Hannah +milkyway +l6ho3tg7WB +love05 +ne1469 +manhattan +sanders +froggie +sugar123 +1234567d +underoath1 +hazel +karen123 +gmoney +nemesis1 +expert +555555555 +april29 +gamecube1 +angel666 +Joshua +babygirl20 +aurelia +tartaruga +momanddad1 +craig +sample123 +libby1 +werwer +lingling +cutiepie12 +presley +bam123 +hihi +sharpie1 +hejsan123 +gribouille +171204jg +lol101 +multimedia +george12 +srilanka +austin01 +misty123 +computer123 +bitch7 +miami +patrick2 +erin +alex14 +mitch1 +krishna1 +edward12 +krissy +priscilla1 +boobie1 +louisa +malinka +211314 +121212q +pete +ohyeah +5482++ +steven12 +666666666 +zzzxxx +minnesota +emanuela +severine +kassandra +012345678 +serendipity +ashley3 +meatloaf +miguelito +cookie11 +souris +sweetlove +colocolo +havana +annie123 +boxing1 +princess19 +1234567k +physics +mamasita +infinity1 +asasasas +boyfriend +camper +cobain +karma1 +shiva +lolalola +harris1 +panic! +dontknow +1dragon +cunt +happy7 +sexybaby +scream1 +niklas +alexis2 +yellow5 +coolkid +poiuy +eloise +jehova +q111111 +eugenia +berenice +1213 +400101 +shiloh1 +undead +polpol +pepper01 +654321q +trigun +angels2 +sexybabe1 +august14 +love2love +dupa +bigboobs +kasia1 +olumide +147 +boomboom1 +victor123 +loser5 +wz362308 +summer2010 +henrique +aggies +12345678900987654321 +nokia5300 +empire1 +bighead +mahalkita1 +terminal +hello2u +diana123 +divorce +dinara +blanche +alcatel +premier +gideon +258741 +lisalisa +q1q1q1q1 +chino1 +march14 +ranetki +1958 +chelsey +hockey10 +checkers +M1chp00h +hopeful +mylove12 +maggot +sanjose +angus1 +pink10 +lovehate1 +fuckoff69 +qwerty3 +baptiste +67mustang +zebra +password12345 +crackhead1 +gbhfvblf +allmine +ocean +bdfyjd +moocow1 +yjdsqgfhjkm +ashanti +zimmer483 +nico +june30 +ale123 +zzzzzz1 +mexican13 +samsara +amanda11 +bigmac1 +gayathri +lion +diane1 +purple5 +kingpin +sneaky1 +sinaloa1 +rookie +1onelove +myspace6 +goodday +marc +steve123 +imesh +toronto1 +789123456 +pretty2 +champ +loveyou12 +cookies2 +haley +corina +mikael +starwars3 +pepsicola +numero1 +kylie1 +stalin +lunita +berry1 +babygurl2 +o123456 +johanna1 +coralie +Jordan23 +gbcmrf +poppop1 +tajmahal +forward +12369 +godsmack1 +josephine1 +bassman1 +tripleh +woohoo +satish +9562876 +cv1230 +lotus +shitty +1357908642 +fabiana +jason12 +manzana +alpha123 +voodoo1 +hotchick +million1 +salazar +987412365 +benjie +nicole27 +momoney1 +jehovah1 +jeff24 +ulysse +oliver12 +zxcvzxcv +james11 +sander +1qaz!qaz +rockets +milka +whiskers1 +service1 +jesus10 +pharma +science1 +snatch +Hello123 +kool123 +godson +bjk1903 +marty +linkedln +789456a +abcdefghi +gwapako +sexy24 +smoker +annabelle1 +iloveyou01 +elena1 +cute12 +libra +3456789 +devin +juice +death123 +74107410 +nigga12 +football32 +pink14 +tina123 +kayleigh1 +khalil +sofia1 +aubrey1 +dbnfkbr +20042004 +bakugan +malboro +claudine +april27 +seeker +orange11 +neopets12 +firenze +medion1 +summit +november19 +Martin +tangerine +hello13 +lilbit1 +brennan +laurel +savior +truck +190986 +mmmmmm1 +avatar1 +1233210 +soccer99 +imthebest +azertyu +juice1 +blue14 +alex21 +syracuse +loser! +zerocool +wolfpack1 +mariela +regine +fuck1234 +blackcat1 +scorpions +blanco +detroit313 +iloveu3 +1231230 +fucked +denmark +c123456789 +woshiyazi +asdfqwer +henry123 +july10 +Anthony +ghbrjk +giorgi +spikey +green22 +memories +shalini +zsazsa +mrf11277215 +sanandreas +lucky3 +koko +Richard +black13 +silverado1 +journey1 +browns1 +quincy1 +passer2010 +zalupa +coleman1 +newyork2 +samantha2 +operation +one2three +kiara1 +quantum +vegas1 +homerun +0o9i8u7y +popcorn2 +1q2q3q4q +wanker1 +lambert +puddin +rob123 +302010 +sapphire1 +yeshua +military +magnolia1 +jimbo1 +iluvu +zzz123 +sunshine11 +moncoeur +spoiled1 +racoon +july13 +july16 +tree +mama11 +300 +killme1 +avril +iloveindia +luckyme +obama08 +for +honey2 +poupette +ramones1 +teodoro +virus +candace1 +etienne +198500 +nookie +bababa +afrika +rochelle1 +ocean1 +western1 +peaches2 +vince +guitar123 +lili +marek +xanadu +breezy +lamar1 +keystone +jonny +goodgod +t: +dfa72dfj +cbr600rr +birillo +neelam +pissoff +rasta +hellyeah +jordan22 +player12 +poptart +benson1 +a987654321 +goldwing +camel +Justin +boots +mykids1 +the123 +calypso +???? +superman13 +bobcat1 +vampir +whoami +nitram +football55 +darthvader +superman5 +capital +memorex +o +roland1 +torres1 +avery1 +herman1 +samsam1 +trustnoone +poohbear2 +robert01 +270 +bonkers +notredame +fucker! +love666 +july17 +glenda +playboy2 +fuck13 +ffff +julio1 +198600 +karaoke +bombom +joyce1 +ann +chunky +carla1 +master11 +liverpool2 +maximka +020 +felix123 +corsica +12qwerty +dentist +savanna1 +nigga2 +ethan123 +nadejda +challenger +dialog +coolness +andrew13 +madison3 +biatch +villanueva +ademola +flamingo1 +spidey +selene +fuckyou23 +cougars1 +ellen +catcat1 +crack1 +chopin +agatha +carmine +resume +moses1 +plumber +faker1 +ventura +truck1 +222555 +848484 +ilovejosh1 +electric1 +artur +213213 +rasputin +donuts +romario +zoloto +yOp7s55 +00000a +1qaz2w +nicole! +1123 +drama1 +fitness1 +carpet +pppp +purple4 +shivani +falcons7 +bluedog +pallavi +123456789A +romantic +martine1 +personal1 +doktor +waffles +atlantic +fantomas +olimpia +flipflop +marmar +tazman +scott123 +baby18 +livelife1 +driver1 +number10 +birmingham +aladin +oceans11 +limpbizkit +celtics1 +waterpolo +matisse +number8 +assassin1 +sashka +mister1 +brady1 +357357 +number4 +momof4 +lilly123 +moonbeam +october23 +12345y +machine1 +garage +v12345 +paulina1 +critter +159874 +picture1 +hummerh2 +yellow3 +oblivion1 +918273645 +werty123 +sprint1 +smokey12 +123xyz +indians1 +express1 +123123456 +momo123 +tatarin +alex23 +and +october12 +aurelien +leonidas +hip-hop +hotchick1 +funfun +2012 +jjjj +chocolate! +june29 +alphabet +hottie01 +declan +slipknot666 +tink123 +armageddon +chelsea2 +q12345678 +anonymous +diciembre +hotsex +1234567t +03082006 +ashley21 +y +fun +brando +bobafett +hooker1 +android +helena1 +polly1 +hello22 +dominick +winners +iloveyou0 +cosita +sylvain +doodles +loveable1 +cosmo +kenny123 +yfcntyf +qawsedrftg +tania +oxygen +196 +joseph2 +aabbcc +123qqq +march19 +salamander +liliana1 +integra1 +fuckers1 +D +deacon +nigger2 +anthony11 +sheryl +Iloveyou +navarro +alfie1 +1955 +aaaaaaaaa1 +soraya +snoopy12 +football44 +H1xp2z2duK +poopy12 +easy +4wheeler +pompey +loveforever +09090909 +tigger13 +90909090 +myworld +bird +mickeymous +disneyland +gonzalez1 +rugby1 +blueboy +jagger +callum1 +marcel1 +monkey99 +yogibear +rhfcfdbwf +golfclub +ultras +saratoga +bigben1 +brittany12 +C +skate12 +ollie1 +goodtimes +breezy1 +smokeweed1 +sausages +aaabbb +karla1 +1357 +because +aurora1 +chelsey1 +yangyang +newport100 +pizdec +junior13 +rusty123 +A12345 +krolik +sexxy1 +duck +frisky +reddragon +rosie123 +armand +e23456 +july11 +asdasd666 +barracuda +kids +reynolds +godbless1 +alan +amizade +fingers +lauren123 +p0o9i8 +ronron +carlos13 +perrito +x +austin11 +palmeiras +tessa1 +dejavu +crawford +1jessica +roadking +3edc4rfv +excellent +Maggie +blessed2 +chi +molina +wetpussy +loveit +audia6 +smirnoff +ruben1 +football25 +browneyes +280 +princess18 +gmoney1 +634142554 +esmeralda1 +football15 +daffodil +starwars2 +bruiser +carlito +bigboy2 +idk123 +flavio +astonmartin +georgie1 +William +dingdong1 +Change1234 +resetme +i123456 +bla +78945612 +tigger22 +queenie1 +angel24 +gabby123 +aaabbb2 +shadow3 +cfvceyu +stone +gollum +march26 +october21 +gustavo1 +charmed3 +twinkie +preacher +Buster +ilove2 +star22 +piotrek +baseball25 +jennifer2 +tupac +clemence +servus +cortez +hammer123 +tracey1 +fire123 +lilbit +anna12 +kavitha +abbey1 +asdf11 +bubba2 +bigboy12 +S +kamil +thethe +shasta1 +dogs123 +master01 +chelsea12 +prettyboy +asawako +bluestar +prosper +bullseye +001001 +pizza12 +gerald1 +farhan +lovegod1 +biteme69 +typhoon +13572468 +145632 +aleksei +camila1 +timber1 +randall1 +qwertyuiop12 +connect1 +hugoboss +tim +whocares1 +webmaster +march31 +sexyass1 +pimp01 +paranoid +brett1 +223456 +cameron2 +crazygirl1 +leopold +aqwzsxedc +1stunna +john11 +estefania +lucky11 +elvis123 +riverside1 +janelle1 +akira +target1 +blood123 +schule +cleopatra1 +another1 +q1q2q3q4 +chocolate7 +bobbie1 +zephyr +elsalvador +marisol1 +cruzazul1 +9876 +needforspeed +model1 +gypsy1 +brewster +gotmilk1 +thalia +duchess1 +arcangel +mic +chica1 +jFgvCqBuzUG +wewewe +jazzy +desember +blood4life +film@123 +chris18 +maiyeuem +backstreet +jonathan12 +grumpy1 +austin2 +bella2 +santa +droopy +myszka +wilfried +apollo11 +gtnhjdbx +sekret +1hello +gagaga +august18 +fabian1 +morgan123 +smudge1 +dupa123 +lexor123 +197 +august19 +951951 +biologia +march16 +july24 +jesuscristo +maddy +new123 +sharky +sienna +valhalla +matty1 +varsha +mickael +ana +double +collin1 +asshole3 +bastian +ashley! +august16 +sarah12 +intrepid +secreto +rencontre +iloveyouba +westside13 +artem +werty1 +tahiti +carlitos1 +bollocks1 +271282 +march27 +badboy123 +1qaz2wsx3edc4rfv +michaela1 +clueless +dodger1 +bigmama +sexii1 +blues1 +hitler1 +blink123 +cosworth +Hunter +963369 +shevchenko +LOVELY +shreya +ant123 +william12 +4jesus +boeing +zxcvbn123 +stimpy +slovensko +123admin32 +cody12 +lady123 +ctrhtn +4545 +1111aaaa +doobie +wireless +miles1 +carine +rhfcjnf +money08 +capucine +eddie123 +9874123 +TOPBUTTON +bitch21 +stefan1 +494949 +gucci +supreme +reunion +magical +piccola +agustina +nenita +trust1 +kfgjxrf +shadow22 +migrationschool +godwin +dddddddd +letsgo +tricky +78787878 +myriam +noemie +mistral +vinicius +aassdd +mischief +oreo +gary +calculator +kat123 +198400 +abc123! +highschool +mustangs1 +fishy1 +gwapoako +mudvayne +celtic67 +daisydog +niners +radical +philipp +orange3 +mongoose1 +jon123 +rivers +stewie1 +jaime1 +cookie13 +qw1234 +numberone +killer23 +hazel1 +weedman1 +lovely69 +tootie1 +ASDFGHJKL +357753 +miles +purple23 +kazantip +bears +gabriella1 +moussa +potato1 +paper +melissa123 +massage1 +matthew7 +hellboy1 +pepper11 +marron +loveme4 +stasik +blue15 +fyfnjkbq +bitchass +march20 +mikey123 +mars +667788 +olalekan +ksenia +zidane10 +cuteko +1956 +july27 +payton34 +nuvola +hockey7 +august15 +peanutbutter +hillbilly +citizen +gangsta2 +insomnia +surabaya +rocketman +abraham1 +12345687 +090790 +baby17 +genevieve +hunter3 +dominik1 +butterfly6 +Jesus1 +loveu4ever +1moretime +maminka +baggio +formula +120679 +japanese +heka6w2 +boob +march28 +overdrive +919191 +fordfocus +14789 +wiggles +michael4 +crazy13 +harlem1 +wally1 +tipper +123wer +august25 +celtic123 +babygirl8 +money21 +poupee +1234567890-= +a666666 +espana +angelic +keepout +superman! +1234567u +fxzz75yer +boxer1 +1gangsta +my204856 +edwin1 +engine +sunrise1 +michelle3 +vfntvfnbrf +chocolate3 +119119 +d4 +shaun1 +sunsh1ne +amanda01 +deathnote1 +timtim +grapes1 +Doomsayer.2.7mords.VV +profile +qwerty88 +nipples +013579 +ashley14 +ggggggg +love93 +zzzz +jessica11 +gorillaz +bolton +shashi +cuties +mother3 +smarties +peanut01 +dummy1 +bigbird1 +lexus1 +greeneyes1 +lolololo +thiago +play +Elizabeth +lbvjxrf +ou8122 +armyof1 +david13 +august28 +qwaszx123 +emerson1 +aventura +bowser +aze +poodle1 +depeche +redfox +leigh1 +godblessme +kickflip +yahoo12 +southpole1 +caitlyn1 +capone1 +sancho +augusto +qwezxc +cheese3 +hithere1 +december19 +oldschool +blogs123 +nokia6600 +drag0n +contrasena +reglisse +babies1 +getajob +david01 +awsome1 +bigballs +justin10 +charity1 +my.space +casper123 +Trustno1 +delilah +avenger +charlene1 +200200 +danny12 +lenlen +zelda +iiiiii +qaz12345 +misha +chiquita1 +danielle12 +1225 +juliana1 +metalica +noviembre +music! +burger1 +dani123 +jesus13 +qw3rty +quiksilver +bernie1 +july18 +justin3 +tiburon +Christian +777777777 +chris15 +665544 +october22 +qwe123asd +dragon10 +joyful +rasta1 +babygirl18 +marion1 +melbourne +mommy4 +redhot1 +ashley16 +smokeweed +chipmunk +ddd +pokpok +rubber +hockey13 +ludacris1 +pereira +poncho1 +woaiwojia +asdfgh01 +gatorade +sepultura +sheba +123odidol +michael! +molly12 +gaetano +homie1 +redfish +sixers +mark12 +valery +love03 +jeff123 +pancake1 +hilaryduff +01234 +preeti +rosanna +maemae +princess07 +liquid +naruto10 +caracas +divina +riverplate +virgo1 +britt +iriska +nathan01 +july28 +usher +sunnyday +vika +1hunter +jackie123 +tanker +october7 +lester1 +canabis +magician +dada +chinita +heyheyhey +nicole16 +765432 +qwer12345 +makemoney1 +passme +lifetime +mmmmmmm +intermilan +sexygirl12 +ggggg +bigmama1 +ljxtymrf +zzz111 +sooner +keisha1 +tictac +ahmed123 +chick1 +subway1 +18436572 +whatthefuck +babygirl07 +anthony01 +obelix +Samantha +crocodile +game +yourmom! +anastasia1 +luis12 +rebekah +1234567891011 +candyman1 +nice +papa123 +broncos7 +pillow1 +windowsxp +marty1 +chicken! +kristy1 +summer! +19621962 +thompson1 +alexan +love94 +dave123 +yahoo! +freestyle1 +mail.ru +mahalkoh +peace2 +purple01 +fake +shelley1 +200991 +lover3 +lucky5 +universal1 +madinina +jordan21 +manunited1 +karima +webcam +october2 +198700 +aaa123456 +dynamo +molly2 +toby123 +boyboy +social +tribal +bigboi1 +killbill1 +scoobydoo2 +hello12345 +pink23 +asdzxc123 +jjjjjj1 +01011990 +dawn +chinedu +fucker69 +him666 +888 +привет +tornado1 +dinosaur1 +julio +rodina +gatinha +orion1 +mike13 +777333 +050 +dogcat +dddddd1 +killer3 +qaz741 +XBLhInTB9w +hhhhhhhh +jelly +akshay +telecom +patrick123 +babyphat +olamilekan +lancaster +charley1 +rhonda1 +silent1 +R9lw4j8khX +bastardo +chihuahua1 +guitare +camaro69 +revolver +giselle +rocco1 +homero +matheo +qaywsx +ilovealex1 +freedom7 +smokey123 +nike23 +zxczxczxc +groovy1 +123546 +muriel +whitesox +merda123 +vortex +daniel7 +goodgirl1 +rfhnjirf +salut +reese1 +brett +barry1 +vittorio +cupcake123 +bigguy +caonima +swords +135135 +vadim +chantelle +marquis1 +yellow22 +greentea +ledzep +ilovenick1 +Harley +huskies +darnell1 +starfire +hello0 +starcraft2 +nibbles +biohazard +fuckmylife +poison1 +dead +goodluck1 +henderson +sal +icu812 +friends3 +yvette1 +tatata +nadine1 +redwine +forgotten +hottie5 +emperor +meatball1 +1killer +macaco +sonata +natascha +sanjana +norway +jill +bullfrog +murzik +frozen +edgar +bingo123 +melissa2 +sexybeast +elisha +gansta1 +12131213 +dallas12 +rusty2 +constantin +skate2 +bettina +leanne1 +deluxe +holidays +mike22 +mustard +camping +pepe +chaser +penny123 +sport +kickflip1 +popcorn123 +arschloch1 +atticus +sandra123 +kisskiss1 +titi +rick +spotty +bdfyjdf +speaker1 +sherwin +snapple1 +naomi1 +gggggggg +rocco +cats123 +solaris +mV46VkMz10 +kingston1 +zxcasd123 +tantan +common +people123 +july29 +030201 +james01 +tmnet123 +studio1 +michael8 +tequiero1 +albania +square +thankyou1 +333666999 +wwwwwwww +petra +andrea12 +jimbo +napoleon1 +august17 +raquel1 +princess6 +du8484 +holyspirit +need4speed +cherry2 +pumas1 +friends4ev +redrose1 +alena +chunky1 +markiz +apples12 +abc456 +bumblebee1 +bradpitt +zzs000000 +cam +chris17 +xtseo2011TDX +patricio +nadia1 +chris7 +redline +peaceful +kayla12 +poi098 +july19 +luisito +cruiser +goodboy1 +princess69 +my1space +chicken3 +qqq +1223334444 +honeys +samuel123 +sta +ripley +bigbear +jester1 +ambition +mommie1 +kenshin1 +290892 +trucks1 +dayday +clever +bitch6 +bronco1 +freeze +qwert5 +lovelovelove +hola12 +narayan +art +caralho +jessica01 +access1 +mobile1 +gareth +charlton +lfitymrf +jarule +eugenie +grateful +jonathon +1020 +deepika +vova +snakes1 +120279 +newpass1 +superman10 +bball11 +sunlight +vanessa123 +august10 +triplets +malaka +track1 +dammit +sicilia +rhjkbr +colin1 +metalgear +blackman1 +tim123 +hansen +july25 +cherries1 +gutierrez +hellomoto +fucker123 +lovers123 +graffiti +??????@mail.ru +silver123 +magenta +bitch14 +elizabeth3 +konrad +bryant1 +saraswati +martin12 +patryk +asdfjkl1 +maya +baby06 +password55 +1babyboy +chavez +knuckles +bouncer +152535 +lizzy +amber12 +somebody +tabby1 +-deleted- +batman11 +nirmala +jungle1 +biloute +chandu +falloutboy +pancakes1 +rugby +letmein! +lilith +246800 +all4me +kkkkkk1 +bud420 +1qw23er4 +zaragoza +tamtam +3angels +alfred1 +doghouse +6358986 +angel777 +remington1 +ilovemybab +aussie1 +bitch09 +16051980 +aguila +marquis +iloveboys1 +magda +baseball17 +spongebob3 +zero00 +*123456 +Jesus +river +twelve12 +gitara +marsha +222222a +blowjob1 +bisous +asdfg12 +meister +sukses +bball3 +ilovemike +admiral +scout +april2 +111122 +pimpin101 +awesome123 +2345 +google2 +kansas1 +198200 +kamala +costarica +darryl +apple3 +alohomora +destiny123 +199999 +titleist +fuckyoubit +reading1 +hastings +piano1 +18181818 +shearer9 +!QAZ2wsx +fuckyou420 +fuckyou21 +sasa +adadad +georges +torrent +spartacus +number23 +august24 +brad +mad +pooppoop1 +michoacan1 +chivas9 +fantastic4 +truman +956208q +alone +bruiser1 +cristiano7 +iamgod +pixie1 +warning1 +gustav +qwerty00 +redhat +newzealand +hotwheels +6strings +amanda13 +lakeside +colette +welkom01 +brandon5 +french1 +mamma1 +brandon13 +fK3456abc +december10 +warhammer1 +niggas1 +shark1 +007bond +151617 +johnathan1 +12s3t4p55 +fantom +tyuiop +030 +lol123456 +atreyu1 +bennie +hitman47 +timoxa94 +king11 +cyclone +1ashley +greenbay1 +ashley22 +worship +190494 +yousuck2 +davis1 +showme +gregorio +stupid2 +walkman +iloveme12 +anthony4 +daniel22 +charli +penguins1 +miriam1 +colby1 +yfz450 +elisabetta +siemens1 +pppppppp +mommie +cerberus +123147 +kobe08 +fergie1 +nautilus +compton +1friend +lovable +jerry123 +dwight +123abc456 +Marina +thesims +122334 +picasso1 +crazybitch +playtime +098098 +bluemoon1 +julius1 +1shadow +0o9i8u +midnight12 +ssssssssss +ximena +tessie +007007007 +rotterdam +mayhem +nosferatu +yellow7 +westlife1 +ramazan +purple10 +evelina +compaq123 +stupid123 +lulu123 +mandy123 +jesus101 +heather2 +butch +dad +space123 +angel1234 +gfcgjhn +dreaming +rapper1 +america13 +collins1 +dmoney1 +stone1 +wer123 +butters +gthcbr +sunshine01 +rob +tinker2 +lfybbk +040506 +angel06 +august31 +dragon3 +calibra +musiclover +husband1 +gu1tar +allahuakbar +camelia +bar +gunsnroses +feyenoord +99887766 +cheer12 +demon1q2w3e +zaq12345 +python +gatorade1 +howareyou +olanrewaju +james13 +123456789123456 +tresor +sassi123 +gofish +hannes +toutou +jessica! +lpl +president1 +gettherefast +A +killerman +roses1 +football07 +papichulo1 +heavymetal +minime1 +nina123 +garden1 +shivam +digimon1 +65mustang +julianna +april4 +solidsnake +tttt +pwtest +Andrey +dasha +baller2 +112 +rugrats +floflo +png +dreamcast +u23456 +PhoeniX +partner +pepino +countryboy +farmer1 +ginger01 +honda250 +soloyo +sexy19 +cloud +hotmail123 +aishwarya +liverpool5 +southern1 +banana12 +guitar2 +milashka +aidan1 +345345 +bitches2 +football34 +ashanti1 +ashley10 +deusefiel +evolution1 +chestnut +heavenly +princess24 +devils1 +123123z +L +bubbles3 +secret2 +flores1 +florent +october11 +clementine +cousin +shauna +ilovematt1 +popstar +1223 +camara +anitha +dancer12 +dragon21 +Liverpool1 +seahawks +kidrock +chevelle1 +sexy#1 +link123 +anakonda +scottie1 +puzzle +zero123 +maryland1 +campbell1 +dra +110018 +pimp4life +ksusha +maureen1 +butterfly9 +pommes +july31 +carrot1 +platon +geetha +geheim123 +andrew3 +jordan4 +vipers +hampton +no1knows +anusha +pink21 +shearer +find_pass +518518 +lover5 +sheridan +fiorella +homies1 +snoop +mommyof2 +3698741 +karolina1 +mcdonalds1 +christin +kitchen +mistress +kowalski +smokey2 +myspace4me +motherof3 +liverpool123 +diamond123 +chris16 +predator1 +happy3 +rfn.irf +april30 +tarheel +B +nicole5 +love2007 +123456789* +internazionale +bernice +000666 +daniel3 +852741 +tunafish +seahorse +sidekick1 +lovers12 +ramirez1 +jasper123 +fidelio +michael10 +smile2 +1234qwerty +sporty +asd666fds +hotty +salamandra +bubby1 +octavia +loveyou! +1235 +c00kie +pizzahut +goldfinger +bbbbbb1 +system32 +bball22 +bengals +hurley1 +LOVE +jackson123 +walleye +dawson1 +carlton1 +01012011 +2twins +shahrukh +ananda +march29 +demon1q2w3e4r +�������� +marie3 +baggies1 +method +october14 +bvp33W7epU +tracker +klopklop +gospel +pinkpink +monroe1 +morrowind +lordjesus +princess17 +dragoon1 +jackass123 +whitesox1 +clarisse +october15 +butters1 +princess20 +snowie +ruthie +ringo1 +chicks +masamune +alligator +kolbasa +vivian1 +balloon +nessa1 +love420 +rufus +sarasara +beloved1 +oioioi +mike69 +mygirl1 +1baseball +whatup1 +immortal1 +jordan45 +ankita +einstein1 +leonel +wert +mohamed1 +cutie13 +havefun +insurance +hottie4 +pink15 +krista1 +mandrake +taylor10 +zaqzaq +football. +carebears1 +football69 +denis1 +magick +magicman +apples2 +123454 +1flower +adrian123 +destiny7 +popo09 +789456123a +alianza +nicole15 +candela +beatrice1 +viper12 +shane123 +bigone +iloveme3 +snowy1 +maisie +players +watson1 +grant1 +1112 +stacy1 +3daysgrace +stuff +alex15 +bobby4 +rjhjdf +thisisme +octubre +kids123 +matrix123 +silver12 +eatme1 +19601960 +siobhan +azert +origin +68camaro +friendofjoan +mateusz1 +lululu +y23456 +paradis +gallardo +362514 +hellomoto1 +password45 +mindy1 +mel123 +1010101010 +bitch4 +doremi +Victoria +dragon99 +poop69 +mark_963 +loser101 +tereza +&hearts: +green23 +jalisco1 +bounce +gayatri +deadhead +pistache +embrace +taylor3 +saretta +roberta1 +rbOTmvZ954 +tortue +gamer +titanium +lennon1 +harish +lara +5plK4L5Uc7 +jim123 +nellie1 +magnum1 +raistlin +nfy.irf +alisa +dakota12 +leroy1 +jade123 +maria13 +aramis +wareagle +continue +grandad +090 +uzumaki +eistee +stewart20 +fraser +159357a +Taylor +portable +tunisie +goofy +avinash +painter1 +23 +jamesbond1 +stuart1 +bearbear1 +a55555 +0007 +martini1 +myspace06 +eri +hey12345 +ballerina +yourgay1 +rashid +tata +kaitlin1 +verizon +aloha +pandabear +hansolo +cornwall +qwerpoiu +july20 +beretta +nanny1 +b-ball +bobdylan +quattro +weronika +21 +1qaz@WSX +poiuytre +omar123 +sixty9 +lovesex +alexia1 +147258369a +1nicole +starwars12 +jayson1 +samsung2 +reliance +juliana123 +eternal1 +chuckie1 +wisconsin +adrenalin +jimmie +belinea +squirt1 +notredame1 +jessie123 +blackout +myboys2 +killzone +bangkok +liz123 +animation +cocaine +bigfish +alyssa12 +mac +ola +o23456 +vasiliy +shakur +jaime +kkkkk +nokia5200 +booster +flo +twinkie1 +sisters1 +gunther +forrest1 +thebeatles +marie13 +catman +ruby123 +singing +12346789 +fatty +children4 +nickolas +bertrand +diva123 +102030405060 +hannah10 +kat +windsurf +rerere +vera +hockey123 +xiaoxiao +bandit12 +youknow1 +combat123654 +p4ssword +coccinella +angell +superman123 +love32 +salasana +babygirl6 +vjqgfhjkm +queens1 +marimar +princess123 +555555a +bookie +slinky +whatever4 +class2010 +mustang50 +member1 +marie05 +bmw325 +herbert1 +fuckfuck1 +rfntymrf +5845201314 +contrase +nick11 +sophie12 +monkeyboy1 +serseri +suslik +doodlebug +555444 +public +tzir25l5KN +12345678d +3.1415926 +star10 +harekrishna +chingy +5X1CJdsb9p +whatever12 +monkey15 +schneider +vienna +marita +4girls +thailand1 +maserati +meandyou1 +rooney1 +july26 +777888999 +vivien +electrical +khaled +bacon +august26 +vintage +capetown +fuckyou0 +aliyah +bible +peterbilt +shazam +november12 +jacob12 +consuelo +senator +michael21 +Qwerty1 +mel +grant +inuyasha12 +ddddddd +sheffield +softball5 +reno911 +omni +love96 +pegasus1 +squirrel1 +jaybird +snoopdog1 +jammer +nurse +gina +chad +pipoca +love90 +brandon11 +getsome +infantry +London01 +thematrix +1chris +perros +ohiostate +hugo +qwerty10 +richard123 +dedewang +rapper +sandwich +ashley15 +Natasha +pigeon +lacrimosa +password25 +hello4 +30media +ilovemykids +punisher1 +cookie! +kitties +cocksucker +downtown +tundra +peace12 +pooter +137900 +diamond12 +lemons1 +dedede +whatup +combat +cvzefh1gkc +stronger +queenbee +chloee +doggies +filipe +coca-cola +pol +Qwer1234 +richard2 +pimpdaddy +makaka +roxie1 +jason2 +wrangler1 +playstation2 +japan1 +terrence +Tigger +macdaddy +tigerlily +1FpTJTl919 +uzumymw +freedom123 +1234123 +hockey99 +justin21 +1dollar +blues +187187 +India123 +jesusloves +twins1 +west +q123123 +generation +rich +loveme22 +johnnydepp +sauron +madman1 +corentin +Jackson +sheetal +abby12 +bubbles! +scheisse +niggers1 +softball14 +bart +robert11 +airplane1 +rescue +auditt +world +can +player123 +egorka +101090 +arod13 +heyheyhey1 +baltimore +lopata +kurtcobain +rocky12 +armani1 +cutie11 +bambi1 +jazzy123 +tatjana +edward2 +meenakshi +W1aUbvOQ +danish +surprise +mariners +040 +rachel12 +ottootto +bismilah +gwapoko +flatblocker +chocho +mustang67 +gaelle +sokolov +122122 +michael22 +dreamgirl +hottie69 +sharks1 +ann123 +algebra +barbie12 +rudolf +babyboy123 +checkmate +welder +skyliner34 +himanshu +merlot +lollol123 +aerosmith1 +llama1 +blaster1 +joselito +hunter5 +october3 +stuttgart +david11 +sylvester1 +centrino +zach +sex101 +060 +barry +hockey2 +pink16 +nik +realestate +romans +dodong +honolulu +nascar8 +bob1234 +blue44 +stoney +santafe +Sergey +beamer +& +27081989 +918273 +sinatra +vietnam1 +1mustang +juju +longbeach1 +football99 +turtle2 +analsex +boss123 +guess1 +princess. +daughter1 +kirby +romane +charlie5 +camel1 +keller +lolol +julie123 +scamper +keywest +purple8 +vickie +jasmine7 +couscous +myfriend +cheese11 +miley123 +sally123 +1sexybitch +wasabi +skaterboy1 +carlos2 +trisha1 +noelia +butterfly5 +tenten +lynlyn +funtime +bitch08 +maxim +camion +linker +naynay +mickey01 +kamran +matematika +native1 +zorro1 +400064 +softball22 +ang +weather1 +eastside13 +ricky123 +camden +500500 +peach +tony20 +softball8 +nokia5130 +sony123 +bailey2 +12345x +brebre1 +justin22 +halo12 +birdie1 +poophead1 +asasas1 +forever123 +foster1 +iloveyou18 +antonina +sch +popopopo +heartless1 +wassup1 +trapper +blacks +1qazxsw +tiamo +7894561 +bobby12 +love66 +love95 +bubba12 +boyfriend1 +sahabat +august27 +bryce1 +nenette +demon1q2w3e4r5t +trinitron +iluvyou +property +italy1 +beebee +vacances +290 +ninjas +johncena12 +may +divine1 +devine +171819 +dundee +browneyes1 +korova +saopaulo +dfytxrf +junkie1 +weston +1jordan +1a2a3a4a5a +0147852 +101088 +tiziana +pistol +forgetit +nipple +gangsta6 +rafaela +putter +19 +antoinette +jeannie +hunter13 +proview +myspace201 +9958123 +sephiroth1 +active +dirty +chintu +ASDFGH +bootsie +coolgirl1 +hello99 +pegaso +october16 +rita +010989 +paris123 +noah +newyear +godslove +carter3 +allie +junpyo +kimber +taurus1 +cullen +olive +lovejesus +harley69 +hej123 +lynette +500072 +roshan +1234as +emokid1 +titan1 +fiona +zaqxsw12 +annmarie +hockey19 +transport +unlimited +allyson +harvest +trustme +fyutkjxtr +iloveyou143 +surf +curious1 +tigers12 +cutter +musical1 +cowboys9 +island1 +aries1 +jordan14 +tink12 +fun123 +bastien +1954 +fcbayern +hot97hot +cesare +berlin1 +mallard +Jessica1 +satan1 +2CxdN8S271 +grayson +vaishali +anamika +number6 +r123456789 +nike12 +saviour +kevin11 +????? +steph123 +fernandes +tigger3 +plasma +cheerleader +and123 +salinas +celticfc +gunnar +dougie +frodo +diehard +987654a +jim +stephanie2 +!QAZ1qaz +520530 +march3 +concorde +12345six +edinburgh +community +johnboy +mouse123 +�+������+ +static +slipknot12 +wheels +annemarie +omar +badboy12 +bra +mutter +happy5 +hungry +rockie +topgun1 +01234567890 +pimp14 +becca +loveme69 +1224 +chris6 +bball10 +riley123 +subaru1 +1234aa +foxracing1 +gravity +cancan +opopop +jj1234 +monkey. +sensei +J1V1fp2BXm +everlast +tiger5 +swallow +13141314 +seminole +fanny +marias +last +romana +misfits1 +sunshine13 +tommie +Dragon01 +111777 +hunter10 +sternchen +silly +berkeley +eleanor1 +rb26dett +globus +favre4 +felipe1 +ernesto1 +nickel +kermit1 +ilovejosh +mazda +1234567r +purple21 +leedsutd +ilovematt +papaya +fragola +123lol +nokia3100 +1234567Qq +marta1 +hannah3 +elizabeth7 +azerty12 +hudson1 +serpent +metallica2 +bangbang1 +yU5L97wK8Q +qazxsw12 +1qwertyuio +dieter +yahoo2 +renegade1 +blackwater +nevermind1 +marielle +killer99 +bismillah1 +coolbeans +squash +yassine +daisy2 +Matthew1 +doglover +harvard +cnfybckfd +gcheckout +hothot +historia +superman69 +samsung12 +chinna +fudge1 +alexis01 +hikari +124578963 +vader1 +ryan11 +bubble01 +username +976431 +thunderbird +Nikita +idontcare1 +hopeless +getmoney2 +maomao +letme1n +looney +meridian +divorce1 +poopy123 +airbus +bigpimp1 +october17 +normal +fluffy123 +ball +mcdonalds +sport1 +123467 +cindy123 +psychology +123a123a +gordito +gamer1 +emanuel1 +miamia +black5 +12345zxcvb +ingodwetrust +hfljcnm +123581321 +poker +coach1 +catalina1 +nicole18 +prudence +cornelius +justin7 +mommy5 +russia1 +buddyboy1 +flowers2 +acc123. +1818 +brendon +messi +1baller +ola123 +colin +arcobaleno +masha +jjjjj +junior01 +doggy123 +iloveu7 +nat +nicola1 +morrison1 +catdog123 +lolipop123 +eraser +humberto +1apple +junior10 +brayan +butcher +orange7 +12love +cake +trident +blue45 +gracia +celular +titeuf +michael9 +mamadou +10101 +duke123 +Linkedin1 +football77 +booker +rockstar2 +happyfeet1 +ib6ub9 +david3 +augusta +spaceman +flames1 +coventry +sdf7asdf6asdg8df +19611961 +successful +sunshine5 +mason123 +kevin2 +mysterio +blanca1 +ashley23 +nicole08 +12345asdfg +harlem +manning +libra1 +badazz1 +prince12 +hillbilly1 +anthony23 +ffffffff +colors +1212121 +1life2live +iloveyou24 +thecure +hiphop2 +1brandon +universo +honeybear +earth +babybaby1 +tempest +applesauce +hannah7 +cancer69 +estate +dragon23 +rememberme +1919 +zoomzoom +Superman +goose +1peanut +tardis +abc1234567 +oceans +amylee +football123 +primus +bennett1 +call911 +bad +qpalzm +station +olaola +3babies +alanis +vikram +shotokan1 +nono +121213 +star14 +ginger11 +cVZEFh1gkc +peanut11 +atreyu +mariella +champs +01091989 +krissy1 +austria +green4 +horse123 +august8 +cheer101 +apple5 +987 +manchester1 +emily12 +qwertyasdfgh +sticky +banzai +bv123 +honeybun +159258357 +emogirl +salem1 +reuben +james22 +cooter +darkside1 +nymets +sheldon1 +girl12 +bailey11 +jessica5 +plastic1 +1computer +august20 +hippie +fuckme! +batman13 +hateyou +diamond7 +iloveyou19 +iloveboys +motherof2 +muffins +changes +12345678901234567890 +abc123456789 +charlie11 +manny +pierce +pyramid1 +iceberg +66mustang +hawaiian +chelsea11 +newnew1 +chewie +haslo1 +snuffy +420247 +naomi +davis +maxence +sawyer +3Qdlqb49jS +nic +nastenka +963741 +mahmoud +sprinter +Warrior1 +alcatraz +shiela +marlon1 +morgan2 +foxylady +kimmy +sergej +october25 +matthews +inferno1 +talisman +cloud1 +jer2911 +poiuyt1 +brownsugar +neopets +xander1 +Sunshine1 +glenn +living +justin5 +adidas123 +59trick +bizkit +tarheel1 +babyboy12 +kolokol +kareem +monmon +olivia123 +alicante +october5 +emma12 +larissa1 +johnathan +torpedo +hello23 +karukera +1123456 +tiffany2 +1z2x3c4v5b +hhhhh +hoe123 +superfly1 +roxy12 +daddys1 +castor +princessa +angie123 +george2 +shepherd +rjitxrf +honey12 +tonino +devon +nigeria1 +october18 +12345612 +nokia5230 +l123456789 +vandana +miguel123 +max1234 +cypress +hamburger1 +michelle7 +buddy01 +monkey77 +123456@ +stayout1 +weed12 +panama1 +qwerrewq +songoku +skater13 +piper +halflife2 +jen123 +ivan123 +taz123 +beth +meteor +malik +march30 +wtf123 +butterfly0 +bitch. +adrianna1 +david7 +lionking1 +icecream12 +bryan123 +purple14 +woaini123 +planeta +josie +bbbb +dramaqueen +compaq12 +killer01 +shit12 +carly1 +thekid +magic32 +songbird +vargas +octopus +seahawks1 +scooby123 +football01 +marisa1 +daniel23 +winter12 +flyboy +ramon1 +iloveyou20 +milton1 +ballet1 +family1st +alondra1 +santacruz +macintosh +reynaldo +Samsung +samuele +drizzt +hell +fredrick +@!@ +love91 +sunshine4 +htubcnhfwbz +pink01 +011194 +arielle +stardust1 +aragorn1 +bieber +looser1 +myjesus +coke +rachel123 +Sophie +abcdef12 +silvio +waffles1 +kris +babyg1 +15 +punker +commerce +dupadupa +iloveyou17 +didididi +aminata +iloveyou07 +bff123 +doogie +14725836 +dannyboy1 +october8 +r4e3w2q1 +jello1 +jesus07 +24862486 +obinna +paulette +123qwe456 +philippine +123456zz +1qazse4 +chris69 +ilovemike1 +romans828 +sausage1 +43214321 +Tester01 +aze123 +viviane +constance +tweety123 +james5 +mireille +sexyred1 +ladybug2 +travail +12345aa +killa123 +atlars10 +com +angel25 +159357258 +chuckles +juan12 +athlon +bobo123 +1111qq +carmel1 +mackie +whitey +tractor1 +godspeed +november20 +hope123 +king13 +needajob +brandon01 +nfy.if +star23 +triangle +shruti +elmo +121288 +ecuador1 +tycoon +bbbbbbbb +hammed +tree123 +shawna +whisper1 +timberland +patrick12 +horses123 +peach1 +test12 +jarvis +3344520 +shinobi +1717 +ashley18 +pussys +love29 +dudley1 +franky1 +cookie7 +polo123 +kishore +nevim +bigbrother +liliya +zildjian +papichulo +Id6c3wr6uN +psicologia +madzia +1harley +pistons +19591959 +ser +patriot1 +a1234567890 +bynthytn +ipod123 +kitty5 +ultimate1 +800620 +chanel5 +love4eva +november18 +hellfire1 +westcoast1 +nicoleta +mercado +chicken7 +groove +aguilar +mail +peppino +accounting +woaini520 +angel19 +secret12 +babygurl13 +chicken5 +karla +iamtheone +michal1 +hockey14 +aku123 +crazydog +jimbob1 +bones +goodnews +bookie1 +qwertz123 +limegreen1 +lalakers +dangerous1 +777777a +mango123 +piano +passions +Football +terrance1 +Blink182 +sixteen16 +den +killyou +babe12 +hassan1 +cookie01 +football88 +sugarbear +JESSICA +girly1 +vagina69 +anabel +567567 +london11 +erick +spinner +wednesday1 +casper12 +format +antonia1 +Qwerty12 +cassie123 +people12 +shadow10 +tigger69 +katharina +integrity +lucifer1 +barber +kamilla +morgan01 +classof06 +123456789x +nefertiti +jessica21 +091296 +superior +money01 +character +070 +cottage +augustus +playstatio +yoshi1 +1472583690 +cheyanne +chipper10 +100986 +fhntvrf +bbbbbbb +buckshot +fujitsu +michaeljac +sassy2 +bacardi1 +ilovehim12 +message +starburst1 +mcdonald +rachid +cheerleade +jennie1 +cacaca +sansan +voetbal +windows98 +jjjjjjjj +tianya +ilovemymum +yasmin1 +Andrea +panchito +bandit01 +131061 +megadeth1 +zavilov +400067 +gjkbujy +popova +kittylove +123123aa +winxclub +www +sara12 +tommy2 +schumacher +jenkins +poi123 +phil413 +mighty1 +jazzman +butterfly4 +scooby12 +soccer. +fickdich +gordita +flyfly +sylvia1 +753753 +123red +1bigdick +jordan08 +everyday +casino1 +yes +academia +852369 +ballin2 +8eight +totti10 +sasasasa +cheech +justin23 +shayla +flame +nathan2 +salami +baseball20 +charles2 +mam +modern +killer22 +Killer +eminem2 +myangel1 +120197 +mortal +word +dale88 +lakers08 +rfhfylfi +kambing +kamil1 +babygirl17 +24crow +lola12 +robert13 +jellyfish +specialk +deadpool +pelican +132465798 +alberta +gwapa +PAULINE +leah +simmons +aldrin +quadro +sexylove +1heart +gundam1 +jacky +yosemite +bibiche +hottie7 +Brandon +world1 +fox123 +yesenia +hgfdsa +psalms23 +my2sons +mary12 +portland1 +goat +giancarlo +hgrFQg4577 +nash13 +hahaha! +cupcake2 +bugatti +aragon +luke123 +1235813 +greyhound +softball4 +gogo +fy.nrf +rahul +bottle +romeo123 +blue55 +flowerpower +hellos +house123 +mexico11 +terence +cherish +icecream2 +impreza +emerica +strange +Oliver +nuggets +runescape2 +muffins1 +12monkeys +danielle2 +lauren2 +passord +wiggles1 +qwerty111 +happy11 +antoine1 +gavin +newday +asdfghjkl:': +tauchen +blue24 +????????? +haters +lover4 +starr1 +nbvjatq +102102 +minicalibra +chinchin +gateway2 +portia +ghost123 +monkey24 +delicious1 +major1 +saffron +galileo +sheriff +ghbdtn123 +mashka +lavinia +gilberto +ghhh47hj7649 +bangsat +1234567y +1234567890z +patch1 +555222 +hansol +kerstin +b1234567 +mustang66 +alien +saurabh +838383 +terserah +football18 +anton1 +oriflame +bosco +shayne +pinocchio +matthew11 +misiaczek +manfred +graham1 +jesus5 +dutchess1 +madden08 +angeleyes1 +grandma2 +anime123 +kitten12 +t123456789 +apocalypse +diamond3 +amparo +rehbwf +jake11 +1012 +mingming +gigi +rocky5 +myspace15 +calle13 +dictionary +1234567l +153426 +uranus +kramer1 +pulamea +rodrigo1 +lololol +jake1234 +cba321 +boys +only4me +mendoza1 +dimples1 +quality1 +august29 +zimbabwe +zhou1980 +phillies1 +jingle +1v7upjw3nt +09051945 +guitar12 +360flip +jaylen +patatina +bronson +jordan! +begemot +cupcake12 +poopoo2 +windmill +daniel14 +october27 +bobesponja +monitor1 +jimjim +barosan +59mile +bigsexy +summer7 +ant +1121 +engineer1 +19weed +number13 +marcin1 +bravo +1asdfghjkl +jackie12 +thomas13 +lucky21 +kartal +vision1 +sassy12 +chickens1 +imagine1 +grammy +tyson123 +pinklady +hawkeye1 +taylor7 +kokakola +dallas123 +qwerty9 +monica123 +1aaaaa +maxell +asturias +weezer1 +royal1 +jkl123 +mephisto +october24 +graciela +COREGMEDIA +moses +QAZWSX +J +mimi12 +possible +teresita +zxcvasdf +southside3 +melissa12 +josiah1 +buck +bball21 +dancer2 +thegreat +120702 +madhuri +ssssss1 +simple123 +redsox34 +milkman +sunshine22 +hockey17 +braxton +olatunji +01011985 +gemma +123456789aa +kthjxrf +bab +prettyme +love04 +soleil13 +lawson +lipton +qazwsx1234 +janvier +chico123 +economics +parents +121106 +cookie5 +reload +george01 +gagarin +horses2 +anissa +kiki12 +hallo12 +shawn123 +homer123 +fener1907 +blowme69 +cocoa +katie12 +shibby1 +orange22 +reginald +chris08 +newman1 +redbone1 +rosalinda +lexie1 +poophead +dodo +friendofGerly +lauretta +buckwheat +someone1 +talent +lucky8 +quebec +daisymae +monster3 +stronzo +matty +tonyhawk +cosmic +water12 +loveya2 +dragon666 +boom +jasper12 +fred1234 +winter08 +jameson +jelszo +dick69 +underdog +pat123 +alfie +ilovemydad +sister2 +baby24 +firewall +god777 +soccer25 +nate +blue33 +soccer33 +380015 +123321z +sissy +dino +skidoo +woofwoof +poo123 +terrance +tamahome +killkill +tomboy +chilli +jordyn1 +champions +89898989 +zacatecas1 +shasha1 +z1x2c3v4b5 +kjrjvjnbd +echizen18 +girls2 +piramide +iamgay1 +evony123 +ramiro +prosperity +james21 +gromit +pixies +hannah13 +marco123 +1210 +dfhdfhf +mayowa +Chelsea +beyond +335577 +tolulope +yesenia1 +baseball! +sushi1 +080 +kamote +inactive1996Aug +tarakan +carnival +russian +marble +dick12 +198900 +pawpaw +angel05 +1233211 +boogers +ilovemyfam +sparky123 +poupoune +4ever +biggles +televizor +nicole4 +buddy11 +blue01 +crazygirl +iw14Fi9jwQa +221122 +golfball +liverpool0 +googoo +shad0w +bigboss1 +66bob +fightclub +greedisgood +1summer +stanford +oilers +DBM +girlie +sr20det +happygirl +chris1234 +1230456 +gogeta +worship1 +connection +hurensohn +caballero +october20 +christopher1 +scratch +0123654789 +ellen1 +puppy2 +asa123 +zipper1 +prelude1 +12step +chinni +barcelone +clark +froggie1 +hockey9 +bigboy123 +smokin +roadkill +ministry +virgin1 +sinclair +francesca1 +winter11 +452001 +jenny12 +cena54 +employment +national1 +mommyof3 +raindrop +kitty3 +12qw! +april7 +ifeanyi +irock123 +ellobo +1234567890qwertyuiop +&hearts +patterson +Xt97794xT +mike01 +hackers +ilovegirls +warlock1 +R +Gfhjkm +prosto +judith1 +tata123 +vfhujif +october6 +delaney +schnecke +wowwow +policia +forzajuve +prasanna +silvia1 +matthew5 +s0ccer +140473 +reader +frodo1 +tobias1 +jeanette1 +brooks1 +ashley5 +spaghetti +junior11 +00110011 +lily123 +321456987 +audi80 +54321a +alliswell +airborne1 +maurice4 +maldini +mickey7 +monkey16 +marinka +barkley1 +bahamas +banana2 +cachou +28081976 +markie +flamenco +avemaria +mat123 +tacoma +147147147 +25257758 +01478520 +colombo +sowhat +razor1 +yahweh +vfndtq +puppy12 +lithium +joshua3 +couponmom +andrew22 +privacy +paprika +love2011 +1newlife +popular +baseba11 +f: +fynjirf +chat +november17 +zlatan +twenty20 +bahamut +vjkjrj +eastwood +maryann1 +people2 +lioness +rebels1 +1pimpin +74123698 +metall +safety1 +asdf12345 +christa +1234556 +pro100 +look +1michelle +sk8erboi +comeon +delilah1 +steelers43 +joshua13 +malone +vfhbirf +viewsonic1 +nick1234 +karamba +jordan6 +james7 +meggie +albion +mortimer +tripleh1 +jello +superduper +sexy25 +lemonade1 +08520852 +copenhagen +advocate +guevara +fffff +jaylen1 +hotdog123 +ebenezer +amatory +1111122222 +baseball09 +567tyu +iloveu4 +irene1 +Ginger +741236985 +mozart1 +love56 +beyblade +motorcycle +almost1 +madison123 +bratz +69cougar +SAMSUNG +kitty7 +november23 +kamikadze +560034 +caveman +braxton1 +bramble +Voyager1 +derparol +qwerfdsa +rfgecnf +10201020 +porter1 +imthebest1 +198300 +mario64 +anthony6 +foolish +brittany2 +mustapha +gayboy1 +ou29q6666 +14 +office1 +freefree +encore +midnight2 +jarhead +mimine +16161616 +independent +dancer123 +superman21 +bobby2 +16 +october4 +chula1 +just4you +bitch07 +jack11 +november10 +status +leeann +winwin +rfvfcenhf +playa +greenwood +852654 +tiger7 +undercover +pheonix +volley1 +159875321 +dean +67camaro +szczurek +raven123 +girlpower +vergessen +sherri +12345o +november21 +brent1 +purple69 +outkast +waterfall1 +bmw123 +natural1 +marguerite +counter1 +Jasmine +sunshine10 +zapata +deeznuts +december20 +dima123 +12345678j +qwertyasd +chris07 +chaselo +barrett +keenan +1badass +tiger23 +holein1 +jericho1 +komputer1 +michael6 +400093 +kiara +sexyblack1 +cavalo +leilani +baller21 +daniel15 +ortega +benten +lineage +speedway +chapman +malish +eskimo +zeynep +slipknot2 +friends7 +123QWE +greatest +demilovato +astalavista +nonono1 +yes123 +haslo +dogfood +Amanda +pimp10 +fergus +maplestory +jessie12 +stacy +churchill +stress +joker12 +0okm9ijn +wolfgang1 +qweasd12 +bribri1 +tigerwoods +jeronimo +quartz +as12345 +brokenhear +violette +night +destiny3 +beefcake +jancok +baracuda +890890 +DRAGON +juanjose +ronaldo123 +wanrltw +loser4 +heyyou +justin! +asswipe1 +nigger12 +nicole09 +shahid +yasmina +onlyme1 +first1 +hello10 +sixsix6 +vulcan +chief1 +12344321a +humble +qH6xl1p9xJ +unlock +moo123 +myspace99 +money69 +brilliant +grisha +1211 +Spinner +voyage +titan +marymary +fisherman1 +hippo1 +26262626 +arsenalfc +kidrock1 +m1chael +amdturion64 +twenty +sweetiepie +ilovemykid +kratos +cnthdf +puddles +jacob2 +N +baltimore1 +sean123 +18273645 +100001 +idiot +allen123 +clyde1 +december21 +madison12 +madmax1 +stolen1 +random123 +hindustan +lotus123 +demon1234 +mack +p00p00 +asdf123456 +daniel21 +vodka1 +niceguy +thunder2 +Michael123 +kolkata +doomsday +crystal2 +979797 +skate8 +wojtek +super12 +golfgti +!@#$%^ +cingular1 +johnny123 +bombers +1asdfgh +shadow5 +kochamcie +dell12 +astros +qwertz1 +october28 +maria2 +emily2 +wally +********** +pinkie1 +angus +hockey22 +ANGEL +noway1 +november22 +marketing1 +999111 +zx123456 +123asdf +123four +makeup +slonik +petrova +slave1 +delpiero10 +9638527410 +gretchen1 +chainsaw +justyna +melodie +chewbacca +goalie +mas +i< +vehpbr +kerry +zxcv12 +786110 +lions1 +stayout +nestle +energy1 +pa$$word +telecaster +andrew7 +luca +sacramento +zamora +itsmylife +hondas +1abcdefg +hardware +asian1 +ilikesex +pastor1 +mikimiki +198611 +ewq321 +hunter7 +icecube +fff +maxpower +slapshot +walrus +stereo +october26 +earnhardt3 +10293847 +lansing +trombone1 +hellow +kostik +juliet1 +puppys +dragon77 +bigballs1 +maynard1 +hamada +biker1 +whiteboy +blackdog1 +powerof3 +alonzo +2000comeer +mailman +Ashley +saints25 +Aleksandr +shampoo +elway7 +jordan15 +xxxxx1 +good2go +carlota +hi12345 +loveme11 +banshee1 +12340987 +nick13 +kay123 +aleksander +tascha +lkjhgfdsa1 +vanessa06 +mukesh +skating1 +reshma +tekila +babies2 +redstar +xoxoxo +doudoune +titine +hootie +alexis13 +anthony15 +baby2008 +mmo110110 +wersdf +janek1 +korn +orange13 +opernhaus1 +arturo1 +delldell +lolek123 +campeon +7415963 +fuckit2 +woodland +harman +pandabear1 +trouble2 +69mustang +flower11 +crepusculo +cabron +merda +praline +everett +coolbeans1 +THOMAS +7779311 +jonathan2 +carol123 +humphrey +hello6 +astra +dfcbkbcf +7ugd5hip2j +joey12 +nokia5530 +monkey88 +robert3 +november13 +shadow21 +luisa +waterboy +inter10 +johan +01012010 +beaches1 +daniel5 +password44 +green420 +paulo +demon12345 +gogogo1 +JOSHUA +coolboy1 +eric12 +jessika +charlie4 +swagger +easton +cassie12 +stars123 +c2h5oh +123456789+ +01011991 +monkey1234 +#1pimp +kameron1 +van +justin16 +311311 +alice123 +lancer1 +august30 +apelsin +joy123 +nomore1 +armada +soldat +221188 +tiger11 +hhhhhhh +persona +delgado +delicious +fat +taylor5 +presto +joshua10 +�+��+����� +beachbum +cocoloco +manson666 +funmilola +ken123 +graduate +scuba1 +summer22 +lalaland1 +jordan24 +sarah2 +ruth +priya +july30 +NICOLE +codered +d1234567 +lazarus +jingles +faraon +steven2 +gymnast +wsbe279qSG +night1 +anchor +jordan07 +francia +Jonathan +parola123 +shawna1 +turner1 +presario1 +wutang1 +wdtnjxtr +johnjohn1 +china123 +baseball16 +taylor21 +colonel +frog123 +freaks +22071972 +powder1 +tarzan1 +fresh123 +alfonso1 +rollin60 +prestige +spurs +perfection +virtual +ANTHONY +portal +cool123456 +midget1 +denali +lisa12 +clipper +smile! +life123 +frederik +jorge123 +mario12 +april5 +othello +valencia1 +sexbomb +vfvf +ilovemylife +darnell +leland +myfamily1 +family01 +cjytxrf +honesty1 +arkansas +jessy +jen +igorek +love4ever1 +socks1 +packard1 +justina +123password +brianna2 +free12 +m1am1b3ach +chick +jasmine5 +Tristan01 +marina123 +loverman +zack +Pa55w0rd +coldplay1 +dantheman +reyes +just4u +brendon1 +mechanic +1charlie +westwood1 +mike21 +december22 +hopeful1 +pippen33 +realnigga1 +myhoney +robin123 +reefer +batata +joshua7 +aaaaaaaa1 +andy12 +winter99 +marmite +chicharito +martyn +loser11 +plumber1 +short1 +100261 +10pace +martian +shoes +raziel +password89 +noreen +fivestar +avrillavigne +3000gt +tinker12 +hollywood2 +starburst +taffy1 +400076 +roberts1 +minhasenha +shopper +catdog12 +dogman +09061976 +xxx666 +clarence1 +maryrose +afghanistan +themaster +jazz123 +stunna1 +500000 +12345123 +graphics +anthony21 +plokij +samuel12 +rainbow12 +mafia +superstar2 +131 +ilovemyfamily +soccer06 +crash1 +ezequiel +ganja +nolove1 +lavigne +murray1 +lebanon +homework1 +cookies12 +amoramor +cyprus +bigtits1 +academy +admin1234 +mellow +kings +ilikeyou +confidence +october19 +elliot1 +ppoo0099 +lovehim1 +ghghgh +cronaldo +suckit69 +120389 +lakota +sarina +thomas3 +filip +ashley69 +12345i +manon +slider +32167 +mozilla +chrysler +angele +stewie +usarmy +tiger13 +dennis123 +baller22 +parlament +montgomery +sweet13 +brasil1 +global1 +mirela +31x7T5XBke +mishijos +iloveryan +pendejo +boris1 +gold123 +wyatt1 +happyfeet +strange1 +slick +kill123 +traveler +jack01 +diabolo +november15 +laurah +tryagain +vauxhall +angle1 +alexis11 +aleksa +hammers1 +bball24 +niunia +thisisit +erik +govols +popcorn12 +paloma1 +merde +butterfly! +treasure1 +jewel1 +20092010 +nata +pittsburgh +drake +bmx123 +32323232 +gisela +tyler11 +dewayne1 +candle1 +praise1 +giraffe1 +sparrow1 +fish12 +etnies +timepass +luv123 +kkk +mckenna +homers +asdfghjkl; +dragon6 +�+������ +lonnie +socrate +ashlyn +mylover +herrera +alanna +rosa +weed69 +baddog +lavezzi +meowmeow1 +giulio +positivo +13579- +horses12 +baybay1 +harley11 +online123 +brisbane +hotsauce +gigolo +fxzZ75$yer +domenica +nicole07 +123456u +firefox1 +Joseph +ordenador +milo +aloha1 +son +harry24 +amanda3 +poulette +tennis123 +fcporto +summer3 +spongebob9 +1master +transforme +braden +berserk +feuerwehr +designer1 +ilovesam1 +brooke12 +cosmin +oasis1 +moumoune +simba11 +jarrett +venom1 +kamehameha +redcar +gangsta123 +153153 +swatch +sexy20 +mustang7 +purple6 +cutie3 +showtime1 +123456788 +baboso +capricornio +yeahyeah +bmwbmw +maxmax1 +lavanya +button1 +1236 +alyssa123 +shakespeare +rosario1 +12345689 +dragonfire +lisboa +poop00 +hottie14 +prayer1 +minimum +1justin +limegreen +loveme23 +mate +crystal123 +justin14 +fffffff +cnfkrth +meredith1 +pimp22 +neworleans +qwerty55 +pennstate +bandit123 +lavender1 +anno1602 +linked1 +123456zx +kittys +121290 +benjamin15 +mulligan +zakaria +patrice1 +aug +baseball18 +dolores1 +woodstock1 +m0nk3y +carpediem1 +all +arcadia +cooler1 +dddddddddd +pussy101 +queen123 +wanda1 +cbr900rr +poptropica +angelok +bigtime +nowehaslo +fghjkl +nicholas2 +mack10 +jessica10 +vfhbyjxrf +muffin12 +939393 +matt1988 +fuc +element2 +prophet +foryou +kyle12 +fishbone +music4me +laughter +kitty13 +seaman +110024 +fred12 +black666 +tiger3 +hm9958123 +1soccer +dolphins13 +erick1 +jamess +qwertyytrewq +wanted1 +juniper +sophie01 +1234qaz +ninanina +andrew21 +december13 +vitaliy +dogcat1 +liverpool7 +kaycee +swathi +fcbarcelona +missouri +chris09 +lauren01 +builder +pinguino +eternity1 +bronx1 +yamaha125 +calcio +dfg5Fhg5VGFh1 +austin13 +748159263 +ghjcnjq +timberlake +viriato +protect +cool13 +funny123 +destiny12 +sweet666 +bucket +misskitty +12qw34 +presley1 +richards +circle +mini +computadora +krasota +jessy1 +Thegreat123 +bologna1 +metroid +lovely7 +hustle1 +screen +sirena +erika22 +wertzu +suicide1 +iloveryan1 +nokia6230 +lapochka +drums1 +alina1 +mollydog1 +pumpkins +10011001 +kelvin1 +whatwhat +cardinal1 +century +shayshay1 +ram +911 +fat123 +bravo1 +lilwayne12 +zoe123 +totoro +counterstrike +blue16 +�������� +tippy1 +phuong +fullmetal +salsa +4money +esperanza1 +allahis1 +dKxjIzc282 +euteamo +markiza +challenge +cas +elmejor +ilovelucy +k1234567 +morena1 +softball9 +1597530 +newnew +buddy3 +1024 +marie11 +jonathon1 +baller24 +13241324 +daddy01 +sun123 +121289 +m@d!z +Nathan01 +kanchan +sugarbear1 +boobies2 +rjhjkm +gbenga +febrero +ballin12 +sooner1 +sss +sathya +amor12 +202122 +quGRqFo825 +bagpuss +superman22 +batman3 +beckham1 +michelle11 +mathematics +bonbon1 +kumar123 +football17 +shadow69 +danilka +ilovealex +ilovedogs +kameron +ryan962052 +profit +dragon76 +helpme2 +federal +andrew10 +dance4life +heartless +iverson03 +waffle +jesuslovesme +Naruto +Nicholas +cardiff +amanda! +cars123 +tamere +pizza2 +mmm123 +madden07 +mari +milacek +green10 +baggins +augustine +a12121212 +871982 +rashad1 +september3 +bbbbb +ilovecats +tessa +massive +hoover1 +ghjdthrf +redline1 +555333 +143 +abcxyz +mommy01 +ken +marker +ketchup +trojan1 +izabella +bling1 +love111 +JORDAN +redwood +maddison1 +henrik +salamanca +1234567c +music7 +lukasz12 +eagles12 +Melissa +nkechi1 +daddy3 +1robert +sunshine69 +1245 +marbella +jobhunt +gjhjkm +ramsey +daisey +perkins +wordlife +awesome! +lover11 +angelito1 +1qaz2wsx3e +germania +newyork123 +cocaine1 +krishnan +apache1 +pimpin12 +ipswich +education1 +bunnies1 +pearls +walalang +lover21 +stacie +hunter08 +lennox +rochester +punk123 +wwww +beagle1 +123qazwsx +426hemi +babygirl24 +fuckshit +ashley17 +1destiny +130130 +michelle13 +1907 +rjyatnrf +frogs1 +muscle +kristine1 +tigger7 +suckme1 +october29 +dododo +gopher +gunners1 +tujhrf +tomcat1 +pavlik +heythere +beardog +matthew01 +40028922 +fishtank +dabears +elmo12 +131313a +dimension +dookenr1 +pearljam1 +harsha +powers1 +1011 +chioma +chris4 +bambou +hammond +music3 +november5 +ddzj39cb3 +41034103 +fucklife +babykoh +renren +kaikai +wildman +snapper1 +llll +michael69 +angeli +francoise +starwar5 +woshishui +3sYqo15hiL +januari +sassie +zeus +newpasswor +400706 +noiembrie +felicita +scorpione +1william +jessica14 +nataha +159753159753 +hannover +paulie +kobe +lorenz +password27 +denzel +amoureux +fresh +ichliebedi +198111 +sailing1 +blue69 +feline +forzanapoli +giuliana +1a1a1a1a +amanda21 +615243 +phil +bambi +nideknil +saveme +cowboys81 +anurag +jelena +shortie1 +FOOTBALL +coolness1 +jam123 +sanjeev +1453 +food123 +gucio +girls123 +modena +jasmine13 +star15 +A123456789 +gator +loserface1 +foxy +mydear +baltazar +William1 +150801 +robocop +natasa +jaiden +killua +victoria12 +stinky01 +millennium +13791379 +abbie1 +putangina +shayne123 +5050 +loveme7 +peppe +austin10 +holler +1953 +sushi +123852 +mangos +concord +black3 +venus1 +lickme1 +michael. +hamburg1 +lovelygirl +dadadada +pimp21 +kasey1 +playboy12 +negro1 +lunatic +mykids4 +selenagome +nascar3 +brennan1 +cannon1 +chris24 +chicago23 +12345as +josette1 +ineedyou +aq1sw2de3 +kitty11 +parola1 +dropdead +1950 +pookie2 +123456789y +pollo +leeloo +timmy123 +aaron12 +Love +funky +googletester +macaroni +fake12 +311070 +super8 +blackrose1 +canelle +newjersey +fletcher1 +gizzmo +kingpin1 +mybabies +01012000 +amanda22 +books +raptor1 +forever12 +poop22 +papapapa +brucelee1 +laracroft +habiba +mancity1 +daddys +198800 +lololo1 +magical1 +411014 +olivia12 +raj123 +ilovesex1 +bryson +guiness +2angels +love321 +imissu +bluedog1 +hawaii808 +meme12 +teodora +qwqwqwqw +william7 +virgil +tyler13 +suerte +marusya +nikki12 +summer13 +shayla1 +justdoit1 +marinara +118118 +serious +kagome1 +kampala +jordan8 +rfhfvtkmrf +franci +longbeach +326159487 +redfish1 +angedemon +777111 +vh5150 +hacker123 +tay123 +barbie2 +3232 +daytona1 +10987654321 +pascale +brooklyn2 +mickey11 +134679258 +doglover1 +november16 +whynot1 +ryjgrf +automobil +mustard1 +movies1 +sincere +cinzia +200669 +smoking1 +goodgood +dim +teste123 +december23 +justin15 +xdqwerty +grease +mybaby2 +star21 +197800 +batman01 +edward17 +103196 +stigmata +lakers32 +val +marseille1 +starbuck +333888 +misterio +karma +boulette +warner +junk123 +inter1908 +asas +yankees7 +meadow +jaigurudev +dolphin2 +beanie1 +dkssud12 +888666 +scotch +2hot4you +trent1 +shoes1 +0101 +getout +airport +meathead +felipe123 +llamas +bri +chivas#1 +shadow99 +blessed7 +andreia +3s43pth5aea +because1 +ilovejoe +nat123 +polarbear1 +felice +newuser +women +romaroma +222222222 +surena13 +daemon +alexander3 +langga +brothers1 +bazooka +pjkjnj +tingting +dog1234 +agathe +villevalo +475869 +anthony22 +vince1 +301197 +ww111111 +fishfish +skating +poker123 +bummer +soleluna +rasheed +hal9000 +messi19 +olusegun +lucy12 +troy +stinger1 +blue77 +stinker1 +1237895 +loser13 +nigger69 +no +cvbhyjdf +batman7 +opelcorsa +forgiven +absolute +gerardo1 +olechka +football54 +premium +angel20 +valley1 +stratocaster +Freedom1 +candy11 +001100 +madness1 +slut69 +bigbooty1 +batman23 +assholes +bolaji +happydays1 +tanginamo +primrose +198511 +temppassword +angels3 +aligator +allahakbar +flounder +nessa1234 +ford150 +loser3 +12101961 +pokemon10 +111666 +bottom +leika1 +november2 +scrabble +amber2 +goodies +sweet69 +snoopdogg1 +bumble +dottie1 +lolotte +19821108 +mahalq +252627 +angel99 +staples +pocket +tombrady12 +wwwwwww +electronics +tuesday1 +jessica22 +racer1 +bbbbb1 +solitario +mcgrady1 +hawkesbury93 +cuttie1 +sk8erboy +mommom +bicycle +choochoo +paola1 +misha1 +quentin1 +adonai +weaver +goodtime +angel77 +happy22 +bonito +espagne +shandy +yomomma +barca +terrys +����������� +198411 +shell +sanjuan +154322358 +g00gle +mickey13 +love!! +daisymay +art123 +1234567891234567 +dj1234 +251314 +H +cvthnm +unicorns +buffy123 +steffen +glamorous1 +miroslav +leicester +lydcc20091314 +october9 +elements +yfcnz +perico +second +titties1 +madison5 +munchie +weedman +paddy1 +bribri +aparna +sam1234 +moonstar +bunny12 +12345abcd +feather1 +k.,jdm +money07 +wolfman1 +alex07 +peyton18 +shadows1 +cristo1 +hf +painting +tichuots +pampam +december11 +jessica4 +caramba +55667788 +meagan1 +estela +original1 +waters1 +mirella +leralera +cooper12 +senior06 +aphrodite +ilovesam +198612 +bunny2 +saphire +yourmom123 +nolimit1 +minnesota1 +5551212 +X99QOmx561 +w8woord +NhA7EbF6kP +chevy350 +dude11 +negrito +april6 +pleasure1 +onetwo12 +abundance +lozinka +avalon08 +shelby12 +123123123q +loveme13 +black7 +dumdum +apple22 +zebulon +3sisters +forgotten1 +bhaby +lonewolf1 +deshawn1 +fernanda1 +steele +ilov3you +hello8 +hX28o9e646 +flower4 +sup +adam1234 +iamhappy +boosie1 +phyllis +assman1 +2short +rainman +123q123q +gemma1 +dayton +marietta +johnny12 +taekwondo1 +baller123 +kelly12 +keepout8 +manuel123 +fearless1 +joseph11 +jake01 +pro +jewel +852123 +annabell +itsme +canada123 +cfiekz +dozer1 +rabbits +27272727 +mivida +����+������� +uuuuuu +angelface +rampage +loveyou3 +ntktdbpjh +123456780 +lunaluna +1200nerds +vinnie1 +123456asdf +400072 +yellow13 +Q1w2e3r4 +willem +92Dk2cidP +marta7 +elizabet +slacker +mouette +kayden +u +callaway +roserose +my-space +green14 +alemania +shanice +hawaiian1 +austin3 +1q2w3e4r5t6 +monopoly1 +star01 +david23 +loretta1 +tulipe +zhang123 +jayden08 +damilare +achille +gearsofwar +adeyemi +onetime +david5 +fuzzy +amoreterno +160403 +winter09 +bebita +pedarsag +traffic +italy +ram1500 +badman1 +121001 +1chocolate +bitch15 +marilou +lenny1 +corbin +missie +powerpuff +Soccer01 +satanas +scooter123 +bad123 +lokita +klinger1 +record +headshot +johnny2 +nextel +chiqui +shadow23 +ashwini +yaroslav +michael14 +birdie123 +marishka +loco123 +198585 +tyler01 +ernie1 +dakota01 +senha +habbo123 +198989 +123456789qwerty +calico +smirnova +sphinx +lina90 +ownage +edxk20qMfS +jaycee +damon1 +salima +brent +cascade +temporary +tytyty +rajendra +oatmeal +ficken1 +bracken +schumi +fucker12 +desire1 +missy2 +holyshit1 +treefrog +robot +joy +fduecn +native +jan123 +159753852 +naruto101 +yahoo100 +ulises +itsme1 +tweety13 +newthree51 +123qq123 +adrian12 +jesus#1 +perry1 +Lzhan16889 +pink69 +triple +language +jayhawks +dashka +pfqxbr +tbone1 +lovemom +adolfo +swinger +moemoe +maricar +ilove? +total90 +deandre1 +december17 +maranatha +july +gadget +engineering +north1 +clemente +tkfkdgo7 +e93c50 +bebe12 +keepout1 +gandhi +pqntmt1247 +wdtnjr +Lauren +123654987 +real +hunter99 +zoosk1 +2010comer +dominick1 +sunshine8 +rowdy1 +0r968ji9ufj6 +leinad +perach +candy13 +canon +haylee +mag +678910 +1faith +invisible +evan +nobody1 +password32 +gardenia +kate123 +lighting +plus44 +monalisa1 +peaceout1 +lalitha +parole +tyler5 +ilovenick +transam1 +zaxscd +robotech +000786 +breakdance +wyoming +kristal +sword +27352735 +charlie! +montero +smile12 +ludivine +musician +sexy06 +@@@@@@ +nasty +fer +powerman +koko123 +kayla2 +panic1 +mirantte +yaallah +important +bankai +fourteen +gotohell1 +salvation1 +vitamin +raduga +123admin321A +guitarhero +greenday2 +mustang5 +dynamic +spider123 +amoureuse +shorty3 +chelle1234 +cubbies +luv4ever +rktjgfnhf +klaudia01 +woofer +yankees23 +playgirl1 +pictures1 +login123 +pocahontas +spikes +fuckthewor +lady12 +pedrito +Alexander1 +alone1 +cream +hallohallo +lukas1 +cutie5 +fuckyou09 +puppet +Arsenal +rudeboy +yomismo +rudy +kurama +tigres +carajo +enigma1 +inna +onetwo +spiderman7 +amy +frankfurt +girlsrule +rachelle1 +alfa147 +kakakaka +rai-131 +liza +juanito1 +K +cornell +reilly +w1991a +nanook +december2 +under18 +positive1 +catlover +1qaz@wsx +f4u*123 +tonya1 +onkelz +lfybkf +juventini +ollie +boogers1 +25 +sardegna +password06 +bigblue +moneys1 +stretch +kseniya +198787 +myhome +CHARLIE +rain +merida +iluvme2 +Anthony1 +cristh +ella +thomas10 +28282828 +sidekick +borboleta +samsun +shubham +chocolate5 +1andrew +satyam +chingy1 +peepee +joseph01 +4391634m +Pa$$w0rd +pass9876 +michel1 +trabalho +stealth1 +chevy2 +ahov +polska123 +vermont1 +kaiser1 +constantine +cristy +vbifyz +allen3 +schatz1 +ophelia +quicksilver +rockandroll +sailor1 +fuckyou10 +malice +solnishko +NARUTO +hillary1 +lilpimp1 +chinchilla +smokey01 +miracles +310 +win +buddy7 +thedog +blackstar +04022000 +tilly1 +jules +peppermint +nadege +isabel972 +12345678r +another +gentle +Danielle +3526535265 +armenia +wert1234 +boy +essence +waswas +football28 +devildog1 +lynn123 +spongebob7 +messenger1 +popopo1 +koala +zhd741220 +memphis10 +401107 +jjjjjjjjjj +deadmau5 +escalade +carl +porno1 +ncc74656 +rupert1 +shaun +oscar12 +werter +haribo +oldschool1 +september8 +lloyd +cowboys2 +wildwood +13587930210 +teddy2 +change1234 +jumper1 +galaxy1 +smile0_0 +library1 +ab12345 +paramedic +maritza +reborn +qwertqwert +katie2 +elizabeth9 +emo666 +doughboy +pass_2011 +l1nked1n +naresh +juanpablo +astrid29 +april8 +qazwsxedcrfvtgb +bball13 +poopmaster +korean +twenty1 +speedo +13571357 +lover23 +antivirus +bunghole +critter1 +helicopter +000006 +itachi1 +619rey +har +gfgfvfvf +esteban1 +110016 +damnit1 +12344321q +raiders2 +houdini +hbhc8290826 +only1me +nescafe +427468 +bahia1979 +forever7 +baseball08 +1234love +pingpong1 +LOVERS +grande +maria666 +asakapa +babybear1 +games123 +marquez +01011981 +mentos +qwerty8 +auriane +neverland +laddie +morgan11 +mynameis1 +1purple +junior88 +masters1 +solitude +cameron123 +antonio123 +mongol +nicole. +victor12 +rivera1 +ahmed1 +villa1 +jon +spartans1 +mewtwo +11110000 +198686 +liberta +557799 +hitachi +p@$$w0rd +minemine +17 +sweetie2 +beowulf +joel123 +spoiled +castillo1 +nicky123 +hal +198512 +flowers123 +fischer +atlantis1 +173928 +soccer69 +katya +paladin1 +143143143 +imyaimyaimya +mamma123 +jose1234 +jubilee +kool12 +benny123 +zwickau +heythere1 +whore +SUNSHINE +spears +12345zxc +alyssa2 +123456! +cuttie +sabine12 +arvind +twingo +zxc841219 +Dalejr88 +14629227 +29422277 +mustang65 +gaara1 +notorious +anthony10 +spionin8688 +edwards1 +929292 +aqswde +madison7 +123987456 +112020 +101089 +313313 +thizz2 +fowler +mmmmm1 +juggalo420 +gianna1 +high420 +andrews +31313131 +ghjuhfvvf +florian1 +pilipinas +carissa +ramona1 +larry123 +confirm +december18 +bball123 +chachi +llllllll +chris101 +december15 +Kirill1990 +germaine +0420 +jakejake +ww651118 +nicole17 +myspace24 +green21 +husker +201001 +12365478 +omshanti +elizabeth8 +bea +sammy01 +fucklife1 +gtavicecity +macdre1 +skinner +krazy1 +iloveyou<3 +byteme +0987 +gangster12 +24 +123456+ +prince2 +hollie1 +raspberry +lucky4 +jordan09 +jimmy2 +myspacepas +baba123 +barnes +heyyou1 +82214989 +bubbles13 +soccer77 +luckies +football95 +shaina +1234567898 +10241024 +trunks1 +browning +circus +sodapop +lhfrjy +chriss +password1! +synergy +salam +broadband1 +happy13 +fylhtq12 +madison4 +anthony9 +hotdog2 +asdf:lkj +marigold +blbyf +hellraiser +yogesh +112345 +will123 +shorty7 +hshshs +freestuff +babyboy3 +seminoles +money1234 +asdasd12 +mari123 +baseball19 +mobsters1 +louise123 +finley +prova +blake123 +latoya +baylee +d0r1nc0urt +gusgus +canard +kittie1 +wasdwasd +bubbles7 +buckley +jazzie +derick +mudvayne1 +cronaldo7 +mullet +silkroad +******** +davidic1 +1211109032 +baseball33 +harvick29 +striker1 +RTW150809 +22152182 +stoned +midnite +jessica69 +t36473647 +Sebastian +������������� +sincere1 +chadwick +prodigy1 +wildchild +venezia +bird33 +nibbles1 +killer6 +fuckyouall +92298899 +elisabeth1 +David +san123 +435453 +780813 +amrita +godgod +lonsdale +djkjlz +#1stunna +edberg +petey1 +ariadna +flame1 +pl +pennstate1 +ettore +hotmail.com +absolut +nikki6 +brandon4 +fucku69 +anthony14 +mamamia1 +1treehill +cedric1 +den221991 +198100 +orange5 +myrtle +production +fuckmehard +ram123 +beans1 +cool10 +pasadena +arabella +blaine +texas12 +fletch +honda125 +madison01 +handyman +kims89 +198711 +may123 +cheeky1 +carlos10 +nedved +november14 +andrew23 +mariusz +transit +1bigdaddy +kellie1 +53472235 +magda1 +victoria2 +pushpa +ilds4edad +lou +pixie +luis13 +cocotte +aquarius1 +todd +angela123 +teamo12 +washburn +jiefang007 +staredobre +mosquito +200888 +121286 +addicted +586016 +quality123 +H8LLP9F +flower5 +qpwoeiruty +hate +124124 +psp123 +kisses2 +xsw21qaz +sparkles1 +red456 +bitch10 +resing1965 +chevyz71 +khan +stevens +007700 +karakartal +jojojo1 +cupcakes1 +lala11 +ash +duckie1 +caramella +monster13 +153759 +platypus +05200520 +rebekah1 +november7 +boeing747 +Sandra +rhiannon1 +w123456789 +7410 +a4tech +vfcnth +eatme69 +012012 +football16 +lucian +1,00001E+14 +198412 +lananh +hellas +perfect10 +peggy1 +mohammed1 +23skidoo +golfing1 +money9 +rihanna1 +tetris +bayern94 +oooooooo +tl281188t +nautica +littleone +charisma +giogio +xige5516726 +kismet +520025 +gggggg1 +sundance1 +serrano +florida2 +pushkin +valkyrie +chiefs1 +jjjjjjj +tasha123 +vanille1 +uhfaabnb +hockey16 +madryt +9632147 +hikaru +ploppy10 +alucard1 +reveur +Welcome +110091 +1qwertyu +lakers123 +muhammad1 +greene +wrestle1 +darkman +Beethoven9 +hannah! +yayaya +pajero +charly1 +vanessa12 +jeep +toilet +roseann +20 +tinman +newcall +ducky +alivioo +vuc7neyu0 +185800 +player13 +police123 +Alexandra +123ert +diva +eugenio +niki +mbahurip +battery +jkljkl +uchiha +ovr220278 +Blackcat123 +sexy1 +turtles1 +madrid1 +564335 +magdalena1 +ANDREA +mm123456 +edoardo +degrassi1 +sales +summer5 +weasel1 +annabel +killer4 +pussy7 +serkan +april123 +19561956 +pimp1234 +dogshit +charlie13 +dimebag1 +7418529630 +zzzzz1 +darkknight +december16 +buzhidao +ADELINE +fordf350 +bitch1234 +paisley +flower3 +gwarmonster +bartman +hunter22 +yemi19900911 +leigh +belmont +alesha +80 +johncena54 +654789 +muffin123 +meteora +popstar1 +ilovedavid +mibebe +nuggets1 +brandon10 +skank1 +shadow! +ekmzyf +prototype +cat1234 +peanut3 +pink07 +piffish +colibri +raluca +gfs2z6wb +kookie +smokin1 +homies +qazxswedcvfr +nicole6 +spolana +juninho +halifax +kindness +gossipgirl +kapej111 +mmm +book +qICiqdP162 +phx602 +hellen +elizabeth0 +loveis1 +sunfire +buddie1 +tortoise +jasmine11 +athens +michelle! +buddah +melania +ryan1234 +shitshit +supervisor +leticia1 +The +tigger21 +alex16 +anthony8 +angel! +butter12 +morales1 +dtxyjcnm +bhbyrf +roro1024 +zaq1zaq1 +electron +2wsxzaq1 +citron +dragoste +lucille1 +monkey09 +kangaroo1 +tennis12 +31081981rs +reason +password66 +050965 +amanda69 +123456789qw +comedy +poepen19 +jkjkjk +ilovejohn +locura +PovlmLy727 +nigger! +159753258 +swampfire +123qweASD +dontknow1 +shorty11 +arslan +pppppp1 +foolish1 +bible1 +radeon +realtor +lovemykids +p5415420 +Jordan2345 +godisable +monkey33 +12345678z +valeriya +139381512 +anthony! +25393275 +volume1 +tyler3 +poser2 +happy1234 +1234567g +bball2 +behappy1 +jeremy12 +kassie +babymama1 +zander1 +roderick +dou +didine +weiwei +hambone +znt: +bon +monkey07 +jesuslives +groupd2013 +maggie3 +firestorm +firefire +uphill45 +68582988 +puppydog1 +69charger +frogs +11111111a +supa1906 +mamita1 +dede +monkey08 +eggplant +blunts +moreno1 +mustang01 +01011987 +bartek1 +mywife +fathead1 +lil123 +1abcdef +1q2q3q4q5q +choice +gummybear +anechka +jimmy12 +Minecraft +19571957 +mierda1 +Secret +dieguito +eli +vegas +cortez1 +xaxaxa +spyder1 +queenbee1 +paluso00 +whatever7 +shrimp +mjdsf11 +j4n4jel4 +shanice1 +rodrigues +18 +1amanda +123123321 +cumshot +Brodie10 +acapulco +1952 +trapdoor60 +kristel +nascar20 +snorre98 +7seven +maggie13 +olitec00 +Superman1 +248001 +sonoio +petram +ballon +mumdad +acts238 +linkedin11 +vascorossi +sharpie +bigpimpin +crazy101 +qwarty +jkiuztdftL57 +lovely! +paraiso +alex18 +justus +jenni +bob101 +connard +5children +swapna +wang123 +iloveyoux3 +trina1 +pokemon3 +thissucks1 +kitty6 +kiss12 +Xantria10315 +batman69 +aabb1122 +gangsta12 +idiot1 +kuana230345 +ophelie +starwarsfan10 +taylor! +fluffy12 +civic1 +lindinha +familiyafamiliya +patience1 +lexus +viper123 +bluejay +pommes123 +5a8b9c2d +maxpayne +cksdnd12 +aksrms8010 +fiona1 +111888 +awei1616 +buffett +teddybear2 +pumpkin2 +policeman +futyn007 +gigabyte +lilili +bhjxrf +infamous1 +fruity +candygirl +uchenna +sable1 +bouboule +star101 +shayshay +rambo123 +niggers +lebronjame +frosch +alesana +0987654321q +gutschein +attack +blkdrag0ns +1598741 +supernova1 +finger1 +dragon9 +13245768 +justin08 +marilyn59 +blablabla1 +lightning2 +astig +topbull +astros1 +dakota123 +wrasloco11 +skaterdude +catdog2 +blah12 +luc +poilut +aa224466 +500016 +randyorton +singing1 +myspace00 +placebo1 +ulisse +jewels1 +lilica +brandon! +killer21 +ornella +Usa12345 +jadakiss +fubar09 +nacho1 +angels12 +foofoo +myblocker +JESUS +19941028 +mustafa1 +pissoff1 +jessica8 +Rhinos111 +0147896325 +almighty1 +kokokoko +clapton +4826159 +26665806 +sverige +kar +Teonamaria1 +fuckthat1 +candies +advance +volcano +Asdf1234 +sn00py +mal +salem +124356 +marmotte +haloreach +hockey5 +juancho +water2 +courage9 +ronaldo17 +good4u +jiang8kevin +allmine1 +shaheen +destin +kokomo +ficken76 +avenged +jewish +bonanza +chocolate9 +dakota2 +dangerous12 +Isabella +1272446 +loyola +seigneur +tiger10 +tiger22 +nineteen +jasmine4 +nerone +mercurio +mark1234 +bluerose +mis +Looby123 +ice +sexychick1 +railroad +november25 +wildthing +anetka11 +recovery1 +rancid1 +chambers +fritz +ZbychLas +allrecipes +punjab +axelle +cds04121989 +masterkey +1324 +princes1 +fucku12 +ray +fx-one +latifa +12345678k +pipeline +motorhead +happyhappy +iCXkyB7972 +1daniel +yfhenj +londres +vitor1268123 +369369369 +rosales +september7 +asdasdasd1 +mamapapa1 +monkey17 +123456789qaz +sithlord +monica12 +1jasmine +skater11 +lena123 +1023 +araceli +wendell +kurwamac +healthy +povray14 +nfvfhf +don123 +glasses +1Q2W3E4R +bloodz1 +lloyd1 +password123456 +music11 +vicecity +painkiller +159357r +aviation +849vak17 +kurdistan +peppers +ringo +lillie1 +q1w2e3r4t5y6u7i8o9p0 +mysecret +rockers +smokie1 +cutie01 +texas100 +www111 +saitou +4567 +killemall +altair +11121314 +focus +mutant +tony1234 +action1 +berry +mamikawada +aa261599 +bucky1 +jul +stitch1 +epsilon +alchemist +christmas2 +bigbear1 +killer10 +jessica15 +Diamond +element123 +weronika1992 +a5201314 +2211 +tintin1 +62543234 +rodeo1 +sweetangel +ghosts +honda450 +antonio2 +scarface2 +icegirl +upperd7 +clovis +oreo12 +nena123 +128128 +thomson +@bigmir.net +jdd04257 +anfisa +maiden666 +catholic +j5644574 +doggystyle +trueblue +camilla1 +freiheit +Twinkle15 +leopoldo +jetsmets +serdar +hornets +tenshin +chilly +19581958 +ashraf +b2spirit +emirates +jordon +valeri +1002 +konfetka +zaq1 +ehdgnl12 +ABCD1234 +sipfhair +cheguevara +baller5 +doodlebug1 +aquila +nathan11 +Football1 +пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ +M01759766727 +sandie +1867sb +summer00 +barakuda +neo123 +19451945 +baby2009 +vergeten +juju1987 +584521 +ernest1 +class +campos +april9 +Neworleans12345 +marygrace +po918dg +tyrael04 +liam +kjifhf +william2631 +calgary +december31 +learning +clifton +400050 +pass1478 +jordan9 +norton1 +me1212 +superwoman +singh +rogelio +Leika86 +keystone1 +luna123 +1905 +kara2711 +sonics +Aug!272010 +noelle1 +062593 +jessi1 +green6 +choclate +green15 +2fresh +october30 +kissing +avalon1 +brenden +gogirl +homerun1 +vampiro +blabla123 +frontier +rosalia +corbin1 +katana1 +sexy4life +frisco415 +purdue +letmeinnow +party123 +wasted +naruto7 +1234567h +u83xu3u83 +kirkland +sushma +crack +vfkbyf +master69 +danielito +eli123 +101080 +candy5 +alain +honeybun1 +passward +spitsy16 +Yggdrasil4 +pallino +n123456789 +dianna +stupid! +ss563563ss +carpet1 +voldemort +bamidele +lynette1 +angels123 +mazda1 +macdaddy1 +letizia +robert7 +attitude1 +poiu07 +iminlove +dinero +charly2004 +hannah5 +Computer +dilbert1 +94246843 +shelby123 +ferret1 +crystal12 +superhero +jackmore1 +ohshit +susie +fathead +32342711 +james10 +toonarmy +wiktoria +stargazer +infinito +floyd1 +shriram +rockey +single2 +superman8 +coco11 +aliceadsl +Madison +irving +kalyani +maryjoy +nomeacuerdo +52hoova +happy01 +idefix +gfynthf +sabrina123 +perro +cxfcnkbdfz +seminoles1 +cannibal +mnbvcxz123 +renuka +richardson +wealth +45678 +ashley6 +nation +qq1234 +myspace77 +pink09 +tigers2 +sandra12 +piepie +222444 +Komputer12 +1Olmetec1 +145145 +soccer88 +yfcn.if +ROBERT +fb1907 +c6h12o6 +leningrad +musik +lalita +u8t6e4 +heavenly1 +Mamika10 +david21 +deadly +satsuki +impact +fire12 +alleycat +yolo +ashley09 +football19 +poland1 +pollux +mousse +cookie4 +523456 +Kevnwo128 +trackstar1 +ytreza +spongebob0 +crybaby1 +pauko97 +kaleb1 +abayomi +teenaa111 +staples1 +pessac +gogators +akademiks11 +denis123 +fourkids +cabbage1 +shadow14 +battle1 +ewelina +youandme1 +carpenter1 +fairy +Seahorse1 +pie +natiichen999 +maiden1 +lover22 +dallas2 +vaughn +21052003 +jessica23 +fhctybq +tanzania +1cutie +goblue1 +james1234 +roger123 +125678 +27254931 +1loves +pass11 +ABCDEF +goodtimes1 +pepsi2 +halo219 +courtney12 +llama +dallas01 +swetha +marmalade +l1verpool +hockey21 +ldgend +iforget +moon123 +django +budman +newstart1 +concrete1 +cleo +ganja420 +andrea2 +charlie10 +threekids +david22 +hamburg15 +basketbal9 +werewolf1 +qq18ww899 +complete +hermione1 +ilovejoe1 +london01 +5656 +maximiliano +lost +hunter07 +nokia5310 +326598 +Tarzan00 +alfa156 +truth1 +pentagon +85218812 +killer9 +killjoy +iPad +chocolate8 +Nwolf72 +orient +buster13 +vicky123 +meow123 +pioupiou +h4t3cr3w +dfktynby +lauren11 +incredible +velvet1 +Smb0512bz +luckyboy +tricky1 +steflio3123 +hello69 +198311 +001579238 +bharathi +michelle01 +94327579 +bettina23 +hunter4 +bucuresti +zerozero +cordell123 +411001 +29694419 +minimal +110034 +Stani06 +werock1 +monarch +courage1 +hannover96 +Heather +batman22 +bond +thibault +andre1986 +matthew4 +sentinel +nummero1 +black11 +summer2008 +fleurs +love30 +123456789101112 +yvonne90 +jarox1301! +seinfeld +love87 +kittykitty +sexybitch2 +farley +jordan99 +vfhnsirf +ashwin +john13 +cloclo +43922572 +mlb229 +money8 +notebook1 +bin +alvin1 +cacca +sex666 +shurik +santhosh +football27 +franca +heather12 +bl8LYGB0 +alex2000 +homeboy1 +ayodeji +qazplm +starwars111 +ziggy123 +semangat +dizzy1 +breaker +kambal +Biscuit22 +slipknot9 +together1 +ibanezjs +rainbow3 +banaan +green17 +haha1234 +hydrogen +Kinomoto89 +pt120439 +fragolina +evgeniya +passw0rd1 +123321aa +mahendra +ludi1234 +video +Maburro +Mercedes +yomisma +ebony +skeleton +LARA1308 +lokoloko +1zn6FpN01n +missy12 +ch0c0late +tigger! +121282 +cowboys12 +soccer05 +Boobies2 +abhinav +felix1952 +medical1 +ilove12 +Pa +110059 +whistler +maciek06 +jarrod +pokemon7 +markus1 +godlike +stumpy +gs1905 +superman4 +pakistan12 +nikolas1 +candy3 +farmacia +123321qwe +Charlotte +mikemike1 +0range +hehehe1 +madona +boomerang +Princess1 +succes +someday +kartoffelpuffer +ijrjkflrf +nickiminaj +passcode +ashley08 +Barcelona +52253823 +m12345678 +spider-man +27412678 +sabbath1 +1nigger +agustus +matt1234 +raiders12 +mayquinn2 +1987123 +55665566 +wiseman +loco +sweet18 +q1q2q3q4q5 +david10 +devil123 +wwe619 +shalom1 +april3 +iloveyouso +198712 +gonzo1 +pugsley +dario +abc@123 +alejandro2 +zack123 +milan1 +agnes +redhorse +cherry13 +garbage1 +520LOVE101182 +halo22 +mojojojo +515253 +doodles1 +chelsea7 +loyalty +smoker1 +1asdfg +illini +starry +linked123 +matyas2001 +leopard1 +barley +melrose +elise +stupid12 +spice1 +buttface1 +qaqaqa +1233 +hannahmontana +nothings123 +j0rdan +yumyum1 +12346 +love456 +pa$$w0rd +montreal1 +34343434 +tuputamadre +135792 +10200718 +ciccia +96101z +yasemin +jesusis +huskies1 +montagne +boxers +malvina +bowwow2 +LEOlong1985 +vodka +kelley1 +mental +braves10 +cutie10 +chris! +888777- +march5 +cannelle +qwertzu +love1314 +jesus1234 +21152117 +Sandberg5 +ska02ska +d41d8cd +march6 +44332211 +malishka +6817zd57 +listen +ffffffffff +twiztid1 +Lightpower12345 +nikita123 +bmw320 +300300 +misfit +000000000000 +chantel +somerset +1234567890123 +dell500 +duster +rfhfgep +SUPERMAN +bella01 +jaiden1 +kissmyass2 +mandingo +lolly +nanou4552 +jammin +raprap +lenalena +blackpool +majesty +mommy7 +aladdin +vbienrf +hans4Queck +vaibhav +L5L5L5 +qq123123 +henderson1 +saigon +openup1 +smirnov +hillside +gangbang +vale46 +caca12 +sunshine21 +tuangbi +123456az +girlygirl1 +Zaq12wsx +kakashi21 +link +newjersey1 +maella1311 +2w3e4r +101086 +bertha1 +thebeast +102030a +197900 +1grandma +football56 +31337a +fysihz5g +messiah1 +hello01 +Fenchel55 +thissucks +gaudens +saddam +l3tm31n +nashville +qazedc +KILLER +barbiegirl +1204 +junkmail +berger +custom +surethang +boroda +jcdenis1 +pennywise +ilovelife +madmad +morango +123666 +bunker +98989898 +evelin +098poi +robotics +brody1 +hockey3 +123234 +grayson1 +jewish1 +moose123 +watever +Beast556 +riddick +dar +1america +creeper +finland +qwerty123456789 +a6543210 +paopao +orange! +mckenna1 +CrowBird +gaylord +312312 +mu080295 +coyote1 +1234qq +techno13 +honeybunny +laska +nikki2 +shorty14 +nandini +yfnfirf +1freedom +hollister3 +622906268 +sad123 +pinguin +1234asd +Legend22 +hampton1 +nicholas12 +220389 +emoboy +qq123456789 +2sisters +booboo11 +rose1234 +horror +ghbdtnrfrltkf +123456mm +cocococo +crackers1 +twelve +thecat +fktyeirf +110025 +1214 +manu123 +sedona +cars +231 +karo13 +rotten +jesse12 +123edc +1314 +pilgrim +ohyeah1 +britt12 +thriller +alana1 +treguier +sim +addl0223 +madden09 +sangeetha +mkal2707 +br00klyn +ilo +brown13 +shayna +monday123 +smokey13 +angelseye22 +farfallina +chitown1 +ilove3 +chief +cookies! +cole +buddydog +lotus1 +Stefangreil1983 +jackjack1 +naruto5 +makenzie +0909 +limited +791159392 +monkeys2 +hannahmont +jet +hfleuf +121285 +lebron1 +priscila +Redab1993 +letitbe +pelota +danny2 +myfather +virtue1234 +southside2 +bri123 +wheeler +julieann +aninha +zooyork1 +adrienne1 +serafina14 +4mykids +111680 +leonor +bou +brandnew1 +naruto9 +fuckit! +ladiesman1 +me12345 +heart123 +wishbone1 +redbone +dark123 +2kroliczek +total12scherz +Baseball +1234567p +single123 +201 +nene +bright1 +abcdefghi1 +poiu0987 +cutie14 +jmoney1 +slash1 +lover14 +sample +hockey8 +stunner +cummins +ogplanet +tulipan +dracula1 +freeway1 +adams33486 +lakewood +chocolate4 +o12345 +12345678987654321 +bitch666 +010180 +marsik +crybaby +sweet17 +gabriel2 +FUCKYOU +111111111111111 +whoknows +kkkkkkkkkk +contra +sss111 +SPEz3012 +julie2811 +ch +lucinda +vijay +smokey420 +cutiepie2 +daniel18 +max12345 +mormor +chicken11 +f1uUHZa723 +eve +moi +razjel1 +november8 +tinkerbell1 +cierra +a54321 +tapout +rose24731 +mildred1 +qwert54321 +pendejo1 +150556 +trainer +softball21 +studio54 +jasper01 +lisamarie +shortie +damion +getsome1 +kimmie1 +Mickey +goldberg1 +reloaded +eva +wpcAKir264 +r1234567 +wert123 +eatpussy +emilio1 +myspace88 +132680 +par +armstrong1 +cervantes +anthony08 +rooney8 +buddy5 +whitetiger +power12 +mickey3 +54321q +vader +joshua21 +4224035 +andreita +viola +mario140773 +accounts +asswipe +sunshine9 +manolito +64impala +badgers +alex17 +umbrella1 +mob123 +oojs4ykl +ruler1991 +paquito +dav +ramon +treflip +november24 +BBLeo1zz +tendulkar +marilena +william5 +angel27 +oldnavy +green8 +legendary +rhodan01 +Nathan +voltaire +fuckyou88 +guardian1 +weyersheim +honey215 +carebears +cool22 +ripcurl +linusd8 +vanessa2 +rainbows1 +depechemode +bandit2 +gidget1 +purple16 +dabears1 +01011988 +marko +axlrose +armorgames +superman01 +dkz1999 +lucie +sodapop1 +santamaria +father123 +m1chelle +pg260365 +mexicano1 +sexymama12 +bumper +121284 +sacha1234 +winter01 +mgreen39 +moderncombat +q1a2z3 +baller13 +stella123 +hola1234 +nazareth +christina2 +19810301 +november27 +ZZ8807zpl +theband1 +123459876 +nimbus +mendez +dance12 +december28 +rockon! +dora123 +tuxedo +nice123 +pizzahut1 +lucky10 +billiejoe1 +getlost +Polenka1 +magazine +bootsie1 +beast123 +la +gruby12 +taiwan +jesus143 +babababa +duncan21 +olivia2 +ace +southwest1 +pomalo123 +rocky3 +863560 +theshit1 +Somanypickles27 +forever3 +ahbird1984 +norma1 +01470147 +services +MICHELLE +mil +moonmoon +chr +jujuju +latoya1 +dd123456 +191191 +vanhalen1 +leliane50934 +lmapacey +gggggggggg +smith123 +peggy +shorty69 +august2 +papatoma1 +forsaken +fudge +wayne123 +sammy7 +159487 +rabat1945 +333221 +optimus1 +Rachel +imelda +aczx7812 +sadsad +chanelbag +puttana +hester23 +blunt420 +johnny1959 +rashad +masina +herbalife +jessica. +daniel16 +pussy5 +yancai +12345A +lovers69 +andrew5 +678678 +awesome2 +sexe +123456ok +Madonna12 +hattie +saint +257ers +hello101 +oasis +damaris +desadesa +libby +bored1 +drifter +fuckme12 +onlyyou +sanders1 +blix729 +1234five +2password +nickie +monstercha +a1169619 +badboys2 +pascual +kitty101 +itisme +brooke123 +gab +bambolina +nottingham +softball23 +cubbies1 +marian1 +nancy123 +onlyone +4rfv5tgb +Pokemon +lacey +edmond +puppies2 +purple9 +1tigger +purple15 +cowboyup +maxima1 +rangerover +3232547 +wrestler1 +castle1 +momo12 +przyjaciolki +beavis1 +morton +yellow! +123678 +viagra +moonshine1 +123zzz +zombies +stripes +SDream +christian7 +lenka +wigolf +hawkeyes +21864812 +satnam +Tanja1993 +butterball +mexico01 +cooper123 +erotic +music5 +rosaria +fuckyou01 +iloveyou88 +bergkamp +50505050 +ahmad +ligabue +pookie12 +mpeater +wsxedc +sevgilim +jomacapa +crash +lolo12 +lilwayne2 +edmonton +hollie99 +advent +youporn +eastern +benfica1 +jesus23 +E2yFp41B +b00bies +8008070 +tkfkdgo1 +lacoste1 +Zesh1412 +makulit +jasmine01 +ignoranto +henni1907 +hooper +music13 +dragon8 +1007 +monster7 +zac123 +crunch +escola +soulja1 +good12 +han +dark666 +faca210898 +northern +dogshit1 +grateful1 +december14 +goodmorning +lovebug2 +bff4ever +chris19 +flyers1 +yaoiisgrand +fineboy +221133 +rosco1 +haha11 +1ofakind +Roanne42300 +murali +nokia3250 +allsop +candy101 +fantasma +01012009 +qw12qw12 +graffiti1 +rs11220 +pokemon9 +sokolova +clown1 +776158ab +one234 +phoenix888 +102 +jyothi +123456789as +sk8ers +lilmama2 +mexico7 +kerry1 +rover +alex24 +1234567n +marie7 +oliver01 +maldives +bubbas +baller11 +1205 +xlsl9963 +icetea +islamabad +aaaa11 +c1234567 +laurel12creek +1E+14 +kingfish +kfcnjxrf +bball14 +91866709 +2w3e4r5t +chutrung +malcom +tadpole +cavs23 +560001 +Mase4ever +yoyoyoyo +deirjj +edmund +mom1234 +qwertyu8 +romy01 +1106782 +seanpaul +escobar +coco1234 +fucked1 +bangaram +kassandra1 +andrusic1 +yandi20080527 +manuel12 +Ezekiel11991 +marek14michal +fuchurli +lovehurts2 +721521 +jimmie48 +raffaella +LIVERPOOL +monterrey +haggis +unforgiven +Lancia037 +golfinho +davidoff +yanks1 +484066 +barker +jordan06 +fidelity +boomer12 +Gambion32 +0icOtpd785 +hateme1 +guillermo1 +trivium1 +treu14 +042945d +rakaii +scanner +qwerty4 +Puma123 +landmark +dogg +ronaldo07 +november3 +arsenal12 +cosmopolitan +muffin2 +ice123 +ossi2000 +qyahzn +gigaman8891 +author +1shorty +hermann +alyson +101087 +yt +assface1 +cxy831126 +rocks +fabregas4 +bibi +lucky6 +bre123 +mufasa +117117 +keegan1 +mercy +ibicguwjic +comcast +heartbroke +sparky12 +Mustang +carnage +apple11 +greatone +becker +monkey18 +trandafir +blackout1 +birdhouse +fossil1 +winter123 +delphi +saxophone1 +jes +121292 +floyd +101085 +87calis +metal123 +lucky77 +123ABC +sestra +blue88 +qwe456 +josh13 +Power999 +carrots +xbonesx +working1 +holler1 +Boguska123 +tmvlzj12 +156156 +skillet +illuminati +w12101957 +snoopy13 +rover1 +black22 +lightbulb +milk +gazelle +1208 +emmanuelle +maddox +74699723 +super7 +jenjen1 +chandan +bball5 +jasmina +cal +cream1 +2933455 +michael18 +aguilas +wrigley +komodo +sig53num +shorty01 +baby05 +wubin007 +ballin3 +brebre +Grine89 +popper +teetee1 +iloveu13 +8008beb +ruqueb +marvel5454 +covenant +00 +yamato +cierra1 +aaaaa5 +hotlips +kris10 +camden1 +butterflies +madara +Thebears12 +doug +aimee +eragon1 +sammy13 +555000 +181920 +wan123 +black23 +20070509031 +asdfghjkl12 +789321 +james4 +1bigdog +bobcats1 +testtest1 +67529353 +46265216 +solo7590 +2pacshakur +bukola +forever4 +papabear +iloveu22 +marie23 +panorama +samsun55 +brother2 +assh0le +soulmate1 +pink08 +kylie +robert22 +lydia1 +crysis +prisca +peepee1 +italie +colgate +waldiw82 +salmankhan +skateordie +batman5 +robinho +icthus01 +123333 +michael08 +malik123 +malaysia1 +chelsea8 +tigger5 +chitarra +jm0753 +almario927 +thinking +dogs12 +jjjjj1 +rosa123 +kakaroto +eighteen +1102 +heterosexual +hardwork +meowmix +jamal +maganda1 +kira +smashing +mateus +poster +lapinou +awesome12 +wolf123 +monster5 +gisele +weekend +Phoenix +giggle +makeup1 +mariama +sheshe +capecod +spiker +lucinka +alpacino +neopets1 +breathe +Madison1 +tracker1 +waterman +thieric +arabella24630 +jigsaw +tigger23 +patron +chasity1 +guesswho +softball15 +justin18 +dominion +jojojojo +killer1234 +anjana +Royals22 +junior3 +2727 +seatleon +2416101113 +calderon +concepcion +chinook +xred4654 +micah1 +rdukv46x +soukayna +hummer2 +lovejoy +bela2404 +edwardcullen +money4940 +aimee1 +alex99 +jr1234 +alterego +siempre +heinrich +america7 +anatoliy +khan123 +Jose1995 +bingbing +power2 +chivas2 +120n2X +diego10 +cat15175 +winter07 +z1234567 +march7 +overkill +eightball +1zzzzz +soulfly +killa12 +michael15 +3d8cubaj2e +metro1 +ania1986 +chanelle +x12345 +098890 +mostafa +weed13 +lasalle +dipset5 +pluto1 +sandoval +red321 +jolinek33 +Meatball99 +01011986 +110110110 +smokey11 +vfvfvfvf +ada +600041 +my5kids +000009 +philly215 +quake3 +slut123 +pokemon5 +hockey4 +monyet +lilli2006 +myspace16 +fishing2 +focus1 +superboy +pilot1 +myspace17 +seneca +1banana +tronwell +weenie +krystyna56 +newton1 +sinned +20072008 +whoareyou +23628221 +geniusv +raleigh +rksk3210 +71191926 +pri +festival +minister +simson +pranav +myboo1 +petting +yomamma1 +daredevil1 +sebastian106 +peace! +gautam +Monkey +marie14 +slunicko +nitro1 +baby25 +angela12 +badoobadoo +b00b00 +cookie23 +jackie2 +oliver2 +jayden07 +cameron12 +royal +gobucks +panda12 +aja152 +trader +lionheart1 +buceta +dabomb +theodore1 +fifa2010 +he635789 +224488 +mm170667 +igetmoney1 +bears54 +freedom! +rayman +elite1 +lestat1 +shaney14 +marica +snake123 +85726648 +easyas123 +fallen_angel +colour +racerx +puto81 +jackpot1 +Knackwurst8853 +mommom1 +852456i +400059 +pingvin +carnaval +110058 +pimp15 +asdewq +s12345678 +turtle12 +111444 +miki +3141592654 +irock +5234055 +volkova +dbrecz +nicole8 +betty123 +teetee +baby02 +veri1234 +lizbeth +pop168168 +dalbas73 +наташа +pinky2 +2246926 +frisco1 +hoffman +121287 +hello14 +money14 +parolamea +baritone +gennaro +0p9o8i7u +tommy12 +giulietta +1124 +james69 +EthanRyan01 +kjiflm +jimena +paul12 +Mikael412 +198484 +supreme1 +arianne +godiM001 +pussies +tony13 +andrew! +lucky69 +istanbul34 +rockford +march9 +P1466186 +fullmetal1 +yoyo12 +independen +lovely3 +1215 +ghjnjnbg +chemical1 +babygurl14 +thedude +4me2know +croskey +sindhu +atletico +kitten123 +carito +lilsexy1 +salerno +bitches! +imsexy1 +Caroline. +taylor14 +heather123 +accountant +1badboy +shania1 +carmelo1 +gdcc9921 +marshal +juan13 +bratz123 +michaeljackson +221 +wil +licorice +create1 +megafon +cradle +renee123 +adv23 +sammi1 +1111111q +444 +mayank +clarinet1 +sol +FieSta01 +abcabc123 +tomek +odette +kaboom +clochette +mammina +grandad1 +milly1 +ziom82 +gabbie +babygirl06 +ohcaptain +electronic +pinkpanther +friends5 +feathers +incognito +tkgsoo083bsr +volimte +lehjxrf +angola +heeren981a +nougat +Ezekiel11989 +hallie +perry +Vanessa141175 +shawty +d6ug7epz +noel +astroboy +teapot +253314 +alisher +nebraska1 +proverbs +grinch +kinky1 +marsel +mytime +kaden10 +cats12 +channel +4567890 +destinee +killer45 +shashank +spiderman4 +layla +Freedom +sabine21 +daniel07 +lovemom1 +lilou +lilmama12 +Cr1st1an +terrence1 +maribel1 +sampdoria +47593893 +skittles12 +ggg +ravens52 +kenya1 +proverbs31 +cars98 +bill123 +pakistan786 +kipper1 +bobcats +leeds1 +poiuytreza +dolphin7 +ilcerchio +mygirls3 +889900 +timfranzke +beans +metallica6 +freedom12 +01011984 +zippy1 +nataliya +wonderwoman +119911 +password? +jessica9 +15731573 +crescent +black21 +211 +qwertzui +justin69 +198410 +computer11 +mustang123 +deeznutz +pablo123 +tagesgruppe2010 +hockey15 +?? +speranza +MD1998PB +cronos +ashley4 +mamina +kingjames +robert69 +jemima +gbgbcmrf +hans +nickelback +ytrewq1 +schokolade +marie22 +manjula +nglw9840 +chris06 +morelle45 +gilmore +wilma +charline +uae_boy +jp72l05w +baller10 +karaoke1 +pimpjuice1 +1947 +neeraj +renate +freemusic +jibopogie +redemption +november30 +columbia1 +taylor4 +robby1 +palomino +lucky07 +anthony07 +christo +camron1 +lana +fialka +fatboy2 +alexis10 +tweety3 +pimping +redsox12 +grazia +memorex1 +chester2 +hanson1 +monange +josemanuel +nene123 +shell1 +12312345 +12345678c +1209 +rapture +starship +yorkie +holycow +hermosa1 +Jasper +summer21 +zaq1xsw2cde3 +enocnayr +football45 +texas2 +futbol1 +zk.: +51615801 +kaifer124 +blackhawk1 +raiden +acdc123 +020304 +estrada +yasmine1 +redskins21 +vitor1 +1948 +abc123123 +silverkey3 +8520 +clark1 +miguel12 +tiffany123 +namaste78 +maddie123 +j12345678 +slimjim +hiphop123 +dewayne +ledzeppelin +kolodiy +oscar2 +mia305 +dresden +hateme +wiccan +blueangel +tanisha +elmira +socorro +precious2 +airsoft1 +flower7 +miniclip +jonas3 +hernan +joseph3 +marvel1 +tater1 +sweethome +oliver11 +qwerty66 +dimasik +35365123 +jonny5 +blueboy1 +live4him +12345678b +527728 +baby19 +06LB18 +abercrombie +danika +defender101 +shannon2 +kasandra +love2006 +foundation +newvision +jack13 +108108 +299kgj8hgf +111111aa +neneng +asia +pink18 +splendid +hateyou1 +mexico3 +password34 +cayman +nessie +dale +prison +tania1 +haley123 +mjdh065 +welcome6 +webber +cutlass +bigboi +toaster +cg9600 +crazyman +22021988 +jadebibou +cheer08 +weewee +bob12345 +lahmy1 +baseball. +lumiere +justin07 +fluffy2 +toulouse31 +893208 +goliath1 +123456ss +faith7 +salsa1 +gerrard1 +airtel +Nastya +zebra123 +qwertyu123 +what123 +trapdoor39 +madafaka +marykay +lllll +beeline +horny69 +abiola +john23 +maik1996 +ananya +barton +amina +perkele +cabrera +1236547 +utjhubq +maryanne +794613852 +tanaka +godson1 +kitten2 +rockman +979575 +mesedka +c0mputer +greg123 +domdom +jackson12 +zxcvbnm0 +197979 +nasser +lucky22 +papers +imissyou1 +woshishei319 +lahoumti +wow +lilred1 +dominator +olympus +allyson1 +Aysa2423 +qwe123qwe123 +hondacbr +kxdw0980 +nashi1996 +master13 +dylan12 +1420839army +matt11 +110006 +federer +jolene +doctorwho +Alex +fenohasina39 +kaulitz +love2000 +samir +12356 +maxix565656 +44f16f17f +iforgot2 +QQQQQQO +c00kies +buddy13 +ks120473 +rhino1 +sophie2 +anton123 +mclarenf1 +123443 +patch +chidori +november26 +motorbike +asassin1997 +guruji +taylor22 +facundo +1701 +sunshine23 +billiejoe +hippo +astray +kehinde +gal +nmt89109328673 +flash123 +nuclear +velocity +asd321 +80173Rroom5 +midori +Julian1705 +16246149 +savings +poot62 +soso +pangga +marques +560066 +sonysony +halo1234 +oluwafemi +fraise +wrestler +casandra +fireworks +bulldog2 +babi123 +junior5 +elizabeth5 +tayuya44 +julio123 +george11 +qwerty67 +pussy4me +ee19920528 +gremio +132040 +123456789000 +qamilek1 +chantel1 +renard +leloto +kiwi +xup6xup6 +lover! +89173371487v +qawsed123 +lh6209lh +987987987 +d1e234tp +oooo +112233qq +forgetmenot +Vanessa +albatross +774517397 +15727666 +1234567890qwe +borec123654 +26r10d +magma9824660 +pussy3 +toutoune +sinister +315315 +b4272327 +inibif47 +morenita +klopik +dardevilk +dimas34rus +brinchen23 +tracer +8-9899578642 +chowder +nemo +tristen +212212 +9508402243id +89058895869cth +brown123 +fgjrfkbgcbc34 +kretsaha53 +cristal1 +rachel2 +hejhej123 +1loser +holuha00 +manchesterunited +123456* +mummy123 +vladcherktecktonik +eileen1 +101092 +lenny +jumanji +duke12 +huangfeisuny +brady +3tktkthth +silverfox +312881040 +james14 +lightbulb1 +emmitt22 +esidez57 +brenna +44442013vkkv +chimera +198312 +montoya +november9 +mymusic1 +bo1997 +littlegirl +qazwsx11 +1357reti99 +521125 +paula04 +dallas11 +bublik +lover7 +destiny5 +searching +camel232 +padilla +adsl120 +family11 +bullet695 +13301827475 +josh11 +G +looney1 +olufiz14 +brandy12 +25nuvaha +11231123 +soccer1234 +toni +Summer +ramzes +1590736tany +rejoice +dental +harley13 +sarika +nj2mp73t +snoopy01 +80fefune +baraka +narendra +9121318barssuki +butter2 +taco123 +sonya +funtik +andrade +119872653 +ashutosh +k25061405u +juliadronina1996 +disco1 +qw10081973 +andrey1412ua +110096 +maine1 +usarmy1 +578322 +iloveu143 +marcus123 +3106934abc +william11 +05081980bija +19541954 +mortgage +blackburn +lucky01 +metallic +alexis3 +ethiopia +gualapmi +011151zangetsu +d04081999 +latrice1 +fragile +yfnfitymrf +reflex +payback1 +hacked +junior08 +lanlan1234 +51200000 +j: +ccopacell1 +pookie123 +jandre007 +laurie1 +islam +mustang12 +newyork12 +amnesia +cam123 +josh1234 +ktvt6tn9 +jeremy123 +moldova +cisco1 +cow123 +buzzard +ltybcrj1992 +dougie1 +loveme01 +class06 +esprit +m8a8vHr6 +beardog1 +080365 +hoodnigga1 +1urkilbth674 +casanova1 +nicknick +november6 +maggiemay +814336633 +dank420 +cameron3 +starter +asshole5 +pimp09 +bella13 +coke123 +madalena +1488 +mosima11 +honda2 +chemistry1 +lukas123 +min +mother01 +rastaman1 +kirik26trimyasov +ellie123 +ranjan +12three +gummybear1 +bullet83 +treehouse +sasin414 +asemmanis +alex08 +theboys +punky1 +japanese92 +settembre +mcr123 +dedamiwa +angel26 +iopjkl12 +qawsed1 +spanner +bristol1 +belinea85 +sexygirl2 +klg604 +usuck1 +blackbird1 +aspen1 +love31 +justin17 +ingo10477 +britt123 +soccer00 +junior8 +jessica16 +jesus4life +diplomat +juicy +freedom3 +fanculo +e123456789 +antonino +p123456789 +nevergiveup +tiptop +c3por2d2 +fuck22 +aquamarine +pasha +kimberly12 +Whiskers1 +jeannette +zy19791201 +190190 +dusty123 +anushka +spongebob5 +gaby123 +Austin +cyber +maks +andg1705 +q2345678 +xzibit +arsenal11 +comics +1pepper +honeybee1 +126126 +toriamos +mayra1 +kapusta +rolandia42 +fabolous +goodlove +newlife09 +disaster +jonasbroth +scraty98 +enjoy +matthew13 +shotokan +immanuel +asdfghjkl0 +royals +sassygirl +vangogh +dadounet +911turbo +semarang +lucky9 +poulet +mocha +vaemai31 +bella11 +jarhead1 +dianita +1abcde +potatoes +u79999i +alexander7 +hello21 +zxc123zxc +bijoux +susie1 +peekaboo1 +ju2002 +totototo +goaway1 +northside +211211 +moneyman87 +bimmer +queenb1 +clarissa1 +agnieszka1 +rhfcfdxbr +princess06 +comet1 +marcus12 +giuliano +patterson1 +1234567890987654321 +jayden2 +cristobal +snickers2 +scouts +ooooo +conpro73 +sakina +bitch16 +spider12 +pregmar2 +happy! +candy7 +inflames +hannah4 +123456789zxc +john2567 +database +nicoletta +sdsdsd +723723723 +maika2006 +iloveu5 +arkansas1 +26 +jesus4ever +login1 +aquino +fuckyou14 +hopkins +reptile +neptune1 +1basketbal +560043 +7eleven +110070 +bryce +��+���������� +gayboy +joshua22 +justin4 +slater +chanda +chicken4 +imation +gudiya +ele +andi121382 +seymour +1111112 +T +sweet15 +019283 +was123 +giselle1 +redbird +kenwood1 +lookatme +1993ga4mi +13489277 +hotdogs +underoath +friend2 +donaldduck +snowy +shorty15 +mypass1 +ronaldo10 +EtnXtxSa65 +kitty69 +transfer +killing +hohoho1 +a159753 +woowoo +chewy +jackoff +tiger01 +john22 +iamawesome +broadway1 +donato +jam +dopeboy1 +F +jess12 +patrick7 +schilf02 +banner +114114 +capitals11 +crackhead +01011982 +pimpin3 +lala1234 +money15 +zpaqrt2963 +shadow9 +cutie4 +ilovejohn1 +baby88 +shorty5 +gemelli +engel00007 +dodgeram1 +Morgan +aabbccdd +bulbul +15516210 +vflfufcrfh +martinique +sandokan +iluvyou1 +JOSEPH +1203 +milanista +hshn7669 +love333 +madelyn +gag5691 +jesus22 +clarke +rahul123 +eagle123 +happyday1 +kikikiki +13Marino +bloods5 +66613666 +mischa +koupelna +major +oregon1 +monty123 +piccolo1 +silver2 +grecia +tiramisu +euphoria +chelsea01 +jessica18 +tucker12 +please123 +111188 +18297649 +bulgaria +jac +satria +marcio +leilani1 +1orange +shiningeagle +locked +harley07 +rajeev +redwin3d +carroll +llllll1 +patrick3 +301285mn +frederick1 +salama +121233 +cookie22 +blue25 +biscotte +Naruto924 +sonicx +mNbmNbmNb +rossia19 +freak123 +mara +osvaldo +ramos +198282 +robert23 +tink +wolf359 +sonyvaio +sisters2 +sutton +starwars03ja +burrito1 +sainath +45533990 +harley08 +srikanth +fkbyrf +allstars +fu00190 +samson123 +love2012 +sober3 +wm0001 +hhh +josefa +december24 +SHADOW +kristi1 +wanderer +binky1 +cookie10 +aldebaran +michael09 +stubby +angel02 +nvidia +54226269 +120689 +nthvbyfnjh +galant +mydream +marisha +mad123 +johndoe +Teufel99 +vidaloka +garlic +swansea +t1234567 +ilovejames +password42 +mandarina +inter123 +mona +escorpio +MASTER +dbnfkbq +jetski +xenosaga1234 +david69 +mob4life +telefon1 +ilovedogs1 +smurf1 +55chevy +yellow23 +cassius +rohini +reality1 +emeline +111985 +uhbujhbq +band123 +sweetgirl1 +darwin1 +oieoie +Snoopy +blacksheep +loveme21 +tabatha +iloveher2 +kamil555 +blackboy +sanjose1 +121088 +isabell +1aaaaaa +better1 +peugeot206 +happyman +apple7 +november28 +search1 +menace +fuckyou08 +snoopy11 +spiders +memememe +myaccount +petrovich +gabber +burnout +mexico5 +olive1 +69664848 +kahitano +joana +blade123 +Virgilio12 +linkedin01 +1234567e +audi +roscoe131 +fantasy7 +suckdick1 +fairy1 +concetta +lakers12 +kmk420 +sofiane +jayjay123 +misiek1 +ilovemoney +blackbelt +nicole69 +smithy +chairman +topdog1 +pieter +teejay +poop101 +trikers21 +december29 +radical1 +therapy +12345789 +Angel +runaway +Tielandros01 +happy4 +thomas21 +srbija +qqqwwweee +daniel17 +130989 +approtec +warwick +brighton1 +stargirl +rosana +dsadsa +number22 +rubberduck +dutch1 +89272585 +gillian1 +1hateyou +missing +viet12 +herbie1 +vampires1 +258147 +honeypie +biteme! +ghjcnjgfhjkm +bush25 +impala1 +zz123456 +ouioui +19551955 +callme +8PHroWZ622 +austin7 +gunit50 +emmawatson +andrew14 +killerin66 +angelgirl +court1 +merdeka +station1 +diamond5 +pisces1 +christian0 +farside +dancer! +pinpin +bbb123 +111987 +megan12 +love86 +jnkwear1 +alex12345 +tigers11 +youknow +falp5050 +softball! +civic +1q2a3z +bank24 +sammy11 +photo +170845 +abcdefg12 +29271188 +tarantula +angel675 +ballack +cadbury +november4 +jason13 +elcubano1893A +urdg5psk5 +doggy2 +ASHLEY +ashley07 +1matthew +mantis +player23 +tigers123 +terry123 +frost +ANDREW +avenger1 +thanks1 +lucky23 +uzumaki2 +bro +123580 +daddy5 +slimjim1 +loveyou7 +nonenone +htown713 +197878 +kmzwa8awaa +chicca39 +karishma +27140621 +ltdjxrf +ganster1 +67890 +brianna12 +zxcvbn12 +leroy +kokot +rfgbnjirf +xiomara +secret! +leader1 +christoph +Q0tsrBV488 +tropical1 +grasshopper +alan123 +95135876 +secrets1 +meimei +cuervo +musift10 +bremen +PASSWORD1 +source +goku +monte1 +love98 +twilight13 +naruto14 +playboy13 +wwwwwwwwww +shannon123 +chango +fucku! +ozzie1 +jaw138whet330 +jaisairam +caterpillar +lydia +gaspar +eagles10 +2233 +73439984 +Pokemon1 +lucien +kuwait +venom +hannah99 +fugazi +residentevil +8616695 +clyde +83742222 +iloveu. +idiota +haylee1 +123963 +james15 +kevin13 +poopy2 +32flame +asshole. +puddles1 +alyssa01 +a696969 +poupou +rex123 +heitor250493 +metropolis +saint1 +r041stcu +dlfaor09 +vfhbjk1801 +poohpooh +infinite +valentin1 +1234567w +brandon14 +Wokami +rider1 +czsxumtf +diva12 +golf123 +abc123. +cooter1 +vitolino10 +audiopel +verena +glacier +blood12 +dickens +qqqq11 +kevco33 +littlebear +wrinkles +amanda10 +baller15 +11223343 +strelok +vector +luckystar +johana +hotdog12 +pussyeater +jokers1 +cookiemonster +hi123456 +katiebug +seaside +brandon8 +valdez +daddy11 +female1 +columbus1 +sk8ing +bas +zaphod +medina1 +greenday! +shanna1 +luther1 +cyclops +696969a +wwwww +princess25 +woody123 +carollo12 +tinker123 +michael07 +P@ssword +fab +goodwill +switch +bigmike +bunbun +abbey2010 +876543 +shine +smiling +ozzy +gutta1 +engelchen +valentino1 +nico39 +raerae1 +Tokio1 +akasha +angeles1 +nederland +Beastie0 +nathalia +nolose +magno456 +pfkegf +1114 +Gopher12 +owt243yGbh +mustang3 +three +aaaa1234 +support1 +nodoubt +tomas1 +fishman +Brammi1 +peleleco +yyyy +leno4ka +karlita +anastacia +daniel! +skydive +112200 +pacheco +vandah +lin456 +ernie +299792458 +zimmermann33 +yeahbaby +paddy +badboys1 +Berlin +daniel4 +grinface +charlie8 +pidaras +mother11 +london2 +sherlock1 +linkedin4me +102010 +karlos +01011989 +king22 +capitan +tigger10 +tangina +ghjcnbnenrf +sunkist1 +manuela1 +packer +moomoo2 +hunter69 +march2 +1lovers +mom101 +dzxtckfd +scooter12 +654456 +comando +kavkaz +bradford1 +yoshi +dei3mutter +earnhardt +marbles +sha22una +1616 +cooldude09 +reggae1 +lilone1 +13579a +gerardway1 +19960122 +blood2 +andres123 +chica +pacific1 +111116 +fosters +softball6 +emotion +furball +ballack13 +kendrick +bugger1 +snowwhite1 +chinese1 +Kolkol90 +nicole24 +newdelhi +chess +256256 +irock! +whitepower +loplop +22janv67 +undergroun +mariage +lucky14 +nhanngu +9198425200 +pimp07 +197600 +120588 +casillas +w3wjnhek +zhenya +wright1 +summer2009 +auckland +560017 +sha123 +stallion1 +redsox24 +kenshi21 +con +tttttttt +robert21 +hawkins +476730751 +12345678l +senthil +linda12 +01011983 +cali +highlife +elizabeth4 +ltymub +500034 +mojo +chino +pianoman +wildlife +666satan +rolling +dancer11 +skater3 +sc00ter +gargamel +120789 +59230120 +kardelen +mauro +oluwatosin +volvo1 +sexual1 +tvs3108 +jesica +flipflop1 +perez +kocham +peacemaker +Pitapooe1 +orioles +1getmoney +beijing +amanda7 +hijodeputa +199000 +ralphie +jellybeans +Vesproongh12 +Vladimir +king21 +3456 +erwin +Gabriel +ryan01 +150781 +lauren! +hollow +wendy123 +palmtree1 +Caroline +jacky1 +600017 +7heaven +jorgito +ravindra +howdy +leedsunited +vadimka +diabolik +pourquoi +website +brm600 +carlita +Bandit +march8 +puddin1 +khongbiet +ayanami +alina123 +Pass1234 +brandon6 +keke123 +nihaoma +refresh +jhonny +gre +girlsrule1 +ricard +super2 +musashi +alexxx +thursday1 +dmsgk0103 +2q2w3e8r5t +grendel +gracey +marie15 +travis12 +kevinbg01 +goodyear +774411 +yana +mindy +desktop +butler1 +robert5 +3Tutso24qF +just +hyperion +tank +worker +pepsi12 +apinoy +brandnew +janine1 +alex69 +Delivered +caracol +sophie11 +broker +whatever3 +sc00by +chrono +shady +440226 +jayhawk +fake11 +skittles2 +valkenhayn +ripple +carlos01 +reagan1 +xerxes +nofear1 +ural +ballsack1 +starman +63245009 +comanche +umit1406 +goldenboy +karappinha +lowell +saleen +magno07 +skater8 +cfif +jacopo +brook1 +theend1 +minecraft123 +umberto +hotsauce1 +mordor +webkinz1 +blind1 +pringles1 +strobe93 +bryson1 +ihateyou12 +buddys +mycomputer +iloveyou00 +yacine +sanfran +sean12 +260686 +triforce +fucklove12 +123qweasdz +opendoor +133113 +familyof5 +koolio +dinner +ballsack +tomek1 +111986 +pioner +hunter21 +hovno +X8coQx1F1zh +spikey1 +123159 +laura12 +2626 +brandy123 +jaypee +ganja1 +qsdfghjklm +socks +baby03 +1cowboy +aaa000 +xsdsxs +hamtaro +kristian1 +chowdary +jkl +babies3 +hunter09 +manana +mor +thunder123 +campanita +abbey +lovehim +bigben7 +realtor1 +lancia +198211 +39073588 +cocodrilo +cheyanne1 +vesper +jackson3 +tech +redsox07 +120286 +jesus. +vinayaka +smooch +almeida +dance2 +nokia7610 +alex06 +qazxcvbnm +pimpin123 +astro1 +gobears +hardy1 +poopface1 +cobalt +pitiponc +ocean11 +cheer09 +sheep1 +bernice1 +crap +carly +tiger21 +happy6 +fox +calendar +�+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+���� +ama +chester123 +1101 +mintal24 +anapaula +marcus2 +gunther1 +12345677654321 +sexy77 +fuckshit1 +marie5 +110049 +12qwer +82597971 +jenn +bball15 +121087 +honeymoon +jackass12 +requiem +republic +4friends +taichi +bathroom +5550123 +biology1 +jemoeder +boxer +v3xAfy4k3Y +football42 +angelic1 +0123654 +400080 +sunflowers +money99 +randy123 +enamorada +demons1 +sexy45 +nicaragua +maddie12 +1winner +198212 +hewlett +namour +electro1 +magodeoz +1qaz3edc +jenifer1 +thing1 +january12 +sebastian2 +math +sixtynine +cheeks +aaaaaa6 +sayangkamu +neville +fritz1 +connor01 +andersen +hustla1 +tickle +vtldtlm +cincinnati +profile1 +leeminho +Metallica +newhouse +ppppppp +125478 +kristie +hornets1 +fresno1 +greatness +steven01 +bear11 +danny13 +inlove2 +satellite1 +basti_1014 +peanut7 +paulchen +5stars +junior23 +1thomas +oldnavy1 +rerjkrf +babyboy13 +1sexygirl +jardin +filter +loveit1 +cj: +sunflower2 +anna1234 +FAMILY +jbond007 +faster1 +carcar +teddy12 +parliament +generals +121984 +christel +baby2010 +gagoka +fun4me +girls3 +peanutbutt +magica +pinball +westside12 +alissa1 +hardon +bolivia +gaetan +30seconds +1104 +keaton +lavalamp +10971199 +ccc123 +ganster +1ty2an3JA +01233210 +d9189498 +richard3 +098123 +john01 +$money$ +stafford +mystic1 +cristine +heartbeat +lipy110593 +slasher +hongkong1 +1queen +endless +futuro +bonehead1 +carvalho +thunder12 +jesper +dblock1 +silver7 +gamemaster +001234 +michael17 +basil1 +herbsmd +maple1 +timeout +hottie22 +g123456789 +candles +melissa7 +28 +keke12 +eastside5 +butter123 +Z +atticus1 +blue18 +121416 +Zmx870919123 +str +danzig +fester +babaji +BRASIL +vball1 +truffles +1103 +ambrose +rivaldo +Jackson1 +peanut13 +1lovely +poppie +1949 +christoph89 +cnfcbr +120589 +toocool +baybay +mike10 +maxie1 +bullshit2 +march4 +01012001 +magpies +puravida +joshua5 +cherry7 +me123456 +210210 +yomama2 +Raumschiff +harley06 +backsdau +twilight2 +lourdes1 +thecrow +gypsy +)ryan +pogi +92246247 +napster +judy +1903 +alien1 +eliane +ILOVEU +sunshine. +gladys1 +monkeys123 +naruto22 +560068 +Jennifer1 +chispita +susieq +money! +yesyes1 +allegro +purple17 +ragnarok1 +bikini +nashville1 +vivaldi +shikha +120587 +venkatesh +xx123456 +gardner +jmoney +joseph13 +555999 +hockey18 +copyright +paintball2 +daniel08 +6661313 +toby12 +kujawka98 +messina +booboo3 +familie +loyalty1 +skulls +whatthe +philippines +kayden1 +batistuta +february1 +spongebob4 +justin6 +jellybelly +bloodz +emmett +cannabis1 +omgomg1 +rustydog +tilly +hurricanes +angelface1 +12451245 +diablo123 +bender1 +lina +167943 +cooking1 +beruska +lollipop12 +shadow0262 +cash123 +Joonah +747546 +angel03 +bnm123 +dogfood1 +milkman1 +master10 +willis1 +sexychick +pikapika +she +1school +cannondale +martin2 +dogwood +oceano +verygood +alexander0 +gaygay1 +mario2 +dakota11 +ponpon +101288 +football81 +Skelitor66 +gabriel12 +juliocesar +purity +tucson +soccer02 +vernon1 +siddharth +sunshine123 +dougal +nananana +elcamino +venture +passer +choppers +barney123 +2121321q +brooklyn12 +110009 +fofinha +horace +tra +camels +kazanova +lovehina +12101210 +meatloaf1 +keyblade +63145151 +bearcat +natashka +dotcom +juillet +woohoo1 +muschi +fuckit69 +vinny1 +timosha +sami +michelle19 +3doorsdown +workout +L58jkdjP!m +w1970a +belinha +pepper5 +lpz93sssKqw8Q +sandy12 +seashell +110022 +liz +talk2me +babyangel +fag123 +tweety01 +1234567890p +brenden1 +jonalyn +Merlin +198222 +honda12 +120687 +sinaloa +darian +paige123 +daniel. +kelebek +fallout1 +bunnie +analyn +mamatata +vagabond +caleb123 +ninguna +justforfun +1kitty +audi1991 +casa +fandango +star16 +cheese7 +weirdo +keeper1 +violin1 +mafioso +banker +benedetta +guyana +death13 +009009 +slim +2boobies +mexicano +mauricio1 +military1 +12231223 +gohome +999777 +goodman1 +baguvix +gra +4freedom +mer +xxx111 +karim +smeghead +fancy1 +qvo78evm +nate123 +isis +T7U9Hx +tito +polinka +m1ul9x9i20 +signature +.ktymrf +120788 +graces +anisha +alizee +mother4 +5610405 +m0nster +panpan +686611 +Password12 +superman9 +werilopert +repytwjdf +respekt +boston12 +tyler10 +zodnat +piggy123 +loxpider +louisiana1 +1234567f +113322 +555551 +dixie123 +batman21 +newspaper +tata1964 +volcom123 +wwewwe +soccer03 +branden +love2hate +sss123 +123www +alex09 +a12b13c14 +ingeniero +beastie +ya623349 +celinesimon +1jennifer +donjuan +27 +peachy1 +nadegda +sweety123 +king10 +bh90210 +longlong +olivetti +tonyhawk1 +home12 +nick01 +nicole88 +wweraw +joker69 +gamers +money24 +ss123456 +maricon +hate123 +gambler +mjordan23 +pollito1 +1badbitch +goodies1 +andrea01 +mike14 +roosters +vikavika +azacos +nothing123 +manutd7 +EBEANS +adidas12 +qazwsxedcr +balboa +kissme12 +050607 +katelynn +fishes1 +zoezoe +qw12345 +rosetta +pomidor +myworld1 +interista +HARLEY +angelgirl1 +yousuck! +matchbox20 +pass@123 +joshua23 +jonas12 +edward11 +123cat +odyssey +vicekw +delaney1 +babyblue2 +allan1 +samantha11 +pink17 +cheese4 +delight +thedog1 +barbiedoll +cool23 +Mod7tygrysow +chitra +michelle10 +polpetta +scarface12 +marcelle +li0903 +hhhhhhhhhh +seaways +01 +emopunk +8675309a +j0nathan +freedom08 +thekid1 +30303030 +tyler7 +wingzero +frenchie +fishy +yellow01 +chukwu +james09 +Blessed1 +silver11 +roman123 +deleon +ginevra +osiris1 +glenn1 +lashay1 +1125 +askimsin +113456 +monkey25 +norwich +booter +december7 +sanantonio +yenyen +rakista +lovebirds +pan +salamat +hott +emi +toietmoi +shelby2 +michelle5 +kill666 +lol123lol +wareagle1 +pippen +12233445 +konijn +alexus +cholo13 +sweet5 +james07 +tucker2 +ilove420 +playmate +cowboy69 +maggie10 +baseball07 +brian12 +1buster +fripouille +blackboy1 +happy12345 +villa +preety +connor12 +niggas +dagestan +12341234a +hero +chatte +program +Hello +december5 +super5 +korona +zzz +bubbles11 +skull1 +tomato1 +malibog +im +1�2��3�� +passwords1 +dancer13 +pokemons +gobucks1 +avenged7x +121090 +white123 +sarah11 +kiran +masterchief +12152325 +1brother +tony11 +astral +knicks1 +sheep +ankara06 +jesus08 +govinda +franco1 +cyborg +007008 +hokies +ivanka +Baseball1 +moo +milo123 +jackass3 +feniks +i12345 +010191 +cowboys123 +baby20 +mateo +jerico +dada123 +naenae1 +golfgolf +emokid +andrea11 +1029 +castro1 +hate666 +brandon22 +snowball2 +dor +bessie1 +sensation +anita123 +gladiator1 +billy2 +a123456b +Soso123aljg +1tweety +adam11 +jujuvivi +arwd89 +irisha +huhuhu +soccer44 +lfiekz +jordan05 +sky +futebol +jb1234 +888888888 +wer +220a220a +excite +Abenteuer +h123456789 +cherry69 +tiffany12 +Dennis +dct +stormdogs +alpine1 +qazxsw2 +dexter123 +dbnfkz +omgomg +SuperManBoy +hallo1234 +azsxdcfvgb +fullhouse +LasVegas +sukasuka +qwe123123 +justme2 +888777 +protection +azazel +cards1 +galadriel +pilot +forfun +naruto1234 +saleem +koolkid1 +Melanie +free4all +mybossmyhero1 +napoleone +sugars +taylor99 +nascar48 +blink-182 +killer101 +brenda123 +bronson1 +norris +flego0815 +10101990 +Rebecca +west123 +jaja +lovemusic +nairobi +3647226 +fuckoff666 +112255 +mexico14 +monster11 +tatertot +chillin1 +football52 +beta +1226 +padlock +f1f2f3f4 +141 +!qaz1qaz +venezuela1 +kathy123 +iiyama +chantal1 +1220 +hakeem +yjdsqujl +010190 +hellsing1 +justin09 +xyz +reklama +geronimo1 +satriani +ybrbnjc +urmom +blondy +rossana +foxtrot1 +andrew4 +poopie2 +1357900 +10101987 +pinetree +946hvt +economia +121986 +penner +poopoo123 +jojo11 +volcom12 +rocky4 +cicero +121312 +william01 +jacob01 +poiuytr +gulliver +cavalier1 +forever! +1323456 +daphne1 +52525252 +dahlia +ayodele +1Q2W3E +reallove +lovemyself +121987 +lights1 +rerehepf +witch1 +december27 +raketa +brownies +stellar +lilmama123 +lisenok +vbkfyf +08080808 +buttercup2 +lonnie1 +ERS +boohoo +pokemon13 +mayflower +411038 +a12345a +january13 +cccccccc +choco +everett1 +csyjxtr +36363636 +turtle123 +gloria123 +bitchs1 +vasile +krishna123 +august5 +karol +sex6969 +helmut +Password2 +asshole7 +vintage1 +willard +secret7 +SECRET +sexyass +planet1 +gigi123 +december26 +margera +333111 +helper +7783757s +nadezhda +momomomo +sakshi +killer14 +tushar +560008 +corndog +101084 +north14 +1201 +madeira +thunder7 +jamie12 +1monster +myfriends +paco +gooner +harry12 +slash123 +keekee1 +hotwheels1 +tristen1 +escape1 +fanny1 +nevertarget7 +775533 +bigdaddy2 +love<3 +james08 +julian123 +helloween +upyours +rocky11 +lucrezia +trinity2 +peacelove +nyjets +bebebe +caveman1 +cor +2212 +elizabeth! +ass1234 +deathrow +slappy +elias +1christ +oldman1 +windsor1 +danone +dream123 +yzerman19 +highland1 +kid123 +devin123 +element12 +peaches123 +tapout1 +lili123 +casimir +macho1 +120488 +celtics34 +solutions +assassins +x7vs8mxg +151 +wocaonima +football66 +simeon +12345670 +nguyen4thewin +dublin1 +1003 +12345ab +samantha3 +twilight! +meowmix1 +yasmeen +jenkins1 +colasisi +naruto3 +redwing +munchie1 +eagles11 +morozova +christian3 +jason11 +six666 +rogers1 +lalala2 +zaqwsx123 +rafael123 +alphaomega +yj2009 +182182 +ilovepink +playball +open4me +polonia +sprocket +michael16 +defiant +rottweiler +Antonine1 +fotbal +ser123 +peace7 +august4 +candie +rastafari1 +david1234 +privacy1 +158158 +nbvjif +juliet123 +freedom09 +����������� +dragon14 +malaya +campus +sexy33 +sweetypie +darryl1 +nathan23 +jaguars +lover01 +obama09 +bre +максим +123456789@ +alex88 +k47Rizxt2G +hippie1 +rocknsock1 +512512 +perlita +p939468 +1025 +Jasmine1 +zydfhm +jamesbond0 +heaven2 +cheese5 +hellyeah1 +carlos11 +bombon +ashley. +richard12 +kahuna +wormix +mikmik +aaron2 +jessie2 +aceace +mormon +cobras +nutrition +december3 +blackangel +cheddar +resistant50m +1234O8o +avril1 +honeybear1 +douchebag1 +sayonara +ballin123 +bugaboo +sticks +robert10 +cbcmrb +20102011 +person1 +70142021103 +naruto23 +joker2 +casey2 +contreras +mommy6 +rachel01 +intel +111111z +drpepper23 +desperate +smiley123 +tuffy1 +angels7 +brodie1 +161718 +ludovica +qaz1234 +muerte +hendrik +blessme +malakas +babmicmar +ceasar +shadow6 +taylor6 +manning1 +tanner12 +black6 +morado +abcdabcd +lynn12 +game123 +poop13 +hannah22 +gangsta13 +qwerty555 +fr33dom +yellow4 +198610 +500003 +canucks +arsenal10 +hoihoi +saved1 +minnie2 +lipstick1 +kkkkk1 +theboy +lepidus +merhaba +968574 +windows123 +181181 +hunter06 +rose11 +liliane +159123 +metin2 +babyboo2 +dupont24 +rocky7 +epiphone +shadow666 +741236 +mailru +hawks1 +westside2 +tigre +belle123 +master7 +anakin1 +Jcfs32014 +250588 +pink88 +burgerking +good4you +somierda +america11 +dmoney +frankie2 +touchdown +inuyasha2 +loveme4me +giuseppina +250250 +sexo69 +90801 +cooper2 +packardbell +Barney +classof11 +54545454 +joshua19 +Brandon1 +tierra +pool +1228 +mortgage1 +1joshua +daddy13 +197500 +1Thursday +iloveyou33 +allah123 +marcelino +sullivan1 +jaybird1 +kevin7 +Fyfcnfcbz +boner1 +looloo +Kristina +niagara +clara1 +yingyang +purple. +bazas52 +ladies1 +drakula +things +shampoo1 +export +martin01 +wildflower +baseball99 +kamil123 +Chelsea1 +Fktrcfylh +marie16 +fucktheworld +jesus111 +cacacaca +292tom +alexandre1 +sonic2 +all4love +millwall1 +jalen1 +l1qoH9wq2U +master5 +aquarium +natalie2 +cattle +kailey +chris8 +okokok1 +plants +choco1 +fuckme3 +dennis12 +tigger4 +111984 +flatron1 +jennifer3 +barber1 +gracie01 +eagles2 +lectures +ceckbr +anna11 +paranoia +andy1234 +friend123 +96132925 +junior22 +calabria +rrrrrrrr +elise1 +timisoara +chicho +bowler +cocktail +12123 +bobdole +g4life +micky +wood +november29 +010203a +level27 +steelers12 +800001 +net +foxracing +bud +mutley +alex2010 +patrycja +baby2007 +tumbin +rosita1 +0931541082 +321ewq +premier1 +timmy2 +hahaha2 +olympia +snowbird +direct +checkers1 +theman123 +111111m +guerra +4561230 +summer04 +social1 +hhhhhh1 +muneca +bichon +accord1 +war +sweet11 +booboo13 +vfhbyrf +doggies1 +david14 +lumina +angel143 +120590 +australie +schoolboy +bouncer1 +canada12 +yankees123 +baboon +password92 +hammerhead +bonkers1 +egghead +stockholm +400607 +qw12er34 +booboo22 +120688 +hilltop +killa2 +jessica6 +happyness +ltkmaby +stargatesg1 +dylan2 +skater5 +minnie123 +hottie23 +millionaire +appletree +schatzi1 +chenchen +111189 +password93 +cisco123 +dfghjc +fuckoff12 +angelique1 +050585 +aabbcc123 +cody11 +sexsex69 +granite +steven11 +chocolate0 +300000 +teamwork +hotdogs1 +test12345 +1107 +mussolini +123456lol +pinky12 +taylorswif +sneakers1 +135799 +flexible +sabaka +1218 +latitude +communication +colt1911 +withoutu +nokiaa +army +santander +v1ct0ry +411027 +smiley13 +batman10 +pointer +minnie12 +mumanddad +supriya +zafira +dollface +120586 +kkk666 +matthew8 +cara4coM +summer4 +jonatan +abdallah +kumari +chowchow +groucho +gizmo2 +sabres +147258a +cristiana +HUNTER +airsoft +master22 +payaso +jade12 +sonnenblume +mapamapa7 +250585 +nathalie1 +tiny +101189 +jordan16 +avalanche1 +logan2 +drogba11 +fotografia +monita +blackheart +WILLIAM +lollipop0 +chivas14 +badakhshan +paparoach +donatella +omega123 +charles123 +bitch9 +1432 +family10 +joseluis1 +hakunamatata +radar1 +rodman +december30 +password123456789 +gangsta3 +1134 +guitar7 +120489 +spiderman5 +graceland +aaff +becky123 +taylor08 +sweet10 +777000 +159963 +223311 +dbrekz +sixsix +mavericks +marie10 +120690 +180888 +3762352 +rockstar! +ericson +1234qwerasdf +wisconsin1 +shorty101 +macross +flora +hoosiers +werdna +chelsea10 +christine2 +cunt123 +shitfuck1 +default1 +memyselfandi +rbcekz +minchia +bambina +110048 +pepe123 +medellin +sunny36 +cessna172 +bowling300 +buster22 +jakub +andrzej +derevo +2much4u +ZV_!80lo +spice +Chester +ranger12 +Butterfly +MaStEr77 +nbvcxw +katia +3434 +griffey +gonzo +serebro +MONKEY +liberdade +1105 +gallagher +casper13 +jojo1234 +jazzie1 +tititi +open1234 +01011970 +hunter23 +tricia1 +chucho +lachlan +cheer2 +michelle22 +sommer1 +Dakota +lakers2 +sujatha +1005 +morrissey +brains +mama22 +trapper1 +balls123 +makoto +joshua08 +wibble +austin99 +123����� +elena123 +brandon15 +peaches12 +micron +ghana +slutty1 +johncena2 +13311331 +klondike +family! +bball33 +marie21 +luckygirl +remo1d72a +coconuts +wrestle +sarahjane +hotgirls +tyler4 +wellness +antoni +nicole06 +45M2DO5BS +essence1 +qwerty89 +brandon9 +cesar123 +spongebob! +luv +kukolka +retired1 +vladvlad +nicotheo +camaleon +bean +jake13 +sexy4u +Bonnie +zmf1704c +wawawa +haslo123 +hazard +badass2 +erika123 +ros +111222a +cheer! +indonesia1 +cdtnjxrf +belladonna +daydream +gungun +ceckbrcerfkbxyjcnm2 +bateau +hehe +tonytony +elephants +iklo +seccion33 +maxi +bettyboo +mewmew +negro +lonestar1 +barron +maumau +Internet +aspirin +aqswdefr +sanjose408 +dragos +hollister7 +jediknight +martino +maximovie +branden1 +sexysexy1 +yakuza +snow123 +enzo +121085 +gaby +boner +fart123 +1james +eagles20 +gomez +fernandez1 +draven +cashflow +antonio12 +526452 +january11 +crf450 +bartender +june06 +2daughters +matthew6 +enfants +brooke2 +portsmouth +faith2 +hahahaha1 +andrew15 +zelda123 +martin6 +070787 +lassie1 +dudeman +4r3e2w1q +minecraft1 +chantelle1 +alex1995 +oskar +zzxxcc +JENNIFER +ooo000 +subaru29 +players1 +camaron +tombraider +favorite +crazy88 +seth +1booboo +texas10 +sharmila +poohbear3 +templar +password02 +romero1 +blood666 +manatee +eagles123 +segredo +chellam +nika +fatty123 +football50 +monaliza +dulce1 +bedford +110288 +Bennie!! +aiden +soriano +eminem11 +1samantha +123123m +nantes +q1w2e3r4t5y6u7 +637846 +engage +doris +lakers23 +12312300 +alexus1 +kanada +7seven7 +hottie10 +19870212 +170787 +shraddha +businka +hunnybunny +impulse +brandon21 +silvestre +mobydick +string +blue17 +zach123 +fatfat1 +far +celine1 +banjo1 +panter +boring +as +skate3 +fruitcake +bull +chloe2 +kieran1 +hottie16 +aaaaaa11 +aeynbr +tiantian +jaguars1 +vepsrf +jackdaniels +supermom +121985 +larson +paixao +sammy3 +198011 +boobs123 +121280 +helios +food12 +semsem +laser1 +purple24 +mjmj12 +maria11 +101285 +bmw525 +friends11 +30 +karina123 +nicole9 +anais +james6 +mimimimi +lewis123 +searay +oakland510 +rhapsody +1qw23e +168888 +9lives +33rjhjds +habbo1 +dragon4 +porche +nigga5 +258789 +dingo1 +dudedude +jamesdean +jennifer8 +120288 +william4 +password87 +robot1 +qazwsxe +lesley1 +meg123 +sayang123 +lopez123 +hottie15 +hockey77 +101188 +oks65b6666 +spongebob8 +papito1 +500081 +1batman +moochie +middle +rockrock +legacy1 +213141 +nookie1 +slugger +albany +bomber1 +vick44 +163163 +shakti +jayjay12 +service45 +123xxx +sapper +patrol +magic12 +interpol +cdjkjxm +ashley8 +numbers +buffon +temptation +125521 +mikhail +joujou +abubakar +christie1 +jennifer7 +smail.ru +purple18 +jessica17 +10101991 +nameles +nova +icandoit +winamp +single09 +stallone +baseball01 +xtube +billy12 +marios +gangsta74 +edward13 +babypapa +asss +olga123 +yf +hatred +yankees3 +ashley19 +cowboy2 +bajskorv +irishman +sugar2 +peace3 +tomahawk +10102010 +asshole11 +121188 +999888777 +kelechi +adorable +bell +kamiloza +compass +hannah08 +isadora +2monkeys +slash +bethel +951753852 +qwerty654321 +chris9 +johnnie +hoosier +ferris +looping +333333a +proton +swagger1 +6820055 +imawesome +cowboys13 +999999a +chicky +motley +caesar1 +120000 +elenanesterova +muaythai +sakura12 +walleye1 +mother5 +ducks1 +arielle1 +aurelio +adamadam +video1 +flossie +123123s +121089 +mamacita1 +keywest1 +020406 +bitch18 +wwwwww1 +gulfik +fishing123 +dimafilippov +753951852 +1222 +ohmygod1 +5845211314 +mrbean +2brothers +tmoney1 +jalisco +400601 +corey123 +10000 +James +natalie123 +primetime +thanatos +gundam00 +newone +spice333 +101286 +crazy11 +stripper1 +Christine +myspace18 +gracie123 +sefa1986 +heather7 +pavlova +1013 +sisters3 +brandon23 +nighthawk +603575 +jones123 +1dumbass +conan +snivanie +soccer27 +fatboy123 +jasmine10 +yuliana +nilesh +ops111 +assword +byron1 +ad2021 +joseph7 +taffy +volkorez +owolabi +milan88 +etnies1 +j0shua +delaware +naranja +man55580 +------ +slava +rrrr +greece1 +225522 +marylou +michelle4 +missika +baron1 +Gleiser4 +saleens7 +glory1 +bmw318 +maxwell2 +ilovedad +nutter +whatthefuc +july0788 +january22 +rightnow +pink24 +de +yourmom12 +teamo13 +1202 +213456 +110588 +carmen123 +123456Q +happyface +hasan +h2opolo +michelle21 +boys123 +kj +abe1973 +jessejames +atlantida +honeybunch +stingray1 +shadow15 +edwina +carissa1 +powerful1 +boss167 +varico +newlife2 +smiti1 +beatles4 +mia30 +gemini2 +123ass +customer +hatelove +bellissimo +ingeras +1babygurl +babygurl3 +q1234567890 +wizard101 +gady123 +t326598 +1236547890 +kokoro +simonona +pooter1 +michou +computer5 +cunt69 +sex1234 +capslock1 +slaptasis +dorcas +tobydog +qwerty1517 +soccer55 +waterboy1 +camillo +evelyne +cranberry +yeahyeah1 +k2010302 +robert1708 +ernestsantikov +bubbles5 +shirankova42 +620850 +matthew10 +crunk1 +quadd +shiznits +august7 +elektro73 +123555 +100686 +lailas +kelsie +lyva84 +LOVEME +kotox76 +michelle14 +vitaminka88 +maxpredator +1mickey +jimelen +kotyk22 +dorota +vibi123 +shuhrat007 +sulamifcherenchikova1979 +vkuradovetc +mushroomka +yanchikchmoki +fredfred1 +moshco +summer2011 +1qasw2 +varga43 +musyka85 +vkrbashyan +troika93 +dantheman1 +1234567qwe +lenyi +lifestyle +vfvfvskfhfve +princess99 +spread-hop +myzone +baronessa87 +gorlonis +olgastrashney +god7507 +123321456 +sta93 +cobain1 +arkoximsp +dfdfdf +daewoo65 +kuzya-ser +eremei_vasechkin +loveko +nif686 +forgin +679956 +thug__ +maksimka876 +charlie6 +22222a +vkorotin +rtertuy77ijyhu7i +grih-rom +casper2 +volkova.ksyusha.89 +kotkova37 +maks.abramov.99.99 +kotmichanik +valya.kryuchkova.1990 +d9160847880 +papuskin +ramsia1986 +volkovoi_net +muhon +strekoza79 +sunnyest +lorik197110 +pokey1 +r_masick +betsynx0kof +aliya.mutallapova +aleksej.shorin.86 +gifema +buster10 +bellaboo +maksimilian_nasirov +5695595 +shukshinasveta +erast.82 +rio7777 +nusha.88 +renkanom +prosvirkind +spection +solomaha-denis +sagalil +valya-garanina +galina9181 +soloveibormalei +oksana130279 +robby +zabivay +kotya_bagdan +jeremie +lexa.maxus +560029 +okein +tema-bushelev +sans2010 +alexrv_06 +inar_ka +enyvbuois +maria-fam +g1hp +guldaniya.galina +sgga +len_nik44 +lopew +sivenkovklin +skrip-natalya +filatovaev1981 +63val63 +blond72 +sergeev2212 +raymonde336schwegel7331987 +zarinalin87 +tyrell +miha-nov +djedenhit +e.ovcharova +sofya.kulikova.87 +elwooo +marinaorlova1991 +vkot_2010 +shukurova-ismigu +yulyasik2002 +123654q +taskaev777 +borismf5tsh +volohovich-t +smirl +maxonina22 +trustme_k +sewewf +mbrim +len4ik31 +stronghold +serban24 +rezo_2010 +victorclavier +varduhigohar +vkravchenko +annagor20 +volkovanata77 +kirill.kirillov.2013 +sin1_19 +supervista +wwwksenechkawww +kotovichvalentina +cowboys09 +texasdoor +artov.95 +mknaxhxeh8yp3tf +sheela +nbvcxz +vargden +mkjhgf1996 +11-05-1992 +kovalienko63 +ghusieva1958 +julia_eduardovna +vip_trading +mihail_alekseevskiy406 +sidorow64 +rer-tuy +hugo854lataille1988 +andreyka.gorshkov.98 +aleksandr.ustinov.2012 +stavr75 +fggjkbyfhbq007 +maxim3999 +tolstyh.oxana +regina-rebina +mishanna1936 +gluxov70 +rickjames1 +bolshoj_zmej +sgydvntep +kotovas-70 +mir-180991 +aleksis1611 +oleg2ci +summer.fruit +x444am +vkoomare88 +sraka105 +zabolotnov1968 +61atnakaeva +beloved_a_devil +zablo +yulianaz85 +volfram.kozlov173902 +possum1 +veralipatnikova +rena.vano1990 +antonichmeli +zabolotneva_ira +sheba417yorck1986vxm7 +ineedajob +rus20dem +nika_kisa88 +madtubes +kotikova_n_m +zabelina12391 +ghrhfh +kovalskaya-t +emo_limonad +stassenka +baleri22 +opiumbaron +goman1985 +yy.tt.67 +dmitrii-skargo +yuliasha87 +mr.stas192 +dimok091 +antonls +spiridonmarkin1982 +bandidas747 +hismatdan +radik070775 +victori1967 +serg-niki20 +marina.shapovalo +cheetos1 +shar-vin +firakoki +masjnj67 +boromirus +sredina-va +vihlaeva2012 +cutegirl1 +mol.kos +mam_p +mihail-saratov +1qaw321 +ggolob +sevgeyq9v7kor +ksushapanda +vm.shlykov +malhotra493ozzy1991282151 +lobkova.1979 +delirium9111 +sava_72 +radion-dankov +valya.2057 +romka_ya93 +6610_2006 +arina-sharapova-80 +jannaarhipova +rusali_1979 +dnina666 +forgiven1 +kovach8 +d-x-m +mavriciy +burchenkovi +subprodukty +6651953 +isaulov.a +nust007 +stone_mitich +stecova85 +irinabrig +stas.gorodissky +lucky17 +rashaun966krager1993 +victoria.kl106 +vadyusha.isaev.83 +oleg272727 +lexir777 +sonya200102 +rusiphon4 +sor1989 +imabitch1 +miss-evgeniya-93 +ivankaterinchenko +mkolendzyan +panmen188 +gheniagabb +hermina617berno1990f6i +sergan11 +kudielia.anna +asa62 +valya-city +varich-masha +ser_kuzmin +qwert.0002 +olga.rumyanceva.1985 +kovalevagn2057 +vkors +victoria989 +101083 +asil.dovlatov.1982 +kotova.69 +svetlana-mironova-13 +venta021 +6552090 +max_masha +nastina33592 +sirazhdinov.shamil +alena_plotnikova_1995 +elenst14 +netti-88 +vkoval87 +vks1zz9v_7ceu69 +sveta-kisil +313233 +plankova2012 +varadero +u.hohlov +tarik-66 +raskevichtanja +stepanov_georgij +yluy1981 +duskolyan +innabuk +mpnaduysi +anna2976 +victoria14.09 +samitluiza1 +razdvatri3 +mirlan_o +nikolay_thebest +mobiline_b +teh-consul +zabludshaya +asabsmelik5g +marinochka.zhelannaya +rachelle289ariyoshi5251987 +derector-85 +narashchivaiunoghti +kotovam85 +volgograd.orlovka +aliev0583 +75fs +kir-ettk +slavik200887 +rinat-88 +serash2240 +belinova14 +computer3 +madcow +mmakssimka +galinkaru +zabirov2 +r6a50de3ujwtog4 +surooo777 +su4ik +shaquillesecx10 +ksyusha.kulagina.91 +loveone +sssuka80 +mudok +ravich92 +oleginator1 +zabolotniy.a +kelly2 +bolatov.almaz +bavixepym +stas_the_best.ru +macegorova.mariya +nastya-b86 +sopli22 +monp5haynes +prosto_chelkynchik +serpa7 +zabor.hut2 +dud_1995 +kirill999_97 +maitland571ka1994 +axssyha +vkontkate +grishin0308 +jasmin-ris +ribka227555 +volkova.elena.13 +111zabavina +vkryshkin +djdjfedor +i18bzbk3ay8 +mikhayildopy +asotjan +mozellbranou81e +simonova_lyudmila_73 +777kroxa +matrassesotk +stason729 +ok20.07 +nataliystre +nata271283 +kukatov86 +mklmkl22 +tyumchenko_ok +dovbeshkosushova.1972 +thehock +aukewpyrt +miuaybecv +olga.kazakova_85 +almaz_kiramov +marina.ushakovaznuv +ms.cc.gg +vktorov +golubinskij.87 +spn5 +fler_2351 +julija2010x +spuvd +volhsara56 +yansubina +6572757 +natalya.dmitrieva.1978 +yana.kolomoets +ira.klopot +apalkova.tatiana +bayrafis +yxelik +scsc78 +bulka-a-shah +renesmeecallen +ifuckyou1987 +vkovshut_annab1988fg +elensobko +silantyi1987 +zarygalina +olesya.kolchina +igaev90 +irina280374 +tor8585 +shevcov_alesha +elynca96 +botafogo +ghkdf14 +volodya-ivanov-63 +mutalim.gusenov +djhjyf010 +silakova.nadezhda.2012 +olechka061187 +victorfrunz +ktv910 +ahmed_orudzhov +guzel.t.f +sergey.lushnikoff +voroshilova.liliya +maxa-06 +oksanav-13 +goderdzikarxjxv +helga_557634 +moscowcallin +victor_evdokimov +sirik010875 +levenyatko2007 +victoria392eliezrie1992frp +moshkin1998 +vic685 +zaxarov-1976 +maxemys +slipchenko2004 +manovitskaya +zabelinaalena +igorek-filatov +constance626boilard1987 +aleks-270379 +rendakova_sveta +sodikov.talat +dok74rus +sss-nastya-sss +rauzawcsiv +victoria-berkat-energo +simonovskiy1970 +raduga388 +sorokina7778 +artemblya +erofka +maxchislov +soyma.ivan +siiifonjiknalivai +victoria_shkurco +ksyuta76 +smail2u +mayrik67 +minkova_i +sungatullinad +reginka2393 +sp.zakaz +mishaghbdtn +milay-ven2011 +rexrex +albina-1945 +julia.olga +kubnik +mmedinaa +275-22-74 +miss.marina.nikolaeva.2013 +spamar33 +astigor +victoriandr01 +zaborskiy80 +maximus1393 +sigreic +89217657066 +sergeevna_10.10.91 +sin-gulya +valya.ivko +victoria_002 +rita497 +valentina.victoria +djtatko +kuchelaeva +maksus_2003 +stella354926 +margo.emi +aminin94 +dan_cheb +serj-gr1966 +strelka.m +almira +raduga2508 +ratashn67 +ms.dolgikh +stan021092 +kudrina1962 +stas_kolos +andrei_rew +egor.vasilin +blyad_be_90 +sukasbliat +len_rin_kagamine_02 +marininys +annhen1 +vgizetdinov +fedorov717 +sergey_brrr24 +mnenrad6983616 +denis_nazarenko +pokopushkin +kirienko_svetlana +13grom +sidorval +rcalgif86 +style_style +semina-alina +zezina80 +andrey.shalanov +antoha50a +7777_74 +6917123 +666fafnir +valya.korobeynik +elvira198927 +sophieytorf +komnatnyy88 +milanova-kira +torgsotra +6215348 +oksanaorgadykova +varfeevich +ch_vitalij +raif.21 +evgenii-shenderovich +egorov_maxim +kudakova.83 +gvinpinka123 +feram0n +yanaluch +svoron1977 +irochka-ova +e-eremeeva1976 +dima199219921 +qwertykolakola +svetlana26rus +dimapet09 +mikalyalia +mariagoncharenko +galina-davidyuk +galinka_korneeva +foks8484 +manka198707 +miraa_84 +zarina_sabirova +piankova72 +maximova_elena77 +mrdmarina +varfolomeeva0990 +svetlana_07 +nadjaem +panda_3108 +srcuqq1_2j1h3rbf +sibiryak5 +valya-sidenko +olqa_motosova +victoria_91 +olyashev12 +yulia-dubrovina +ghrimachiova64 +ya_nochka86 +volgirevagv +volfram.kozlov123633 +dolgushina.76 +nata_titj25 +sergei_man9 +9602929770 +isatelt +TheSmokin +nastyaanciferova +olga.lekarewa +alexdok76 +aydani_ +voliahim1891 +sfasdfsdfa +michel69.69 +shponka35 +lexaafanasiev84 +milankasanakoeva +mikhailova-w +limonyk +dima35360 +dmitrij.mironov2014 +vika.krivonos.1995 +andreyka.zhilin.1981 +arinayu0 +vkulak +mariannaz2 +sh_o_a_2013 +rinat.76 +andruhova.1982 +www.ivan-18 +angarova81 +olya.i.02 +victoria-dyatlova +drozdovaksusha +florida123 +kakosja +xalitova1988 +mar_prod +vova436 +kudrjashova62 +nargiz-a +s-firsova +sharmaine005foskett6071988 +silenakriv +mitia159 +svetik_kryuchkov +zarinochka_b +vkundeyai +antusenok_zhekonya +shishmarev76 +maksim.bychkov.1986 +lady.procenko71 +seregakalygin +slava_kulbidyuk +serova2008 +bazueva.1990 +golga.70 +lisicyna704 +mocanuv +kuchierova1994 +lllllll +volkova.67 +moss032 +stepa-2009 +kovshikova1981 +vihrova1974 +ravshan1017 +armyach-aleksandra +slastenka93 +natasha_19.65 +vkpxrnoda +mjuan5ogm +valya.gorodn +r.polinin +neslyxovska +sergio.b93 +victoria.20000 +reyrtutyd +89140041205 +dimlimonov +dr.karaul +maximova.60 +ira202909 +g_alisa1502 +mkalancea +pridprid +vikatc +zabloczkaya2012 +listopad.iuliia +simorodok62 +canon1 +zarinka1111 +kovrnatasha +tamriko0942 +naz-74 +levana928 +akkolesnikov +onamrdiu +yulia_yulia_13 +djon.net +yahnox75 +kuponatora +filatov_and +zabotin_sasha +prozukin-shift +mila90974 +ber +n_pletneva +oleg.jann +kovalha +cartoons +dymkovpavel +slava.grinco +volga11955 +molchanova_tlt +goluboglazka08 +marinadeduxinaa +lupashku89 +natatuma79 +vashenko.u.u +djmaikl86 +sm.karat +qwedcxzas +andrey-1983_08 +blackpearl +dianochka1924 +mishas001 +max6751 +bad_boys_adience +rozlori +manin-d +ololoeva-99 +chucha0810 +vakantie +6125060 +bytopmcd +zuewamarija +kotopes_o +spring938burston0001990 +serega-cash +manuliktatyana +zenit-talnah +olgha.pietrova.1979 +rerghr +dana-14 +kurmangazieva_gulmira +oriflame_1910 +melmel +vika-selfish +sungelika86 +volhina-73 +seregjvich +maria_q +osynadepu +mzyankin +101020 +misch.sosnin +playboy7 +sigora79 +aztyvl_ka44ze +yushinazena2009 +ben_a95 +safronov_3112 +mito.lo +ignatova_1978_09 +ralphc8xf +avkhachev78 +valya-lera1 +pyanzina_elena +sorokina-999-01 +sonia-91 +motrya.larina +sakoshka_masha +glafira110169 +rbtsozeva +vkoryano +hamulakvitaly +zarina_loves +max.kirilov.90 +shunia0505 +milena699803 +rkamkin.karoli1988mp +mahmudali1987 +bolno_18035 +rezvanov_a +shirshov.1968 +zabolotnova31337 +nat5g +olegshut +nati.beridze.92 +riwr2hky4w3tjgg +tender +mixaxa2003 +kotova_74 +posoxina.88 +avetisyanartur +morozovavalya28 +voloshink +kuliiev.79 +kuznecovviktorr +eanovozhilov +valya-valya-1982 +varida.alibaeva +raisa720290 +mandds1mg6bv8re +aksenov.dms +sergei1986inna +lena5stars +rita_nizhnik_r +prikoluxa +avikuzen +standard1 +oxana.o +crosby +mojurus5575566 +machukreeva +arividerchi_shatalov +zolotarev08 +lisenkogv +rexocinod +ghalina_1971 +rzaev_ilgar +ivanov2305 +6430130 +tema.barabin +never_desponding +litosik +dimebag +varfolomey_72 +azik_06 +pletnevakaterina +simonova5570 +karusev_spb +felix.1957 +dove797 +gofman_osk +rahmudinov92 +tasya.5 +volokitina.olga +kati-leva +fishbaracuda +rogovsasha123 +777dashuta157 +ms.polza +hallucinationse +magic-n12 +azefirov.inno1987.r +davidstrokov +lexa-let4ik +gjcaixxx +victoriy70 +bakuman.manga.drawing +mirellabroersma1987570 +mordva1783 +mityukova.anya +stroikarat +welder1 +zarinaismailova +mylfard +qwertyuiopasdfghjkl151515 +k.u.r.t +sergey-personal +starpozitiv +victor_sakhalin1990-20 +dimulya.vasilenko +alfakran +fs.swl +safonova.1967 +evial_marina +mede_voda +kuchinovao +sporu-netu +aylyan2001 +anna.savickaya.1986 +vartk +ivanovamotya +blackangel09021 +slonenok1009 +vihotsieva94 +simonoff-dj +regawf7ss1dm7rn +krick.bk +golovizina_elena +aceeva.irina +vicusa.tatyana +gidrometeoburo +stalker_lemurrr +volik-yulia +mks.01 +damira.shagabutdinova +tishenkoff +malina_bratsk +0210-605 +jeka-ka85 +aqwleeb_6e0pk59 +mks33 +iurkeawov +ksyukha1990 +mak301988 +football26 +andohz +kejan82 +simakov_evg +sieuwaprd +tema_ku +sogevigdil1981 +jeter02 +valya.lantux.83 +jekan860803 +ylik1911 +stsnatasha2008 +zaborov_t +volkovaolguna +dgonni86 +maxa-78 +universidad +matveev792010 +gadjieva.gulmira +famar219948 +valya.shapoval +vs-nd +fyujk.fyukf.87 +connor123 +sbally_64 +6041074 +slava-45 +zevs_ev +annywka_86 +kinyabuzova.eleonora +e_dovich +popovkin83 +fomalex10 +alija-gatina0 +sgtrsgh +sunnny56 +laobidenko +strezhetova +sovin.sv +zabihullin99 +stason16.92 +wwwamador91 +aza_93-93 +sergej_de_sad +olga.ponomarenko.2012 +sattorov-q +armada-n +marimax.85 +leto-nataly +TheCrazyMaxim +26.09.67 +sov1_86 +maria-demidchik +eloisa +korostelev_3333 +fjodorova-natashenka +avto55.rus +ari-kyarova +valya.klimenko.87 +sergey.melnik-1996 +londra +serikpaevna_92 +vik22535477 +frant_nat +voljanka1976 +koala_1995 +nemochkao1975 +marina_stryazhkova +fotinia-66 +oleg-andry +rogovivan72 +stepanov.ag +evgenkac +barkov_65 +serg.aleg +fatimah +hrustem65 +sergdock +ry1dtv +gaar_vitalik73 +balentinra +monaliza2786 +shilard +strange.lena +sataieva.elinka +babich.e +romanova.natalya.96 +redko5 +abrejkina +gatina_albina +trofimishe +volodina.elena66 +lizasp07 +6450716 +arturamirov89 +black10 +t_v_belyakova +efimkin_igor +ilya_al_80 +aram198309 +sergio-emperior +samsuchonok +arsik-di-noxcho95 +fardubay +zarina_zhasan +fedotovsa76 +laser +palmer1 +mihailpezhemskii +sosexy1 +antsiferova1973 +monk3y +serg-ks.87 +kamazist.tsobenko +mogychajagopa +dimitr692010 +gholovach75 +zachodnio +skorpions23.5 +shorty23 +serega_torov +telegina_65 +parfenovav +llll.70 +ramis_bairamov +simmons1 +raisa_smelkova +compaq2 +ss_1983 +kafedra_oisp +ametistfatal +dua82 +shea019bernabei1992 +donskihv +varika0 +marielwfledlow +dimastic +volkslt35 +leeann1 +bikers +nastenabendel +amigo +kudryavcevavalya +ilovekiss +nikkie +ryabec.m +myhouse +lexa290195 +lipovv70 +shakmakovataisiya1992 +79621601378.kirill +ryan13 +143love +10101989 +halohalo007 +231288 +an4oys12120 +vedro.ru +marcia1 +1space +monica2 +january23 +sexy_julija +bigdaddy69 +pepper13 +codered1 +dawid +loser7 +chocolate6 +criminal1 +monkey55 +1guitar +bubblegum2 +231089 +rfnz +brianna123 +alcohol +ei33a +chrome +gargoyle +560100 +bwFq23jp7F +douche1 +alchemy +sinead +1taylor +bonnie123 +10231023 +1mexico +joshua07 +candys +badboy69 +whyme +asshole4 +denise12 +selenagomez +nfhfrfy +thedoors1 +joachim +danielle3 +bigger +gatto +1357997531 +mshelp12 +hussein +coolcool1 +bailey13 +02020202 +festus +dindin +doom +bondage +newlife08 +hannibal1 +1junior +7878 +motherof4 +girlpower1 +buster3 +edcrfv +matrix12 +rock101 +mylove4u +providence +keekee +080888 +120388 +1206 +elohim +560032 +moses123 +hummingbird +pierrot +kilian +maciek1 +travis123 +200100 +hybrid +2gelaF3h4A +babloo +zaq1234 +skate13 +554433 +loser. +fulham +marek1 +corndog1 +123456qqq +waffle1 +1black +lauren13 +alvarado +december8 +sexyback +ashlyn1 +ronaldinho10 +5482 +shocker +sleeping +�+�����+��� +august08 +minou +shithappens +indy500 +michelle23 +pwlamea10 +adeniyi +101091 +elias1 +mark11 +soleil1 +michael24 +f123456789 +savemoney +ivonne +stas +aa12345 +kikay +3monkeys +������� +avery +raerae +1hotdog +chance12 +101187 +biodun +sabrina2 +peaceful1 +Barbara +miamiheat +yellow21 +lobito +micky1 +petrus +angela01 +friends. +julianne +nokia6630 +f22raptor +dude1234 +nipples1 +cntgfy +nickname +1231231231 +tsubasa +firetruck +dre +103103 +outkast1 +zimmerman +damiano +shanshan +sloneczko +oneone +espresso +manda1 +firstlove +doughboy1 +imagination +reddwarf +5tgb6yhn +kristinka +jeff12 +sorry1 +maria10 +ararat +fourteen14 +helloyou +splash1 +3stooges +gorillaz1 +jesus21 +conrad1 +kamal +tiny123 +rock11 +tillie +freeride +mikejones +fuck_you +freeme +friendly1 +nbuhtyjr +chelsie +my2babies +jaiganesh +sunkist +rockband1 +laila +beemer +emergency +youtube123 +223366 +060686 +010188 +12345678p +1021 +luckie +password90 +burberry +dia +audi100 +reece1 +snookie +Johnny +830928urodziny +llllllllll +tina12 +miley +198510 +alaina +daniel99 +praisegod +ukraina +leila +pitufo +12121987 +GEORGE +batman! +2bitches +rey123 +monterrey1 +saun +anutka +sorry +1dream +mikado +jenna123 +putamadre +stocks +120987 +amerika1 +guzman +nokianokia +lostlove +seven1 +buddies +papa12 +maxx +organic +yoda +petewentz1 +708090 +pass007 +hardstyle +matrix2 +rubber1 +rockwell +password91 +getalife +кристина +halo23 +bailey10 +xboxlive1 +jjj123 +dragon15 +newman12 +thomas7 +ramana +cayenne +wertwert +blahblahblah +maggie22 +margera1 +preacher1 +thomas23 +fabricio +chelsea3 +yankees12 +toujours +margosha +12541254 +Jessie +troll +mentor +12351235 +cake123 +martin11 +aa112233 +csyekz +loveme5 +omar12 +qwerasdf1 +718293 +gbyudby +ficken123 +princess88 +scarecrow +r0ckstar +12121990 +dianka +brenda12 +january21 +perez1 +mercy1 +arcoiris +massimiliano +120686 +cho +030609 +markmark +jackson7 +naruto01 +steeler1 +imogen +bigblue1 +5xq57cGseB +Tuermchen +number21 +hannah07 +suarez +000333 +rose13 +mamo4ka +souljaboy +niknik +king01 +196969 +amanda15 +123321s +invincible +august3 +lyonnais +richelle +43211234 +dilara +gamer123 +400097 +brigada +google3 +avanti +ahovwpib +guerrero1 +hel +savita +milly +slayer123 +1106 +50cents +blackmetal +qqaazz +i81u812 +t1gger +midnite1 +hassan123 +randolph +kakadu +LPPnLdTZX +10101988 +trapdoor43 +charlie9 +chloe12 +playa69 +020508 +rerecz +iminlove1 +apple4 +michelin +405060 +qwerty09 +nisha1 +coorslight +mydick1 +vasco +gaygay +szymon +0o0o0o +redalert2 +sangoku +chivas01 +purple77 +custom1 +bbb +400001 +daniel6 +gamecocks1 +stgiles +brittany11 +derek123 +123456prof_root3.sql.txt:, +welcome01 +ig4abox4 +lulu12 +energie +monkey00 +hattrick +bicicleta +london10 +hellno +bearcats +tyrese +49ers1 +hicham +12123434 +happy10 +aidan +susana1 +harley03 +cookie14 +alexis7 +truth +RICHARD +pinkrose +rexona +sweet3 +555111 +dudeman1 +roflcopter +bball4life +gretta +linden +micah +murat +silence1 +jimmie1 +lolly1 +bonethugs +babygirl25 +patrick5 +aka1908 +anthony69 +Computer1 +123456� +fingers1 +infamous +pippin1 +antalya +baldwin +senorita +949494 +ron +edwardcull +101082 +apple1234 +sewing +olivia01 +44magnum +fer123 +carina1 +pornstar69 +Pepper +blowfish +accent +foreveryou +cowboy12 +visual +jonasbrothers +aaaaaaaaaaaa +jordans23 +120485 +altima +rosewood +cameroon +oakley1 +sarge1 +lambchop +morten +sydney01 +Tiffany +dfghjk +breeze1 +cherry11 +lover15 +pppppppppp +flirt +lockdown +francais +angel04 +1superstar +101287 +852147 +coventry1 +111983 +green16 +alfa +ofelia +Hallo123 +amanda18 +woaini521 +asstastic +amber13 +brock1 +COMPUTER +niko +nicolo +lala22 +zeeshan +magadan +greentea1 +qwerty14 +sunshine6 +dongdong +jomama +zigzag1 +010109 +okidoki +leomessi +fuck23 +titleist1 +123dog +contacts +101289 +hungry1 +in2806rbk +stefani +veracruz +conway +jitendra +lexington +gandon +octobre +seatibiza +alex05 +today123 +balloon1 +marcelo1 +tmoney +wingnut +atdhfkm +kbctyjr +HANNAH +sakuragi +sonne +sweet! +fight1 +jeremias +mikkel +198811 +101290 +locoloco +ilia16739 +htubyf +punjabi +filipino +koukou +molly11 +JUSTIN +mourad +percy1 +highbury +family05 +beautiful7 +annann +cheer13 +defense +disney123 +peace&love +thetruth +babygirl. +single12 +books1 +olo65b6666 +qsdfgh +jess1ca +nascar08 +jigga1 +rapunzel +alexei +hyacinth +1elizabeth +14521452 +mohawk +melissa3 +skater7 +110388 +hunter6 +chelseafc1 +Richard1 +135 +flowers12 +wellcome +kristopher +buzz +j3ssica +nakamura +redneck2 +maddy123 +nitro +reggie25 +hardrock1 +12345678t +owen +blink1 +morgan13 +brianne +bear1234 +booger2 +112244 +offspring1 +600042 +mike15 +alex25 +charlie22 +3030 +quinton1 +mike08 +michi +natale +12345trewq +asdfghjkl;' +taylor07 +newbie +optimist +bassoon +jayden123 +dawid1 +flower10 +vedder +fuckm3 +roflmao +purplehaze +150150 +gilligan +dionne +marlin1 +3429795 +macbook +baker123 +josiane +yorkshire +110589 +baby77 +11211121 +dragon00 +ashley24 +fallon +tyrell1 +noah123 +ramadan +1buddy +draco +webster7 +tretre +volkov +romanov +fuckyoubitch +25tolife +sugarplum +147852963 +baron +chesterfield +230388 +andrea13 +spider2 +baseball27 +sexyone1 +10111213 +perro1 +sidewinder +okinawa +chevy123 +pervert +david4 +forester +whatever. +dickie +force1 +fresita +torres09 +arlene1 +anthony09 +mememe123 +marie01 +chevy69 +delta123 +tarantino +pheonix1 +1password1 +brandon08 +connected +dunhill +katelynn1 +margie1 +diamond4 +cheetos +2828 +disco +zaxscdvf +clock +classof10 +cloudy +ginger13 +ziomek +bolero +millie123 +wilson123 +jesus4 +gewinner +cassie2 +dallas13 +1poohbear +270787 +limerick +kodiak1 +hinata1 +ZXCVBN +cghfqn +bluebear +Angelina +usnavy +reefer1 +9379992a +weare1 +mallard1 +051988 +korn666 +del +jesus09 +junior7 +андрей +noemi +rebeka +happyme +mustang99 +camron +290989 +alphonse +riders +godfrey +10121012 +football51 +denise2 +pass12345 +123456prof_root2.sql.txt:, +soccer04 +industrial +puneet +420420420 +justin8 +1207 +angel89 +trance1 +chicago2 +rockstar13 +robson +mydaddy +dayton1 +w1w2w3 +blaise +120888 +blue07 +jayjay2 +Manchester +sidekick2 +lighter +pitbull2 +gatsby +nurses +ilovemommy +jeremy2 +cali123 +misery +amanda23 +gbgrf +benjamin2 +201201 +cherish1 +azer +ashishbiyani +135797531 +060708 +sometimes +fifa09 +coffee123 +120585 +kalinka +sarah13 +raiders123 +drums +cadence +bigfish1 +584131421 +makarov +jacob11 +100688 +th0mas +nene12 +carlo1 +a11111111 +jayden09 +88889999 +rene +virgilio +lmao123 +солнышко +kush420 +123400 +titoune +dogface +a123a123 +MOTHER +eroticy +1bigboy +mika +raja +tennis2 +cneltyn +111980 +dell1234 +iluvyou2 +leighton +alexander9 +myspace33 +kobina +012345678910 +elektra +http://www +gol +jj123456 +grammy1 +110789 +130588 +artemis1 +beatriz1 +amitie +cutie7 +alexis5 +calcutta +geibcnbr +jeanne1 +Genius +doghouse1 +nick22 +onelove2 +megan2 +147123 +biggirl +mnmnmn +1031 +peanut22 +merlino +manyak +hilton1 +blue52 +chanchan +auggie +macgyver +chemist +suck +sporty1 +520123 +jazzy12 +gracie2 +S9QxA9Yn9Cc= +ahmad123 +120988 +lovealways +110487 +turismo +summers +1120 +suckit2 +STALKER +cookie101 +pittbull +terror1 +nicole19 +football30 +ross +kirsty1 +fling1 +sesshomaru +russland +bubbles4 +imsexy +joshua4 +thatsme +tabasco +ou8123 +downtown1 +selina1 +plies1 +savior1 +1cheese +plymouth1 +manga +erica123 +Virginia +universe1 +explore +detective +sa123456 +bigboobs1 +emploi +143445254 +cocochanel +08082008 +4242 +crazyboy +joshua06 +cowboys21 +destinee1 +forsaken1 +gaylord1 +tiziano +lekker +ytngfhjkz +junior21 +jeannie1 +322223 +brabus +bitch24 +o0o0o0 +priest +bettyboop2 +jose14 +gfgjxrf +david15 +afghan +asdfghjkl2 +l1234567 +september6 +andrew69 +zxc12345 +deathmetal +water5 +thelma1 +flip +abcd4321 +asdf4321 +paint1 +sweetbaby +vfylfhby +20080808 +furkan +camino +star55 +janeth +owen10 +lovely11 +volkodav +orange4 +gremlin1 +lions +10001000 +258025 +@yahoo.com +dima1995 +skater14 +FOREVER +doris1 +bogota +9268356683 +pinkgirl +greenapple +121291 +dragon24 +nana11 +110989 +trent +forever13 +ladybugs +110065 +aslan +hollister5 +Angela +1227 +zxcdsa +cyy813zRvR +210588 +1david +vanguard +emma1234 +nadeem +evil +metoyou +phenix +aliyah1 +grandma3 +mexico15 +ilovetyler +ottawa +paradiso +bella10 +rockstar7 +sexy12345 +capullo +yellowcard +renaud +101010a +12345666 +pepsimax +shamil +dance101 +ababab +tooshort +Samantha1 +shelby01 +520520520 +cheese13 +01478963 +alex77 +shorty10 +9874563210 +rebecca123 +224422 +nachos +�+�����+��� +1478520 +shamus +420smoke +tahoe1 +cinder1 +7890 +11223 +shocker1 +rockstar10 +mustanggt +furniture +everquest +221288 +harryp +chetan +197300 +mailbox +solo +guyana1 +hottie6 +chrisb +jessie01 +пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ +3344521 +misskitty1 +lalala12 +000ooo +abbie +214214 +google11 +258258258 +macbeth +orgasm +ghbdtn1 +myboys3 +kaden1 +bluetooth +remote1 +stranger1 +1qa2ws3ed4rf +topgear +bartender1 +john3 +louise12 +heartbreaker +trucking +141001 +112233aa +snapon +daddy7 +emmitt +jaqueline +12251225 +JUNIOR +skyblue1 +fabolous1 +keesha +fxzz75 +healthy1 +jajajaja +molly01 +elisa1 +qa27111985qa +cooker +vthctltc +1133557799 +passwerd +whyme1 +qwerty56 +vfhrbp +1jackass +deshawn +beograd +datnigga1 +rostov +transformer +fruity1 +salina +CHELSEA +Olivia +blunt1 +password101 +amor13 +grunge +chocolate. +rugrats1 +A123456a +blade2 +romania1 +1joseph +pavlov +amanecer +tubby1 +lambda +credit +400063 +shadow88 +fortune1 +pawel1 +toomuch +1madison +vjhrjdrf +willy123 +bronze +niggaz1 +fusion1 +ckfdbr +buggy1 +uruguay +1tiger +schmidt +guitars +wtpmjgda +poetry1 +sunshine09 +sweet6 +131211 +hockey33 +aremania +pinnacle +glory +пїЅпїЅпїЅпїЅпїЅпїЅ@mail.ru +quinton +lexi +bigdog2 +gmail.com +cheer07 +cerveza +allblacks +Soccer +dancer87 +kotek +sweet7 +марина +guitar3 +august6 +screwyou +100888 +120486 +198622 +fordtruck +green77 +bb123456 +sujata +nygiants +ibrahim1 +funfun1 +jason01 +boobs2 +betsy1 +beautiful3 +231188 +iceland +trees +cool101 +maymay1 +bimsta +sassygirl1 +matthew23 +hannah14 +lovers! +alex101 +123412341234 +5203344 +jimboy +babushka +jacob3 +tommyboy1 +subwoofer +blu +maestro1 +iloveyou77 +560075 +jesuslove +10101986 +rookie1 +sonnyboy +michelle8 +princ3ss +dolly123 +cherry3 +leon123 +greenday7 +hannah6 +samantha7 +dorian1 +135789 +hihihihi +cookies3 +work123 +naruto99 +shinobi1 +retarded1 +suckit! +asgard +shithead2 +florentina +memyself +maddie01 +december9 +120487 +123321qq +jenny2 +jesusislor +james17 +idunno1 +rukawa +evergreen1 +recipes +eatme2 +player3 +emily13 +blaze123 +Mustang1 +jas123 +1raiders +otto +davidson1 +bluegrass +shanthi +salmon1 +warcraft2 +iloveben +gurudev +carolina12 +keith123 +mollymoo +crayola1 +Patrick1 +olives +bartolo +polish +peanut5 +aguilas1 +khalil1 +uptown1 +chicken. +movie +wilfred +222888 +12141214 +dipshit1 +143001 +shauna1 +tri +duracell +5683love +nostromo +1yellow +molotov +officer +1dancer +dorina +cla +green33 +000011 +howdy1 +492001 +prettygurl +astro +jason5 +00998877 +icecube1 +ilovepink1 +carlos22 +120989 +vfvf123 +carlos23 +Matrix +puffin +vfnbkmlf +bubble2 +gomez1 +charizard +wookie1 +naked +mikey12 +superman6 +destiny4 +raissa +franny +miguelangel +weiner +costa90 +CARLOS +school11 +dom123 +samantha13 +�+�����+�����+�����+�����+�����+����@mail.ru +lerochka +apple23 +560093 +sosiska +rfnzrfnz +1008 +blowjob69 +carlos3 +maggie7 +hard +skylark +bball32 +200588 +dandan1 +hemant +midway +543216 +naruto15 +oxford1 +8080 +belfast +hottie21 +sofiya +filosofia +nothing2 +bunnys +smart123 +flossy +sowhat1 +mysterio1 +happylife +ginger22 +family8 +september5 +guitar11 +squeaky +shitfuck +frisky1 +mariamaria +saranya +111982 +pussy23 +password26 +saturday1 +svetka +170986 +lfhbyf +123! +denisse +buddy10 +superman. +mangas +different +fatiha +shannon12 +pratibha +freedom11 +chispa +james18 +orange23 +callofduty4 +pf +3131 +godschild1 +amber11 +football72 +ghbdtnghbdtn +94793763 +friends6 +olabode +celestial +emo4life +tripod +1redneck +pinhead +fs7600 +pendragon +whatever11 +martyna +whitey1 +BATMAN +alex2008 +mike24 +jacque +harriet1 +hobbit1 +punker1 +film +daniel09 +123hello +sslazio +400092 +fantastic1 +jason21 +pipiska +loveme. +morozov +retire +shorty21 +dipstick +murugan +dasdas +121989 +charmander +paragon +shay123 +1234576 +n111011 +Christopher +tacos1 +cupcake3 +peaches3 +crazy69 +goofball +alias +timothy2 +boulder +alex777 +bulls1 +sysadmin +sparkie +jaden +amanda14 +yankees27 +drumline +24081986 +morgan10 +sneaky +sakura123 +austin5 +pepperoni +decembre +strider1 +ilikepie2 +laserjet +conchita +travis2 +courtney2 +jellyfish1 +philou +leviathan +cameron7 +200300 +chance123 +marlen +333222111 +tweety7 +lin +friends13 +monday12 +methodman +fleur +timeless +lbfyjxrf +carmen12 +anth0ny +231231 +damion1 +adrian2 +sparky2 +nigga3 +loreto +eastern1 +dammit1 +chance2 +fatboy12 +ryan22 +120887 +130988 +montenegro +taetae +emily3 +tigger14 +122 +george3 +thor +memory1 +oriana +2580456 +daisuke +worldcup +edgar123 +fucker. +sunitha +sonia123 +deguzman +natasha123 +topbutton +god1st +poop25 +meandyou2 +carletto +chip +mcfly1 +pepper22 +tonight +daniel69 +bimbo +mantra +deleted +palembang +whosyourdaddy +rock1234 +champs1 +hotgirls1 +claymore +2hearts +Stephanie +Q18lG49iq8BhU +varsity +palestine +makenzie1 +mooses +graziella +z1z1z1 +foot +bitch8 +aventura1 +221286 +triumph1 +12241224 +blackmagic +balloons +achtung +wonderwall +buttface +zxzxzxzx +nathan3 +carioca +temple1 +nelly123 +ddddd1 +133133 +loki +tiger4 +class2011 +411007 +yinyang +lindas +gangster2 +peterbilt1 +garuda +babyboi1 +chris20 +rachel11 +merlin123 +byebye1 +abuela +metro +197000 +buster7 +oluwasegun +250587 +321cba +kenworth1 +loca123 +duke11 +rico +kahlua +alla +harper1 +sexy88 +killswitch +black69 +acidburn +scareface1 +payday +111187 +12311231 +katie3 +newyork7 +weedman420 +buddah1 +yetunde +samara1 +only1god +alex20 +vlad123 +itsasecret +ketchup1 +120986 +vancouver1 +br +Nicolas +tianna +13579246 +four +mountaindew +angel007 +machoman +301087 +steelers86 +berserker +BABYGIRL +warpten +yourmom69 +jajaja1 +1911 +karine73 +Patricia +greengrass +120889 +carotte +madison11 +clarice +minerva1 +guadeloupe +77778888 +toto123 +sydney12 +peter12 +james16 +jocker +marialuisa +jos +carter2 +baby89 +lisa1234 +68mustang +a987654 +xtreme1 +cocacola12 +robertson +christiane +FLOWER +123myspace +cancun1 +strike1 +1015 +helsinki +p00hbear +12qwasyx +ginger3 +dazzle +23wesdxc +peace11 +pianos +091209 +hollaback1 +countrygir +cs_000 +fatoumata +tumadre +javier123 +baraban +ban +tequieromucho +edward01 +arshavin +daniel20 +hibiscus +profession +abc.123 +miaomiao +sexy55 +angel33 +bidule +cherrypie +aztecs +wetpussy1 +ANTONIO +jesus14 +joshua14 +bella3 +bullrider1 +bmw +lunchbox +frog12 +happys +220788 +loveu3 +collie +logan12 +suzana +shana1 +amadeus1 +heaven123 +neoneo +121186 +1233211234567 +cowboys8 +john14 +january17 +74123 +skater101 +patches2 +disciple +shadow4 +cross +sexygurl +MATTHEW +kevin01 +nonsense +100689 +klimov +sar +loveyou4 +flower22 +smokes +brooklynn1 +Louise +generic +120490 +bruins1 +chicks1 +nina12 +verano +fuckubitch +madhavi +mu0LFpv2 +110686 +tatertot1 +delfina +18121812 +cancel1 +ruffles +kingdomhearts +asdf456 +198383 +jason23 +110889 +carling +heybaby1 +soprano1 +love123456789 +lucia1 +Johnson +cactus1 +cheese. +fagget1 +1sister +sorrow +success123 +polo12 +rainbow5 +triniti +rainbow69 +dianne1 +luigi1 +pollo1 +786000 +rugrat +penis! +rocks1 +playboy3 +freshman +yo +mexico23 +iloveu11 +loaded +redeye +1234567v +bball4 +dortmund09 +commodore +karamel +brian2 +softball24 +amore1 +nigger5 +emolove +baseball44 +p0o9i8u7y6 +track +datsun +ranger01 +iamgreat +joshua18 +127127 +kolkol +oberon +shana +090989 +buster5 +caution +evaeva +december6 +bitch420 +chevy454 +manny123 +adams +dumbledore +marmar1 +return +stockton +vidanova +ford123 +diamond6 +iris +bebeto +231090 +changes1 +password78 +speak2me +mami123 +110389 +kirakira +110888 +lottie1 +monster! +barrett1 +crespo +theworld +killer007 +augustin +gilmore1 +mus +aini1314 +rjcvjc +amit +sweetu +turnip +darknight +ilovecody1 +spillo +k1ller +julian12 +5252 +1216 +Maverick +alicia123 +hogwarts1 +jose11 +boom123 +tamerlan +happy69 +cadence1 +sixpack +lovey1 +john69 +198911 +001973 +wingman +120187 +chessie +iluvu! +beverley +hotmail2 +110088 +capcom +marcela1 +mia +hehe123 +patagonia +paris75 +lovable1 +223223 +david07 +sober1 +sofia123 +save +drew123 +custard +sgdHhfC4x2 +freddy123 +maritza1 +02021987 +kzkzkz +luckyone +knuckles1 +1qqqqq +gnusmas +mimoza +brooklynn +ivana +November +8letters +grimreaper +discus +technics1 +trustn01 +daniella1 +jomblo +crazy7 +geisha +intelinside +cardenas +annalena +nicolas123 +pig123 +bbbbbbbbbb +scooter3 +gracie12 +lazaro +lanena1 +jjj +henry12 +storm123 +gangsta7 +blue56 +upyachka +matthew9 +starlite +smile3 +marie08 +help123 +220687 +eliza1 +nastja +121185 +address +partygirl1 +dragon101 +william13 +1qayxsw2 +costarica1 +nihao123 +bluejays +babygrl1 +hilltop1 +vampire666 +wankers1 +shalimar +iseedeadpeople +play123 +command1 +smartass +harley3 +carlos21 +bilancia +polipo +georgiana +speakers +rescue1 +cheese22 +135531 +123lol123 +candyfloss +freefall +clifton1 +mouton +BUSTER +moumou +198522 +Chris +123445 +fucker5 +hannah23 +whatwhat1 +blondie2 +matt13 +biatch1 +12121986 +bisexual +taylor23 +daddyo +savannah2 +teamo2 +mexico9 +ganapati +120790 +rrrrrrr +zebras +cosmo123 +daniel06 +sandrita +198012 +12356789 +shinchan +peppers1 +indigo1 +khankhan +asd123123 +321987 +Edward +california1 +solitaire +orchidea +january10 +jaihind +ginger7 +316316 +katusha +family09 +811224bai +pizzas1 +nemo123 +amanda16 +typetogether +hedwig +sugarbaby1 +bb1234 +pajarito +bootsy +bitanem +my123456 +dwight1 +worldwar2 +121988 +12many +punk12 +1111aa +ich +Cooper +22061941 +carnage1 +suburban +gfgfgf +gabriel7 +nicole25 +210688 +vijay123 +vladimir1 +kareem1 +arrow +1217 +ben10 +profesor +january28 +123sexy +popcorn3 +slipknot13 +0202 +Friends +element5 +flower13 +1rockstar +openopen +shuttle +my4boys +jimbeam +420000 +vodafone1 +phones +bailey7 +tombstone +gasgas +sambo1 +jackie01 +woainima +loco12 +analog +741147 +lamejor +feelgood +jayla1 +love4all +vaishnavi +banks +beautiful! +masyanya +jordan17 +provence +jameson1 +luckey +110786 +softball16 +abraxas +killah +hawk +camcam +doggy12 +Isabelle +yourmama +vinay123 +gostosa +angela2 +Garfield +1drummer +snappy +qwerty90 +daddy23 +6789 +filipa +joshua99 +watford +sangita +12121988 +sup3rman +mydick +argent +loveall +fhvfutljy +joaquin1 +fresno +rocko1 +shippuden +rosina +poop99 +michelle69 +flower! +110990 +tx9Z6ht5eO +luckys +u6kz2lppto +raghav +pompiers +123123qq +benjamin12 +minimini +miguel13 +pentium1 +Vincent +pandas1 +pugsley1 +secreta +diving +summer23 +happy101 +balong +lamine +556655 +babes1 +flaquita +bamako +emily11 +razor +1369 +happybunny +koolio1 +fuckthat +forgive +building +bel +pooky1 +asdasdasdasd +tomasz +kantutan +100486 +cherry5 +prospect +a2a2a2a2 +shizzle +muffy1 +hunny1 +rockydog +hunter05 +fafafa +liefde +123qwe456rty +cedrick +jordan18 +220288 +denise123 +leanna +defender1 +trinity7 +rollin +jun +weiner1 +roseline +helloo1 +pussylover +notorious1 +mummypapa +pA1ub65udD +pepper3 +neenee +ab12cd34 +thizz1 +millos13 +ch33s3 +cutie15 +junior09 +papercut +december4 +07071987 +sitaram +lanena +wallpaper +171 +eduarda +blue08 +jojo13 +010185 +221088 +GoxyBoib +beaumont +whore123 +casey12 +pepsicola1 +lauryn +crayola +z010203 +birdhouse1 +mousey +1234567qwertyu +cowboyup1 +qqqqqqq1 +godswill +dragon! +fighting +sas +vk_vk_777 +Sabrina +qwerty15 +loraine +superb +music01 +moustique +deskjet1 +7788521 +melissa13 +caligula +sco +canes1 +survivor1 +bombers1 +moment +matthew! +chelsea13 +goodnight +120188 +Samuel +Batman +lizzy123 +110590 +sadie2 +xzsawq21 +intheend +miss +dtkjcbgtl +chippy1 +deandre +110045 +nirmal +snikers +libera +bowl300 +tool +biscuits +jenn1fer +fuckhead +01011978 +pookey +legoland +idontknow2 +kashif +pepper7 +sting +killer! +021084 +alonso1 +jane123 +kendrick1 +cheska +1234go +innocent1 +winter10 +slippers +jasmine8 +10101985 +xsw23edc +doobie1 +scooby-doo +goirish +sexy100 +elvisp +6poppin +topsecret1 +johnny7 +superman14 +201088 +bong420 +lover6 +198210 +zero12 +namaste1 +assfuck +yankee2 +firdaus +audir8 +123456789987 +redwall +pineda +chameleon +111111s +skeptron +crissy +juanmanuel +football31 +makita +dexter12 +blondinka +hopper1 +january25 +smiths +stonewall +maggio +1stlove +junkie +saturno +kelsey12 +ruby12 +blinky +roselyn +blunts1 +january2 +dipset2 +thc2000 +mysterious +champ123 +creator +bhbcrf +minina +babygurl01 +12121989 +maggie! +london99 +himmel +191 +hope12 +lori +ilovejason +анастасия +bailey3 +vorona +knowledge1 +pekpek +bigass1 +brandy2 +element7 +miller12 +nissan240 +ibiza +120685 +1hannah +anaana +1128 +deuce2 +fabiola1 +dance! +christa1 +lucydog +hahaha3 +140289 +pumkin +hambone1 +marley420 +sucess +bambola +dagmar +jesse2 +1478 +cheer11 +luvbug +seminole1 +110489 +cubalibre +cooper01 +tony14 +wade03 +masterp +netball +catcher +ashley9 +dallas21 +nico123 +peluche1 +angelz +morocco +emo +sergio123 +eliza +eumeamo +crusher +jingles1 +thrasher +chikita +egor +easter1 +230689 +kassie1 +567765 +postman +kukuku +Abc123456 +krypton +pussy13 +francesco1 +bowman +music4 +bhabes +guadalajara +juan23 +jologs +jared123 +snoopy7 +0p9o8i +evgenia +cole123 +786 +adrenaline +jiggaman +password12345678 +justin06 +ghj +sandy2 +100585 +oooooooooo +code +rkfdbfnehf +gaming +lolol1 +gary123 +fbU89bxx5F +babygurl15 +fatfat +starlet +frenchy +MUSTANG +ver +fucku3 +flvbybcnhfnjh +220688 +123456love +maggiemae +000000q +silvester +foreverlove +jeanie +subzero1 +facebook12 +green9 +hounddog +lion123 +jacob13 +yokohama +karuna +printing +11223344a +parol +bitchs +smileyface +carlito1 +301090 +whatever5 +piccolina +05051985 +bigbuck1 +olgaolga +usmc1775 +5454 +chips +ioioio +ilovejake1 +150585 +senveben +vanity +godofwar1 +fuckyou99 +acdc +eastenders +iloveyou25 +allegra +topolina +vertical +under1 +kayla13 +tastatura +stokrotka +pokemon22 +sweet14 +EXIT_WINDOW +dotnet +jordan03 +cocopuff +12121 +gameover1 +pizzaman +3151020 +braden1 +bowwow12 +gogo123 +biggirl1 +olatunde +sashasasha +makmak +sunshine19 +mom&dad +198912 +skynet +silly123 +copper12 +vbhevbh +chris25 +angel12345 +ready +rainer +pooh13 +poopoo12 +watever1 +flyfish +#1hottie +lucky101 +tori +luvme2 +godofwar2 +220488 +prabha +blowme2 +construction +poornima +EUdlEKB645 +sunsun +a0123456 +frimousse +fars419 +001986 +nature1 +daniel9 +jordan02 +acosta +rockstar11 +chocolate123 +iloveyoubaby +1ladybug +198722 +nyt +my3babies +il0veu +andrew08 +sommar +wings +orchard +120385 +harley99 +glamorous +girlygirl +anupama +nurlan +231189 +jules1 +1233214 +121003 +jennings +harley7 +f14tomcat +spinner1 +eagles36 +shekinah +sexy26 +1christian +sylwia +qazqaz123 +buckshot1 +mama12345 +alcapone +noob +nirvana123 +duck123 +meuamor +okay +hannah06 +hooter +08081988 +eduardo123 +andromeda1 +january14 +war123 +iloveyou99 +woman +castello +minmin +kimberley1 +prabhu +grandson +sadie12 +mooney +mamasita1 +bigbutt1 +nicole20 +supercool +boston123 +2244 +w1965a +albert123 +junaid +4brothers +arjay +kwiatek +master23 +apple13 +1212312121 +catnip +jennifer11 +4twenty +mexico86 +jessa +jetaime1 +zuzana +psalm91 +classy1 +9thward +crayon +szeretlek +1111114 +bubbles01 +chaos123 +iloveyou +nokia2000 +890 +whitetail +a789456 +001985 +120390 +10101984 +mylife2 +porshe +loveu123 +tester123 +family08 +1108 +sanpedro +damage +garnett +saratov +alex19 +stefanie1 +juanjo +dragon18 +docrafts +besties1 +dadmom +2pretty +sting1 +fynjybyf +bert +twiztid +hello111 +elizabeth6 +senior10 +inspector +120785 +password1234567 +takecare +origami +fuentes +trujillo +4meonly +1127 +dino123 +sweetmother +hondas2000 +tucker123 +eldiablo +camping1 +pet +cameron5 +master1234 +cutie09 +110062 +atlas1 +MARINA +oluwole +boomer123 +creature +SANDRA +giordano +secret01 +iphone3g +wakeup +ladybug7 +bennyboy +ginger5 +cameroun +1028 +101284 +soloio +100487 +barney12 +kasper1 +corrie +goonies1 +bowhunter +diana12 +sugarbaby +1234me +1sexymama +mirko +coolest1 +spalding +amapola +snowball12 +funnybunny +spencer2 +stephy +1412 +bigbooty +koliko +123121 +cocker +franzi +smoothie +phillips1 +cnhtktw +kapitan +ashley06 +supermen +noob123 +121277 +lokiloki +dickface1 +new_user +2friends +ihateyou. +sara1234 +funtimes +blackjack2 +13691369 +avgust +bumbum1 +saheed +grape1 +crazy3 +543211 +westside3 +jewell +lollipop2 +baobao +1forever +understand +wireless1 +starr +jordans1 +zimmer +paulita +sonoma +melani +harvest1 +shadow8 +sasa123 +babygurl10 +davida +201090 +annick +london2012 +130688 +mamama1 +death12 +fuckin +killbill2 +110690 +annamarie +1109 +120386 +olya +six6six +tink13 +120584 +123520 +coco13 +highway +bubba3 +gabby12 +21122012 +jenny13 +trainer1 +loveme09 +01011992 +steven13 +240484 +samantha01 +10101980 +120484 +a1b1c1 +bojangles +anthony18 +angel28 +15963 +robyn +qwerty2010 +bucket1 +acmilan1 +bullshit! +pimp08 +chocobo +irule1 +sheeba1 +miami123 +espace +twenty2 +squishy1 +QAZWSXEDC +230588 +Cameron +lickme69 +1Q2w3e4r5t +acer +yomama123 +pink33 +012 +crazy5 +147852a +edgardo +dbz123 +jordon1 +one23456 +QWE123 +holiness +australien +turkiye +saphira +hanane +tuborg +mickey22 +110386 +121187 +cartagena +high +green18 +pisica +gfhjdjp +theman12 +ball12 +001984 +louis123 +toaster1 +sssss1 +taylor15 +acura1 +widzew +onetwothree +cromwell +treacle +gogetta1 +yourmom. +maddalena +jezebel +senior1 +malagu +121200 +jelly123 +Rammstein +sierra12 +iloveit +alexandra2 +andika +mountains +sharingan1 +3aNs97t397 +1346798520 +destiny01 +spiderman9 +south +555666777 +t-bone +159456 +0808 +brownpride +chivas7 +fiesta1 +elephant2 +gay +supers +xxx777 +january27 +blue101 +198310 +bonovox +me2you +becool +ladybug12 +SAMUEL +skates +trees1 +inter1 +mama13 +byajhvfnbrf +fiorellino +bigbaby1 +beerbeer +grace2 +cowboys24 +spurs21 +MARTIN +Michelle1 +kevin3 +phoenix2 +senha1 +nigger. +Ferrari +dancer3 +222666 +3brothers +vwgolf +230589 +springfield +alinochka +black9 +shorty22 +redeemed +sinatra1 +900900 +secret11 +12031990 +ericka1 +greenman +cornbread +tigris +olabisi +oneday +chipmunk1 +mustang05 +terranova +ariel123 +finally +spa +septembre +warlord1 +ladygaga1 +tsunami1 +alex1994 +lightsaber +smokin420 +shamanking +aaliyah2 +qwertyuiopasdfghjkl +cummins1 +thomas! +beethoven1 +lionelmessi +14321432 +snicker1 +melany +jazz12 +joshua05 +44445555 +nikolka +richboy1 +cookie21 +1017 +peaceandlove +russian1 +jasmine6 +peanut! +johnsmith +football75 +gtnhjdf +january7 +versace1 +198812 +vineyard +951753aa +131189 +frankie123 +1hxboqg2s +january16 +deltaforce +80808080 +hanumanji +lancaster1 +lala13 +Charles +frogman +myspace25 +120287 +258 +Florida +pussy11 +zaq11qaz +leeds +maldonado +joshua09 +2cute4you +polska12 +iluvhim1 +discovery1 +521314 +123345 +welcome3 +djljktq +samantha! +redalert1 +beastmode1 +astra1 +love78 +axel +221287 +chillout +diamond11 +dina +7654321a +smiley12 +mickey5 +Denise +harley10 +angelwings +121281 +eva123 +maniek +ezekiel1 +melina1 +alfie123 +barcelona2 +jack22 +sparky11 +02580258 +corky1 +polly123 +sunshine08 +geraldine1 +120190 +royalty +dingding +maya123 +ANGELA +cholo1 +willsmith +jasmine9 +nothing0 +parigi +kalyan +helpmegod +justin99 +311 +050588 +agata +larkin +trish1 +gertie +2bad4u +farhana +dragan +redapple +5566 +zachary2 +159789 +shiraz +mamans +sex4me +baby_girl +kicker1 +181 +11223300 +mitico +sassie1 +hawthorn +mailman1 +wildfire1 +poopsie +280888 +32103210 +kmzway87aa +hobbes1 +ichigo1 +january18 +fran +candyland1 +111289 +ladybug123 +basketball23 +poopie123 +yeah123 +1411 +r2d2r2d2 +seventeen1 +alex1993 +isaac123 +january15 +writer1 +whiterose +simply +volunteer +summer6 +babygurl16 +glendale +batuhan +ilovedad1 +yjwfn73J +marcos123 +familyof4 +20091988 +jaclyn +poppet +pepper! +100588 +adminadmin +blue09 +every1 +tipper1 +lalala3 +avenged1 +chelle1 +moemoe1 +password28 +Slipknot +Andreas +persib +159753q +badbitch +glasses1 +volare +petunia1 +monique2 +senior2010 +natnat +snickers12 +spoon +woodie +paroll +teatro +casper01 +11001100 +soccer45 +p1234567 +221090 +loveforeve +140290 +220689 +freelancer +fanta +commander1 +numlock +bermuda1 +w111111 +aline +pimps1 +100490 +feedback +234432 +bluedragon +sweet22 +assholes1 +hidalgo +gangsta5 +matter +harmonie +bigmike1 +morgan3 +gonzaga +ybrjkftdbx +basil +hurensohn1 +guitars1 +southafrica +daniela123 +verseau +vans123 +muzika +massey +ronaldo99 +251088 +blueblue1 +steel +man12345 +happy21 +isa +winter06 +theo +hotshit1 +slayer69 +1cowboys +atmosphere +sankar +january19 +Porsche +westie +oc247ngUcZ +120787 +lorelei +milenium +pajaro +253634 +Murphy +prachi +1QAZ2WSX +19531953 +aleksandar +barcellona +00123456 +space4me +reddragon1 +lastfm1 +0505 +class10 +bubbles8 +12312 +jessi +tito123 +bamboo1 +tyler14 +250788 +applejuice +yellow10 +precious12 +julissa1 +rock666 +malaika +1113 +burgess +leone +freedom4 +josh14 +251 +666000 +hitman2 +mickey10 +madhatter +walton +369147 +thomas5 +bubbly +tabby +catman1 +jake22 +lord123 +maddie2 +hannah09 +12121991 +stuff1 +baubau +250589 +jeanpaul +money20 +jayden01 +221289 +greta +djdjxrf +dawgs1 +michoacan +chocolates +789632 +vickie1 +000005 +gogogogo +090990 +delta88 +dolphin123 +metalhead1 +lalala! +kitty4 +carmina +sweet21 +120786 +bigass +ilove4 +1812 +askim +rfntyjr +12345678i +fuck14 +fausto +degrassi +fatgirl1 +96321478 +patrick11 +qwepoi +mauritius +daisy01 +jose23 +12ab34cd +mclovin1 +vicious1 +piyush +long +earth1 +angel55 +mensuck1 +nokia1100 +edward3 +muneca1 +zackary +ariete +bubulina +211288 +guitarman +230988 +himalaya +jolly1 +demetrius1 +rebecca2 +02 +valeriy +6173580 +jose15 +supra1 +ashlynn1 +234 +FRIENDS +bowser1 +newworld +pooja +informatica +120886 +asdfg1234 +alskdjfhg +katzen +m1m2m3 +1horse +bling +udacha +higgins1 +january26 +czz123456 +octavio +rom +123aze +complicated +12345u +dkflbvbhjdyf +live +6y4rV0a992 +evangeline +fuck777 +110890 +empress +jonathan13 +izabela +sassy101 +gunslinger +1richard +bandit11 +101186 +lincogo1 +caprice1 +tit +nikoniko +advanced +2311 +Arsenal1 +darshan +harley05 +kanarya +00000007 +volcom2 +alex1996 +v123456789 +1heaven +coolest +mother1234 +82468246 +.......... +love1995 +fenway +rocky6 +cheerios +12121985 +prince22 +jensen1 +workhard +kk1234 +raj +pacers +poontang +maelle +1q3e2w4r +oscars +jason22 +198181 +250388 +okmijn +dogsrule1 +kerala +9090 +maltese +jose10 +shinichi +nakita +bella22 +gossip +baller4 +Asdqwe123 +chiquito +thalia1 +akira1 +241188 +infotech +soledad1 +121086 +yasser +seos1234 +halfpint +davina +stopit1 +fuck-you +david17 +Natalie +popcorn7 +rudolph +cj +ttttt +carver +asdfgf +weston1 +anand +180180 +guildwars +lolilol +acer123 +410210 +241088 +shobha +console +hollydog +bullfrog1 +password94 +love1994 +230987 +raphael1 +lsutigers1 +booyah +olaoluwa +roxie +1qazwsxedc +yfnfkbz +Alexis +loser22 +coach +vinayak +password05 +destiny11 +5683 +marcolino +misspiggy +dasher +iceice +123444 +karin +sunny2 +1prince +madison6 +capitano +wolfie1 +PassWord +devilman +andrew16 +director1 +tamika +nazgul +020288 +snicker +cris123 +lock +kris123 +cooper11 +right1 +1maggie +marivic +omega3 +jennifer13 +bored +roma123 +ddd123 +niggaz +collection +jetta1 +annabella +roxygirl +100789 +bryanna1 +orange01 +tango123 +130686 +qwer11 +vanvan +ravi +charlie08 +robyn1 +6666661 +piotrek1 +12332100 +milan1899 +david6 +zippy +kitsune +redeemer +tigercat +tomorrow1 +claudiu +bibibi +00000001 +babyboy7 +softball08 +120290 +col +hannah02 +sportster +samiam1 +110788 +sacrifice +psalms +grenoble +021 +101081 +jayden12 +cochon +1�2��3��4� +nena12 +andrew07 +dakota13 +lashawn1 +squeak +didi +googlecheckout +foufou +daisy13 +200808 +pawel +rich123 +froggy12 +05051989 +mylove3 +bigdick69 +nguyen1 +j3qq4h7h2v +john21 +excellence +september4 +1234qwert +killer09 +1946 +utn05wWy +st +qwertyuiop12345 +holysh!t +szerelem +kitty! +imperial1 +happiness2 +jessica08 +bobo12 +210990 +martita +dima1997 +weeman +steel1 +louie123 +daniel1234 +pepito1 +taytay123 +brando1 +jacinto +servant +23031990 +spoon1 +rainbow! +july07 +pronto +passe +logout +maniac1 +jesus8 +catlover1 +asdfghjkl9 +loveme1234 +ladybug3 +asdcxz +number14 +211221 +landscape +best123 +spankme +reebok1 +love97 +superman19 +gatinho +asakura +bonifacio +face2face +hack +redsox11 +12345678911 +babyj1 +090988 +phoenix7 +Wanted123 +cuntface1 +honeydew +quaresma +samolet +aassddff +987654321z +fathima +speedracer +phone123 +heyhey123 +ricardo123 +bismark +corinthians +bello +rubbish +mongolia +chavez1 +12300 +iloveyou!! +hubert1 +forever5 +jasper2 +nokia8800 +vitamia +bengals85 +cabron1 +120491 +maxdog +1014 +baseball34 +davies +james24 +12349876 +billyboy1 +sh +130689 +dallascowb +tanya123 +first +camacho +basketba11 +nikole +amanda5 +starz1 +chelsie1 +Smokey +dragon1234 +1026 +superman24 +squishy +maximius +lizaliza +fan +bigcat +hottie07 +wilbur1 +kennwort1 +budgie +aliska +master3 +fuckoff3 +reynolds1 +196666 +mopar1 +trout1 +parola12 +sparks1 +america01 +dreamland +naples +mapuce +Nirvana +77777778 +caring +140288 +wildbill +love1993 +7thheaven +shantel1 +angelfire +121190 +gerber +penguin123 +eintracht +tre123 +anthony16 +terra +chappy +101184 +viktorija +kimberly2 +tanisha1 +911119 +pogiko +seadoo +imperator +11111z +262728 +hunter14 +220188 +kingdom2 +alexander5 +password: +isobel +010407 +5starchick +lover10 +penis2 +daniel24 +garrison +sadness +hamlet1 +fuckhead1 +hollister9 +foxfox +quinn1 +kevin22 +preciosa1 +avenir +marianne1 +sami123 +her +weewee1 +maricris +foxfire +freshman1 +12q12q +kiko +swag +sanane123 +ciara +daisy11 +stephan1 +sexymomma1 +shosho +yesterday1 +amaterasu +princeton1 +qazxsw21 +2000000 +hockey23 +dancer101 +robert! +isabella2 +bloodlust +1nonly +1030 +121084 +carlos7 +amores1 +shopper1 +monkey27 +paolita +schlampe +jennifer01 +210987 +anthony06 +salvo +chuchi +linkme +jas +ilovesex69 +Yankees +123456654 +stop +123456qwert +rockie1 +800800 +aaaaa11111 +roxy11 +Cameron1 +patpat +bavaria +115115 +a222222 +addict +monito +village1 +prisonbreak +perfume +vfvfvf +Darkness +square1 +johnnie1 +godiva +mot +blazers +z123123 +barcelona10 +654 +blah1234 +birgit +halo117 +TIGGER +schnuffi +user123 +130690 +happy23 +contrase+�a +info123 +bububu +shine1 +stoney1 +stronger1 +referee +pin +lola1234 +romanova +mine123 +madison08 +20101987 +sparco +1234561234 +matthew21 +andriy +montana16 +dmitrii +dulce +taylor8 +lookout +blacks1 +iamgod1 +sunny12 +carley +sycamore +110490 +chandigarh +erasmus +ultraman +01011977 +passionate +120387 +compact +fortaleza +420allday +hrvatska +lexi123 +queen2 +novikova +newlove +planning +godfirst +aaa333 +369 +rayray12 +pretzel +karolinka +thornton +sparkey +lockout +texas13 +pongo +katina +q123321 +120985 +love1992 +250590 +cypress1 +internet12 +imthe1 +asdzxc1 +spring08 +leland1 +goodfood +anthony17 +hesoyam123 +brianna3 +moe123 +1126 +monkeys! +asroma1927 +leopardo +horselover +3353212li +linklink +poohbear13 +xxx333 +mike07 +padres +lauren10 +matthew22 +david08 +100388 +espinosa +izzy123 +victor2 +101190 +passcode1 +samina +141288 +vvvvvvvv +1fuckoff +duke01 +f00tba11 +girish +22332233 +boozer +vaz21099 +onelove123 +manasa +catwoman1 +liezel +almost +baller14 +belkin +123456789qq +110003 +120990 +daisey1 +desperados +dolfijn +SAMANTHA +Svetlana +hitler88 +crystal7 +ponies +tupac2 +zinedine +2wsxcde3 +andrew06 +cowboy22 +bohica +princess94 +greenhouse +amylee1 +995511 +herkules +leather1 +143444 +65656565 +josue1 +linux +get +1234567890qw +alex1992 +skeet1 +120890 +roadster +joemama +iloveu8 +babycakes2 +thistle +dre123 +nebula +slipknot69 +hayastan +123098a +top +1playboy +filler +PARTS +2puppies +3141592 +architecture +rubyred +soyelmejor +sonic12 +mouser +gangster13 +newyork5 +tammie +blubber +hotel +waiting +angel00 +111223 +biker +ilovekevin +ambulance +czekolada +zoltan +kitty22 +kisses123 +sasha1998 +Benjamin1 +boss302 +fuckedup +dalejr08 +******* +happygirl1 +clarita +jason3 +dtythf +gatita1 +mommy101 +NBvBB32fa9 +kitty10 +thebeast1 +010181 +computer! +@mail.ru +bonethugs1 +221189 +findus +buddy23 +alexander8 +phyllis1 +password95 +johnboy1 +azzurro +tttttt1 +1alexander +hottie09 +flhtyfkby +gangstar +mymoney +feeling +Diamond1 +contest1 +redsox123 +celtic88 +diamond8 +15975346 +lovers3 +Christina +marquise +110586 +adventure1 +centurion +hiphop12 +death2 +pepper10 +saiyan +superbad1 +united123 +hotty123 +akatsuki1 +07072007 +sweetdream +pap +aisha +admin12345 +lauren3 +shaker +internet2 +attention +110015 +august9 +100889 +jughead +001987 +princess95 +smartboy +rudeboy1 +ocelot +hotbabe +231186 +cutie23 +anna13 +ma +lolz +miguel10 +spiffy +rhbcnbyjxrf +jeanine +blackbelt1 +231088 +willywonka +ironman2 +music22 +exchange +120885 +denny +hesoyam1 +smurf +manuelito +excalibur1 +1234578 +1928374655 +oatmeal1 +michaels +ninja2 +waldemar +mavericks1 +metalhead +shikamaru +dee +lucy1234 +tonka1 +bitter +doors +iluvu123 +kenny12 +makenna +lilwayne3 +junior07 +ve +hannah05 +belarus +400058 +kayla11 +panther2 +q2w3e4r5t6 +elektro +ppppp1 +aberdeen1 +baby143 +babette +110985 +sa2rawybas +football80 +purple99 +camilita +olds442 +231286 +mandela +avrora +150388 +homerj +petite +charles3 +all4you +candy01 +kozerog +livewire +johnston +getmoney5 +marciano +karmen +herohonda +sexymama2 +alonzo1 +clay +agente007 +karoline +brandon16 +booboo7 +jet'aime +fuckher1 +pebbles2 +thugstools +monsoon +queen12 +spoons +kane +juju123 +edward! +monies +369874125 +2wsx1qaz +josh23 +890iop +hamza +wordup +123456kk +qwer123456 +vlad1997 +shadow16 +drago +getmoney12 +sdfsdfsdf +rockhard +ktutylf +witch +vicious +veronica12 +411028 +boating +eric1234 +love42 +tweety11 +air +nathan10 +greatday1 +allaboutme +purple09 +140688 +198721 +summer8 +goodcharlotte +1music +beetle1 +papounet +001002 +king15 +100827092 +andrew6 +LOVEYOU +JASMINE +matheus123 +111288 +baseball123 +jesus15 +knockout +1234567abc +210487 +islander +bastet +241 +tierra1 +parol1 +dingo +handball1 +dasha123 +tigger08 +rosalina +val123 +natalie12 +abimbola +attorney +corinna +naosei +baylee1 +chingon1 +111186 +british +1597535 +cjytxrj +mickey23 +hotboy2 +tigers10 +CHRISTIAN +olajide +melisa1 +pride1 +1hotboy +0815 +theatre1 +fallenangel +963214785 +wrestling2 +facebook123 +garibaldi +juggernaut +26041986 +01011975 +120483 +ererer +escort1 +nirvana2 +nomercy +cccc +liebe +radhasoami +princess92 +!qazxsw2 +thakur +freak69 +spotty1 +trapstar1 +blackhole +210586 +220022 +gerrard08 +mommy10 +cumming +bharti +letmein12 +five55 +220589 +super1231 +silva +segun +power5 +franz +milkyway1 +travel88 +jesus666 +ayobami +vasquez +Yankees1 +29 +kb9zc8uxtx +kylian +1george +freedom5 +benita +nightwish1 +cameron01 +stunner1 +kevin21 +ser12345 +blahblah2 +ashley20 +lyudmila +bigpimp +horizon1 +hotsex1 +diabetes +arrowhead +master21 +heaven12 +missouri1 +PAKISTAN +kryptonite +jledfyxbr +pramod +hippos +maranata +faith12 +bmw325i +vic123 +cambodia +foo +wolf12 +emogirl1 +reporter +marie09 +tayler +310589 +lovebug123 +deadly1 +niharika +123789a +201286 +wildchild1 +blood13 +157157 +starwars123 +meathead1 +1001WDST +daisy3 +oswald +cruzeiro +paroli +hammertime +player11 +alexis08 +babygirl#1 +100589 +mamabear +100289 +brittany7 +���������������� +candy69 +baby12345 +belize +speed123 +shadow00 +baby1 +2210 +loser6 +manman12 +zcxfcnkbdf +y12345 +latin1 +1006 +150688 +justlove +moochie1 +maniez +neenee1 +sososo +iulian +asdfg6 +iloveyou05 +loser01 +ian123 +muffin11 +210890 +111988 +gordo +1219 +karen12 +michelle. +ikechukwu +cat12345 +brighteyes +duarte +303677 +dog12345 +andrew17 +emma11 +17931793 +fifa08 +lucas12 +111286 +ngockhoa +mayfair +blumen +death2all +230687 +110587 +salinas1 +10121990 +mamusia +251089 +justlooking +vermelho +241086 +hopeless1 +vasantha +clitoris +joey11 +friends4ever +cassie01 +shimmer +210789 +smartie +halo3odst +joaopedro +backdoor +chester12 +chicha +banana! +210690 +1love +mazdamx5 +John +froggy123 +lera +computer. +02021988 +skate11 +submarine +ApjSqpM844 +lovely01 +marrakech +230393 +cyclones +nick16 +princess89 +cocoa123 +saravanan +monkey44 +family13 +hockey6 +230390 +110687 +teclado +vignesh +cbr1000 +b12345678 +hercule +sexkitten +sabrina12 +magico +mai +mikey2 +251090 +Jesus123 +football06 +jean123 +bruce123 +ipodtouch +ron123 +kara +cubano +weirdo1 +ghbdtndctv +slinky1 +42424242 +jc1234 +murphy123 +key +brittany! +abc123abc123 +198523 +penis12 +metro2033 +tabatha1 +damian123 +blackmamba +margo +15975300 +210188 +trey +230389 +junior14 +231087 +ggg111 +maroon +100489 +dancer7 +lovingyou1 +seguridad +volodya +compassion +151188 +asuncion +question1 +2balls +1492 +killer88 +123456321 +emilie1 +micasa +outback +maruti +cruiser1 +momdad123 +123654789a +oli +anubis1 +nevada1 +alexander4 +winniethepooh +wildthing1 +jolly +asian +weapon +danial +rockin +kareena +karissa +55555q +jaydee +madison10 +soumya +lifeline +230688 +159357123 +088011 +kikokiko +go +lovegirl +charlie07 +ilove13 +shelton +beach123 +testqa12 +rfnmrf +acacia +fender123 +pbvfktnj +omerta +210488 +310588 +tre +homealone +erin123 +09 +11121987 +pimpin7 +sugar12 +moore +love911 +fairways +web123 +boston2 +Chocolate +goonies +brandon09 +behemoth +ric +tigger07 +131088 +mohamad +201288 +spawn1 +super10 +323323 +sunday123 +justin24 +131186 +softball09 +eyeball +emotional1 +candy22 +charleston +newmoon1 +197700 +equinox +happy8 +loveispain +325325 +angel95 +charlie21 +06061986 +43046721 +police911 +birddog +jasper11 +1bulldog +saravn +150890 +trustNO1 +dodgeviper +prince01 +velasco +ambrosia +vampire13 +5432112345 +iwantyou +nikitka +bowhunter1 +antoshka +hahaha12 +ducks +fiction +tennis11 +l1verp00l +Linked +wonderman2 +cornell1 +destroyer1 +thomas69 +llcoolj +paolino +arjuna +FREEDOM +cvbhyjd +maria15 +barca10 +cbr900 +100890 +xsplit +loca13 +arcangel1 +atalanta +machines +cross1 +postal1 +taylor09 +22112211 +brandon07 +buterfly +topher1 +kikugalanetroot +pimpjuice +raiders7 +bianka +azrael +alcantara +lucylucy +moomoo123 +bassmaster +rfgbnfy +thethe1 +family04 +urlacher54 +muller +cameleon +love520 +rhodes +infantry1 +sevens +gametime +22011988 +newyork3 +marci +ukflbfnjh12 +center1 +231086 +husker1 +varsity1 +kevins +sarmiento +remember2 +guille +140789 +daniel88 +kotek1 +job +lanzarote +251188 +nick10 +asshole13 +raheem +january29 +bujhtr +factory +261088 +jesse13 +chelsea! +teufel +nana1234 +princess05 +carlos14 +55556666 +tiger6 +bahamas1 +smarty1 +iloveadam +christ7 +abc_123 +roosevelt +woodside +katie11 +amicizia +january3 +teddie +bitches69 +spiderman0 +pitbul +louisiana +bff4life +victor13 +serene +music. +symphony +icecold +100389 +123123asd +termit +12341 +destiny13 +amo +911911911 +maniak +251288 +balla +010189 +tiger69 +bigbig +katy +jasons +pretty3 +ninja12 +jamielee +poop23 +anthony. +delboy +abcdef1234 +100687 +jaredleto +killian1 +1010101 +znt +silvestro +mj1234 +sammy5 +110987 +thedon +201289 +summer2007 +foreveryoung +197400 +mandala +fishface +kittycat12 +catsrule +230383 +danielita +fuck420 +ingrid1 +elvis77 +scirocco +prikol +bryant8 +stoned1 +dolphin12 +chris05 +zombie666 +buster69 +�+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+���� +1580@welcamino +martinka +246246 +sunnyboy +4linkedin +goodie +donkey123 +johnson2 +mindfreak1 +andrew18 +petra1 +grand +candy10 +apples11 +eniola +lebanon1 +joseph10 +daisydog1 +ilovelucy1 +DIAMOND +йцукен +skills +zxcvvcxz +redskin +ham +hannah9 +myspace666 +momma +mets +surgery +bonnie12 +goodlife1 +sticky1 +010186 +al +sasha2 +09870987 +niceday +carlisle +delmar +stanton +brewer +floppy1 +qweasdzx +admin12 +thatshot1 +mike16 +deejay1 +lovely21 +gracias +carlos15 +wyatt +destroy1 +fresno559 +151288 +passwor1 +brownie2 +iwantu +yadira +drumline1 +boytoy +savannah12 +198710 +monkey92 +jarrett1 +220388 +bitches123 +bismarck +alex00 +daddy69 +roller1 +openit +triplets3 +mombasa +220487 +tunafish1 +barefoot +rocky13 +daniel8 +kukushka +makarova +curly1 +thomas14 +100190 +jeremy01 +cookie69 +Winston +buddy1234 +1spongebob +manutd123 +ade +dance3 +241089 +orange10 +maria01 +Ronaldo +cheesy +diablo12 +closer +scuba +simplicity +reese +���������� +getmoney08 +media +animal123 +surfsup +purple08 +130589 +Q1w2e3r4t5 +292814lolo +rickey +raoUjFL963 +bubble123 +happy420 +mentira +heybaby +danielle7 +singapore1 +coronado +400703 +sarah01 +flyaway +scooby11 +alexander6 +bambam123 +fightclub1 +raptor660 +martin13 +sword1 +120783 +131131 +mabuhay +tolentino +kitty01 +password31 +candyland +crush +georgina1 +liuchang +blades1 +monster4 +dipshit +stars12 +my3angels +cubswin +emmaemma +die +guam671 +greens1 +tumadre1 +orange21 +sombra +troy123 +longlife +220987 +sorrento +pearson +220690 +aprile +soccerball +jaishriram +192168 +andrew99 +stretch1 +$money +bubba7 +mydaddy1 +161 +jeroen +milica +210489 +trick1 +tara123 +lhepmz +tagada +charon +metallica7 +rerfhtre +nickolas1 +fuckup +Marie +titans10 +company1 +motivation +900000 +cars12 +goodguy +tiger9 +b00ger +u0HgtKt617 +schnucki +joker5 +green69 +1qazxcvb +frdfhbev +131286 +favour1 +lovely22 +luvme1 +1234QWER +killah1 +VICTORIA +theater +dima1996 +shelby11 +emily01 +3636 +peacock1 +lifesux +131087 +robots +gilipollas +blazeit420 +angel94 +david18 +400066 +coline +firefighte +tinatina +mustang07 +78907890 +nigel1 +puppys1 +sexyone +easytocrack1 +stream +donkeykong +Oassw0rd +new975wen +angel2008 +john10 +ratchet +buttmunch +101001 +jackoff1 +cris +passwor +turtle3 +family07 +ohshit1 +ccccccc +google5 +120189 +lawyer1 +noles1 +goalie1 +filhos +dabest1 +aleks +50000 +beer123 +yaalimadad +blaine1 +inspiron1 +everest1 +hancock +baggies +timur +florida12 +mike18 +110984 +feifei +alex1990 +buratino +brad123 +daking1 +123fuck +world123 +MTIzNDU2 +creamy +peace13 +beacon +bronte +boobies! +spidey1 +fyyeirf +edison1 +katarzyna +fuckoff. +thetruth1 +microphone +olemiss1 +grace12 +marlyn +sammydog +231187 +kovalenko +198623 +13421342 +hellokitty1 +nolan1 +mohamed123 +underdog1 +stones1 +231289 +ledzep1 +americano +210385 +erhfbyf +tiara1 +5544332211 +11011990 +lickit +qwerty33 +AMANDA +hustle +gelato +imani1 +donbosco +monkeys12 +poiuy1 +taytay12 +100488 +mama10 +karinka +manny24 +moises1 +rajput +thesims1 +ilovedan +survey +badass123 +Bubbles +nigger3 +michelle08 +destiny6 +1jackson +ismael1 +mishra +wealthy1 +hellome +lemon123 +rockstar3 +14021991 +chango1 +pft: +010187 +jumong +jarjar +sexy34 +newyork11 +Nicholas1 +dani12 +204060 +politics +labtec1 +123321456654 +favorit +dickson +monkey0 +vivalavida +greeny +asdfgh123456 +201186 +liteon +bella08 +hellno1 +supra +bambam2 +whore69 +computer7 +studioworks +buddy101 +88888888a +giggs11 +ayrton +mindless +21071988 +baby92 +kitties1 +aj1234 +230585 +220590 +123pass +samson12 +lc519QlpuU +nikki13 +february14 +panda2 +love007 +zachery +fish1234 +uptown +gonzales1 +fishhead +bloom +halohalo +fh +flower01 +71 +ilovecats1 +sunfire1 +lambert1 +kaka12 +gfhfljrc +231190 +sickness +buddy22 +grandprix +veritas1 +hihi123 +robins +madison07 +september0 +banderas +manhattan1 +110887 +sardar +candy23 +yang123 +nishant +knitting +222000 +110790 +shinoda +maksik +qwert11 +oooooo1 +michael06 +youngblood +cute11 +clippers +honey3 +slipknot7 +150690 +dragon25 +realtek. +luv2shop +711711 +tammy123 +scarabeo +pickles2 +sexy05 +ally +godlove +shadow17 +thewho +231085 +qwerty17 +jessie11 +080880 +kk123456 +adelaida +021288 +pigpig +230789 +secretary +dadada1 +jamie2 +brokenheart +sara2000 +cxfcnmttcnm +playa4life +pimpin23 +qwertyuiop1234567890 +123579 +maxmaxmax +tabata +monkey19 +fleetwood +toodles +piopio +1256 +hotman +leckmich +knockers +music08 +ALEXANDER +fredrick1 +qw12qw +robert14 +my4girls +bedrock +alvarez1 +icecream! +Schalke04 +peanut10 +onlyone1 +welcome7 +cthulhu +paula123 +1018 +machado +August +cheer5 +daffyduck +mustang88 +pistol1 +316497 +beachbum1 +megastar +Brandy +pitchoune +oussama +gjmptw +algeria +hannah15 +1mexican +carlos5 +lilone +Jeremy +1hotgirl +Antonio +radost +michael19 +matt22 +123qaz123 +tony69 +nicolle +K.: +i<3you +yamaha250 +rocawear1 +crf250 +superman15 +morley +tazmania1 +221087 +fuckabitch +lovely23 +hottie8 +muziek +dooley +sanmiguel +knickers +beast666 +sweetlove1 +guitar13 +210988 +redneck01 +january31 +kisses12 +mannheim +Steven +110486 +fake01 +mm1234 +maui +soniya +jayden06 +olakunle +jodie1 +monterey +tashkent +345543 +jiajia +mommy23 +gaga +060689 +reyes1 +scenic +110005 +joaninha +bball20 +children5 +concept +hello00 +arrows +1friends +derek2 +34erdfcv +211187 +cristiano1 +oliver10 +kathrine +eagle2 +bilbo +pantyhose +doudou1 +kolyan +110986 +marnie +saunders +think +sissy123 +titanik +william8 +Logitech +cowboys7 +110390 +guanajuato +threesome +maria23 +chaparrita +king14 +olivia11 +my_space +rebirth +Brittany +tututu +hothot1 +abbott +tygrysek +Silver +hottie9 +nathan13 +rock13 +hayabusa1 +dbjktnnf +kids03 +hinder1 +4family +slayer12 +tigresse +den123 +n0thing +1016 +123baby +jordan98 +11041988 +05051987 +jomar +brianne1 +penguin2 +123456aA +buddy4 +bailey22 +111290 +pretender +purple25 +gina123 +shreeram +stripes1 +12091209 +browny +simons +abercrombi +pascal1 +geneva1 +flubber +abacus +reeses +100590 +31121987 +miki123 +godschild +halowars +1whatever +PATRICK +wanda +tempesth1941 +fgFr56Hfve6 +samuel2 +myshit1 +dogman1 +parrot1 +dante123 +111088 +12345qq +12021988 +999333 +3691215 +iloveyou89 +apostol +250188 +angels11 +700091 +pallavolo +mama01 +elissa +w1960a +lakewood1 +anfield1 +molly7 +01234567891 +130789 +forever22 +recall +zhanna +nathan08 +220585 +cyclone1 +bhavani +221186 +alex123456 +superman20 +zaqwsx1 +hoochie1 +money16 +century21 +chips1 +christian9 +amateur +hockey101 +ladylove +jessica09 +jello123 +reussite +bebeko +cisco +deepti +lilman2 +waldo1 +130585 +130586 +corsair +XXXXXX +triathlon +1234567895 +buddy6 +cfvfhf +tweety5 +benetton +pasport +solene +larsen +paul1234 +137137 +bitch00 +240587 +joseph22 +z1z2z3 +carolin +030388 +clocks +shorty! +e8sZn4e5zC +nino +horton +radar +281188 +r0bert +bigpoppa +GABRIEL +joey1234 +karina12 +decker +19101989 +yessir +jack10 +thomas4 +asasin +misha123 +honey01 +blue20 +bless1 +gan +duende +parolparol +waterpolo1 +humbug +rebel123 +121091 +060690 +cocorico +chukwudi +160686 +marie4 +dickies +!@#$%^&*() +chubbs +aspire1 +guesswho1 +brooklyn5 +1heather +bubba01 +rostik +raiders24 +bosslady +ilenia +comedy1 +boyboy1 +marathon1 +chamber +emilee +150290 +lovely. +kurtis +jeanjean +ipod12 +131089 +123Admin321 +bobobobo +chinito +casper11 +amir +comets +100586 +vengeance +34523452 +gallina +tt1234567 +fresh12 +w1234567 +ilovekyle1 +max333 +fuller +tippy +sonson +261089 +yo1234 +harry2 +calogero +saviola +spider13 +albino +metalgear1 +blanka +120583 +2myspace +100987 +aguilera +med +kayla5 +kamilek +amanda17 +cory +jason69 +loveyou. +george13 +101291 +nicegirl +nnnnnnnn +euclid +251187 +aspen +daylight +bloody5 +cheer4life +peoples +tweety14 +210388 +maks123 +bug123 +170588 +110287 +palacios +relisys +dragon89 +arellano +spaceman1 +roseanne +pujols5 +zxcvbnm7 +aeiou +moroni +casa123 +david16 +january8 +nipper1 +actress +241186 +babygurl09 +12041990 +whitegirl1 +socom3 +hallmark +bear01 +packers12 +jacob5 +v000001 +pussy6 +963214 +bat +zinger +password30 +147369258 +small1 +west12 +ilovegod2 +jaisriram +mommy22 +231184 +muppet1 +tundra_cool2 +112233445566778899 +lisette +frisbee +paperclip +viviana1 +ripper1 +summer02 +angel92 +popsicle +210587 +genius123 +carman +221190 +princess27 +lilkim1 +111981 +krzysiek +rolando1 +aakash +808state +suzette +lovebaby +cyrano +molly3 +morkovka +987654123 +nicolai +ada123 +duffy1 +severus +mouses +algebra1 +ub6ib9 +death6 +forever. +trase1990 +codename +Heather1 +skater69 +sebastiano +mustang73 +19491001 +bike +soccer26 +220988 +tenchi +anderlecht +videogames +christi +january24 +mashina +woailaopo +preethi +finnegan +love2dance +198425 +suikoden +02021985 +joshua15 +sexy27 +pogiako1 +dmitry +shaolin1 +heather3 +anthrax +boss12 +austin22 +jana +lambofgod1 +mahalo +loveme08 +miley12 +january6 +michael88 +pretty7 +121983 +nike10 +friend12 +rjcnbr +poiu +chinadoll +naruto21 +balla23 +bigdaddy12 +stan +whatthe1 +emma01 +ljrnjh +12051988 +amarelo +frank12 +maelys +eddy +sweet23 +integral +pencil2 +230487 +domingo1 +cornbread1 +1q2w1q2w +jannat +nickcarter +kochanie1 +dfgdfg +outsider +bongbong +alex2009 +987321654 +miller2 +beware +eeee +cena123 +ginger! +draco1 +12121992 +dima1998 +babyangel1 +xtkjdtr +goarmy +spinning +975310 +goodwin +rossi +21101986 +estrellas +ladyluck +kil +linlin +122436 +star17 +222324 +leeroy +301 +230888 +nigga23 +tatanka +jesus1st +050589 +Ireland +dummy +babe13 +heaven11 +yellow. +adam01 +vanessa13 +ambers +nadia123 +251286 +peterson1 +cowboys11 +4r5t6y +linkedinpass +98741236 +150488 +sairam123 +wildman1 +12344 +marie17 +dimitri1 +58585858 +20101988 +ball123 +cashmoney2 +executive +Veronika +mommy13 +girly +records +just1n +misamores +jeanpierre +abc123def +110289 +barbados1 +100690 +assclown +merlyn +Peanut +jimenez1 +123zxc123 +bass123 +pass2 +nicole05 +101283 +233223 +908070 +redbaron +amanda. +madison06 +kayla3 +shadow77 +100886 +glass +fannie +comet +nikola1 +110886 +per +gabriel10 +1world +butterflie +orange8 +galway +astana +albero +ilove7 +milano1 +123456Aa +251183 +nipple1 +daughters +231287 +01011979 +monkey06 +iamgay +greatest1 +summerof69 +kitchen1 +lau +cowcow +amadeus55 +saverio +dead123 +babygurl7 +220588 +corinne1 +antonio13 +comeon111 +marriage1 +19501950 +drummerboy +schwarz +314159265 +138138 +010184 +nisha +shaira +gotenks +sk8forlife +1stupid +agent +tigers08 +outside +lumberjack +entrar +tacoma1 +pharmacy1 +rizwan +sammy101 +rock4ever +09877890 +patric +melissa11 +lovex3 +alyssa3 +lizaveta +alexis4 +arhangel +josh22 +teacup +nolongthing +silenthill +bal +hairspray1 +mariner +Lovely +richman +alltimelow +one123 +southwest +caravan1 +smile13 +dandelion +love555 +bella09 +forzalazio +pimp24 +jackson01 +computers1 +gaviota +magics +glenda1 +nick14 +maria5 +jocelyne +rhbcnbyrf +gemstone +popolo +bigboy3 +paramore12 +lebronjames +loading +ayanna +dragon55 +badass12 +hunter03 +JEAdmin +110787 +billgates +habibi1 +radek +getmoney09 +kiki11 +230989 +dragon16 +666devil +qwqwqw1 +marie07 +220888 +students +260689 +spike2 +dkair8dda +121990 +rahasia1 +stella12 +test01 +momof5 +balance1 +lovely5 +150590 +naruto! +gonavy +xavier12 +asdfg5 +apple10 +jordan. +bubba13 +sparta1 +halo2 +a123sd +navyseal +400709 +miroslava +130487 +spawn +lilred +dondon1 +lakers11 +marie18 +1129 +29292929 +teabag +hunter! +powell1 +24681357 +w1w2w3w4 +cbr1000rr +bluesman +eagles05 +lovesick +ceejay +150587 +01012008 +monkey66 +tan +orlando2 +sonya1 +120391 +darien +dempsey +sublime420 +a123123123 +data +poopface +jordan25 +kaplan +ignatius +230986 +hacked1 +1beauty +thejoker +flapjack +loverboy12 +killer66 +1ginger +blacklabel +monster69 +mayamaya +fylh.if +fairies +assface +austin08 +500082 +damon +beautifull +bricks +allh11 +12021987 +wer11111 +jurassic +290988 +bollywood +michelle09 +joecool +20051987 +charlotte2 +nicole89 +lautaro +beastmode +james8 +oinkoink +220587 +5678910 +198919 +jonathan3 +Dallas +baby93 +dade305 +volvo850 +josh01 +neopets11 +softball17 +110387 +000555 +redskin1 +hotmail.co +zaq12wsxcde3 +rupali +gabi +go4jobs +number24 +devon123 +singh123 +landry +madison8 +210689 +popcorn! +van123 +chaser1 +bitch17 +171288 +220586 +yaya +giggle1 +gallery +zxcvbnm12345 +230786 +oscar13 +negative +gsxr1100 +w1973a +WELCOME +dfcbkmtdf +monbebe +101282 +hannah8 +moore1 +kissme3 +fender12 +alex02 +02021986 +w1969a +cheddar1 +poop09 +charcoal +mymyspace1 +tookie +201020 +655321 +candy14 +220890 +nikolaev +bacon123 +farcry +kukuruza +love222 +daddy4 +lambretta +rodent +mexican123 +vika123 +teacher2 +ginger10 +lbc562 +junior15 +87654321a +rabbit123 +run4fun +111989 +cheshire +110585 +jacinta +110007 +brookie1 +александр +sheriff1 +lakeview +magalie +lmfao1 +silver01 +micro +apples! +spiderman8 +ma123456 +fishon +summer. +sexyboy123 +anatomy +infoinfo +el +elijah2 +10021987 +fr33d0m +cazzimiei +master99 +baby26 +3e2w1q +ilovemom2 +date +0303 +dede123 +sharp1 +linda2 +tweety21 +sacha +shadow1234 +mifamilia +stripper +molly5 +BCP201109a +120691 +cullen1 +justin05 +purple88 +whitehouse +251186 +mario13 +baller7 +12031993 +gato +angel2009 +001453 +020292 +maryjane420 +110292 +alyssa11 +cutiepie10 +joshua! +gar +1312 +baby04 +boomer2 +lilkim +141289 +2crazy +moonie +220289 +beavers +iamsexy +promotion +091088 +shortcake +landrover1 +funmilayo +sept11 +anthony24 +builder1 +12121984 +cherub +option +emyeuanh +ambassador +fernando12 +lamour +yogurt +carnell1 +sakthi +dana123 +rawr12 +hunter00 +sdf7asdf6asdg8df1 +iloveme4 +134567 +190989 +nick15 +forever23 +fenomeno +genova +asshole22 +12345678912 +gryphon +champions1 +qazxsw111 +040484 +confirm1 +harald +sanfran1 +120684 +unreal1 +pi314159 +jesus100 +fordfiesta +chapstick1 +batman08 +131187 +tanker1 +seeyou +silver22 +wrigley1 +hoffman1 +orange6 +221086 +destiny8 +pauleta +magic2 +yz250f +mike17 +joyful1 +sulaimon +pussy4 +terrible +speedy123 +honey7 +siobhan1 +abcabc1 +baby33 +thomas99 +sexyma1 +disney12 +131288 +yamyam +johannes1 +150489 +151286 +cheech1 +lansing1 +girlie1 +ruthless +drache +lilangel +ruthie1 +198080 +magicman1 +jennifer5 +10111986 +january20 +lamisma +200585 +caldwell +googoo1 +boobs69 +gambit1 +101079 +oleole +adams1 +fuckyou101 +holly12 +200489 +candy4 +whales +archer1 +hannah03 +redneck69 +121002 +hearts2 +lorenza +goldman +tomas123 +172839456 +wweraw1 +150989 +070788 +PRINCE +001982 +000013 +789520 +120292 +bunny7 +producer +zmxncbv +princess02 +a1l2e3x4 +kevin5 +milagro +franks +william10 +sparky01 +����������� +100387 +neil +lostsoul +northstar +photoshop +flaca1 +rosalba +evertonfc +kevin10 +marsha1 +oaktree +marijuana4 +ollie123 +1942 +mylover1 +120891 +14101987 +2312 +normandy +bambam12 +socrates1 +MERCEDES +asdfgh1234 +krasnodar +single08 +passion2 +210389 +poppin1 +mascara +heroes1 +brandie1 +maricela +kill12 +iloveadam1 +miller123 +satana666 +brittany13 +lover45 +password56 +123456456 +england66 +defjam +star24 +community1 +fri +21061989 +cutie16 +shining +221221 +dork +15021990 +sammyboy +black01 +ben100 +daboss1 +evildead +fktrcfylhjdyf +villevalo1 +coo +shabnam +alex2005 +safira +99XfXlo19uI +massive1 +money25 +15101987 +samurai7 +jesus25 +cosimo +system123 +Catherine +dollface1 +pretty11 +mot2passe +william! +a777777 +munster +wasted1 +ffffff1 +muruga +nik123 +111089 +c0cac0la +arrow1 +dallas08 +dead666 +brujita +dancer01 +inspiration +201189 +stopit +sydney123 +mik +110488 +hermine +middle1 +qwerty007 +scratch1 +poohead +10101992 +kevin23 +burning +nanou +orchidee +dreambig +delfines +1teacher +gianfranco +cccccc1 +eddie12 +jandikkz +delfin1 +nhfrnjh +saudade +500032 +Passw0rd1 +matvey +666666q +playmate1 +deniro +261 +22223333 +sativa +mamako +select1 +151090 +Qwe123 +mike1 +sexmachine +220390 +wombat1 +250789 +bubba11 +gretzky99 +xoxo123 +1944 +tomasek +yorkie1 +200688 +alejandra2 +javier12 +yusuf +kungfu1 +241189 +1rainbow +rj +lollol12 +sienna1 +invest +brookie +12021990 +shaq32 +311287 +Sparky +hummel +02021989 +dfaeff34232 +jagger1 +pokemon99 +waterski +rockandrol +donthate1 +hockey88 +120892 +sergeant +shiner +austin! +1234a +wakawaka +rocky01 +Thunder +papatya +poklop +yandel1 +inspire +199200 +location +softball20 +skunk1 +kitkat123 +amadou +angel93 +garland +123q321 +strelec +141088 +bellabella +99problems +ballin! +killer8 +seether1 +121189 +1austin +q963258741q +january5 +wheeler1 +poobear +300487 +jenni1 +bella5 +little123 +isa123 +melati +powerade +gateway123 +cali4nia +cows +christian5 +fiore +1337 +shyanne1 +menace1 +tomboy07 +123654123 +6lfXlo629uI +201187 +lalito +josejose +heather69 +gerry +150589 +veterinaria +protoss +royalty1 +cherrypie1 +pass01 +dogsrule +toffee1 +rockstar5 +class2009 +photography +davids1 +morelia1 +kerrie +rockstar69 +bubu +moulin +210590 +davey1 +news +314314 +kobe123 +dominguez +1carlos +hooligans +Ty2t1hv3oC +madelyn1 +hollister! +ira123 +operation1 +santa123 +lol111 +25121987 +robert4 +jarvis1 +1234567890qwerty +121279 +crazyhorse +free2bme +megatron1 +240588 +jasmine14 +NIKITA +bananas2 +princess93 +maryse +julissa +usmc0311 +ilovedick1 +22051987 +121083 +richard7 +skater4 +251189 +251085 +fuckall +211088 +savana +sempre +11335577 +kleenex +notvalid +camelot1 +jarred +aeiou123 +fucku13 +111185 +230189 +chainsaw1 +grand1 +logan5 +01020102 +hallodu +lauren22 +chivas09 +sossos +sleeper +kacper1 +spongebob6 +dumbbitch1 +cayden +loser23 +200587 +austin07 +hunter8 +19877891 +purplerain +stardoll +Purple +261186 +L1nk3d1n +120784 +mymom1 +freedom10 +cortina +football40 +lukasz1 +230190 +lucy11 +treysongz +vic +partytime +198621 +skiffy +10101983 +20101986 +w1974a +monkey666 +nikko +ooooooo +t1nkerbell +jaishiv +20081991 +psyche +honda400 +splinter1 +olufemi +marina12 +tracie +tyler6 +revolucion +mateo1 +jasmine08 +robert15 +purple33 +alex2006 +vfiekz +140287 +nicholas3 +hammer12 +nick23 +eagles22 +198422 +nikanika +gentleman +anointed1 +escuela +jakey1 +hester +pony +bebito +Sara2000 +systems +ritchie +0123456a +laurentiu +444777 +2dumb2live +sevenof9 +cambridge1 +lafayette +armadillo +muzyka +joshua02 +summer14 +A1234567 +myspace100 +parol123 +jamesb +7777777s +155155 +muskaan +pololo +110008 +laurine +candy6 +1229 +�������������������� +cool99 +carwash +sexytime1 +dunlop +boobies69 +warehouse +08 +wimbledon +music10 +west13 +987410 +221085 +12051987 +seaweed +cutie22 +blue19 +261188 +wazzup1 +07070707 +zxcvbnm,. +bigboy11 +400705 +booger12 +donna123 +fuckyou18 +misfit1 +13231323 +bookworm1 +19111991 +1pitbull +katie13 +594love168 +zaqxsw123 +357mag +sk8er1 +jason7 +bosslady1 +iddqdidkfa +shadow09 +cocacola2 +251200 +14021990 +motor1 +gjkbyjxrf +toluca +matt01 +antonietta +1stlady +321qaz +tyler22 +sherwood1 +train1 +TMM +laura2 +holmes1 +forever11 +efnesonline +patrick! +sporting1 +soccer94 +141087 +adrian13 +larsson +357magnum +#1princess +1379 +LINKEDIN +vlad1996 +guido +yankees11 +westside5 +dallas09 +grover1 +chaitanya +mikele +902100 +sexpistols +enTu6ea64H +ferrarif50 +ammaappa +arman +buckwheat1 +100988 +vertigo1 +lynne +terezka +nini +samsung7 +killer77 +cody13 +angle +images +130788 +789963 +paddington +200988 +bigdog12 +bigshow +dolcevita +dirk41 +angel2010 +1Q2w3e4r +schnuffel +uifKjhF522 +maggie4 +1027 +kasey +111990 +producer1 +america9 +ya +money88 +seniors08 +slipknot! +baby90 +140987 +sweetness2 +farrah +wsxqaz +benji123 +glamour1 +trabzon +400068 +220986 +caden1 +rbd123 +styles +150390 +celia +240890 +mansur +cutter1 +pimp16 +sammy10 +hunny +alicia12 +yuriy +qwerzxcv +crazy4 +sanlorenzo +apple01 +kendal +froggy2 +230890 +ilovetom +123456789012 +0707 +anastasija +rajani +steven7 +110285 +babylove12 +youloveme +201086 +201087 +julianna1 +ilovepie +replay +121991 +michelle20 +kitty9 +brasilia +lampshade1 +101987 +zidane1 +whitewolf +thekiller +492529 +22121986 +baddest1 +fuckthis2 +lego123 +chirag +brown12 +starfox +illinois1 +forum +justin9 +giants10 +brunette +anetka +cheesy1 +123sex +taylor9 +sk84ever +guizmo +1402 +432156 +winona +scooter7 +telefoon +bigbutt +memento +070789 +friends10 +dj +batman6 +gasman +diver1 +changeit +�+��+������ +oladimeji +oluwaseyi +gutierrez1 +finger11 +200488 +bigbuck +ih8you +120384 +honda600 +school3 +mahal1 +love67 +pampers +shabana +eighteen18 +mystical +xavier123 +2510 +molly13 +d21lWz1zjS +maksim2425 +worldwide +guyver +lakeside1 +030383 +69chevy +parissg +110988 +spike12 +jewelry +240486 +ahmad1 +paraguay +kinky +w1971a +bhaskar +mommy08 +crossroads +haterz1 +dude101 +sierra123 +alexis07 +lover09 +pasion +10071987 +titus +101986 +ready1 +fifa10 +iloveu23 +maman1 +211086 +moto +change123 +queenb +811009 +costello +baby00 +w1972a +mama23 +ryan23 +110027 +fuck21 +downhill +gfdkbr +prophet1 +james9 +a555555 +paperclip1 +201184 +100288 +gj +amber01 +thunder5 +w1ll1am +gerbil +aeroplane +sanctuary +151189 +shriganesh +goarmy1 +hyper1 +Florian +bolivar +122222 +media1 +pokemon! +twiggy1 +22021989 +44448888 +chaparra +2202 +michelle9 +pineapple2 +snoopy3 +1478523690 +143jesus +15031988 +salvatore1 +020289 +tasmania +nokia2700 +woodrow +12041988 +llamas1 +douche +16121987 +080890 +141188 +football89 +sweetdreams +teodor +moomoo12 +jujuba +270488 +boneca +14101991 +karel +lilgirl1 +mariners1 +player01 +biotech +fgfgfg +nacho +nolan +gretzky +222777 +winston2 +loshara +shailesh +Scooter +nathan7 +12021985 +sasuke13 +zacatecas +130990 +qazwsx123456 +cameron4 +bryanna +mahalko1 +Rainbow +2fast4you +gorda1 +jennyfer +tucker01 +bubbie +sooty1 +chicken6 +editor +faith01 +serious1 +laluna +198666 +finance1 +fussball1 +january9 +pla +tigers01 +zachery1 +ilovey0u +kirikou +jordan1234 +brain +12031203 +21031988 +990099 +110689 +rangers123 +princess28 +pickup +head +godslove1 +brandy01 +steeler +goodlord +farscape +raven12 +20052006 +matchbox +jonathan7 +hannah21 +250987 +198520 +sagittarius +springer1 +cowboy123 +tampabay +stud +ttd955AudG +161288 +thinkpad +theforce +rampage1 +babydaddy1 +bryan12 +develop +dumdum1 +281 +5201314520 +230590 +sunshine14 +jasmine09 +jupiter2 +240688 +johnny13 +jeannine +ghfdlf +linked2011 +140689 +shawnee +001978 +12101988 +joseph21 +chris88 +121982 +headhunter +lovepink +220486 +2511 +smurfs +lozano +rhjirf +ariadne +lfybkrf +dash920 +fairytail +marky +unicornio +lambofgod +84569280 +fucklove2 +austin14 +lalalala1 +snowdrop +yygjmy1984 +twoboys +tig +560038 +ger +pastel +260690 +240485 +iloveme7 +tbilisi +151287 +kylee1 +poderoso +cupcake11 +cutie! +blondi +sunshine77 +scooby13 +elnene1 +netscape +cc123456 +121980 +sports12 +John316 +greenday3 +pelon1 +1110 +25101987 +1331 +raccoon +231084 +justin1234 +060688 +marybeth +kishan +tylers +851216 +12101987 +purple07 +100189 +heritage1 +thunder3 +boots123 +climbing +andrey1983 +reece +navidad +1957chevy +13121987 +golden12 +220789 +smiley2 +rachel13 +250689 +dragon. +adamek +251289 +bugsy1 +110188 +paxton +tianna1 +14041987 +4angels +brahim +gavin123 +140292 +Elizabeth1 +chicken22 +awdawd +what12 +10111990 +150389 +wutang36 +juicy123 +mymail +paramedic1 +nbvjirf +skate101 +beth123 +120883 +200789 +400078 +football78 +patrick13 +north +ravinder +131086 +doberman1 +kristie1 +triple6 +mp3player +wert12 +ANGELS +carino +100787 +angel637 +fraggle +asdfgh7 +thomas08 +dude13 +flipmode +deeppurple +1708 +colegio +bojangles1 +sector9 +biteme123 +BASEBALL +tarkan +sony12 +tobi +danny7 +123QWEasd +nigga! +AjcuiVd289 +120285 +misty2 +sampoerna +251086 +superstar3 +antigua +mallika +210187 +bibles +booboo01 +joseph5 +levi +usausa +football35 +hennessy +100386 +aa1234561 +airwolf +nautica1 +tekken5 +lauren7 +dragon64 +sassycat +ilovemark +4204life +smokey3 +gerhard +shadow. +gwada971 +barbar +brand0n +hickory +ballin5 +amigos1 +121992 +helmet +kingofkings +chacal +mercer +tmobile1 +mayumi +james06 +sexy89 +julia12 +silver13 +131290 +tigerlily1 +reverse +lovers4 +ashley88 +1Q2W3E4R5T +jedi +050690 +iloveyou4e +009900 +121278 +kimber1 +240590 +12361236 +andy11 +alex03 +2w2w2w +gregoire +cerfcerf +ikenna +arlington +2kool4u +gizmo12 +bhbyf +section8 +titus1 +green101 +ttttttt +glorious +alexis22 +20071987 +ulrich +redfred1 +libelula +141186 +mustang11 +samsung01 +gumball +jesusc1 +1313131313 +serafim +10121987 +1alexis +lamborgini +patrick01 +felicity1 +JxsGx2Yd87 +smilla +achilles1 +fiatpunto +bananas! +130680 +policy1 +gohan +ilovebrian +drunk1 +�������� +ratman +chandra1 +230486 +654852 +perla +imcute +joebob +bootie +pflybwf +15121986 +aggies1 +101183 +santorini +firebolt +22121989 +warthog +gunjan +charlie69 +nathan06 +ultra +150588 +sweety2 +bone +VANESSA +kikiriki +Boomer +130389 +vale +angel0 +crazy14 +w00tw00t +unhappy +prince11 +taylor06 +5t6y7u8i +mexicana1 +facile +lovely6 +oyster +shadow101 +sai +summer03 +king24 +mayang +waswas1 +q123q123 +joshua16 +210486 +781227 +Prince +z: +redsox2004 +pimpin5 +hottie08 +toxic +13031991 +04041988 +sarah7 +024680 +140988 +rabbit12 +120282 +cutie08 +takamine +fleming +babyboy08 +ilovekyle +doritos +251290 +12061990 +pinkey +dude22 +checker +qeqeqe +vfpfafrf +meganfox +heart2 +230586 +socom2 +maggie5 +hotness1 +coco10 +fghfgh +1100 +wowwow1 +kamlesh +obama1 +john15 +dallas23 +amigo1 +091 +nike11 +redsox33 +furious +brittany10 +bridge1 +sammy6 +karla123 +159357852 +popular1 +19521952 +vicki1 +donuts1 +wiccan1 +present +melbourne1 +ralphie1 +2255 +P@$$w0rd +181088 +cody1234 +121080 +zxcvbnm2 +111287 +vinny +destiny08 +300688 +mygirls1 +thesims3 +rocketmail +ilikeit +green1234 +hoochie +ulysses +198719 +110685 +241190 +Chicago +qwerqwer1 +honey22 +elizabeth. +england123 +qg9543bh7 +totti +jinjin +hugo123 +999666333 +zack12 +marwan +sk8er4life +Williams +austin06 +privat +654321m +merlin01 +staind +mellow1 +246824 +260488 +alexis14 +brutal +anarchy99 +modem +jorden +alex04 +havefaith +Sydney +wayne2 +guitar! +down4life +3003 +newbaby +231285 +cet333333 +david09 +fishin +shredder +14121987 +150888 +links123 +specialk1 +10121988 +deeznuts1 +120884 +12345aaa +1dontknow +alanna1 +lolwut +barbie13 +199119 +jeanluc +iamtheman +luke12 +dog101 +rayane +barbie11 +happyboy +sissi +non +210191 +hamham +angel98 +horse2 +tratata +autocad +bisounours +dantes +mowgli +alex1991 +blessings1 +leslie123 +14041988 +des +100685 +exercise +19761968Serg +03 +king101 +pfchfytw +lovelove2 +vick07 +pakito +benidorm +1117 +sol123 +allison2 +marilu +560047 +daisies +danielle13 +400054 +aaabbbccc +1912 +zaq!2wsx +ajtdmw +bigapple +dj123456 +fujitvpass +yellow6 +binbin +sandwich1 +150788 +thankgod1 +120289 +pdq4RV +raiders3 +sandal +vip123 +250584 +101191 +3amigos +airjordan +emily7 +mcnabb5 +100286 +owens81 +kazuya +211188 +g1234567 +vfhrbpf +optiplex +aerobics +crusader1 +bigcock1 +a13579 +1tinkerbel +regional +cupcake! +olaitan +rules +dicembre +pussys1 +terri1 +210386 +bucks1 +jayvee +221177 +cagliari +zooyork +jirka +admin2010 +denzel1 +villegas +chrisbln +mommys +angel96 +antonello +amarillo1 +horses! +220686 +scott12 +jordan69 +kittycat2 +nicole99 +fuck.you +redbird1 +Christ +lucy01 +studmuffin +carroll1 +govols1 +elamor +destination +cocolino +cashmere +artista +abfkrf +14071987 +palomita +mari12 +blue92 +12345678g +qaywsxedc +yuyuyu +23041987 +blah11 +560016 +tyler23 +brooke11 +02061986 +246890 +zackary1 +110110jp +02021984 +dolphin13 +mary1234 +hawkins1 +lucile +hottie#1 +beatle +taylor16 +210989 +kernel +signal +kookoo +151086 +198555 +mullen +rose22 +emilia1 +murphy12 +teenager +motor +dreamer13 +Qwertyuiop +skate4 +123123w +Casper +almeria +koala1 +140285 +elmo13 +cordelia +liebling +erickson +hunters +iloveweed +polpol11 +121082 +22121987 +michell +harini +abidjan +americana +ceaser +pitcher +lily12 +sandra2 +glasgow1 +cokolada +midnight3 +conejita +kilimanjaro +_ +tiffany7 +harley22 +dumbass2 +tiger14 +101077 +honey5 +choupinette +rowing +130888 +PRETTY +1009 +anonymous1 +11111111111111111111 +cocaina +wolfwolf +Carlos +josette +nymets1 +tweety22 +1941 +hawk1020 +12345asdf +assfuck1 +horse12 +14021992 +ginette +131289 +25121986 +speakes +kaushik +federico1 +hamsters +231185 +523523 +jedimaster +pelangi +201190 +skibum +diamond9 +bandido +22041987 +rocking +doritos1 +hollister4 +270790 +130587 +buddydog1 +samantha8 +tweety16 +buford +8989 +rebecca12 +fatass123 +babydoll2 +raiders14 +darlin +tagged +ferrari123 +bubble12 +140286 +zezette +johnmark +tank123 +iloveme13 +shazia +251287 +trevon1 +01011976 +jessica07 +racheal +11121985 +Ab123456 +110684 +password96 +p3avbwjw +brandon17 +JONATHAN +donny1 +slacker1 +victoria7 +48624862 +chad123 +myspacesuc +clockwork +westwest +syracuse1 +1nternet +Jackie +housemusic +austin23 +connor2 +celebrity +demola +serge +alex1997 +music09 +ghjghj +lost4815162342 +eight +jackie11 +vjhjpjdf +kosovo +11021987 +fifi +fastcars +rrrrrr1 +120984 +13121312 +220990 +imtheman +141287 +andrea10 +summerlove +willie2 +1112131415 +bettis36 +261184 +kenny2 +120393 +250888 +haider +makelove +280688 +shadow24 +beer30 +110385 +271088 +andrew24 +trish +player7 +forbidden +lokita1 +01031980 +jasmine! +12121983 +02061987 +carmelita +satelite +loverboy2 +�+��+��+��+� +james101 +19071988 +ndaCebx2wx +lifetime1 +monkey89 +120782 +111090 +chingon +lost123 +baylor +think1 +bigtime1 +skaterboy +bluenose +Midnight +400005 +cj1234 +100990 +1410 +1234554321q +25051990 +cute13 +101185 +developer +bachelor +260188 +iceman12 +samantha10 +dredre +kucing1 +homeless +250989 +manutd99 +piston +123a456b +monet +090987 +pink25 +latrice +aeropostal +poptarts +trading +tink11 +turion64 +susan123 +marley123 +dollars1 +bubbles22 +dildo +headache +220485 +tookie1 +fifa07 +Godisgood +Sfring31 +auto +coffee2 +madison05 +naveed +110190 +wholefoo +dragon17 +starfire1 +santacruz1 +tigerlilly +shadow18 +030405 +Basketball +sensizim +geegee +jasmin123 +07 +mammoth +arsenal2 +1qazxcvbnm +pen +qwsxza +mickey21 +210685 +20061986 +michael20 +verito +chaos666 +player5 +261288 +14021987 +maries +12101986 +spades +green88 +alibaba1 +iloveyou27 +popo12 +mina +charles12 +wannabe +chewbacca1 +dr +17ciao72 +1elephant +oskar1 +14921492 +hondacrx +lottery +maria7 +101078 +kane123 +karol1 +4seasons +goofy123 +pretty13 +258654 +lyndon +comfort1 +12101990 +hamish1 +napalm +linkedin.com +karizma +green01 +na +130687 +justin19 +cristovive +100788 +nettie +666111 +coincoin +emily5 +star77 +espanol +honey11 +i234i234i234 +veteran +binky +10121991 +020890 +3blindmice +govind +dragon66 +winfield +230686 +230788 +famous123 +king09 +danielle! +peace101 +labrador1 +1130 +colby +gothic666 +101292 +jonah1 +130189 +madcat +chitown +mandarinka +trout +tijger +maria22 +edith1 +color1 +joseph08 +shimano +guccimane +20021986 +1lakers +clueless1 +kalimera +commandos +nieves +karthika +conan1 +mario66 +seraphim +101098 +babygurl11 +current +escaflowne +freddy12 +bigboy23 +jackson10 +201089 +saibaba1 +mouse2 +110583 +joshua8 +damola +yourface1 +burbuja +elephant12 +juan316 +110584 +Family +sweetie12 +251185 +danger123 +120291 +vsijyjr +0404 +shit11 +kamikaze1 +bigtruck +110691 +ileana +katka +bongo1 +215487 +sammi +buster21 +oscar22 +2kitties +12321232 +azerbaycan +myspace007 +200990 +geology +tony22 +10031987 +ryan21 +10121986 +deepfrequency +161188 +13051986 +kelli1 +121006 +daniel05 +chobits1 +guitarra1 +freeatlast +samsung11 +loveme10 +ciaoo +halo33 +nanny +nana13 +121182 +sexything1 +mu +fuckitall +140488 +loser69 +horses11 +ilovemydog +271288 +ARSENAL +120681 +yellowstone +andre3000 +michelle15 +250890 +ganpati +lovem3 +macedonia +delldell1 +me4ever +daniel25 +crazy! +invalid +bella1234 +andrew05 +winner123 +izzy +qawsed12 +zaqqaz +.ktxrf +khushboo +310000 +d12345678 +171285 +maria3 +201005 +puppy101 +martial +sk8sk8 +exclusive +020689 +please12 +qaz123qaz +naenae +perla1 +cena12 +jesusrocks +12081988 +stlouis +mortalkombat +ranetka +100101 +brandie +25121989 +novikov +20051986 +dominican +sexgod +12332112 +jonny123 +annmarie1 +mathias1 +doorknob +june08 +spiderman6 +banan +02041987 +230289 +love85 +220386 +radhaswami +locker +smile7 +warrior2 +strength1 +rap123 +ellabella +shorty16 +superman09 +star88 +�����������������+�+�����������+�������������������: +onions +arsenal7 +jasmin12 +yoyoyo123 +futura +124 +brandon18 +musician1 +mike09 +twilight4 +ferrari360 +shay12 +echo +yourmama1 +woofwoof1 +mami +3kings +211289 +holyghost +horacio +naked1 +complex +Stella +danielle11 +myspace19 +bud123 +chicken13 +Ghbdtn +bruna +treetop +iskandar +America +kev123 +espinoza +sesso +yoohoo +live4ever +morning1 +shinji +12011987 +laxman +daddy10 +kaiden +great123 +isabella12 +chepalle +piscis +13121988 +clock1 +oscar01 +0cDh0v99uE +greyhound1 +serg +cassie11 +100785 +smalls +seamus1 +mounir +milosc +456789a +140690 +jazzman1 +peacelove1 +mary13 +samael +iloveangel +paint +shorty4 +pingping +19091990 +pinklady1 +fly123 +151088 +final +football36 +bella7 +171189 +number15 +211290 +110484 +12031987 +ranger123 +renee12 +buttsex1 +shyanne +constant +170589 +cf +123asd123asd +alyssa13 +dave12 +maximum1 +pompey1 +diamond01 +Australia +salmo23 +211186 +241187 +parveen +jagoda +jackson4 +alexa123 +bladerunner +1cherry +vivere +U6e6r9hwiX +20021987 +cheer10 +snoopy22 +deputy +waleed +albania1 +wind +vfy.yz +smokey7 +kiwi123 +hereford +redfred +fuckbitche +pippopippo +andrew09 +tiberius +560085 +family06 +sathish +stargirl1 +keyblade1 +21121987 +ganjaman +ashley101 +korea +katlyn +Flower +tyler08 +sanfrancisco +cupcake13 +mediawire +callisto +123jesus +reeves +yfcnz123 +panties1 +bianca123 +rhubarb +raiders18 +newports1 +Cookie +qqqqqqqqq +iloveme. +a333444 +140788 +210185 +lizzard +pink77 +meriem +13121984 +230690 +l0veme +cyber123 +12121982 +hospital1 +1tunde +motion +browndog +speedy12 +life12 +345 +130985 +ijeoma +shizzle1 +magellan +buster! +n1gger +manuel13 +230889 +gulnara +porto +matt69 +baby99 +sarah3 +hsm123 +271 +11121986 +emoemo +luna12 +gumby1 +92702689 +12081987 +PURPLE +grandam +111182 +tropicana +1killa +ihatelove +boat +basement +undefined +01011993 +shadow08 +poker21 +flowergirl +steelers2 +120983 +summit1 +dave1234 +jose01 +mymother1 +любимая +testqa1 +aviator +por +peaches7 +w1968a +koleso +dimon +karissa1 +blade55 +Summer11 +любимый +licker +green! +sailboat1 +fast +nick101 +1dallas +bennie1 +alana +911111 +selena123 +jabroni +rubens +rfkbyf +foxhound +vfrfrf +ilovedaddy +money77 +mustang89 +131285 +d85lWz0zjS +morelia +momdad12 +lady01 +amanda4 +230288 +rrrrr +playing +carmine1 +twilight09 +181188 +02021990 +ttt +prowler +shree420 +lianne +funfunfun +angel29 +au +301188 +murphy01 +zachary12 +butt123 +mariah12 +1scooter +mas123 +vivienne +rolex +211286 +natedogg +Trinity +261286 +hoops +splendor +carlie +789456123q +coffee12 +ren +ladybird1 +freakshow +23101987 +block +jobseeker +15101986 +jamison +12031991 +100485 +20021985 +sanya +bigbob +jordan04 +600040 +008008 +lover16 +shortcake1 +roc +141086 +varanasi +147789 +23021989 +violeta1 +240388 +fuckyou17 +blessed3 +fiat500 +urlaub +amiret2015 +sonora +striper +110683 +princess77 +210788 +kenneth123 +spooner +225225 +mingus +sasuke2 +10011989 +alphabeta +twilight7 +joe1234 +pasadena1 +rhythm +hillcrest +shirin +ckjybr +fifteen +durham +thinking1 +united99 +mouche +131188 +trustgod +badgers1 +archangel1 +jacqui +bluedevils +bogey1 +qwerty87 +fuckyou00 +angelus1 +saywhat +videos +BRANDON +504boy +281281 +101181 +broken2 +sac916 +240988 +230787 +11922960 +190788 +charlie23 +September +maracaibo +rachele +dopey1 +mustang06 +juanma +lucknow +josemaria +260388 +joshua6 +opennow +klingon +narnia1 +120692 +220786 +starwars11 +daisymae1 +0147 +computer01 +1newyork +150987 +spliff +bitch4life +bullsh1t +beauty123 +reddevils +14021989 +jakester +newera +7e9lNk3fcO +chelsea5 +william23 +greatman +Junior +101095 +elite +ballin07 +dildo1 +mariaa +240489 +03031988 +avangard +pongo1 +rosamaria +19031987 +ilovejess1 +profesional +z123456z +daisy7 +hewitt +�������+��� +226001 +shawn12 +246801 +acoustic1 +pushok +100287 +franko +lin123 +krusty +walnut1 +america3 +barclay +sheba123 +lssy123 +pookie3 +beauty2 +bigbucks +priora +matmat +210787 +honeykoh +13031990 +spectrum1 +hot101 +chicken8 +vSjasnel12 +punk77 +yfcnzyfcnz +232629 +bully1 +antonov +clint +12151215 +jasmine23 +111110 +191288 +gendut +ja +700007 +141285 +paola123 +gabriel3 +dealer +Tucker +wishes +888555 +camprock +050590 +poohead1 +garima +AMERICA +mmm111 +carolina2 +kisska +pink99 +1stunner +02031987 +105105 +bigboy13 +glock17 +46709394 +planner +110191 +natedog +fruits +maria14 +lake +311288 +monteiro +goodjob +mum +151190 +198325 +197200 +clown +azerty1234 +skulls1 +christian8 +mercedes2 +hot2trot +barnaby +green55 +crown1 +fla +bigguy1 +271190 +250688 +gio123 +monkies +warhammer40k +steveo +170288 +0911 +sohail +10051987 +daddy6 +10041991 +freedom01 +klootzak +indochine +dimension1 +kyle11 +alesana1 +mutiara +chauncey +model +hentai1 +kids1234 +antonio3 +150188 +250790 +alex2007 +joaquim +byron +131190 +berlingo +beamer1 +kaleigh +spiral +mahogany +101182 +22051991 +10111987 +highlife1 +ganeshji +rockin1 +toblerone +jahjah +soccer95 +candy! +justin88 +211190 +221282 +camero +171188 +passed +julien1 +111284 +masha123 +marvin123 +100887 +1Ck75iflgA +nayeli +bellevue +baseball00 +joshua04 +200689 +cowboys5 +swingers +yogibear1 +something2 +options +tony23 +241090 +janna +willow12 +badboy13 +171171 +12101989 +garret +andr3w +shawn2 +moremoney1 +joan123 +charmaine1 +100100100 +jakers +morgen +230488 +original21 +kelsey123 +qpqpqpqp +destiny9 +sinbad1 +ilya +moon12 +death101 +rotten1 +271189 +10101982 +20121988 +fuckyou15 +kostas +deaths +luciano1 +stratford +130488 +shayna1 +letsplay +blackcat13 +johnwayne +drake123 +roy123 +120185 +poi +baller32 +elmer +lucylu +290688 +221284 +shadow07 +chowder1 +10251025 +aq1sw2 +zildjian1 +grapefruit +trailer +pravin +fuckit123 +mini123 +18021988 +wiktor +yfcn.irf +jennifer! +teamobebe +checco +policy +legends +5201314a +twilight11 +fontaine +iam +train +pelikan +babymama +volvov70 +050290 +hackers1 +rewq4321 +gizzmo1 +luckycharm +let +retarded +tanechka +jimmys +12031992 +moustache +kolade +dogpound +753951456 +4getmenot +monica13 +ilovejake +aceracer +framboise +crazyfrog +130684 +yzerman +steph12 +10051991 +apples3 +angel111 +sunbeam +douchebag +killall +epiphone1 +anal +gitrdone1 +horsey +120591 +football65 +10051988 +phoenix602 +trustme1 +carmella +monet1 +green99 +twinkles +melancia +southpaw +ilovejb +2104 +210889 +goo +bigdawg +auction +horney1 +starshine +160486 +150889 +music23 +geography +purple101 +100185 +bru +lilly12 +june07 +28091992 +tony01 +bushra +jumoke +babyg1rl +240589 +03031987 +01470258 +bolton1 +loreal +220989 +marlena +taetae1 +yYxTHH8J9k +wicket +crazy6 +peralta +010182 +sridevi +corncake21 +gossip1 +star99 +paradigm +bigpapa1 +noaccess +bridgette +221184 +kingofking +vfrcbvec +mensuck +hao123 +1patrick +20031990 +151289 +southeast1 +danny11 +glock40 +massacre +fucklov3 +enfant +190588 +imcool2 +111086 +nomar5 +concordia +arsenal01 +lbhtrnjh +coldbeer +m1m2m3m4 +201188 +good12345 +fil +figueroa +movingon +1pretty +021090 +flanker +drama +superior1 +130489 +little2 +nba123 +quimica +fuckoff13 +infernal +eric11 +softail +becca123 +gohan1 +120184 +221100 +220787 +rachida +gfhjkm12 +wenwen +yahoo11 +gorila +quest +heather11 +makaveli7 +peter2 +katie01 +keeley +23121988 +soccergirl +aaaaa6 +240990 +5thward +180889 +140787 +p@55w0rd +cookie6 +loveme14 +vlad1995 +samoht +passwordd +02081988 +master666 +150586 +cinders +smoke123 +198112 +saw123 +jodete +pasword123 +smile5 +lietuva +venere +abudhabi +inessa +fire911 +virago +2013 +fred11 +pinkpink1 +oneway +makenna1 +1father +14101985 +240689 +Natali +molotok +21121989 +bertie1 +sammie123 +rayray2 +berries +272829 +holla123 +smile11 +kuba +malang +100587 +brandon69 +celestine +basile +chloe01 +garnett21 +poopies +250787 +superbowl +yecgaa +12071990 +nonstop +max2000 +d2iTsr81jO +puppy7 +fifty50 +maggie08 +tunisia +mustang68 +skiing1 +skate5 +chasity +shrimp1 +james19 +bear13 +kira123 +michael99 +sistemas +mandie +dorado +700700 +rockies +210790 +fxzz75$yer +sinner1 +69chevelle +pantera666 +cutie07 +bogoss +hahahahaha +alhambra +mental1 +baby2006 +10121989 +147852369a +taratara +121184 +aa1111 +1qazaq1 +assunta +02071987 +211189 +mike88 +zoosk123 +ramrod +holger +lover9 +lokesh +124816 +tigers7 +lilly2 +220584 +tamanna +220685 +sxUaIehAtp +azucena +choose +ghbdtnbrb +daywalker +zoey123 +tigger99 +famiglia +pimpster1 +princess33 +cutie6 +sonny123 +111190 +160288 +123456789aaa +arigato +thinkpink +marimari +sexy28 +steven3 +mizzou +15121987 +hitomi +toluca1 +jannah +hidden1 +110485 +cookie9 +870621345 +love247 +mahmood +303303 +afrique +261185 +irock2 +suckit123 +flower6 +buttmunch1 +britta +951236 +joan +joker23 +daycare +05 +1234512 +21051987 +mylove01 +tigers13 +01041988 +fling123 +cioccolato +koolkat +gordo123 +banana7 +19101990 +tbone +brooke01 +punky +yomama12 +198777 +12331233 +01021985 +josefine +gators15 +pierce34 +bradshaw +prout +toilatoi +125 +1person +240986 +24091991 +17121987 +photos1 +bulls +ghana123 +320320 +dreamteam +fetish +chien +johnson48 +hockey24 +kayla01 +derecho +tiger101 +2310 +tiffany3 +bigboy7 +carter12 +mustang95 +qwertyasdf +filipek +sashok +chichi123 +alicja +flanders +121979 +35353535 +pretty5 +bergen +brown2 +kosova1 +130790 +040488 +10071991 +development +juliane +136136 +miamiheat3 +2boobs +planb1 +shantel +newbaby1 +farzana +smokey69 +19051987 +qwerty24 +killa5 +cowboys08 +sinister1 +gfhreh +kevin14 +aaa222 +joshua03 +jordan20 +fairytale +abcxyz123 +abegail +robinhood1 +herrera1 +120893 +letter1 +dontcare +171286 +houdini1 +natusik +111978 +310191 +vova123 +syzygy +laila1 +george22 +wizards +3216732167 +wxcvbn123 +160389 +20041987 +mani +lister +ipod +tanner2 +120581 +dylan01 +killer15 +smile22 +wendys +valdemar +racer +150986 +gansta +mama2010 +game12 +20101989 +davinci1 +suzie +gamble +110044 +kissmoko +220886 +manalo +Tigers +111285 +ryanryan +00000p +karl +whitehorse +011 +22101987 +light123 +moondog +odessa1 +201285 +130289 +121981 +12031986 +03031990 +analsex1 +princess00 +bnmbnm +210390 +nikenike +finalfanta +william9 +fslhggi +fight +www333 +hotmail12 +190988 +brittany3 +kiana1 +261187 +johnny3 +виктория +ranger2 +janicka +1914 +200586 +apple6 +daycare1 +cipolla +hotstuff12 +natalie3 +MONICA +1q2 +2morrow +240790 +211287 +bailee +mommy! +toystory +sexxy +m123123 +1peaches +ashley1234 +zach12 +thedude1 +01061988 +mexico100 +ykvpoia569 +sexy32 +password86 +monkey20 +111111d +17081945 +1daughter +boomer11 +sweeney +lakers13 +221185 +140588 +171088 +23452345 +godis +Guillaume +200686 +juarez +filimon +22121992 +tangerine1 +dollie +danny01 +20031987 +wodemima +nathan07 +sammie12 +123pro +140585 +11051987 +myheart1 +moimoimoi +angel100 +mexico21 +austin4 +bluebell1 +230985 +power3 +124563 +tivogliobene +abdul +xbox123 +250990 +younes +lagarto +aquiles +tomika +number123 +fruit +switch1 +160590 +15041987 +bobobo1 +shrek2 +punk101 +annapurna +money12345 +suckdick +collingwood +chocolat1 +madden06 +Fylhtq +claudio1 +13041987 +chrissie +misty12 +ducati999 +reefer420 +130685 +25051987 +alliance1 +jimmy7 +10121985 +220889 +marykay1 +fortress +jamar1 +sunshine07 +pokemon4 +marykate +nevermore1 +romans12 +vfrfhjdf +paradox1 +26842684 +juventus10 +Good123654 +cfvjktn +250386 +240789 +23121987 +fabio1 +pavement +mark23 +william22 +pogiako123 +vbhjckfdf +monster23 +010390 +221089 +240586 +theman2 +whatthehell +sweetpea2 +bluegrass1 +suchka +jaroslav +amine +dakota3 +alberta1 +peabody +Qwerty12345 +dustin12 +7153 +bratz12 +15051990 +linkedin12 +azzurra +mon123 +redsox2 +peluchin +vincent123 +candelaria +10061986 +198521 +121191 +Eminem +560095 +le +rabbit2 +karapuz +escalade1 +visitor +laylay1 +angelochek +reginald1 +zappa1 +johnlennon +23091989 +mexican12 +lelewa123 +chuck123 +fucker3 +505505 +270988 +jeter +michael25 +colts +www123456 +paris2 +jake10 +cowboys3 +manju +cutie9 +tyler07 +frederico +hoops1 +200002 +casio +perkins1 +booboo5 +18081988 +741123 +chris89 +6Acaxa54bE +flower23 +260988 +PATRICIA +passions1 +181187 +shop +��+�������� +doughnut +loop1206ssdsff +pavithra +frankie12 +sameera +220887 +sadiedog +130890 +charlie99 +anette +mustang9 +221285 +punkie +2m66xF2AJT +1й2ц3у +akanksha +barca1 +bidemi +gertrude1 +100885 +barney01 +liljon +fckgwrhqq2 +motorbike1 +2happy +harley09 +bandit13 +dingle +kailey1 +tanner123 +vincent2 +bounce1 +alialiali +workshop +platano +199111 +coelho +jimbeam1 +norma +bigblock +black14 +1danielle +asshole23 +higher +13031987 +newyorkcity +mimi13 +orochimaru +satchmo +patton1 +active1 +sliver +easton1 +gamecocks +sixers1 +140889 +jeepers +bitch06 +michelle16 +sesamo +cygnusx1 +fakefake +dragons2 +kurwa1 +ZAQ!2wsx +guitarman1 +ritter +fir +milk123 +amir123 +milomilo +281288 +veronika1 +070790 +14121988 +bambino1 +zaza +241288 +joseph23 +hank +trinity123 +sunshine24 +notreal1 +polaroid +zujlrf +whore! +animal12 +endurance +shower +111184 +klaudia1 +thebest123 +fyutkjr +22121988 +joshie +batman4 +jockey +100883 +freedom07 +cfifcfif +140586 +12111987 +myshit +myspace20 +terran +sanford +elenka +trivium +maravilla +VICTOR +cheche1 +10121992 +ivanivan +people3 +p0p0p0 +TAYLOR +kanika +1357246 +candyshop +tayson +natedog1 +130188 +meg +louise2 +judoka +michelle6 +almendra +toolman +meryem +301088 +����+����� +dragon09 +pokemon8 +apricot +8balls +1budlight +baby91 +havefun1 +120680 +bourbon +funny2 +309309 +chachacha +bobby3 +health1 +willow123 +02071986 +ragdoll +bobby7 +zaqwer +11qqaazz +230485 +kapow +11121990 +openme +angelo123 +jacob10 +0987poiu +waterloo1 +mathilda +280588 +sil +14101988 +2501 +230187 +moinmoin +yamamoto +qwert2 +market1 +fruitcake1 +karamelka +surrender +laredo +anhtuan +itsme123 +butterbean +superman88 +broadband +primera +240488 +230387 +anibal +godawgs +mashenka +250686 +victor01 +karting +crfprf +parakeet +nikitina +retro1 +palomo +monkeys3 +521521521 +savage2 +11021989 +200288 +freunde +zoe101 +250586 +010889 +seo12345 +789qwe +krystian +diamond13 +e1234567 +christian4 +harvey123 +130190 +bionicle1 +21031986 +240787 +lilli +030390 +fy.njxrf +sexyred +w1966a +fuckyou07 +li123456 +22071986 +198822 +lovebird1 +2ealtD3y4Y +beatrix +rrrrrrrrrr +princess26 +puffy1 +dutch +taytay2 +turbo123 +asia123 +pimp#1 +steven22 +asddsa123 +pimp420 +flowers3 +eeeeeeee +hatebreed +pad +love1996 +15051985 +amber3 +boycrazy1 +1904 +asd123456789 +240687 +amorcito1 +lovesong +marie6 +250288 +manpower +tweety08 +121092 +080889 +blue02 +artur1 +puppies123 +olidata +jobjob +jaja123 +jellybean2 +101985 +joshua17 +260687 +600020 +mark13 +11031990 +12051205 +bigmomma +400071 +antonio7 +741 +101984 +250488 +280690 +180288 +wentworth +w1967a +toast1 +ali12345 +241290 +15091987 +panasonik +linnea +liverpoo +04041991 +iloveyou* +22362236 +0147258 +fiddle +123456sa +chance01 +caramelo1 +celina1 +261190 +1jonathan +player21 +rugby123 +thomas15 +exotic +n1234567 +02051987 +Brooklyn +... +gravity1 +nikolaus +esperance +traviesa +21121990 +110189 +15051991 +elnino +lovely13 +Maria +78945 +oliver13 +maintain +elisabet +201012 +reeses1 +chaplin +11091986 +hostmaster +ilovemama +tiana1 +cheer4 +gabriel01 +456123a +123777 +ggggg1 +tonto +tulipano +redredred +tiamat +geirby +rainbow11 +dancer22 +star33 +311286 +Destiny +mexico#1 +13121991 +garage1 +claude1 +02031988 +001983 +redcat +mick +kaylie +4711 +camila123 +1908 +291189 +25051985 +longhair +elijah12 +wetter +mattmatt +240985 +toocool1 +duffer +170686 +hunter02 +howell +220220 +scoubidou +bonzai +092124 +25061987 +cornflakes +150990 +12061987 +20051988 +lollie +lucky15 +11041990 +200986 +171090 +02031989 +munich +301089 +1skater +skyrim +230790 +gerardway +101192 +daisymay1 +coco22 +sara11 +love1990 +sincity +22021991 +grillo +psalm139 +alexis06 +miguel2 +waseem +31121986 +melanie2 +hansolo1 +aiden123 +king69 +420time +kimba1 +14021986 +beejay +02101987 +cookie8 +fatass2 +sexy99 +cc1234 +records1 +fuzzball +600001 +jarrod1 +vindiesel +010690 +170890 +123smile +mommy09 +miranda2 +100786 +babyboy5 +111111111a +spiderman123 +hotties1 +110885 +161086 +123123e +tyler! +r2d2c3p0 +steam +w1964a +spanien +coke12 +15975321 +stephie +maxim1 +eliska +squeaky1 +198619 +125689 +katherine2 +ozzy123 +rocketman1 +balls2 +vaseline +andree +140686 +cabernet +311088 +cameron10 +topper1 +andrews1 +15051986 +kittys1 +rider +darian1 +secure1 +princess96 +kbcbxrf +brooklyn7 +lionel1 +nastya123 +michelle18 +yankees26 +james! +quique +23021987 +binladen +240685 +bluewater +crawford1 +10000000 +291188 +130984 +22041988 +skull +yamaha123 +fuckoff7 +andrew8 +nnnnnnn +asterix1 +cheergirl1 +Porsche911 +226016 +cliff +morgan7 +allie123 +frank2 +karola +kitten11 +daisy5 +megumi +weeman1 +23101991 +name +150487 +OLIVER +10051990 +231183 +seventy7 +kathrin +mbtVibranike +311089 +indian123 +commercial +jay1234 +winter2 +liljay1 +intern +01041987 +heretic +ufhvjybz +good1234 +prozac +230188 +sprout +hunter9 +nolimits +knockout1 +greenwood1 +radio123 +ruger1 +kestrel +robert18 +cyril +001980 +carlsberg +030688 +dbityrf +evgenii +20041988 +asdfjkl:1 +#1love +channing1 +3006 +toby1234 +borussia09 +tanguy +gustavo123 +luckystrike +thomas18 +310789 +legendary1 +charlton1 +19021988 +150689 +blitzkrieg +maulana +theshit +26031998m +ilove5 +jumpjet +diddle +ranger11 +blue27 +kozlova +townsend +moreira +angelika1 +mulberry +250487 +juvenile +ribbit +iloveyou06 +volvos40 +tanja +pepepe +ppp123 +Victor +black8 +bella07 +tyler15 +cool14 +dietpepsi +loveyou13 +william6 +100187 +lucky16 +babygirl95 +2512 +helen123 +maryjane69 +200787 +25121990 +198525 +250986 +anathema +sweetie123 +240889 +Ruslan +austin21 +ilovesarah +bubbles101 +fastcar +Christmas +dagger1 +70chevelle +sasha1996 +ivan12 +aircraft +271087 +111191 +antonin +200690 +250486 +16061987 +lolek +none123 +badboy11 +nameless +donkey12 +rus +16101987 +superman08 +estella +140283 +cazzo1001 +biscuits1 +10061988 +luana +chamonix +sixers3 +fromage +pallmall1 +290990 +112288 +beaker +270788 +breast +nokia6303 +kelsie1 +medic1 +234561 +yourname +susanne1 +mimi11 +kurosaki +vvvvvvv +198625 +080886 +eeeee +purpl3 +presidente +bigjohn +panzer1 +goldorak +kingkhan +iamlegend +raven2 +brasile +jackie13 +wordup1 +qazwsx2 +11111986 +babyd1 +pulcino +slayer6 +belier +robert6 +canary +booker1 +h-town +50cent1 +jeremy11 +11121991 +josh15 +reymysterio +guesswhat +030393 +raisin +10031988 +penguin7 +jackie3 +chocolate12 +mark01 +trebor1 +happyface1 +mapleleafs +zapato +cabezon +leahcim +zxcvbn123456 +123456000 +qazwsxedc12 +agent47 +star18 +34 +barkada +dark12 +cluster +charms +kantot +stephani +kraken +111975 +281088 +raptors +yourmother +gattina +19021991 +shelton1 +yaya123 +ilovefood +roxy101 +rasengan1 +dinosaurio +tyler06 +100290 +optima +grass1 +jerkoff +140890 +20061988 +01021990 +1111111111a +271185 +default_password +pooh11 +sundar +20031989 +lexie +blue66 +ABCDEFG +terra1 +tree12 +carbon1 +rockband2 +271289 +taylorgang +300888 +hollister8 +zamzam +woowoo1 +181286 +145300 +cyrus +princess#1 +140388 +1marine +money17 +12345678n +demonio +dragster +281287 +110286 +crazyman1 +cheese23 +1lovegod +201085 +lucero1 +america5 +cheese01 +freelove +neverdie +meaghan +pokerface1 +eagles7 +joh +kelsey2 +310189 +pants +edward22 +dawkins20 +90909 +tink101 +122987 +dinmamma +123bitch +annaba +paparazzi +killer55 +fake1234 +darkness2 +010388 +250988 +12081990 +130986 +mark22 +123456777 +bongo +griffith +plokijuh +tijuana +20121990 +honeyb +25101989 +hello15 +boomer01 +justin03 +bullseye1 +changeme123 +barbosa +260586 +sophia123 +jollibee +a88888888 +baggio10 +2pac4life +brenna1 +cyrille +120392 +erik123 +231181 +110063 +130187 +23051991 +tweety15 +mustang13 +workout1 +110892 +sexi123 +clear +ubnfhf +softball18 +playboy! +princess91 +chateau +marcella1 +nokia3210 +mercedes12 +iloveallah +220292 +123321qw +150988 +blandine +123usa +1019 +281190 +porn69 +1qwerty1 +20061987 +1love4me +orioles1 +110383 +hello55 +joanie +monte +Dbrnjhbz +funny12 +nokia3230 +im2cool +green24 +jimmy3 +roshni +tottigol +150787 +121293 +020788 +gears2 +rose14 +mybuddy +carrots1 +140590 +160589 +260588 +cucumber1 +02031986 +02041991 +rachel! +Angels +starstruck +wuschel +checkmate1 +vlad1998 +stamford +110785 +megan11 +daiana +310310 +200989 +eagles01 +130887 +rfnthbyrf +151183 +soccerstar +characters +Caterham7 +12061988 +wilma1 +heckfyxbr +icecream3 +rosey1 +11061987 +sergiu +peanut08 +ballers1 +vero +Ranger +010183 +windstar +140886 +brotherhood +experience +050689 +boycrazy +lefty1 +brooke3 +mahalcoh +willie123 +aristotle +golden123 +loveyou22 +nyc123 +098765432 +17071987 +alphabet1 +skater15 +1beautiful +skyline34 +4christ +shades +4040 +matthew07 +aniolek +xavier2 +lullaby +drifter1 +yahoomail1 +aftermath +230285 +heather! +insight +sultana +jasmine07 +rosa12 +mamont +moneyy +charisse +wilson12 +laurel1 +lighter1 +password03 +barbie3 +200788 +arsch +bolinha +scofield +nicholas7 +161286 +alisa1 +andresito +pass_word +casamento +fujifilm +150288 +alex1987 +30041991 +candie1 +500018 +Kevin +persia +steelers6 +imgay123 +hecnfv +thegirls +11081988 +14785236 +joker7 +candies1 +westbrom +130787 +roxy1234 +scandal +444555666 +mustang08 +saphir +grape +color +01031988 +12081991 +gotigers +19101987 +chelsea9 +money18 +matt23 +werwolf +мамочка +nigga4life +25051988 +orange99 +kimchi +usmc +gunbound +grandma5 +loser14 +ashl3y +Julian +ricky12 +portos +dancer4 +198519 +1115 +161085 +cocoliso +destino +10041987 +rocker123 +051288 +bigbaby +daddy22 +jeff1234 +kirby123 +constance1 +120882 +saniya +tinhyeu +chapman1 +angellove +salame +a1234 +vodoley +locos13 +198322 +23021990 +poobear1 +super3 +crazy22 +greenbay4 +000888 +needjob +1tiffany +10041990 +ilona +18811881 +vbktyf +����+����� +481516 +151087 +230287 +08154711 +040985 +singles +lauras +200389 +170590 +nicole1234 +jerald +020686 +calculus +12071988 +cloud7 +undertaker1 +121294 +Zxcvbnm +never4get +bailey08 +dixiedog +dashadasha +johnny11 +jk1234 +�+��+���+�� +nicaragua1 +1iloveu +wilhelm +harley02 +noone1 +120683 +truman1 +130486 +celeron1 +stephany +toledo1 +jump +your +austin02 +flaco1 +fallout2 +blunt +23031991 +bluegreen +natalia123 +jessica20 +blazers1 +merchant +170585 +baptist +pimpin! +andyandy +saraswathi +aaron11 +10081987 +danmark +thomas07 +ninjas1 +sam123456 +wakeboard1 +22031991 +mircea +11031991 +jacob7 +mega +20041990 +250190 +malossi +little12 +09091987 +sananelan +chicago7 +10011992 +shane12 +popcorn5 +porsche944 +michael05 +angelica12 +110029 +110591 +nekoneko +anya +killer. +manumanu +olayemi +250189 +luismiguel +signup +cookie. +131185 +baller33 +4babies +05081988 +harley! +dora12 +alvaro1 +fatima123 +120580 +21041992 +pastis +elgato +12345678w +fel +onizuka +tictac1 +nathan22 +kamal123 +ugly123 +bharath +sebring +diamond10 +myspace27 +nelson123 +barbie7 +120480 +220385 +123rf +140589 +princess03 +210189 +2015 +force +fuckyou77 +jessica19 +02071988 +lessthan3 +loveangel +damian12 +150289 +laika +220885 +061 +scooter5 +honest1 +underwear +199100 +elenita +monica01 +forever8 +mindfreak +11111987 +niewiem +ss1234 +goku123 +vjfLkiG522 +justin20 +twokids +popcorn11 +050587 +a789456123 +1passion +140587 +14011987 +444666 +13121990 +15081990 +billbill +littleman2 +vatoloco +content +guccimane1 +180590 +mak +qqwweerr +link1234 +290488 +single! +yfnecbr +david! +nietzsche +choclate1 +14021985 +diablo11 +leah123 +caro +100492 +bobby11 +foreverlov +qweras +blackdragon +22091991 +booboo69 +pazaway +yellow9 +twitter +adelka +demetrius +woodward +internacional +170688 +sheree +170488 +star07 +ranita +tanger +mysecret1 +120283 +simba2 +isaiah2 +titou +bless +w1963a +201080 +cricket123 +10041004 +3eHd1ixi1Y +malayalam +101011 +ktm125 +maggot1 +siegheil +�������+����� +12041986 +hello09 +100884 +angel2007 +sharky1 +16101988 +caribou +197575 +9988776655 +07071988 +cherry22 +250489 +all4him +alice12 +400004 +snooker1 +141089 +saab9000 +wanadoo +gizmos +140990 +super11 +wargames +cthuttdyf +models +q1w2e3r +lampshade +111979 +przemek +hooper1 +23121986 +bilbao +19051992 +sexy66 +200685 +smirnoff1 +asd123asd123 +vette +mko09ijn +bigpapa +static1 +cfytxrf +thuggin1 +fish11 +gfhjkzytn +abc789 +12021991 +getrich +samarth +drew12 +1311 +money55 +yazmin +test11 +benton +skazka +goldmine +albastru +66778899 +201000 +caroline12 +CAPA +parker12 +manolo1 +justice2 +12081986 +myspace45 +781001 +kassidy +sweetie3 +1kitten +davidd +15121989 +termite +poop90 +evolution8 +brewster1 +18061991 +140188 +241085 +catherine2 +12031988 +june2008 +chino123 +020290 +131090 +20081990 +medium +kikimora +fuckyou89 +Diablo +funeral +sad +sexisgood +billyjoe +nokia6120 +spring09 +281189 +10021990 +123456789012345 +bubba5 +mary11 +grease1 +ginuwine +garcia123 +CHOCOLATE +mitch123 +play2win +sector +greedy +priya123 +april04 +5858 +mynigga1 +coglione +bigboy69 +bitchface1 +angels4 +ilovehim. +killzone1 +21436587 +anne123 +25101990 +quantum1 +230684 +iceman2 +201290 +6string +gospel1 +essendon +coniglio +ashlynn +johndeer +15051987 +looking123 +rafa123 +consultant +shygirl +metallica9 +lizbeth1 +100790 +daryl +dagobert +maharaja +sasha1995 +triplex +twentyone +170586 +marduk +mickie +lashay +nike13 +sancho1 +rjnzhf +241286 +estrella12 +heidi123 +picachu +Valentina +adelante +reckless +221183 +shivers +130592 +190586 +fiocco +onmyown +21021986 +summer77 +aaa12345 +cherry14 +mydog1 +255255 +download1 +raul +leadership +john3:16 +23021988 +david24 +cellulare +11qq22ww +adrian11 +mustang98 +02061988 +amante +cousins +lolman +swordfish2 +angelangel +a102030 +elisha1 +141290 +3112 +hadley +impala64 +200589 +iamhere +251284 +150687 +jody +madame +justinb +10011986 +mariam1 +brandon06 +alternative +261087 +rainbow13 +pickles123 +pimpin13 +tomasito +030389 +14111987 +hannah16 +171086 +tobydog1 +12041991 +11061991 +andres12 +vjq +05050505 +matthew08 +241087 +gutentag +October +ihatelife1 +grandkids3 +13121986 +199512 +300588 +laloca1 +stephanie3 +Admin123 +five +carlos18 +150486 +walking +potter7 +120592 +120791 +gfhkfvtyn +hjvjxrf +angel91 +punkass +vfhecmrf +197911 +lynne1 +asshole9 +contessa +diehard1 +taz +carla123 +150789 +oneluv +duranduran +rangersfc +ivanna +150686 +wild +friendofArriane +100591 +ballin13 +mckinley +delores +liljon1 +anna88 +410206 +carter123 +redwood1 +goforit1 +marysia +abhijeet +s7777777 +muffin01 +bigdawg1 +bucky +171290 +19121991 +hejhej1 +jayhawk1 +dropdead1 +210686 +mandi1 +MELISSA +securite +otis +27101987 +az1234 +edalwin12 +12051986 +thomas09 +jack23 +sirius1 +kamila1 +mommy1234 +reaper666 +woodlands +spot +paulinha +741852963a +babygirl99 +niconico +23051987 +bubbles14 +02021982 +tantra +121183 +mike33 +140389 +20101984 +giada +sergeev +spain +myhouse1 +alfabeta +170388 +cahaya +15041988 +destiny10 +browning1 +230290 +bigdog123 +160890 +rodion +061288 +aqwxsz +grandma4 +star08 +free11 +1crystal +mail123 +100186 +seniors09 +kurwa +210684 +19121986 +claudia123 +pimpin01 +oreo11 +wildone +110592 +quest1 +22552255 +17121990 +asdlkj +lovesucks2 +caccola +shaved +commando1 +vredina +miyuki +blacklab +jiefang998 +mimmo +130590 +moymoy +olivia3 +020389 +finish +fitzgerald +qwerty101 +bowwow123 +100188 +lampard1 +zippo +lovey +11041991 +lazio +040490 +rocky10 +bossboss +cutiepie13 +larousse +jose21 +hunnie +210985 +10121984 +1254 +terrier +sports2 +serafina +banana5 +jacques1 +bienvenue +janeman +170289 +310590 +polopolo1 +badass69 +teodio +chicago123 +ali123456 +deicide +mariela1 +zazazaza +loveee +turtoise +dragon0 +140489 +221084 +javon1 +13021990 +soccer28 +221290 +police12 +18041991 +blackice +270989 +alex1998 +milanisti +mariko +bailey07 +bimbo1 +112212 +golf1234 +56835683 +hallelujah +xyzxyz +artem123 +petey +197676 +cod12qw75RqYi59n +1fatboy +murdock +13041988 +crystal3 +11031987 +987654321m +chopper2 +angels01 +stephen2 +grass +ducati1 +13061986 +20061991 +andone +snicket +cochise +rosemarie1 +pamplona +130891 +hetfield +scooby3 +prince7 +sarita1 +winifred +hopkins1 +confident +justina1 +13101987 +careers +bearcat1 +q1w2q1w2 +020688 +110784 +eunice1 +13371337 +babalu +vfvektxrf +oscar11 +10051989 +dannie +11092001 +rocio +chinky +alex92 +hotbabe1 +skinner1 +dolphin3 +cou +250685 +181186 +240788 +sawyer1 +jess1234 +asdjkl +thecat1 +marites +ma1234 +twins123 +271089 +alex007 +1candy +dasha1 +СЏ +101295 +anelka +sunmoon +bustamante +dogboy +160688 +diploma +lakers09 +10031989 +010192 +ripcurl1 +katenok +180690 +220187 +jazzy2 +20021991 +steelers10 +jayden3 +1lovejesus +july4th +olemiss +tori123 +healing +nikeair +gennaio +121978 +assclown1 +Scooter1 +getmoney3 +johnny01 +kellys +a22222 +numbers1 +260490 +nalini +240686 +221187 +25121985 +sunshine20 +Hockey +zalina +hollaback +taylormade +stefany +berry123 +samantha5 +salazar1 +skillet1 +guitar69 +31121990 +120186 +rehman +04 +aaron13 +gaucho +jesusis#1 +george7 +alf +kallie +rhinos +120383 +walik007 +lemuel +breaker1 +husky1 +rogue1 +alex2001 +scarface13 +11021988 +210984 +mike25 +alex1 +tuktuk +kevin07 +nikko1 +maharani +baby45 +winnipeg +archery +kay +iloveyousomuch +dreamon +bently +gucci123 +dizzy +scissors +touchdown1 +212121a +1234567890123456 +keykey +magyar +roldan +manga1 +12091989 +qwerasd +130286 +malawi +sheridan1 +Peaches +ilike69 +alicia2 +helpme123 +lahore123 +allahabad +281290 +regenbogen +23061990 +cheer06 +150790 +mexican2 +sp1derman +tigger09 +198421 +babygirl88 +prague +principal +illmatic +444888 +rafiki +230587 +200887 +nokia3110 +sabado +ventura1 +antony1 +straight +monkey05 +cheer3 +lapo4ka +asdfgh2 +180388 +intel1 +prancer +fuckl0ve +bringiton +Boston +171287 +mailkuliev +sequoia +NICOLAS +kingjames2 +baby55 +anaconda1 +hero123 +polini +gui +edelweiss +donkey2 +fifteen15 +tiffani +reyrey +shuffle +deep +danil +jaylin1 +nigga13 +choppers1 +m654321 +alexis23 +asdasd11 +des123 +fidodido +copper123 +210589 +210886 +Aleksey +liverpool12 +milagros1 +millerlite +140484 +basura +wicked13 +horses101 +700001 +74185296 +diana13 +20062007 +110391 +scroll +baseball69 +20021989 +130886 +03041991 +footba11 +kartik +23051990 +peewee2 +mogwai +tucker11 +mariah2 +segun1 +black4 +droopy1 +maybe +candy21 +nata123 +47474747 +260590 +super6 +77887788 +dungeon +mirinda +W +monika123 +123007 +07071986 +mememe3 +playa123 +231092 +nokias +bluegirl +19511951 +nana01 +111183 +301190 +whiteout +gabriel13 +scorpio7 +july04 +171186 +harvard1 +austin8 +02041988 +1dolphin +wwe12345 +lovebug12 +powerade1 +21011991 +galicia +colombia12 +stewart14 +snuggle +tequilla +020282 +Starwars1 +301286 +060788 +020590 +allday +02051986 +19071989 +cartier +lamborghin +15061987 +element3 +wilfredo +rfhjkbyf +261090 +cheer7 +belleza +dingbat +1steven +flawless +17121991 +internet123 +130288 +181089 +cosita1 +josh21 +emolove1 +bubbas1 +0001 +1sexylady +icarly +mona123 +12031985 +220186 +hammy1 +adidas11 +251190 +rainbow4 +grandkids4 +aka123 +vendetta1 +13121985 +20051985 +230785 +21051991 +taratata +������������� +azerty123456 +sunshine88 +pasta +V +thickness1 +bigmomma1 +160588 +tweety23 +hearty +april08 +25101988 +abcdef123456 +joker11 +20081987 +ALEXIS +cecelia +260589 +mariane +babyblue12 +joker666 +ryan14 +qwerty25 +joel12 +rubina +hockey01 +passion8 +multisync +bismilla +tomandjerry +lucky18 +int +breakfast +matthews1 +da +loveme6 +mustang6 +jijiji +02031991 +19031993 +261083 +charlie09 +pokemon23 +251182 +fuck1t +bobdylan1 +smoke20 +15071987 +agostino +cuba +williams2 +tigger15 +lelouch +nokia6500 +122003 +310585 +pepper4 +teachers +southpole +friends101 +roxygirl1 +mikolaj +duckduck +a147258 +southside4 +jasmine15 +123456tt +2410 +spaces +gethigh420 +dadsgirl1 +jessika1 +come2me +konoha +metallica8 +dreamer2 +ruben123 +riddle +chrissi +jonathan10 +girl11 +stupidass1 +monkey95 +10111011 +150190 +element13 +nevershout +salavat +050586 +eddie2 +250690 +28121987 +football64 +midnight7 +suckme69 +babe101 +rocklee1 +mankind1 +200390 +199412 +basic +nikitin +hunter04 +uekmyfhf +as0620 +estupido +180587 +dakota10 +egypt1 +winner12 +cioccolata +050788 +250886 +jerrey232x +tallulah +301285 +dawidek +almera +winniepooh +verde +220290 +020287 +1brittany +solnze +deb +hamster123 +sbc123 +f1f2f3 +virgule +12051992 +cardinals5 +198321 +jigger +antiques +000222 +lucky007 +thanh123 +katerina1 +webkinz +hannah04 +22031990 +vfkbyrf +fresh2def +sony1234 +sammy22 +edouard +tigertiger +ralphy +12051990 +henriette +10041986 +loser1234 +taztaz +X60zAY0468 +sharan +10091990 +honney +mickey14 +150386 +culture +120991 +iloveu14 +250286 +namrata +234567890 +athome +11121989 +powerhouse +january4 +vaz2106 +@elit-centr.com.ua +georgia2 +mischief1 +hubbabubba +withlove +2014 +300687 +koteczek +pimp06 +fuckyeah +kid1412 +111282 +murda1 +novell +210786 +290788 +robert08 +forward1 +Gracie +mangoes +lakers34 +montes +brock +fastball +15101985 +gmail +051289 +freedom13 +character1 +babygurl! +house2 +123888 +love6969 +yellowrose +babyboy01 +froggies +kashmir1 +pebble +wlafiga +erick123 +charis +rhianna +01011994 +fullmoon1 +beepbeep +jack111 +24688642 +getout1 +glamur +darby1 +130390 +ribeiro +bandito +qazxswedc1 +11081987 +sexytime +Happy123 +norbert1 +events +deacon1 +11061986 +123456789- +23101985 +MAGGIE +2505 +love36 +15101990 +debra1 +6Cxd2X986x +sandra01 +1bubbles +honey23 +makedonija +ladiesman +juegos +06061987 +k12345678 +catalyst +230292 +24041991 +keenan1 +26061989 +1turtle +180588 +puma +friends8 +584131420 +toptop +password98 +nnnn +frazier +liquid1 +pussy! +tiger8 +honda99 +nicki +bieberfeve +animelover +fyabcf +korn123 +311086 +lolek1 +melissa5 +tormenta +monster22 +acquario +raiders11 +zangetsu +juanes +myspace44 +mothers +kasumi +21031991 +arcade +nutmeg1 +rubicon +bonnie01 +geo +600004 +dawg +0311 +211087 +olivier1 +class2012 +22061987 +07071984 +carmencita +11071989 +151187 +100783 +260986 +10061987 +qfcFgdA3zx +333000 +babygurl08 +der +ok123456 +dany +22071987 +laylay +flirty +jackass69 +tanner01 +notagain +queen23 +pickle123 +airjordan2 +26101987 +220282 +robert16 +smoke2 +1119 +utyyflbq +gocubs +280689 +stirling +25051989 +mayday1 +pinokio +300690 +buster99 +karaganda +tinker11 +redsox5 +janessa1 +layouts! +timati +030588 +aa000000 +hollister0 +210190 +200187 +prime1 +02081989 +lovelife2 +oluwatoyin +peanut4 +cookie15 +11071987 +willi +hockey27 +sammy14 +240690 +roswell1 +agadir +password29 +s123123 +state1 +alexis05 +badabing +bebe13 +johnny! +caraculo +erotica +memories1 +365365 +sasquatch +18091991 +raffles +spring07 +aminat +hrithik +kilkenny +roxette +ce +141189 +110491 +20031991 +stickman +altoids +1smile +fenix +260989 +123456jj +oliwia +dragonslayer +271090 +25101991 +anhyeuem1 +170685 +faerie +killer24 +shannon7 +abigail2 +1green +hogan1 +carrillo +booboo10 +klklkl +elliemae +rockon123 +240987 +avatar123 +190589 +paulinka +13031985 +genesis11 +softball07 +jesus9 +nathan5 +110882 +loopy1 +muslim1 +father12 +s111111 +carlos69 +anonelbe +egorova +player22 +rodger +261289 +lollypop12 +sa1234 +101094 +14031991 +richard01 +monsters1 +160490 +adenike +ally123 +web +caballo1 +sydney11 +monster8 +pussy22 +furball1 +190789 +13061990 +lalaine +fuckyou24 +yourmom3 +cool21 +kilroy +bluejay1 +281289 +80sbaby +270688 +huihui +stephy1 +13121989 +banjo +jakarta1 +3535 +020687 +pooh14 +allgood +josie123 +stupid11 +mates +te +260691 +morgan5 +quick1 +kanker +12071991 +251285 +bobbys +alkaline +23081990 +seo123456 +renee2 +198723 +lordlord +pedrinho +14041992 +11021985 +240989 +100984 +lucass +ilovehim3 +repmvf +yeahright +im2sexy +aezakmi1 +loveyou5 +souleater +23061987 +lekkerding +ani +120120120 +050988 +underoath7 +double07 +23041986 +smile4u +timberwolf +190488 +chevalier +chelsea08 +dilligaf1 +hjvfyjdf +150886 +160587 +moc.oohay +25031988 +function +300590 +w1962a +love1989 +23051988 +carsten +kin +111177 +bee123 +next +301288 +jsbach +iggypop +BARCELONA +shabba +21031990 +1eminem +15987 +lucky24 +260190 +green25 +yingying +dustydog +nantucket +tijuana1 +jm1234 +monkeylove +cody01 +iamsexy1 +Claudia +celica1 +cock69 +666666s +110582 +screamo +milwaukee +mailbox1 +456asd +crips1 +jordan00 +abc123xyz +181290 +nathan05 +raymond2 +june09 +250490 +schwein +tissot +1943 +paupau +111087 +pisolo +emmarose +xxkk01234 +7u8i9o0p +foxylady1 +carmen2 +domain +kitkit +01021988 +islam1 +ghbhjlf +lilwayne23 +fishtank1 +coocoo +grandmother +setembro +harshita +30031988 +15021987 +puppy3 +asd789 +051 +MATRIX +02061989 +mario3 +130490 +crispy +100882 +22041986 +05051988 +soul +230891 +198010 +josh16 +13051987 +WoE45bYzRY +diablo3 +p0pc0rn +B1LKeB6711 +12051989 +shit69 +22061989 +guitar5 +kaleigh1 +iloveeric +06061988 +sochi2014 +peoples1 +romeo2 +11111985 +marquez1 +juan1234 +emin3m +hireme +greywolf +millertime +pumpkin12 +football84 +lyubov +kitty23 +ambika +21031987 +thecure1 +tomcruise +12061986 +14051987 +gogators1 +jackson11 +zappa +210785 +junior16 +agenda +Mother +qwerty18 +310888 +paulinho +rusty12 +230386 +looking4 +135795 +bammargera +deepblue +wakeboard +upload1 +andreeva +110692 +100985 +juniper1 +colors1 +banana3 +tigers07 +verbatim1 +120880 +131425 +BUTTERFLY +madhu +12111211 +merlin12 +spider3 +ole4ka +dukeduke +11011991 +nirvana7 +angels13 +angel. +20071988 +никита +iopiop +30061987 +austin6 +tigers09 +jiujitsu +fatbitch1 +dfcmrf +291 +240487 +asshole6 +10011985 +watch +skateboarding +quinn +oldsmobile +101988 +mirabelle +010788 +cash12 +12081208 +123456ma +buffett1 +chase12 +maruska +13101988 +7788250 +11101991 +jigsaw1 +liza123 +spectre +fvthbrf +sound1 +13111987 +common1 +timoha +19051988 +shorty6 +280188 +baby27 +bitch88 +chinatown +ilovesteve +280882 +12121212a +13101986 +matthew14 +00000000a +baseball32 +bondarenko +Twilight +220692 +16041987 +210186 +? +chapstick +18121991 +060789 +liverpool4 +bayarea1 +carolann +zinaida +bulldog12 +adebowale +280889 +slayer2 +1223456 +alireza +superman18 +668899 +WZF2SmE498 +24111987 +love1991 +12061991 +20061989 +harley04 +mizuno +270587 +roxy13 +titilayo +hemmelig +ender +12021202 +121081 +10011991 +000000000000000 +cameron11 +renata1 +150785 +yellow8 +1happy +dasani1 +football00 +booger123 +mariah123 +cyber1 +142536789 +adedeji +bella23 +11251125 +maria21 +120191 +12071989 +pochacco +198319 +alex95 +daddy101 +livelaughl +penny2 +boytoy1 +12101992 +cybershot +allahisgreat +jadakiss1 +161190 +albert12 +grace7 +jack24 +napoli1 +folgore +error +hotsex69 +20081988 +02051988 +06061990 +summer9 +hillside1 +161287 +150786 +07071989 +rovers1 +201283 +1shithead +kingjames1 +schools +minhavida +young123 +gtkmvtym +vaz2107 +school5 +andrea. +lilman12 +patty123 +titina +������ +010688 +Welkom01 +tigger24 +pollon +live4love +augusta1 +greek1 +20121985 +170790 +220285 +fredrik +yellow99 +sexy67 +mi +oluwatobi +valenzuela +16061986 +bananas123 +saphire1 +chouette +bleach123 +clotilde +120682 +Hawaii +rotary +martin10 +12071987 +210687 +4455 +tabbycat +16021990 +freaks1 +gfgekz +samira1 +tatatata +butcher1 +robert24 +49ers +160989 +199212 +120582 +gam +betina +1midnight +lucky88 +12101985 +bungle +21121988 +tigers3 +198910 +fuckedup1 +100682 +12121980 +vikings28 +tigerman +resident1 +dizzle1 +221091 +mario5 +161187 +250889 +rayray123 +silicon +noname1 +deniss +10021989 +05061987 +271286 +m111111 +horatio +500038 +pleasant +20051991 +sable +241285 +anabelle +modesto +heart12 +avenged7 +240490 +piazza31 +micmic +king99 +2412 +225566 +yomamma +17021991 +frankie3 +claudette +111192 +clarkkent +sensitive +vip +200487 +alan12 +nathan! +161090 +ktjybl +140487 +saisai +090986 +030987 +tamika1 +yanina +shushu +sasuke11 +princess98 +basket12 +manpreet +honda01 +24101988 +160290 +perfecto +daria +google. +070786 +160985 +katie5 +paralelepipedo +Maxwell +myspace55 +jayden05 +beau +iliana +070890 +bailey24 +sunshin3 +160888 +19091985 +qwertyuio0 +211285 +nostradamus +deer +caruso +tiger1234 +babygirl02 +twenty4 +thewall +muyiwa +10041989 +pumkin1 +lifeguard +01031989 +camryn +17031987 +sou +bolabola +sensor +myszka1 +101520 +maktub +immaculate +crissy1 +123asd456 +mclaren1 +lifegoeson +shelby13 +cheeks1 +chucha +inlinked +020888 +elpaso +crazyboy1 +shyshy +sos123 +poohbear11 +mystique +khalsa +signin +1234567A +joker3 +email1 +comein +majiajun +homie +161189 +SOPHIE +chicken69 +series +HELLO +missingyou +pawpaw1 +godawgs1 +kiran123 +pipipi +fonzie +Inuyasha +shipping +17101987 +diamond21 +wolverines +leonora +22061988 +271186 +alistair +bullrider +nin +surendra +pennylane +friends01 +feyenoord1 +japanese1 +bottom1 +silencio +andrew. +17121985 +170389 +tigger77 +eureka7 +nessa123 +magaly +espada +isaias +110291 +alpina +piepie1 +papamaman +terremoto +13061989 +vasilek +lilboy1 +crappy +280488 +110290 +sweden1 +888000 +110682 +david8 +sandra11 +15031990 +raulito +18101988 +17051988 +11091989 +dasani +15031991 +4vgYvq46aJ +stars2 +humble1 +invictus +quick +159357159357 +rerfhfxf +131085 +11bravo +xoxo +apple21 +12011988 +luis15 +samuel11 +10111988 +delano +sasha11 +corporation +santos123 +Melissa1 +annabell1 +5841314520 +1234567890s +twin +13081989 +310586 +jacobo +kisses4u +22041991 +13971397 +frida +virus1 +11021992 +ashley99 +prison1 +bmwm3gtr +dragon07 +230990 +family101 +leslie12 +crusty +devilmaycry4 +141190 +130987 +1number +121181 +andre12 +naruto4 +q1w2e3r4t5y6u7i8 +121295 +260684 +esqueci +mausi +25121991 +19051989 +minniemouse +tulip +Canada +pinkgirl1 +harpreet +260290 +nena13 +finlay +jessica24 +lucydog1 +22061991 +4209211 +261285 +pizza5 +01061987 +manuella +251084 +alex94 +wangwei +13051988 +121221 +130683 +errereer +mario10 +futbol10 +football74 +260685 +clouds1 +06 +angelie +quaker +chicken9 +littleone1 +weed11 +love2u +ryan10 +30101987 +trabzon61 +201083 +4everyoung +654321j +phoenix13 +l0vely +kisses! +031286 +a!515253 +1597532486 +icecream7 +trigun1 +hanna123 +kissme! +hockey! +jennifer19 +habana +jack07 +gifted +160487 +valiant +ilovemyson +vangie +eumesmo +peanut69 +SNOOPY +classical +shinigami1 +hey1234 +computer4 +kiki13 +johnny23 +crazy23 +hearts123 +lan +13081991 +juliette1 +260688 +gen +mayfield +16061988 +april07 +hellow1 +mahavir +automobile +dfcbktr +peepers +pink89 +kenneth2 +sarahs +10101993 +alyssa10 +daddy09 +george10 +28101991 +formule1 +lalalalala +250582 +02051989 +maryjane2 +231290 +channing +abby1234 +001979 +boxster +26061991 +270990 +penguin12 +nicolette +jumping +123456bb +290388 +pants1 +kiki1234 +david9 +softball00 +25031987 +smartass1 +10021988 +20091991 +rochester1 +bitches3 +mamanpapa +tazmanian +nnnnnnnnnn +cuteboy +hallie1 +121192 +20021990 +dirtbikes1 +11041986 +ballin22 +celibataire +washburn1 +fungus +p6264758 +ichbins +fhntv1998 +stupid3 +198110 +7US20 +jesusjesus +beebee1 +bailey5 +777444 +outback1 +231282 +numberone1 +198419 +23091986 +198423 +kostyan +hangover +luis14 +160987 +junior18 +jerkoff1 +jackass! +Monster +atlantic1 +sophia12 +holly2 +hyper +limewire +123321fvfv +hombre +auntie +tweety6 +tiger99 +123a321 +dinky1 +blahblah12 +16081988 +micha +141085 +Apple123 +290987 +home12345 +klaus +kadett +brody +nachito +1chelsea +315920 +lambo1 +19031990 +mikaela1 +10031992 +johndeer1 +gulnaz +241091 +fuckyou16 +031187 +mymummy +sudhir +buckley1 +vovavova +music1234 +190888 +199012 +oswaldo +amiga +persoff +Hallo +040489 +eminem69 +123569 +260789 +100691 +rarara +edcvfr +100991 +thundercat +buddy14 +sabina1 +lakeland +katten +112234 +honza +pink06 +critical +envision +honey21 +goodness1 +morgan22 +05051991 +atlas +tru +badboy3 +swim +getalife1 +12061989 +sureno +gateway12 +atomic1 +jimmy5 +454647 +270873_ +21041988 +21091987 +bigjoe +sarang +05051986 +scott2 +02041986 +11041987 +amoroso +bubba69 +edwin123 +��������� +11031985 +271187 +purple89 +chivas15 +daftpunk +zombie13 +lalo123 +annie12 +21121985 +live2love +faith777 +adidas69 +magic7 +crazylove +maldito +198720 +21061990 +10021991 +lateralus +canaille +forgetful1 +fubar1 +marcus01 +101293 +14021988 +161285 +1118 +appleapple +a1s2d3f4g5h6 +POKEMON +happybirthday +kakarot +d54q7xjmhx +fuckmenow +african +cloud123 +210585 +mybabies2 +andrea21 +151283 +kayla10 +holahola1 +13071987 +pizza3 +16101986 +pray4me +juggalo69 +markie1 +kailash +love35 +gangsta101 +tyler09 +pink00 +01021986 +turtle13 +23021985 +020388 +peanut07 +170786 +angel90 +corner +pizza11 +irina123 +a1b1c1d1 +230489 +Lvbnhbq +cfrehf +2020327 +lapin +chewy123 +monster6 +louisville +210490 +babygirl27 +17121986 +pepper23 +21011987 +faith3 +c00per +robles +11051990 +1234qwerasdfzxcv +newlife4me +ford250 +freebie +sargent +240186 +78963 +victoria3 +kamera +mautauaja +coc +1smokey +010488 +thibaut +zoozoo +cheap +blood3 +example +gerson +ganesh123 +ASD123 +ayden1 +ineedmoney +130385 +offshore +kampret +a23456789 +babyboy11 +101202 +ballin21 +hollywood7 +funtime1 +261290 +sexkitten1 +jennifer21 +23091991 +amber14 +cde34rfv +qwe123rty +alex1999 +01071986 +poohbear5 +100891 +leicester1 +baby94 +croatia +151290 +motylek +coccinelle +130784 +micheal2 +15021991 +turk182 +whatever69 +orbital +280886 +tortilla +hawks +website1 +261189 +231182 +soccer96 +vicelord5 +eleonore +class2008 +111111qq +11081989 +pookie11 +moonchild +100684 +spiderman! +afolabi +toilet1 +jennifer23 +medico +sridhar +tatyana1 +tin +100692 +chelsea4 +210683 +afroman1 +30031992 +speech +maggiemay1 +140291 +basset +brain1 +scoobie +tttttttttt +021089 +cheyenne12 +missie1 +220391 +arisha +include +220489 +321meins +220284 +bitch#1 +1sweetie +volgograd +141187 +cippalippa +shemale +021088 +1nicholas +s1s2s3 +24689 +zxc1234 +04041986 +100390 +stephens +beauty12 +asnaeb +rhino +22111989 +191188 +fkm: +cnhtrjpf +пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ +antelope +vfvfbgfgf +packer1 +lechat +tweety07 +babalola +421201 +bailey99 +face +sonu +bianca12 +violator +wendell1 +pecker +190590 +charlot +cantor +280388 +000012 +20121986 +30121986 +226010 +lambada +12031989 +book123 +123212 +dragon33 +fairview +hammerfall +morgan! +booboo! +married2 +alex1989 +iloveyouu +SUMMER +dewey1 +nittany +pimp99 +joey13 +zoey +cookie17 +241084 +110384 +irvine +vegas123 +270984 +rockband +161084 +innovation +jonesy +300589 +icp123 +aniyah1 +bubbles23 +15021985 +1234567i +henry2 +amit123 +jeevan +sunnyday1 +10011990 +treble +kimkim1 +njkcnsq +tasneem +cheesey1 +yagami +candy15 +living1 +strasbourg +sin +core2duo +anonim +dulcinea +271188 +mylove11 +12021992 +panda13 +dunkin +321321a +snowman2 +25021988 +12561256 +198424 +accept +fuckuall +swetlana +19031985 +kickboxing +01101987 +eatshit2 +081 +26041988 +ccccc +01021987 +mujeres +fartface +2pac +doubled +momdad2 +bmw2002 +agusia +melissa01 +les +heineken1 +21guns +love2you +schubert +iloveamy +carnival1 +sure +shogun1 +mickey07 +jacksparrow +jenny11 +travolta +callaway1 +mariska +crockett +291088 +happy99 +toolbox +pumpkin3 +18041987 +senate +230185 +ifeoma +nate12 +18121989 +dancer5 +100191 +notnow +ac +password* +fylhtqrf +babita +140390 +21021991 +NATHAN +250687 +imabitch +19071991 +margareta +11021990 +gauthier +ionela +Albert +hazelnut +031089 +25101985 +290689 +01011974 +sex12345 +mynewlife +austen +roosevelt1 +irlanda +patrick4 +28041987 +godrules +03031986 +prometheus +140790 +sexiest1 +pittbull1 +z12345678 +160889 +matt21 +220684 +PCwAC33gb9 +18021991 +14061988 +bella4 +13061987 +010102 +cerber +georgette +andrea22 +19041988 +satan6 +marie! +football85 +785612 +lulu889jdddd +05061986 +alexis02 +dol +jojo22 +ride4life +121004 +comida +270789 +gjvbljh +223355 +automatic +cyrus1 +sea +30secondstomars +deadhead1 +school10 +171085 +bradley2 +daniel00 +09091989 +nyyankees +rollie +bobby5 +140385 +iloveher! +kate12 +cassey +luis1234 +510510 +buldog +sabian +punjabi1 +alexander123 +candles1 +875421 +kl098709 +members +100491 +rocker12 +251280 +11121984 +281185 +bigboy5 +steelers36 +bobbyjack1 +slovakia +dodge1500 +170988 +epson +denton +believer +devendra +davedave +10021986 +cielo +18051990 +140985 +17021990 +blbntyf +shygirl1 +12091991 +ibrahimovic +98769876 +yourmum1 +ibelieve +herewego +123qweqwe +geforce +monserrat +jonathan11 +sierra01 +dynamite1 +071188 +oliver22 +adedoyin +190587 +152152 +abcde1234 +caliente1 +orange. +124567 +channel1 +02051991 +lilfizz +pussy21 +edward7 +bastos +andrea3 +tampa1 +11071991 +09091990 +padrepio +radiation +yan +ralph123 +150592 +parsons +04041989 +021286 +jaipur +500029 +elwood1 +198765 +polkmn +pochta +marzia +12021986 +10011987 +weed4life +jennifer69 +benben1 +20071990 +220785 +130388 +lumber +snow12 +leon12 +123qwe321 +200285 +torito +110891 +thelord +plopplop +marker1 +cherry! +jodie +tiamaria +january30 +524645 +154154 +13071988 +brianna7 +1234we +scooby01 +keller1 +gabbie1 +wilder +justin. +140986 +301085 +01071987 +hyphy1 +260489 +pookie01 +01071985 +houston2 +jacko +marley12 +iloveme11 +22111991 +12041987 +140984 +020987 +calista +diedie +myson1 +120284 +lilfizz1 +bullshit69 +turtle11 +clever1 +nokia12 +brooklyn3 +terrapin +salute +county +10011984 +marjorie1 +abuelita +sexy44 +23101990 +systemofadown +letsfuck +happydog +1q1q1q1q1q +sachin123 +emoemo1 +gjgeufq +11061988 +luis10 +airport1 +matrix01 +06061985 +29710455d +musics +10031991 +sarah22 +pokemon0 +superman07 +101280 +270188 +girasol +runaway1 +mickey69 +06061989 +wellcome1 +loveher1 +wojiushiwo +snoopy! +23031987 +010108 +271284 +juggle +180490 +fender2 +a147258369 +semper +jammin1 +blue34 +pomme +desert1 +050595 +10051986 +214 +seb +babygirl123 +260288 +stalingrad +231091 +uhf9QDH +vicente1 +santi +angie12 +x1x2x3 +120482 +100989 +madzia1 +abdulla +chicas +hailey01 +21061987 +alex2002 +riviera +101093 +29121987 +200386 +19051990 +coklat +metroid1 +aquafina +111977 +falcon7 +1122331 +mickey4 +longhorns2 +boysoverfl +gretel +28051991 +mila +jrcfyjxrf +240187 +131191 +mir +mustang8 +millicent +123123d +davidb +lovess +army123 +owner +200800 +22051990 +sudhakar +mariaelena +pompom1 +malatya44 +asa +160388 +chijioke +loveyou11 +151184 +201084 +movement +betito +01041986 +victor11 +pluton +gogreen +daniel89 +heartagram +lea +120281 +Anastasia +cutiepie11 +12111991 +15081987 +ilovejacob +doc +tuscany +140486 +170785 +brianna5 +1234567qw +webcam1 +bugaboo1 +1303 +12001200 +11111989 +25041987 +heynow +bedroom +aaa777 +120183 +lego +mohsin +letters +cowboys01 +watkins +kalani +271184 +lovegame +210289 +poop10 +keerthi +MONEY +qwertyui2p +020488 +urmom123 +eagles09 +130186 +candyshop1 +nosmoking +gemini69 +4815162342lost +2110 +bulldogs12 +mamica +paris12 +melon1 +crappy1 +greenday13 +521000 +jus +performance +250185 +montrose +please2 +dolphins2 +12041989 +luckyme1 +England +eric13 +everquest1 +132 +zorro123 +john1010 +270487 +01081988 +ashley93 +really1 +trey123 +olivia13 +kassidy1 +ruslana +melon +zindagi +piranha +vfhctkm +ppp +gb15kv99 +101210 +260486 +wasd123 +200290 +paulpaul +skaters +r1chard +200882 +outlaws +281286 +101193 +kevin15 +vince15 +amaya1 +291287 +eminem13 +051290 +tyrese1 +123456.. +tanusha +061290 +310787 +metallica! +13031992 +brooke13 +rock&roll +260790 +mommy07 +nippon +311285 +hardcore69 +allo +18121990 +michael0 +happy4u +160585 +condom1 +21041987 +viola1 +jojo23 +riley2 +111976 +turtle7 +poohbear7 +soccer32 +1405 +leavemealo +money33 +nicki1 +crazy10 +290687 +Samsung1 +charlee +bianco +160390 +budda1 +16071987 +taco12 +matthias1 +star67 +kitty8 +godfirst1 +jayhawks1 +03041987 +11071988 +1charles +sulaiman +171187 +alright +01091987 +MICKEY +energia +manman123 +agustin1 +250887 +brasil10 +pasta1 +18021987 +23011985 +gta123 +freshstart +mustang03 +fruit1 +willard1 +annie2 +11061990 +sowmya +sopranos +optical +pepepepe +18121987 +170484 +cassy1 +2204 +andrew9 +marmaris +arsenal4 +180990 +tigger16 +bus +111991 +phish +meme11 +majestic1 +hometown +laura13 +1nathan +304050 +03061986 +demonic1 +1310 +211089 +lalola +rose23 +654321s +67676767 +525525 +waterford +tempest1 +dthjxrf +alexis6 +tracy123 +carmela1 +revival +mickey! +190985 +romulus +junkyard +zxcvbnm8 +211085 +charlie. +10061989 +allthebest +yannis +ilov3u +15011987 +piesek +ocampo +dean123 +310388 +loveme8 +1308 +sumerki +gjyxbr +twinboys +040888 +190288 +170987 +199011 +babyboy09 +redwing1 +vaughn1 +rommel1 +glass1 +050686 +silver3 +hooch1 +20031986 +nassim +goodfellas +03041986 +iloveyou02 +Alyssa +chester7 +francine1 +haruka +bliss +more +santaclaus +niranjan +april01 +stevens1 +loser21 +311090 +123йцу +falling +010888 +02081986 +informatio +300388 +azer1234 +freeze1 +fxnocp14 +9876541 +whoops +160689 +22021990 +takeshi +13081988 +01041985 +chooch +19061987 +clancy1 +percy +bolanle +bailey! +portvale +luckyman +irock12 +199312 +1200 +19091988 +lthtdj +plmokn +banger +24101986 +sarah5 +backpack +mine12 +11111991 +rendezvous +hotmail. +13051991 +landen +teardrop +240585 +211283 +laloca +hitesh +hardcore12 +skater10 +220286 +amber5 +17051990 +210484 +julito +20051992 +firetruck1 +19041991 +adrian01 +monella +260788 +DAVID +canadian1 +fakefake1 +130591 +130885 +gamefreak1 +space2 +beerman +lexington1 +denya2531914 +Karina +tinker01 +findme +tomboy1 +transporter +221281 +16051988 +a3eilm2s2y +020588 +bluestar1 +beezer +130287 +sayang2 +casamia +260390 +240389 +bambie +300686 +220185 +sham69 +201092 +200591 +classy +peanut23 +smile4 +jesus12345 +jennifer10 +rideordie1 +zoomer +welcome11 +oriental +junk +16897168 +sammy4 +13011987 +austin09 +iddqd +gcb +250785 +250683 +polish1 +selim2010 +311289 +360360 +200289 +280988 +tigers22 +547896321 +david06 +10061985 +joseph4 +yogi +one4all +129129 +ducky123 +loca12 +chiken +161089 +daman1 +pokemon101 +ritesh +020286 +monique12 +sananto210 +love234 +lovelove12 +20071989 +cricket2 +SWEETY +03031983 +19091986 +160787 +jose22 +001981 +jeniffer +310190 +sexy02 +24101987 +xyzzy +11021991 +fresh2 +marcopolo1 +vostok +fakeass1 +05051990 +shanny +traveller +skillz +pianoforte +271086 +140888 +143445 +amira +q2w3e4r +trackstar +198620 +babycat +babyboo12 +marihuana1 +montana2 +pikachu2 +madison13 +utility +10081985 +4everyours +22061985 +051186 +jamison1 +duke22 +kulangot +killer00 +subtitle +forklift +barefoot1 +voltage +iceage +bokbok +shannon3 +charm +cards +love2shop +1234567o +bouchon +sab +madhouse +caution1 +010589 +opel +princess45 +14041989 +199511 +20121991 +24121987 +firestar +diabolika +fire11 +nicole03 +02588520 +threeboys +150887 +3210 +king07 +beefcake1 +star09 +08081986 +junior4 +michelle17 +william08 +football82 +sorriso +15041991 +long123 +21121991 +210887 +190490 +010588 +rakker +11011987 +allahallah +12121993 +301184 +23101989 +willie12 +lakers01 +manoj +27051988 +andrei1 +bunny13 +someday1 +������� +sophie13 +tujheirf +teagan +wormwood +160488 +0711 +28101987 +franziska +stlouis1 +afrodite +golf12 +199612 +Zachary1 +norwood +23081988 +doodie +26061990 +kelinci +baobab +130387 +ily1234 +mou +official +13111990 +deidara +micro1 +elmejor1 +ilovetim +10051985 +filefront +nithya +dobermann +300488 +bunghole1 +radcliffe +01061990 +imsocool1 +110283 +yanochka +mylove13 +20121987 +robert. +papi123 +cristianoronaldo +180589 +capricorne +240289 +ter +181086 +ducati916 +damn +nando +aloysius +lulululu +antigone +1qqqqqq +daniel27 +manman2 +lockdown1 +231082 +samantha21 +jkjkjk1 +luisa1 +kayla7 +1antonio +824655 +1fishing +remedios +haleigh1 +ella123 +direito +28081991 +dodo123 +midland +170985 +snooky +mariola +140989 +170789 +elemental +live2die +alysha +hell123 +fucku7 +free1234 +chevys +4141 +180687 +hailey2 +lover1234 +101281 +600018 +panget1 +poppies +bayern1 +passion123 +mickey08 +230490 +paco123 +magazin +annisa +rimini +261086 +clement1 +spanky123 +Mike +turquoise +cali13 +eminem3 +andalucia +Shannon +04041990 +charl1e +230885 +sales1 +wilkinson +110392 +annarita +zaqwsx12 +compton310 +153246 +14121989 +texas11 +cute14 +shareaza +Kirill +belmont1 +conquest +sisisi +bread1 +melons +031 +melanie123 +dance11 +smithers +justin02 +anaclara +i97wb6sxq7 +asshole21 +myspace111 +bestia +tyler8 +screwyou1 +123321qweewq +blondes +bigballer1 +badoo123 +hannah1234 +1910 +170486 +firehouse +nessuna +220191 +catania46 +poop1 +edith +17111986 +13061988 +az147258 +030990 +johnson123 +20091989 +sophie10 +allen12 +270588 +linus +1234Qwer +dragon20 +20121989 +duke1234 +240288 +020789 +253545 +2205 +13021987 +cupcake7 +jacko1 +170485 +tazman1 +16121986 +maddog2020 +treetree +raja123 +crystal13 +josh69 +301086 +111180 +ghbphfr +lesbian69 +princess97 +7410852963 +kitten7 +chloe3 +110492 +shaggy2 +031189 +reddy +cookie09 +01071988 +outlawz +tatina +100584 +vfnhbwf +coleen +ch1cken +19071987 +251083 +jetta +angel45 +hotboy12 +aguila1 +cereal +shortstop +brazil10 +sports123 +marusia +moogle +wsx123456 +kacenka +h97e7IjwwB +lionlion +busdriver +wsxzaq +primetime1 +boston11 +volkan +pam +28021992 +110884 +240386 +babyboy07 +asdfasdfasdf +Christian1 +dance13 +onetreehill +130290 +010590 +280800 +010389 +12041992 +marinella +alex89 +130485 +miami3 +swapnil +180886 +matt14 +dragonlord +cap +nokian +1906 +peanut21 +a123 +021188 +17101991 +alligator1 +lopas123 +smooches +180887 +arshad +pete123 +11101986 +moi123 +sassy01 +281087 +21101987 +230591 +temporary1 +whiplash +11051988 +iloveyou26 +131287 +18031988 +riverrat +25111986 +yahooo1 +cowboys#1 +shakes +197811 +pointblank +250691 +#1girl +marinela +110791 +samdog +cherry01 +03031989 +ania +jessie13 +semenova +04041987 +versus +311087 +091190 +thelove +311085 +flawless1 +��������+��� +12011985 +231284 +thuglife2 +andrew02 +5236 +300587 +zxczxc123 +chaussette +220983 +mitchel +austin05 +pink20 +240390 +270689 +dakine +rashida +sasori +ELIZABETH +indica +110883 +justin25 +cintia +a0000000 +16101991 +gareth1 +20081985 +swagga1 +140887 +manda +gatito1 +wally123 +200687 +hannah. +puerto +yuanyuan +26121990 +pamelita +salam123 +thedoctor +180986 +spence +CrkUrrP954 +john16 +diamond23 +bobafett1 +adonis1 +a7654321 +120992 +747747 +isabell1 +24121990 +181191 +18121986 +22101986 +10qpalzm +love43 +jennifer22 +google! +181090 +rocket12 +246135 +13021991 +250583 +sambuca +marriott +201185 +mashamasha +tommy3 +160786 +pacino +junior24 +freedom69 +biologie +e3w2q1 +12111986 +fucku22 +cunningham +primax +rush +lacika +acting +31031987 +15071986 +alex93 +lalakers1 +azerty31 +14101986 +madison9 +podolski +200188 +alex2004 +11241124 +vipers1 +December +b33m6yghef +131183 +210485 +dmb2010 +JACKSON +salma +connections +270589 +16101990 +holas +mathys +potter12 +060685 +love4god +hiphop101 +080989 +cheese101 +12061985 +pro123 +victor10 +zaq1@WSX +22031984 +hornet1 +anthony05 +lbyfvj +nicole26 +puerto1 +12021989 +alex1988 +sanjuan1 +honey13 +04041985 +13061991 +martusia +password@123 +cinta1 +random12 +leanna1 +200485 +02101986 +200886 +mexico18 +intel123 +a1b2c3d4e5f6 +morpheus1 +motors +aekara21 +121180 +2111 +07071990 +soylamejor +halley +heaven77 +j654321 +WsYDCIG761 +140187 +26061987 +wordlife1 +tilly123 +11051989 +cassie13 +sprinkles +20011987 +21071987 +21101988 +ca +181289 +271290 +heidelberg +lildee1 +secret69 +231191 +150285 +exeter +friendz +260485 +fakegirl1 +monkey45 +600000 +251184 +ratchet1 +moonpie +parker2 +198326 +deportivo +cowboys10 +gabe +cosmos1 +amirah +ian +ethan01 +200592 +nikki11 +skittle1 +07071977 +queeny +LONDON +15051989 +cement +kinglove5 +tigger6 +muscle1 +1305 +miley101 +william. +230685 +andrea23 +submit +050591 +badazz +paramount +diank123 +babyphat12 +pinky7 +charter1 +kolibri +climber +heyman +05071986 +27121989 +ryder1 +alexis03 +gattino +cherry101 +nigel +skate7 +batman99 +thomas06 +bigbang1 +24041990 +24121986 +200885 +160687 +citibank +veronica2 +hotlips1 +anthony19 +omomom +MYLOVE +way2cool +rainman1 +reyna1 +maggot666 +sunshine33 +danica1 +12roses +bogart1 +hanswurst +terence1 +festina +loveme101 +kalender +saranghae +blair1 +230886 +24051988 +brandon. +espiritu +yamaha12 +cvtifhbrb +cassie3 +mcaBdaw2vx +e6fc37 +sherif +rudy123 +lordgod +archibald +121977 +22111986 +170989 +strannik +Pakistan +novita +16111987 +212 +111181 +yahoocom +chulo1 +16121991 +291085 +laughing +fairway +280585 +merrill +cascada +1qazxcv +baby28 +130393 +koalas +barbie10 +lisa11 +blanket +scamper1 +250285 +120479 +14121991 +boston34 +austin98 +12051991 +25101986 +kittens2 +chatting +heyhey2 +290590 +311290 +momma2 +19021990 +230392 +walters +02011986 +ladder +31101991 +hunter15 +baseball06 +fakename1 +griselda +sallie +191088 +24061986 +dominic2 +1234567aa +14021984 +dell11 +010489 +math123 +< +chichi12 +matvei +ferrer +snyder +julian01 +hilfiger +aggie1 +brat +21081987 +landlord +catdaddy +Frankie +edward23 +thienthan +thisisme1 +newhope +flygirl1 +12051985 +020490 +elvira1 +280390 +motley1 +iloveyou28 +Aa123456789 +200484 +030589 +daniel04 +olivia10 +yashar +hummerh3 +ab69432 +redblue +210288 +ericsson1 +denny1 +purchase +140209 +130892 +WWWAAABBB +barcelona9 +marianita +mireya +dashawn1 +sherbert +21232123 +danny3 +myspace34 +thomas6 +strawberry1 +misiaczek1 +kalleanka +strike3 +pimousse +150685 +sister3 +ovidiu +xm55xExBZS +19111987 +02071985 +holeinone +yusuke +mohammad1 +cherry6 +271285 +lorenita +blind +160788 +23041991 +250684 +300689 +obsidian +luck +solotime +hendra +buster08 +gogirl1 +fashion123 +michelle123 +marquise1 +godis#1 +gremlins +barcelona7 +ghtktcnm +02021980 +prinsesa +030890 +phoenix123 +koolkid +manuel2 +221283 +geheim1 +04061991 +wysiwyg +avatar12 +golova +undead1 +asmara +victoria11 +jaime123 +navajo +02071984 +chivas23 +yankee13 +17891789 +mafia123 +224455 +netgear +ljubav +1230321 +kyle1234 +mehdi +d54p7xjkha +20031988 +thomas. +21021987 +horses3 +17041986 +iskander +flakes +mason2 +teamo15 +02091988 +sas123 +130391 +180685 +300585 +misael +cruise1 +sammys +treehouse1 +141090 +halloo +230883 +stefano1 +brenda2 +197474 +gwendoline +glory2god +171289 +xoxoxo1 +monster10 +30061988 +beautiful8 +karlitos +14101989 +25121988 +t5r4e3w2q1 +ifeoluwa +fische +281089 +pre +chyna1 +duckies +love2005 +crips13 +22021985 +baikal +01021989 +17101990 +130386 +washere +wilson2 +Polina +caramail +201284 +010689 +shutup! +sahara1 +killa3 +141182 +okok +fremont +109876 +310890 +bottle1 +cool12345 +lokito +11031988 +stop123 +jakedog +deneme +deepali +nuts +061089 +14031990 +170490 +summer15 +armystrong +151186 +25091987 +10101981 +4mutdfgvtp +22081990 +dork123 +thebitch1 +14121990 +a1a2a3a4a5a6 +yolande +vecmrf +130785 +101214 +olamide1 +ranjana +nana10 +236236 +playtime1 +bettyboo1 +200891 +whores +0987654321a +101980 +230191 +whitetail1 +heyy +10071986 +takethat +270490 +molly10 +Fluffy +adidas2 +200387 +kickme +duckman +black15 +26031991 +290190 +babygirl05 +151282 +mutabor +12081992 +250595 +me&you +1edward +jeter1 +17111987 +marchelle27 +1505 +cinthia +101989 +10031990 +superjunior +nick21 +sugarplum1 +ugly +deedee12 +trabant +charter +azalea +taylor02 +100683 +258369147 +cvb123 +060691 +ipodnano +cheers1 +carnation +123111 +040690 +justin101 +cakes1 +aa123456789 +rodrigo123 +lovely4 +blood23 +heaven01 +ytpyf. +rockey1 +tophat +taylor18 +220884 +davenport +p00pie +170888 +woodman +190990 +sniper123 +310591 +avenue +ww123456 +131291 +likeme +19101988 +freaky69 +18101987 +mexico22 +8uxzd1b3BD +76543210 +wartune +lostlove1 +roberto123 +aosamples +110783 +soccer89 +160189 +210584 +14051991 +hello90 +010687 +will12 +cellphone2 +revathi +abby11 +oldskool +170984 +1512 +whatever13 +21091990 +pooky +15121990 +191289 +superstar7 +100583 +versailles +241281 +waterart +230791 +newports +hyundai1 +Bismillah +16021987 +flight1 +samuel10 +banane1 +183461 +5t4r3e2w1q +lisa01 +fenster +bagheera +1709 +harrypotter1 +hamza123 +soroka +ayanna1 +moving +2sweet4u +dickies1 +02021992 +4music +15111988 +bloodz5 +14061989 +250784 +monamona +magister +12345. +hector123 +230584 +final1 +221191 +311284 +44556677 +guido1 +280489 +w1961a +macika +123456ll +100383 +cocopops +sexman +joseantonio +football53 +10011988 +rosco +blueskies +123123abc +031288 +20101990 +100284 +imfree +daddy08 +crafty +my2angels +scout123 +bball34 +iloveeric1 +robert17 +4567891 +12345676 +polkadot +280590 +fhntvbq +tiburon1 +99 +netball1 +mommyof4 +301186 +natasha2 +270785 +170487 +screamer +joshua24 +14111986 +500001 +hotrod69 +crazy01 +sunflower7 +krasavica +02101985 +mason12 +15081988 +bubbles10 +kierra +ilovelife1 +zanoza +a123456789a +fuckthis! +220291 +rickjames +12456 +james25 +mimi1234 +02021991 +tobiloba +14101984 +bobdole1 +slipper +Rebecca1 +101982 +pooh23 +smiler +loser10 +gabby2 +ahmet +343536 +footbal +cabinet +sonne1 +12354 +140786 +changed1 +100283 +manowar1 +11031983 +neversaynever +100184 +football0 +220491 +240190 +proview1 +moose2 +19021987 +j8675309 +costanza +jonathan01 +qwertyu7 +survival +darkness12 +cutiepie3 +wwwaaabbb +������������ +22051986 +251282 +22061990 +magomed +200590 +251987 +699669 +plane +nanette +123alex +22101985 +19481948 +steven10 +marmelad +34567890 +kazeem +280486 +210290 +court +23101986 +09091986 +s3cr3t +q12we34r +15101988 +rfnhby +13101989 +muffin! +laranja +shi +4wdaxQ642F +12101984 +kusanagi +tinker3 +ilovedanny +110067 +cstrike +r12345678 +toejam +ballerina1 +bergkamp10 +devonte1 +250985 +baghdad +lieben +engel +mendes +hellos1 +151185 +monkey02 +210387 +beluga +anilkumar +210691 +160988 +millie12 +1234q +cuisine +bears123 +vfhcbr +babylove2 +freelance +macdonald +delores1 +okocha +15101991 +onetwo34 +12091987 +followme +humility +rfcgth +pieman +insert1 +naruto6 +daydreamer +tempo +hernandez2 +maine +dan1el +sexiest +delete2 +11111111q +doggie2 +rivers1 +charlie14 +02091987 +Gandalf +jesus6 +asaasa +famous12 +1�2��3��4�5�� +john117 +shadow0 +24101989 +22011987 +george! +Marcel +hockey44 +031086 +051287 +iphone4 +6969696969 +tony21 +3uc9xN53xH +jesus2009 +ilovemum +kaliber44 +3rdward +leila1 +love84 +240786 +cometa +ashash +saddie +pass2word +21011988 +12101991 +gunit123 +soccer93 +pimpin11 +wan0425 +Hamburg +110483 +19121988 +andreev +philadelphia +right +cool15 +Marine +gosia +limone +insurance1 +Jesus777 +230385 +boris123 +prosper1 +ginger4 +june01 +nicole87 +BsXXbGs322 +twitch +cobra11 +pocholo +saab900 +10121983 +bootycall +chris12345 +zachary3 +5213344 +job4me +241183 +tweety09 +20091985 +jack21 +uqa9ebw445 +wutangclan +florida7 +scooby7 +260990 +dallas10 +SAYANG +13101992 +100384 +baberuth +bebo123 +Tobias +021087 +rocket123 +chance11 +hairball +matrix11 +isabel123 +140685 +198524 +fabiano +mastercard +pizzapie +technical +shay +puffetta +261085 +salomon1 +4horsemen +11011986 +cannavaro +nnamdi +31121985 +nicole94 +fanatic +hedgehog1 +170683 +salaam +130786 +teixeira +1victoria +flower8 +prunelle +music21 +rodolfo1 +270489 +gtnhjd +gangsta4 +blackwidow +110020 +18051988 +lakers3 +nike90 +parkour1 +ansari +Windows +22021987 +laurette +cooper3 +session +bubblez1 +kompages4u +mojito +19041990 +bommel +vanessa3 +120481 +c12345678 +carlos1234 +shaquille +jesus17 +030386 +computer10 +godloves +sexy00 +chouchou1 +denise01 +hailee +happy2008 +mcgrady +emily10 +25111987 +bob111 +231192 +overlord1 +12041204 +skunk +020586 +lavalamp1 +maryjane13 +johanne +papasito +babygirl92 +fubar +831012 +hothothot +collette +02051985 +520 +46494649 +twenty3 +quake +24031990 +marko1 +sexythang1 +luv2dance +house12 +sexyboy12 +01081985 +wilmer +ramone +steven69 +26031987 +babygurl21 +vanessa7 +compaq11 +babouche +oakwood +1cheater +natas666 +020589 +joemama1 +ignacio1 +zero1234 +star45 +tigger88 +peace5 +sexsexsex1 +130383 +34567 +Victoria1 +281191 +kt +banana69 +vivi +monique123 +muttley +triple3 +10081990 +080885 +din +cretin +171087 +geordie +195 +taliban +bobert +loop +25262526 +ferguson1 +bernhard +232323a +panchita +masaya +sheffield1 +anggandako +catfood +180686 +061289 +bridgette1 +live4god +frogfrog +dothedew +justindrew +sept23 +daytek +15121985 +21021989 +23111988 +hottie17 +1407 +marie8 +puteri +lunatica +river123 +131282 +jimmy11 +160190 +Cassie +jkmuf +qaz321 +godisone +nikolaeva +kerouac +111qqq111 +vfylfhbyrf +mickey6 +azqswx +deedee123 +22111987 +310587 +301187 +halamadrid +cherry10 +11071985 +01041990 +21061991 +131084 +sfgiants +161289 +neverever +130291 +emo101 +annushka +290589 +william21 +bengal +q123456q +kenya +Phoenix1 +layla123 +skidoo1 +141185 +junior06 +elijah01 +brothers2 +Iloveyou2 +10061991 +200490 +lesbians +humberto1 +hitman123 +021187 +briggs +161088 +heartbroken +zapper +a:sldkfj +22091987 +130582 +geo123 +12111990 +lilangel1 +jakob1 +fuck01 +ilikeu123 +jeremy13 +99998888 +malatya +iloveweed1 +alex2003 +kam +andrea7 +heslo123 +kombat +qwerttrewq +audirs4 +sunshine17 +moneybags +210384 +25101984 +miamiheat1 +clowns1 +ovechkin8 +helpme! +necromancer +19081988 +imsocool +26061986 +buster23 +jd1234 +never123 +shaman1 +20111987 +170489 +20061990 +dogface1 +wayne12 +03031991 +key123 +boiler +200889 +octavian +LOULOU +cualquiera +patryk1 +awesome11 +nightwolf +cocopuff1 +anh123 +050790 +maksimus +scorpio11 +jasmine21 +marie24 +yousef +cayden1 +simple12 +mexico! +tony10 +adam13 +only1love +what3v3r +farrell +sherri1 +020690 +anyone +23011990 +24041987 +thequeen +0102 +hangar18 +110095 +liverpool10 +120578 +110284 +banana13 +15081989 +650829yjm +26051987 +vEf6g55frZ +jake23 +traffic1 +william07 +130691 +24081988 +rockstar21 +17071985 +luis23 +17101988 +pentagram +discover1 +31121991 +17041987 +10111989 +wannabe1 +100292 +95368452 +recruit +halloween2 +310786 +everton123 +010787 +doggydog +blobby +family9 +01011971 +manger +BENJAMIN +jianfei000 +sam101 +fedorov +anselmo +monster9 +jaylin +130285 +250389 +kitty14 +tunder +marjan +220387 +ilovejesse +trash1 +william69 +peanut6 +13021989 +20101985 +rachel3 +291286 +jerry12 +yellow25 +selena12 +151084 +swinger1 +kelli +vf +1bunny +230286 +piggie +hotness +02081990 +texans +18091987 +250385 +louise01 +paoletta +amazon1 +lina123 +allstars1 +natividad +lyndsey +igor123 +ladder49 +bball7 +babycake +220490 +23031985 +20121983 +sunil +Blessed +breizh +railroad1 +advantage +phish1 +outcast +bubbles. +ar +130783 +23071991 +121275 +251087 +kingtut +cinco5 +mullet1 +maxim1935 +101180 +14091990 +ray619 +ethan12 +120881 +1cupcake +170889 +sistema +260587 +jamal123 +020485 +300486 +greetings +bhavana +26031990 +050989 +mahalqoh +197812 +janet123 +235235 +koffie +job123 +310187 +maverik +smile101 +198920 +winners1 +kensington +29662012 +1cameron +lakers10 +hotstuff2 +evan123 +02041985 +bronco2 +christia +46464646 +18041990 +eagles21 +Florida1 +sandia +a131313 +bebe11 +19091989 +270289 +durban +21021990 +melissa22 +arashi +thomas88 +assword1 +andy13 +110120119 +longman +101279 +13041990 +poptarts1 +nelson12 +120981 +marius1 +24061987 +barbie! +198819 +jimmy69 +11101985 +bolita +warwar +pedro12 +Miller +bear22 +ily4ever +paulo123 +supper +221092 +diego12 +copeland +sierra2 +andrew1234 +nas +paisley1 +buckaroo +qwasqwas +160885 +vampire2 +solnyshko +100592 +180688 +camper1 +nicol +29071986 +porky1 +pamela123 +17101989 +jasmine16 +daddy21 +19081991 +kissme11 +230384 +forlife +schlumpf +280884 +georgi +1muffin +vierge +GINGER +310788 +21051988 +010585 +051188 +safeway +19091991 +joseph14 +20031992 +01051986 +24101990 +Leonardo +charger69 +040486 +ruthless1 +291087 +schlange +smokeweed4 +hotpants +spi +volvo240 +nathan21 +zackery +13111986 +852000 +151091 +jaxson +ronaldo09 +020285 +281085 +16031987 +mybaby12 +pooh22 +irina1 +jackson6 +babe11 +260888 +purple27 +ghjkju +meister1 +11091990 +porn123 +021085 +001976 +maestra +cheeto +7894 +021021 +04051990 +198323 +01031984 +21111986 +internatio +fuckass1 +seether +qwerty1234567 +paquita +steven! +291086 +jerrylee +23101992 +30031990 +rock69 +010890 +cleaning +2103 +hunter24 +itdxtyrj +marauder +amstel +country2 +180890 +terri +700019 +router +godofwar3 +i84Avh9ltI +nikolaj +knoxville +lotlot +Scorpion +280887 +15041990 +211282 +ozzie +demon13 +14121985 +balder +quasar +jasmine22 +constanza +000008 +halflife1 +hotmomma1 +fucker11 +link12 +moonstone +Monika +01031987 +141184 +blank1 +kingkong12 +051190 +tobytoby +panhead +why +wasser1 +megapolis +rutgers +drummer2 +bitch25 +mymoney1 +110030 +zoom +110185 +�+����+��������� +city +20132013 +februari +030686 +concord1 +02051984 +280280 +lakota1 +jessica88 +conejito +260385 +leandra +skater! +77889900 +booboo9 +201011 +invader +freakout +22121991 +simba12 +400051 +ala +87878787 +210591 +fakeone1 +trident1 +genesis2 +nicole92 +destiny07 +301185 +18051987 +301189 +cheaters1 +chachi1 +benzema +89216279708a +310790 +19121989 +Dolphin +28061991 +candida +123456789u +newday1 +heyman1 +sabine1 +spiderpig1 +myboys1 +24031987 +Nadine +Test123 +21051990 +231988 +liam123 +1honey +250591 +120780 +040590 +boosie +sarasota +Tennis +mustang10 +avocado +220383 +taylor05 +09091985 +steph2 +160289 +sapito +clutch +lolypop +22101988 +241289 +grandson1 +1231231234 +grinder +dev +angela11 +170990 +48484848 +monica11 +10041992 +mayaki +fairlane +peace4 +15021989 +180389 +abcdefghijk +hansel +sharon123 +king08 +iluvmlml +123478 +partyboy1 +peewee12 +Daniela +javelin +joseph15 +290188 +ari123 +jonathan5 +grundig +david12345 +dreamz +musik1 +mustang04 +31051991 +12345678909 +120492 +rohit +maple +27041988 +14091987 +but +babygurl5 +22011991 +05061989 +poohpooh1 +passwerd1 +stacie1 +25061985 +11121988 +slipknot8 +stubby1 +madison04 +bones123 +123456789Q +lilmike1 +highway1 +stefan123 +fdfnfh +Maksim +zxc321 +25091986 +963210 +bitches12 +310188 +chewie1 +mamata +babygurl69 +gamecock +amanda07 +everlast1 +margret +03031992 +bobb +110593 +madden10 +25081994 +sandi +17061986 +sleep +jukebox +biagio +dance5 +100392 +anna2010 +150983 +22051989 +balling1 +050688 +261284 +dolphin5 +logitech12 +123!@# +taison +hello321 +johnny69 +201002 +02091986 +200189 +monday01 +paredes +4given +02081985 +30061986 +p51mustang +passpass1 +130889 +loveone1 +cheyenne2 +jason10 +010289 +thomas17 +20041985 +orange14 +1232 +141286 +badboy7 +chill1 +sabres1 +090690 +29041991 +15111986 +deeznutz1 +10021992 +21041989 +3110 +gringo1 +arunkumar +killing1 +150884 +130884 +22041992 +michelle07 +lucinda1 +11021986 +000002 +3qvn5K4qgV +bball25 +130484 +imhot1 +cachito +030590 +171183 +yankees22 +speedy2 +11091985 +be +200790 +passera +060692 +25011991 +a999999 +burner +snuffles +parisien +160287 +luvyou +7Fxf3Jba8t +cristopher +13111985 +celinedion +4myself +198626 +banks1 +111123 +lizeth +lovekoto +171190 +beautiful0 +oscar3 +longer +skittles! +nortex4 +ms1234 +12041985 +silverstar +tadpole1 +15081991 +22081991 +charlote +170287 +060990 +robert07 +spurs123 +198624 +140284 +18101985 +270290 +151182 +25081988 +doitnow +wes +robert09 +251283 +mirian +230884 +pokemon6 +whatisit +nicholas11 +lkj65b6666 +260692 +211090 +jobsearch1 +020990 +number1mom +looker +research1 +yoyoma +mommy8 +cingular +iuliana +shitshit1 +rocket88 +harley5 +300990 +prescott +paranoid1 +creeper1 +23071985 +24041985 +clint1 +080891 +111091 +patrick8 +lobo +glover +kabal +326326 +nineteen19 +220683 +020486 +figaro1 +15091989 +oreo1234 +240991 +eight888 +400016 +pumpkin7 +bimbim +mariangela +28081990 +01061989 +25061991 +20081986 +gemini13 +fuck10 +ramsey1 +panthers12 +fivekids +230186 +2208 +26021990 +Steelers +10031986 +110393 +kingkong2 +29041987 +01031985 +12091986 +kitkat12 +110052 +acoustic +barbie01 +testament +240189 +123123r +amanda24 +viceroy +100784 +findajob +charlie06 +20041986 +19071990 +northwest +rawr +punkass1 +13011989 +problem +guiness1 +526282 +060687 +sveta123 +montse +100680 +nutty1 +capecod1 +nikeair1 +penpen +03111987 +jennifer4 +10071990 +aloha123 +roosters1 +1408 +wwwww1 +19051986 +10061992 +fiammalex1@hotmail.it +23021991 +13031986 +theIigD4x2 +021287 +rocky22 +1066 +15121984 +nononono +01081990 +alex96 +copper2 +210286 +not_needed +djdxbr +hottie. +23061988 +170583 +frontera +juggalo17 +02081987 +alexis99 +willsmith1 +cazador +alex27 +241287 +10311031 +10111985 +ipswich1 +24101991 +cabrio +octavia1 +24061988 +rfhfvtkm +010490 +anna01 +woman1 +010587 +silver69 +27071991 +190688 +11011989 +josecarlos +hate12 +takashi +lover8 +banking +gracie11 +23051986 +152207 +shante1 +texas5 +22031989 +fluffy11 +30121987 +11111qqqqq +01061986 +br549 +antani +20051989 +25041988 +skinhead1 +cheer14 +21121986 +word123 +140189 +academy1 +hibernian +katarina1 +vicki +ipodnano1 +holybible +t12345678 +padrino +natalie7 +john18 +rabbits1 +amorsito +22091988 +happy9 +141284 +greenpeace +15061988 +rug +left4dead2 +8562835 +steven21 +23051989 +sithlord1 +18061987 +290587 +love#1 +mike06 +sully1 +010290 +mike20 +school01 +rocawear +mandeep +sweetp +190388 +sugipula +lkjlkj +sister12 +xcvbnm +����� +amyamy +playbill +donut1 +25041991 +dawn123 +04051987 +fgjrfkbgcbc +tangkay +27071987 +33445566 +nascar12 +290585 +240784 +howard12 +hammond1 +heaven777 +116116 +saxon +11061992 +belette +bubbles69 +melissa! +katerinka +talita +cammello +urgay1 +thesaint +baboy +lithium1 +15121982 +steve12 +121994 +xep624 +26011990 +lovinglife +280288 +andreina +walter123 +spiders1 +danni1 +steelhead +green45 +20011989 +snoopy69 +dragonforce +040487 +wildcard +01051985 +haleigh +am1234 +1234456 +amisha +26041991 +playboy11 +intelligent +01091985 +10091986 +lola11 +alexis! +240286 +bam +totally +eagles08 +sincity1 +198444 +rocklee +22101990 +7410852 +pussy01 +motown +19121987 +real123 +chestnut1 +130284 +14061991 +nodoubt1 +����������+����+�� +ronny +osprey +311282 +alexandro +bunny11 +140386 +260387 +jumbo +080690 +eyeball1 +painless +angel97 +170190 +ciprian +trevor12 +drpepper12 +julian2 +20091987 +nepal123 +020986 +marta123 +ethan2 +irish123 +280386 +240785 +setter +280290 +21071986 +280890 +charles7 +197666 +140387 +13041991 +20021988 +dickface +jacobblack +123456- +ilovejon +nasa +11061985 +haggard +corazones +tiger88 +dora +dionisio +teens +ilovejose1 +youth1 +30041987 +230984 +alexis21 +thug +swansea1 +regent +18091985 +blake12 +191087 +cad +12091988 +him123 +030789 +scooter11 +pratik +15121988 +tess +venice1 +jada123 +josh10 +111085 +9inchnails +24121989 +canarias +08522580 +topogigio +curly +chairs +pocitac +hardcore! +boobies123 +eastwood1 +maxwell123 +maddie11 +aero87 +sandra13 +nightshade +mayhem1 +shockwave +fordtruck1 +chris33 +lala10 +14071986 +a232323 +belldandy +31 +963963963 +110681 +13011988 +01091986 +steven23 +hailey12 +codegeass +material +anointed +552255 +berkut +hailey123 +090390 +alaina1 +wasd1234 +vfhbif +tellme +pretty! +beast12 +nnnnn +mamaliga +yC6AbQSFjo +laugh1 +18101986 +alino4ka +140983 +05061990 +lala23 +cardiff1 +29091987 +mexico4 +vendredi +littlefoot +newport2 +19051993 +041 +dam +mother7 +mushrooms +marble1 +bingbong +16021989 +21041990 +madison! +770880 +10071989 +marmite1 +150490 +towers +pikachu123 +vfrfhjys +Orlando +01041983 +budlight2 +james12345 +19001900 +paris11 +unlimited1 +050888 +alvarito +arlette +vaughan +19051991 +gabika +19933991 +catcher1 +051088 +rjdfktyrj +loveislove +ravi123 +30031991 +11031993 +11201120 +laverne +fucklove69 +mousepad +210885 +melo123 +230683 +brian13 +150891 +cavaliers +rockon2 +lastochka +sunnyside +wyoming1 +haircut +30101986 +160986 +jayanthi +jablay +cottoncandy +271828 +greta1 +210888 +alex1985 +ammananna +fishy123 +chilly1 +5.254.105.20:test +quilter +160387 +giallo +12011990 +kruger +501501 +180788 +270189 +rainyday +04041984 +orange69 +16121989 +ilovejay +22031988 +dakota7 +ritika +bereza +jarule1 +frieda +cd123456 +thomas16 +sc00byd00 +dimanche +wiggle +556644 +connor11 +281186 +7777777q +060684 +gizzy1 +america. +mothermary +hunt +25962596 +150291 +teddybear3 +121993 +hellohi +jordans +vjzctvmz +smitha +02101984 +14121992 +betsy +070784 +mylove! +magneto +110983 +wwe +badboyz +death69 +пароль +sterne +dylan13 +852741963 +mariee +220790 +thechosen1 +blood14 +111283 +samsamsam +08081991 +211185 +heyhey12 +dev123 +131182 +plumbing +171284 +loquita +imissyou2 +brianna4 +angel87 +21051986 +travis01 +aisyah +marissa2 +sunshine16 +tandem +iloveyou93 +sassy7 +lauren5 +12071992 +obsession +partygirl +ciaociao1 +201082 +kimmy123 +23isback +26101989 +sayuri +261287 +zse45rdx +terrible1 +davidvilla +251192 +yflt:lf +180585 +punk13 +catnip1 +junior69 +begood +player14 +RONALDO +amanda08 +ilovekim +150384 +20061985 +Password11 +mandolin +040491 +17121988 +coolio123 +starwars6 +macbook1 +12081985 +fro +Indianalib +270386 +geronto +windows2 +babygirl89 +iphone1 +041188 +jeffgordon +23081991 +150783 +rain123 +888888a +theclash +sage +30051989 +engine1 +time2go +magenta1 +15031989 +tinky1 +tigran +cashflow1 +samuraix +231291 +1w2w3w +hello88 +adidas10 +alfons +Admin +170885 +dentist1 +091091 +sweetthing +frankies +vfrcbr +11021102 +bundy1 +snoopy10 +29091988 +yassin +fernan +nermal +beto123 +graduation +rosalind +dreamboy +11081992 +123money +mydreams +051089 +cordova +werthrf +gangsta! +170185 +miranda123 +karachi1 +cindy12 +block1 +09091988 +maria1234 +111100 +23031989 +canario +84268426 +king55 +therion +honeypot +turbo2 +23011991 +26101988 +02071991 +151284 +16121988 +flyhigh +aeiou1 +dashboard +thunderbolt +gillette +jamiroquai +lucky08 +171185 +Dexter +matthew06 +17041991 +sergio12 +moss18 +560040 +560094 +farah +grisou +piper123 +adi123 +mattman +17051991 +dogbone +lotion +trx450r +220682 +nicole93 +killerbee +rachel7 +snookie1 +291290 +junior17 +ravikumar +callme1 +renault1 +nicole02 +anamaria1 +eveline +kiko123 +hannah00 +katiebug1 +yukon1 +brandy11 +blue00 +280686 +85200258 +27041990 +elijah123 +031285 +zoe +belly1 +afroman +newark +lilmomma1 +megan13 +010487 +worinima +300586 +11041989 +batman09 +mustang02 +a1314520 +redsox13 +lolpop +150684 +richard5 +zkl858 +alma +thekillers +210982 +suzie1 +01101991 +ginger69 +redneck12 +20031984 +0110 +tacos +blazedup42 +belochka +15071991 +1puppy +welldone +love&hate +rick123 +len +Martina +lickme2 +250984 +29041992 +cobra427 +canada11 +10081988 +audis4 +kwiatuszek +kai123 +230887 +charito +abogado +babby1 +howie1 +5t6y7u +fatina +nascar2 +chinadoll1 +lander +1404 +life101 +100391 +ivette +marvelous +281086 +030690 +jorge12 +170491 +hunter101 +whores1 +061285 +jerson +600600 +23041992 +danny22 +2305 +hydro1 +vanessa11 +hotgirl2 +escobar1 +sweetypie1 +r123098 +nascimento +cobra123 +ciaran +switzerland +gusgus1 +ballin11 +200385 +katze +girls12 +31121992 +131284 +xavier01 +jose18 +florida3 +141083 +success2 +27101989 +winslow +270986 +athlon64 +orologio +30041985 +++++++ +011088 +11121112 +dustin123 +harhar +nala +hockey20 +ciccina +april09 +Adgjmptw +omolara +victoria10 +23031993 +outlook +topcat1 +1302 +280989 +andrey123 +16081991 +1power +cohiba +rockme +nicole00 +290389 +danny5 +020487 +11111984 +geoffrey1 +131082 +luckie1 +110032 +komando +lovechild +youyou1 +15021988 +sushi123 +weedweed +abudfv +14121986 +iloveyou92 +homo123 +bitch33 +fuckher +17021987 +09091991 +kikker +fabio123 +babygirl26 +nan +number20 +11031989 +150885 +music4ever +23041990 +hjlbyf +inlove! +22081987 +maranda1 +kiskis +Starwars +27101986 +pawelek +2411 +sammy21 +260889 +budget +bubby +89mustang +wolf13 +Pakistan1 +samson01 +joann1 +230491 +xswqaz +killme2 +220891 +austin9 +urmila +tia123 +qpwoei +27061988 +happyy +chess1 +14231423 +321abc +30051985 +honda3 +thunder11 +7894561231 +micheline +butterfly. +vovchik +sexme1 +123456xx +berliner +061088 +pokhara +pookie13 +31011990 +dylan3 +Qy5tOgR996 +dec +18071991 +bearcats1 +17051987 +chrystal +220190 +15051984 +hoebag1 +coquine +pooh15 +123-123 +rustem +22021992 +madera +010486 +paulie1 +limpopo +210583 +nosey1 +shanta +bohemia +murmur +06061991 +love1986 +caribe +forbes +romeo12 +orange88 +flower. +princess32 +zxczxc1 +12091990 +barney2 +00001 +kusuma +yankees21 +iloveyouma +qwert123456 +green08 +210991 +namita +riddick1 +220883 +160485 +libertad1 +3yIxda15hR +periwinkle +cjrjkjdf +typewriter +canton +kyle13 +glenwood +airmax +010786 +180789 +110014 +24071987 +underwood +192021 +300986 +sandydog +130681 +devil6 +looking4u +sister123 +1598753a +031188 +morrow +231280 +050584 +yfafyz +cowboy11 +111291 +chivas3 +19960309 +22011992 +mansfield +29101991 +04051988 +simonsays +disney2 +soeusei +superhero1 +16061992 +mumtaz +ranger99 +a111111111 +pig +181288 +7474 +22121990 +15031985 +191185 +2929 +moody1 +javiera +20101992 +199019 +buster14 +24041992 +23061991 +jonah +shark123 +291186 +15031987 +bonsoir +13101990 +master00 +26121988 +18101991 +10091987 +helpme12 +eminem. +220984 +chacho +guyguy +210491 +escorpion1 +22101984 +17101986 +hhhhh1 +cracker2 +051185 +dd1234 +roxy01 +13091988 +23091987 +golfnut +30031987 +w1992a +jitterbug +gheorghe +11101990 +slbenfica +z28camaro +jejeje +gamefreak +dumb +gblfhfc +hotmomma +yniQnmK733 +master88 +25041990 +raven13 +020585 +12365 +a2345678 +zaza123 +chivas101 +susanita +watashi +hollywood3 +shawnee1 +20101991 +ground +tennis01 +mouloudia +chris99 +01081984 +lauren21 +emilka +198810 +stamps +report +missyou1 +2508 +limewire1 +rohan +daniel02 +291185 +cascades +topaz +110881 +libras +haha22 +01051990 +people11 +hereiam +cherry15 +rajasthan +babygirl94 +rainier +rapido +bestrong +01051987 +pimpin21 +gunter +210391 +pretty10 +animal2 +blueman +24051991 +160187 +poohbear4 +bailey4 +10041985 +200388 +devdas +ytyfdb +180387 +winter00 +caliber +wizzard +troubles +hunter88 +palace1 +cortney1 +frontline +toby11 +210181 +shrek1 +159951159 +jackiechan +batman14 +121093 +jesuscrist +mythology +asteroid +dreamgirl1 +240982 +fatality +160790 +120381 +241284 +ozzy666 +250186 +150584 +1415926 +duffy +159753456852 +damaris1 +150591 +coco01 +ateneo +250592 +mariana123 +251180 +190690 +kierra1 +ms123456 +140783 +134134 +dallas5 +281283 +hamster2 +31031988 +281182 +bubbles21 +amador +jer +superman77 +stellar1 +success7 +151085 +finalfantasy7 +budman1 +22051988 +123124 +fosters1 +parker01 +kfylsi +peggysue +reeree +QWERTYU +toast +luis11 +240185 +301289 +natation +180188 +lucylou +samantha4 +benedikt +angels5 +kissass1 +02081991 +asdfghjkl:' +backup +ou8124me +14081988 +fake101 +amber7 +dickdick +180190 +a2a2a2 +220691 +sept22 +280490 +amanda6 +190188 +7sO2ekbc6R +ramadhan +ham123 +ihatethis1 +personnel +luminita +231080 +bramble1 +stepanova +oliveoil +nora +pelon13 +megan01 +02021993 +raymond123 +2504 +15081986 +23121985 +280487 +310785 +comrade +dating1 +cbrown1 +florina +carousel +chico12 +03061988 +hacking +300785 +ryan15 +181085 +imtheman1 +jenny01 +ghjnjrjk +161091 +Orange +zoolander +14041986 +yoshi123 +290486 +12fuckyou +mercedez +three333 +welcome5 +elias123 +araceli1 +narut0 +20000 +dreaming1 +nessa +26021988 +kumasi +140687 +justin00 +lbvekz +.kzirf +fuckin1 +150187 +12041984 +nigger11 +jesusteamo +norfolk +25051991 +joejonas12 +beautiful9 +19121990 +makayla2 +141091 +13031989 +28121988 +booboo4 +nathan4 +fatgirl +130583 +diamond22 +overdose +290185 +bitch99 +samantha14 +123456ty +kelly7 +olaniyi +8inches +soccer34 +ownage1 +mocha123 +school9 +28021985 +30101985 +freenet +291289 +02011987 +specialized +kaylie1 +1243 +garten +chivas5 +changed +250484 +02021983 +109109 +nuggets15 +killzone2 +2304 +useless +sokolik +miller31 +707707 +170689 +fresh23 +12061992 +foofighters +230284 +busayo +loveth +02071983 +121193 +180489 +happy77 +codmw2 +444444444 +100293 +strekoza +220985 +putri +110495 +henrietta +jenny7 +23031988 +jake14 +summer88 +sal123 +rufus123 +18031987 +191286 +030685 +gjgjdf +taylor17 +rylee1 +field +chuckles1 +mychemical +020284 +amor15 +24041989 +31051990 +chidori1 +janaki +jordan97 +money111 +199222 +santafe1 +iloveyouto +tavares +redcar1 +donte1 +511511 +leedsutd1 +goducks +jesus333 +darcy1 +fishfood +spencer123 +andrew88 +020279 +02101988 +24011991 +anytime +baller69 +01081987 +MANUEL +iloveben1 +jesus18 +120982 +monkeyface +15121992 +210184 +16101989 +zxcvfdsa +dominika1 +smokey22 +thrice +alex98 +smartguy +zaratustra +jordan19 +seniseviyoru +bulldog123 +250184 +tigger8 +blondie! +mandragora +14041990 +123456789� +15061990 +oliver3 +110010 +ran +23111987 +butter11 +rancho +thinkpink1 +25011988 +290690 +samsung3 +qwerty16 +140186 +18061985 +coffee11 +240682 +bugaga +telefone +raleigh1 +shayne1 +czarina +omotayo +katalina +533656 +27071989 +12071984 +hottie24 +ballin7 +22111990 +beertje +15051992 +sarah10 +photograph +luisito1 +13021986 +xyz12345 +anthony02 +richter +141282 +280389 +yellow77 +nikki7 +11081986 +dogger +shrek +cortney +201192 +water3 +fynjif +jeffrey2 +salzburg +gangsta23 +29051990 +baby-girl +dick11 +booty2 +10081991 +100285 +09051985 +fuckme. +loveme16 +ytyfdbcnm +zxcvb12 +fucker4 +justin04 +18061984 +zxcasdqwe1 +12081989 +soccer92 +josef +mw0501 +fuckmyspac +10041984 +sigma1 +kingking1 +music07 +139139 +14121982 +analiza +140583 +homersimpson +sembarang +20021984 +250885 +dakota99 +battery1 +300989 +10081989 +marlins1 +dodododo +fidget +muscles +24091986 +miles123 +enternow +21031985 +zackery1 +marcus11 +chris77 +20071986 +bonnie2 +150492 +25021987 +300390 +dancer14 +batman8 +picolo +may2008 +220591 +15081985 +floriane +famous2 +device +chi123 +nuevavida +180691 +passione +memorial +15121983 +vkontakte.ru +5254143 +allen2 +summer16 +9852a9 +280586 +svetlanka +196900 +hunger +sidorov +3edcvfr4 +coolman123 +mami12 +kalle +makassar +rodrigue +221182 +mememe2 +rebelde123 +montserrat +metallica0 +snickers3 +eminem7 +heather5 +157359 +100385 +naseem +cocacola123 +100892 +trina +25051986 +hardstyle1 +24111989 +18061990 +audia8 +pep +semaj1 +deepthi +sexy29 +iluvme! +fuck3r +26121987 +o123456789 +888168 +yellow33 +200890 +koshechka +crazy4you +rjpthju +1234562 +roadkill1 +1sweet +14051990 +shooting +4071505 +alberto123 +blanco1 +mitzi1 +Lakers +251292 +est +kelsey11 +diamonds2 +23061989 +nadezda +booty123 +blueballs +bowwow3 +hameed +j111111 +2468101214 +bailey06 +28051990 +love1987 +womble +daddygirl +mandy12 +krystle +peewee123 +aaazzz +hjkl +falcon12 +finest1 +buttfuck +010988 +buster4 +hellspawn +rosette +heath +22051992 +13081987 +taureau +lorien +melrose1 +blackburn1 +chevy01 +112000 +embassy +cowboy01 +billkaulitz +madeleine1 +motogp +10121993 +22071991 +lunchbox1 +pelican1 +pregnant +supermom1 +wraith +210986 +ellis1 +corolla1 +secret3 +281282 +120879 +13121983 +8ba9Klw1cE +iloveny +1909 +willow01 +0okmnji9 +15071988 +10121982 +031289 +22021986 +291184 +isidora +fullhouse1 +teddys +corporate +kookie1 +water11 +baloncesto +pitufina +karisma +17031992 +kashish +onetime1 +mamulya +clearwater +20111986 +230482 +Marion +gfnhbjn +25091989 +241185 +123zxcv +25091990 +dudes +drpepper2 +23121991 +mae123 +birtanem +01031986 +091286 +love41 +110480 +11081990 +400614 +12345678e +11111112 +jesus2008 +nokia5700 +century1 +iceberg1 +786123 +bullets +fishman1 +christiana +gigigi +hydro420 +monster21 +261082 +astoria +iloveaaron +madhav +dancer08 +crazy21 +babilonia +smegma +18061988 +buller +ricky2 +friendsforever +trevon +aisha1 +vatoloco1 +cameron6 +150186 +20091984 +pretty6 +fred01 +mirror1 +��+������� +1596357 +1spiderman +18011987 +log +245245 +300987 +PEPPER +artem1999 +kalimero +080887 +14081991 +friends08 +america#1 +m1garand +bemine +biteme12 +killacam1 +makina +guessit +111111j +h1234567 +03031984 +161184 +071290 +carebear12 +21061988 +220783 +cheer01 +27071988 +kristal1 +lll +241192 +18081990 +15091990 +Lucky +06081991 +190290 +kimbo1 +17041989 +songbird1 +husky +brick1 +12061984 +pascha +nevets +taylor03 +020587 +22121985 +picnic +kumar1 +qaz123123 +198821 +prettywoman +10091985 +bassplayer +melissa69 +kirara +babyboy23 +stumpy1 +maggie07 +100482 +24121991 +gramma +28121990 +nikki3 +bobby13 +password81 +marc123 +02071989 +abnormal +david19 +debil +maemae1 +27051986 +121208 +the1andonl +ripken +1510 +guitar01 +slippery +190689 +cuteangel +03061985 +loveme24 +21081991 +22081986 +emprego +lifelife +fire1234 +smellycat +heath1 +2101 +106106 +112113 +19061991 +001988 +hotman1 +123432 +ryan07 +030988 +13love +eggman +200985 +24051990 +111084 +yoyo11 +tiger15 +jazzmine +150000 +mario11 +241184 +041187 +lucky99 +26031988 +23102310 +16041991 +01051988 +10111983 +hhh123 +270690 +251094 +andrea14 +Courtney +30121988 +26021985 +mobil +ericeric +cheese69 +bil +geelong +footbal1 +littleboy +14081989 +newone1 +170189 +pastis51 +100192 +comeback +23242526 +050990 +hotshit +16061989 +210892 +madrigal +satisfaction +080988 +psalms91 +mansour +redondo +02051990 +iloveme5 +deeven +130584 +imcool123 +28101988 +19031991 +23071986 +lagwagon +261084 +farouk +hockey69 +180292 +260785 +rockys +menina +BARBIE +carefree +131181 +friends9 +burnout1 +852456a +lovejesus1 +sept16 +buddy07 +1life1love +lealea +11101987 +240888 +sandy11 +uf +ripazha +myhusband +31121988 +luvu4ever +270784 +230792 +281091 +15987532 +mystuff +tigger18 +301287 +thought +chauhan +120980 +24071990 +150385 +23041985 +joyjoy1 +01101984 +2303 +YYZ59gtP100 +meadow1 +jimmy13 +genuine +passat1 +27121991 +600028 +lakers21 +11031986 +07071992 +889988 +baldwin1 +boulot +password85 +01081989 +volvos60 +180391 +carlson +tgbyhn +citrus +talgat +19121992 +lenusik +iamtheking +14081986 +funstuff +250485 +thedon1 +cutify +ujnbrf +letsgo1 +cow +silver21 +aznpride +191089 +single01 +solo123 +240188 +met +spaghetti1 +yayang +amazonka +Tinkerbell +bears23 +stick +sarah! +hiroshi +beer69 +Gy3Yt2RGLs +shreeganesh +24021990 +leaves +111www +advokat +27091991 +not +7794422 +caseydog +220484 +301084 +fonseca +donny +987456123 +29061990 +hysteria +wade +230784 +28101986 +ooo +modelo +12345678h +150984 +sharik +catscats +1.23457E +sexygirls +azerty01 +josefina1 +june2006 +1234567890m +freeme1 +211091 +pearl123 +glorioso +11051991 +1234321q +llcoolj1 +6D2-24E5r +emm +1truth +dominique2 +aptiva +14061986 +cutie21 +23111989 +250287 +bridges +150286 +mikel +jackman +300490 +161087 +hair +slugger1 +21061986 +29101990 +babyboo123 +190285 +250491 +eagles13 +f1234567 +1937 +orwell +houses1 +snuggle1 +421301 +sophie3 +slammer +crocodil +papi +110991 +peaches! +11051984 +hippo123 +tebow15 +101178 +25051984 +chaingang1 +100582 +sashenka +218540 +03061987 +210383 +215215 +14061987 +coors1 +icecold1 +1westside +22101991 +betty21 +vfkmdbyf +02041990 +larsson7 +cole12 +sasasa1 +07061985nina +steven5 +gattuso +repytwjd +google1234 +11071986 +univers +sassy11 +halo3rocks +raw123 +rodeo +17121984 +shorty09 +matthew09 +28051987 +8520456 +baller01 +pinocho +197611 +keykey1 +110382 +24081991 +280790 +shortstuff +21101991 +130792 +superman16 +bestfriend1 +gfhfif +shyshy1 +coolie +moveon +101213 +laptop123 +ashley05 +22041990 +081288 +051092 +cousin1 +300190 +09876543211 +camaro68 +15071985 +class11 +jp1234 +born2win +goth666 +transcend +riodejaneiro +planes +06011982 +darlington +17041992 +161282 +132001 +bluefish1 +salinas831 +patricia12 +chicken23 +mistake +shekhar +28101985 +darrin +19471947 +123123l +1900 +22081988 +.adgj +manamana +snatch1 +sasha13 +yamaha2 +091288 +chill +200580 +cardoso +macho +21101989 +270389 +poilkj +omen666 +shahzad +iluvchris1 +120382 +awerty +stampede +ottobre +onlylove +198601 +gender +tyler21 +120678 +25071987 +hill +654654654 +weird1 +290588 +emil +dragonz +process +300485 +vavilon +21011986 +17081988 +colombe +ramakrishna +babygirl93 +poubelle +kumkum +181185 +060988 +290487 +pfqxjyjr +04021987 +p2ssw0rd +18081987 +aileen1 +apollo12 +aserzx1 +olympic +020989 +demian +mechanic1 +1357642 +ilovemark1 +27011988 +aardvark1 +keke +180987 +christian! +6666667 +140891 +pocket1 +konami +milly123 +sentra +ministry1 +kiersten +sample1 +angel2000 +27021990 +myebiz123 +happy14 +070990 +why123 +anicka +240591 +grandkids1 +ZZZZZZ +welcom +roflmao1 +civilwar +wallst +johny +border +duck12 +maggie21 +snoopy5 +cookie08 +divorced +parker123 +500028 +iloveno1 +15111987 +link2011 +21041986 +05091984 +2106 +090588 +imperium +hotpussy +barone +21021988 +shadow89 +babygirl96 +star25 +08081987 +Tweety +300788 +bipbip +17071990 +29061988 +040890 +irule +puppies12 +aaaaaa12 +cock123 +20011988 +230991 +211284 +nikita12 +291090 +calabaza +Lucky1 +honda7 +mermaids +janeiro +dominica +massimo1 +antman +JUVENTUS +shells +sutherland +franco123 +beavers1 +tigger17 +nexus +canine +13101984 +blue06 +adebola +wagner1 +pumpkin123 +tygrys +loveu12 +missy01 +140490 +03071987 +george5 +gamma +catering +281082 +mustang23 +16101985 +10021984 +2597758 +mongo1 +bauhaus +1hotmomma +220287 +mae +champ24 +030490 +lashawn +pelumi +221987 +kimerald +ashtray +10071988 +Shannon1 +199300 +hellboy2 +agatka +30081988 +05031987 +ohbaby1 +asasasasas +wtpfhm +carebear2 +kelly11 +billion +110021 +rolltide12 +mommydaddy +apollon +260386 +kaylin +januar +samsung5 +anna22 +lol321 +hearts12 +kakawka +260391 +Jack +snowhite +badboy23 +ciocolata +230391 +david25 +mike19 +170386 +Abc12345 +280289 +alisson +radmila5 +arthur123 +ripley1 +231283 +jacob22 +blue456 +021086 +cleo123 +camaro67 +260187 +01021984 +inzaghi +24021986 +maradona1 +pressure +29031988 +asdfdsa +110981 +191186 +atx512 +tugboat +040485 +1forgot +29011987 +awesome3 +110186 +19061990 +brit +Crystal +tommy7 +football76 +cucaracha +iron +030689 +sweetboy +143441 +reggie12 +okokokok +150383 +12111985 +270985 +bigone1 +mansoor +cacahuete +cerulean +ocean123 +matt17 +prince3 +midnight13 +090985 +250883 +20041991 +gaby12 +michael27 +23031986 +luanda +copito +matrix23 +alfalfa +holloway +david88 +Gemini +hubby1 +puppy5 +11101988 +sexxxx +darkmoon +211184 +02031984 +kill3r +23121990 +aaaaaa2 +bang +28091987 +020785 +morgan99 +080892 +01021992 +sweet4 +131092 +ladydog +rajarani +12071985 +pennywise1 +b1tches +gunner12 +05051992 +281092 +310387 +winning +vfvfgfgfz +bionda +passes +jesse3 +mykids5 +gjkbyrf +13071990 +19101986 +ronnel +anime12 +kkk111 +ducati996 +lilian1 +290390 +kelly13 +dominicana +gfhnbpfy +azteca +elvispresley +korea1 +09080706 +kaiden1 +daughters2 +15091986 +united7 +jolina +sambo +shorty18 +moonwalk +airjordan1 +8iIw4Ct9Rq +manzanita +stephanie7 +100791 +310784 +170387 +sierra11 +131192 +kayla14 +favorite1 +rainbow22 +popeyes +torero +piggies +laura11 +13031988 +161283 +easy1234 +pooh1234 +090991 +wildones +10221022 +moremore +050789 +cubswin1 +catalan +27031990 +bubbles9 +gilgamesh +nisha123 +medieval +timmy12 +16041988 +25041989 +200884 +marlee +25021986 +04071988 +qweqwe12 +irochka +class05 +fickdich1 +dallas7 +28021988 +george23 +PW2012yr +vergara +dicker +ugochukwu +shelbygt500 +aliens1 +faceoff +19061986 +buddy8 +220483 +conor1 +ira +belgium +robbie123 +311091 +20061984 +pedersen +hayden123 +01041991 +omar13 +samwise +blank +phantom2 +250991 +minion +wal +rahmat +pimpin09 +10091991 +angel2006 +30071987 +heather01 +daniel98 +zagreb +football58 +vfufpby +boondocks1 +yeshua1 +expedition +17101985 +iloveamy1 +eagles3 +020390 +lover24 +01121986 +zippo1 +240691 +fudge123 +smeagol +live2ride +1928 +joey01 +20051990 +flower21 +22031987 +butthead2 +26101983 +tigger06 +martin23 +151089 +pantek +helpdesk +a1234a +codelyoko +28031991 +amandeep +011086 +181182 +201287 +tata12 +Qq123456 +261182 +muffy +130983 +crazy15 +14081987 +estefany +joseph! +17041990 +amanda09 +mike101 +arina +gambler1 +chandana +060890 +200892 +iaminlove +kikina +198123 +yankees5 +aaron3 +1q2w3e1q2w3e +19866891 +021289 +sparkey1 +buggy +nena +16101984 +230583 +petter +270890 +18101989 +170784 +tiger77 +cutie8 +bulldog3 +mustang21 +hannah18 +17021988 +15101992 +11091991 +Audrey +pernille +grace01 +21091991 +010288 +grandkids5 +29121986 +171089 +280987 +halo13 +sarah69 +26121986 +26101984 +peoria +tigers! +poopie! +buddys1 +panatha13 +mexico17 +hollis +froglegs +190785 +seth123 +Raiders1 +nicholas5 +flygirl +170887 +25091991 +14101992 +magic13 +170390 +lebedeva +27071990 +2horses +hallo12345 +jonathan123 +170286 +Steelers1 +mom12345 +milan123 +tonyromo9 +halo360 +cook +bailey05 +bulldog7 +lemans +10081984 +access123 +tho +billabong2 +maddox1 +antonio10 +140885 +oneone1 +170186 +lbvfcbr +trevor123 +tunde1 +24041988 +brittany14 +antosha +210483 +150692 +semenov +69eyes +player10 +dipset3 +221083 +lfc123 +mustang4 +sadhana +cool01 +bulldozer +nick69 +hatice +17031991 +25071989 +airwalk +dozer +25071991 +inside1 +amaury +280891 +jr123456 +834001 +ellis +dnstuff +12011991 +cherry4 +A1B2C3D4 +certified +love_me +mamaku +gwendolyn +cupido +rock10 +241182 +12121981 +021285 +freespirit +musique1 +monkey26 +server1 +diablo13 +mykids03 +ransom +a010203 +kandy1 +superuser +NATASHA +Viktor +040589 +19031988 +lalala. +logan01 +jammer1 +mividaloca +P4vKINRw6x +louloutte +300889 +12041994 +230692 +03030303 +230782 +221984 +daniela12 +160891 +kellen +08031990 +soulmates +patches123 +CRISTINA +mj2345 +fin +suzuki750 +301080 +topaz1 +andrew19 +Friday +adrian10 +22051985 +click5 +INTERNET +sultan1 +14071990 +springtime +eagles23 +160491 +victoria13 +asskicker +hardcore2 +bichette +STEVEN +karina13 +anthony25 +pickle2 +lover08 +ballin24 +tyler101 +jenn123 +sexything +chino13 +mashimaro +3100 +hippopo +hanihani +280786 +hotgurl1 +15021983 +031287 +sleep1 +31051988 +yemisi +Kimberly +smokey10 +280587 +andy01 +pookey1 +Natalia +19141914 +181189 +191090 +delorean +abcdef2 +14051985 +jesus24 +mustang00 +rjnzif +weller +030687 +vampire123 +190891 +14051988 +qwe223 +140492 +john17 +adgjmpt +bug +FRIEND +back2back +memyselfan +toytoy +31101990 +primus1 +gurpreet +Jonathan1 +MidCont +tiago +toni123 +ferrari2 +maggie23 +ikillyou +18051989 +whatever22 +200287 +alyssa7 +gtkmvtyb +it +21071989 +football60 +020790 +ccc +tinker13 +02041989 +yessir1 +boeing737 +17091985 +sexy2009 +221292 +02101989 +22081985 +lisbeth +31011989 +11111988 +100481 +aman +260593 +sasha1997 +erevan +260189 +yahoo3 +hotdog11 +melmel1 +duke13 +love1997 +03031993 +251091 +261191 +05121985 +290786 +cordero +23101984 +fuckhim1 +010193 +diciembre1 +xchange +cookies5 +151191 +punk666 +01031990 +genocide +arrowhead1 +281184 +arroyo +pinky3 +journal +24051989 +1clen1 +gonzalo1 +daisy22 +mommy21 +261183 +melita +frost1 +generic1 +graves +1gangster +amor10 +03061990 +315023 +02101990 +homehome +120579 +rotimi +21101985 +nikolina +Shadow1 +197511 +25051992 +karatekid +411006 +persian +121212w +rollins +nikki01 +player4 +parsifal +yandel +rhfdxtyrj +group +29041988 +newyork13 +football67 +23081989 +westside23 +210000 +intranet +football70 +vbkbwbz +963 +25041986 +eeeeeee +Trfnthbyf +20111985 +setiawan +96969696 +26041990 +mariusz1 +princess90 +191187 +liarliar1 +buddy69 +maybe1 +werock +zaq +31121989 +trains1 +supersuper +edward21 +pinky13 +poohbear14 +bama12 +lucy13 +jordan95 +mike77 +segreto +josh18 +grace5 +100483 +zWN6Vbdvpj +puppie +23091992 +nigga11 +chris26 +Angel1 +221226 +21021984 +07051987 +teamo. +260987 +steve2 +melissa21 +16031990 +taylor. +08081985 +weed101 +dirtbike12 +yummy123 +220380 +gracious +gaara +22071985 +20031985 +shift1 +051286 +190000 +musicmusic +17061991 +11091987 +tj1234 +ane4ka +24031988 +21081990 +raiders5 +godsgrace +15051988 +120595 +SaUn +hoosier1 +george69 +katlyn1 +22081989 +derrick2 +ghost13 +hotty101 +sosexy +Awesome +akolang +11041984 +jenny10 +220881 +24121988 +cantik1 +baxter12 +vasant +yankees02 +ilovetony +pomodoro +270987 +560010 +180386 +040788 +030387 +560102 +london7 +puppet1 +cletus +000000m +lover. +stockton1 +050890 +mybabygirl +22111985 +flowers7 +101983 +241291 +attack1 +honey143 +choochoo1 +1liverpool +jamaica2 +16121990 +23111990 +danny14 +carlin +nafisa +mabel +290789 +grounded1 +hannah98 +18011991 +10021983 +f0rever +joeblow +booyaka619 +201191 +vipergts +sammie2 +250391 +harry7 +satanas666 +thedevil +18081989 +131213 +elegance +gracie3 +one1love +198505 +sexygirl10 +Elisabeth +hardy +201183 +parachute +240492 +magick1 +jerome123 +03051990 +johan1 +oscardog +18021989 +mimama +200684 +messi123 +191285 +180786 +135642 +pooface +princess04 +19021992 +missing1 +11071990 +demonic +region +buzzer +ryan16 +andrada +261192 +tasha12 +270586 +ford12 +251080 +19061984 +05061992 +ryan69 +ilovetony1 +31121984 +150883 +cubby1 +alleycat1 +28021986 +181287 +taylor04 +feliks +28021990 +31031986 +23071990 +dalejr1 +28111986 +lucas10 +041088 +basketball12 +chevy1500 +anhnhoem +11111983 +170191 +pimpin07 +dewalt +papa1234 +14081990 +10041988 +15011985 +booboo23 +nathan09 +liverpool3 +mars13 +zaebali +47114711 +onimusha +14061985 +akusayangk +130384 +19011989 +150191 +270388 +macska +001977 +sean1234 +jeffry +daxter +14111985 +maimouna +megamanx +10031993 +rodica +marshal1 +poppy12 +hookup +lordoftherings +class2007 +wertyuiop +19111985 +nokia2 +roadking1 +dearest +rockstar22 +sassy3 +lilman123 +190585 +14111991 +30041992 +buddy08 +tessa123 +16041990 +sasa1234 +vjybnjh +tweety10 +01011 +20071991 +13051985 +meggie1 +thatshot +181285 +seafood +skater01 +120978 +zhangwei +280885 +mnb123 +220192 +severin +heroin +kobe81 +amber69 +pimp00 +andrew04 +lovestinks +200186 +030888 +Rangers1 +level42 +joshua9 +21021985 +miamia1 +031088 +Xbox360 +0277127298 +rogerio +23101988 +31101988 +laugh +19251925 +mommys1 +feelings +ramarama +stokecity +shamim +mira +25031991 +abc111 +150482 +ABUSE_123456_ABUSE +baluga +n1cole +201182 +sammy23 +987654321s +petr +091189 +27051987 +100382 +19091987 +taker1 +190584 +mariano1 +alcohol1 +12341234q +master77 +250383 +michael77 +simon12 +jack69 +alabama12 +18111987 +16091988 +18121984 +myjesus1 +pappy1 +lauren14 +22041989 +Snickers +mylove22 +9itz78vUfW +d68pyfuH2V +peaches01 +hermano +akomismo +legoman +sahana +minino +colnago +odz1w1rB9T +linkedinpassword +patrick9 +master007 +check1 +22031986 +29031991 +liana +banana22 +120792 +060790 +141191 +300389 +301280 +superman25 +wallace2 +flower9 +pigpen +070792 +chicken10 +051285 +260484 +16051987 +lance123 +babyboy4 +aqaqaq +god4life +ronaldo12 +20081989 +14061990 +breathe1 +shelby10 +011287 +kilokilo +lildevil +03071986 +iloveme23 +26061985 +2107 +27021987 +worlds +sayangku1 +ragnar +pravda +golaso64 +pupkin +sno +2201 +20041989 +rex +10021993 +monster666 +taterbug +rfhfufylf +28121986 +green09 +16021988 +webmaster1 +31101989 +rfvbkkf +210781 +sharmaine +291284 +100881 +134679a +programmer +yellow14 +110581 +291190 +bell123 +cherie1 +fatboy69 +raindrops +100291 +bmw520 +thorsten +jacob4 +rock01 +1rabbit +baxter123 +008hotboy +saints12 +raymundo +gundamwing +redsox7 +271192 +yellow69 +lucas2 +250786 +Russia +monkeygirl +rosalie1 +moomin +shadow33 +17091991 +alex666 +nasreen +istanbul1 +destruction +gnbxrf +19121985 +251291 +calvin123 +160785 +roderick1 +173173 +13091986 +dogs101 +black101 +harmon +301182 +19011986 +mercure +killa23 +cameron13 +270187 +20011986 +29091991 +1bitches +snowy123 +198602 +lizzie123 +17071991 +son123 +Patches +16061991 +15061985 +sizzle +april05 +40404040 +180488 +alex33 +eskimo1 +damned +040688 +122345 +22101992 +zizou +magic5 +xxxxxx6 +a333333 +forgetit1 +dreamers +tgPw53j3kG +dalida +sweet101 +eric01 +amanda19 +02081984 +derby1 +nonloso +17091986 +jannie +221181 +ramon123 +tony15 +sai123 +henning +freesex +180486 +10291029 +venture1 +joker21 +yakumo +black1234 +181282 +madison09 +031186 +180290 +sucks +sampras +ford01 +flying1 +peridot +fluffy01 +tigers06 +kevin69 +29101987 +10101994 +sexy30 +daniel77 +davidm +asdfgh6 +sounds +aaaaaa123 +gaspard +170687 +hailmary +280286 +kitten3 +mimino +290586 +22061992 +lollollol1 +zxc789 +penny12 +faizal +tristan2 +arvin +151285 +dragonfly2 +alyssa5 +baby95 +180487 +continue1 +hotty12 +iloveu9 +10071985 +310386 +purple19 +prada1 +chobit +220189 +doofus +nestor1 +bunnie1 +tecnico +passord1 +hollyy +123213 +ciao123 +131184 +230682 +subhash +delsol +11101989 +tiffani1 +17111989 +9052950013 +beastie1 +210891 +ybrjkftdyf +mustang22 +christ123 +storms +250000 +ramkumar +paganini +sigmund +forever14 +j11111 +danidani +paakow +myrtille +135798 +27111985 +081289 +290992 +seagulls +weaver1 +luisfigo +0o9i8u7y6t +stephanie0 +emilee1 +blue12345 +conker +22442244 +baseball26 +myboo +03101991 +369874 +gabi123 +love54 +ilove23 +091188 +300886 +Sonnenschein +jesus20 +23121989 +197373 +dfczdfcz +�+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+���� +maja +monster01 +29091992 +westside7 +280788 +bunnyboo +411411 +30071986 +1504 +valter +antwan1 +27081990 +13041989 +peanut09 +190786 +marito +23091993 +kimono +blbjn007 +31071986 +12stones +june04 +marie9 +aleale +Monica +arpita +bugs +02061991 +oneandonly +1bailey +naruto95 +Fussball +Tanner +15041986 +33 +therese1 +cheeseburger +nikki69 +ciccione +batman9 +020885 +godisgood2 +26061988 +27121990 +dance4 +15253545 +sexy92 +kornkorn +zurich +160484 +footprints +rehana +conquer +2105 +social123 +200987 +loren +joystick +bagels +fsd9shtyut +Nfnmzyf +babygirl45 +euskadi +25061989 +imyours +36987412 +carwash1 +general01 +198219 +291183 +sassy13 +21121992 +29051991 +lakers7 +alex1986 +291288 +21051985 +badgirl2 +actress1 +190687 +Forever +23011989 +23041988 +#1lover +070888 +1bandit +firestarter +sushil +Arthur +280492 +21111991 +stevenson +soyfeliz +zolika +kiwikiwi +dada12 +cutlass1 +198426 +orange44 +bateria +kurniawan +daniel03 +241283 +400057 +like +1301 +pickle12 +craig123 +пїЅпїЅпїЅ +mybabe +251191 +3000 +chicky1 +852 +gino +blast +ami +400002 +jovana +chatter +lidia +12051984 +matthew16 +daisuki +9inches +playground +hehehehe +marbles1 +computer22 +tonya +180592 +adadeh +hayward +310389 +dj12345 +ttr125 +lookin +bigpoppa1 +19011987 +geezer +ibragim +zachary7 +rc.itymrf +yyyyyyyy +23021986 +penis5 +13101991 +dima1994 +201282 +30121985 +18051985 +donald123 +26081987 +19101991 +07091988 +john1 +29061989 +180989 +scooby69 +spacemy1 +fallen123 +allure +021189 +killjoy1 +netnet +saffron1 +131083 +030587 +10061990 +13061985 +28021991 +250382 +160883 +100282 +rachel10 +sharif +orlova +wings1 +chiaretta +852963741 +14011992 +210784 +al1234 +25111985 +hannah101 +biedronka +skater22 +cassano +bulldogs2 +150683 +mc1234 +ilonka +atlanta7 +25081987 +ilovefood1 +otioti +22061986 +money06 +steelers07 +oluchi +brenda13 +parts +191287 +24021989 +patron1 +31071991 +280892 +freed0m +tweety! +321qwe +miami13 +ilovegod! +baseball05 +dulcemaria +streetball +avengers +nichols +shorty07 +delhi123 +120493 +mkmkmk +170692 +120593 +290986 +rusalka +210682 +rat123 +idontno1 +citadel +carl123 +Aa123123 +williams12 +12345@ +LztEz2xe98 +import +kids04 +270390 +reeree1 +godsgift +2332 +bilbo1 +1511 +dejesus +chanchal +21081986 +160489 +jerick +dimochka +riley12 +240583 +mariachi +02121988 +double1 +210285 +john24 +15021992 +sasha2010 +pepper33 +sarada +pollo123 +151281 +040889 +pedros +sammy1234 +school7 +dragones +patrick10 +27081991 +DANIELA +ctcnhf +hol +fuckoff11 +240387 +komatsu +raiders01 +chaparra1 +1love2 +21061985 +dragon19 +dididi +shiva1 +heavy1 +memole +onelove12 +solano +14031988 +morgan4 +18101990 +26021991 +burzum +simcity +moonbeam1 +19121984 +241083 +june02 +java +moneybags1 +tan123 +831001 +neo +01011973 +250505 +aaaaa2 +chandru +wendys1 +saloni +pistola +patita +souljaboy2 +spirou +4747 +220693 +199411 +nicholas01 +080990 +18021992 +norte4 +311283 +die666 +longbow +456963 +16031988 +260786 +patrick22 +mariateresa +superman17 +panchito1 +220791 +13091991 +140982 +lilchris1 +nigger7 +murphy11 +macaroni1 +deanne +2stupid +gemini12 +delphin +babigurl1 +four44 +theodora +02041992 +170892 +mcdonald1 +28081985 +bong +ajay +rockstar23 +cool55 +spider11 +cherrycoke +camilo1 +shippo +197100 +170290 +160690 +may2006 +pixiedust +161186 +tyler05 +snooker147 +baileys +daddad +bambush +scrapper +abcdefg2 +sclub7 +221986 +14011991 +wrinkles1 +devika +mamusia1 +yourface +121976 +nani +football87 +140483 +yahoos +29091989 +17091987 +Spencer +olegoleg +catcatcat +discount +win123 +2206 +badbad +Travis +14111989 +yourmom7 +190485 +scimmia +hawthorne +starsky +shortys +240287 +30031989 +dalmation +fuckoff420 +222221 +17031989 +absolute1 +homies13 +01091992 +sniper12 +01101986 +nicole101 +gardener +yousuck123 +nottelling +sydney2 +260783 +bartlett +a159357 +10091984 +20091986 +17101992 +001 +april06 +slipknot3 +butchie +mazahaka +harder +11223355 +schultz +pooja123 +yugioh123 +warwick1 +jonas101 +lbvf +1123456789 +defiant1 +mariaclara +199315 +gemini22 +naomie +baseball28 +031090 +pierce1 +230484 +210884 +24041986 +scorpio2 +muenchen +magpies1 +majeed +cheeze +settings +100million +aaron01 +scrappy2 +matteo1 +candy16 +24091987 +21081985 +24021991 +boriqua1 +30051990 +cherry23 +polizei +green44 +19111986 +alienware +google7 +301183 +lol666 +loveme9 +linksys +orange9 +turtle22 +hertha +jaimie +22071988 +emoboy1 +orlando123 +Thunder1 +jesus16 +17021992 +sokrates +zemfira +170788 +111974 +280990 +rolling1 +black09 +03101989 +cvbncvbn +seymour1 +bl +160284 +skittles3 +310186 +041286 +69love +lovergirl2 +paul11 +23061992 +yoyoyo2 +cherry21 +lenchik +1snoopy +neverland1 +070889 +4343 +190287 +kalle123 +210983 +230184 +delhi +different1 +291187 +sunny7 +skater32 +pinky5 +kotkot +clarion +11111990 +040691 +140582 +070783 +rosado +brian11 +MLqdakf8yt +fuck101 +qwerty86 +75757575 +yusuf1 +lilrob1 +230283 +Isabella1 +melly1 +nannie +29051987 +summer2006 +maxie +matt10 +170591 +121079 +lady11 +221082 +mavrick +rita123 +julienne +140684 +tes +shorty17 +fuck88 +141082 +021190 +18021990 +serenity2 +050592 +140282 +myspace89 +12481632 +001002003 +scumbag1 +12071986 +010686 +fontana +kaleb +uncle +jayman +150485 +03061991 +heslo1 +171184 +1vanessa +trythis1 +bichito +organic1 +andrea5 +555123 +molly1234 +fuckoff5 +cuties1 +p00kie +cosanostra +triton1 +qwertasdfgzxcvb +cfiekmrf +fericire +football73 +my1andonly +140494 +1badgirl +25021990 +fevrier +Brooke +300385 +traviesa1 +011090 +sophie! +231081 +270885 +welc0me +hello24 +pimp18 +12password +01101988 +roofer +ilovecody +091287 +crown +071287 +nero +style +shoes123 +131281 +adetunji +westside4 +kamilka +110580 +23051983 +140591 +rangers11 +02061990 +3141592653 +160583 +ilovemybaby +ja1234 +keepitreal +123789654 +030786 +carlos17 +kochamcie1 +eagles07 +nepali +giants21 +meemee +broncos24 +15111990 +30031986 +1pumpkin +ppp000 +girls69 +mymommy1 +mervin +01061983 +rickey1 +cathy123 +rennes +310584 +27011987 +ciaobella +my2dogs +1mylove +08021990 +killer07 +airhead +simon2 +elijah3 +agbdlcid +031290 +millos +small +10102020 +220892 +lynnette +zaqxsw1 +25061986 +fgrd58es24 +1304 +mike45 +dude69 +050687 +rose10 +candy1234 +medicine1 +05061985 +wingchun +STELLA +10051983 +01121990 +071 +198333 +milito +sarah14 +happy08 +balls69 +orange33 +nique1 +chiodos1 +pork +wonderboy +naruto16 +25071985 +16111990 +burgos +raffaello +mamalove +ashlie +240885 +270590 +pomona1 +thebeach +240887 +250290 +020988 +dietpepsi1 +21031989 +babu +rose01 +chambers1 +141283 +250187 +270288 +020787 +hockey25 +041291 +jj +180684 +29041986 +gemini11 +skate! +010107 +20101983 +santino1 +babie1 +imapimp1 +130292 +290985 +piloto +sunshine15 +dos +orquidea +mickey16 +060683 +ilovescott +280789 +badoo1 +angel30 +01021991 +300685 +royboy +khalifa +especial +1258963 +19491949 +21071992 +18121985 +17071986 +spain1 +qq12345 +mclovin +411048 +mojomojo +goodone +garland1 +reptile1 +tyson2 +xzxzxz +apple9 +190686 +myname123 +260887 +01071989 +17011989 +alvin123 +virgos +garfield2 +concon +southampton +041189 +14031987 +4me2no +kidney +alexis9 +aleman +1morgan +27061985 +02061985 +06061992 +1sammy +jeremy7 +pink19 +111292 +31101987 +110293 +fatboy13 +faith11 +tyler16 +normandie +04081987 +red100 +truelove2 +24121984 +anyuta +bismillah786 +vin +230882 +29031990 +21111987 +250191 +james33 +guess123 +23091988 +creation1 +july08 +7788414 +26041989 +babochka +051090 +Dmitriy +walkman1 +graphic +aurora32 +esquire +zaq123wsx +111zzz +parabola +basshunter +10021985 +wybe4591 +198918 +111281 +traci +estrelinha +felipe12 +Fuckyou2 +25081989 +6children +nouveau +3rjs1la7qe +1116 +kit +waylon +aguilar1 +sept12 +mahadev +monkey28 +091285 +chelsea14 +JAMES +iii +golf18 +scuola +linkinpark1 +13071989 +26081988 +orlandobloom +katekate +12021993 +klubnika +smarties1 +560025 +281083 +poop21 +cassius1 +bosco123 +slayer13 +vidhya +300985 +northern1 +mark21 +alladin +asshole01 +stephen123 +clapton1 +228 +chubbs1 +310889 +11041985 +220583 +pimpen1 +bogus1 +144144 +010586 +priceless +16121985 +james20 +ramadevi +jeepster +anonimo +9898 +polar1 +knives +babygurl07 +21041991 +04061988 +16081990 +nicole77 +amirul +sheckler1 +swift +chicago12 +alpha2 +joshua98 +12081983 +28121989 +10211021 +15101984 +shella +010886 +suisse +spock1 +skippy123 +kindergarten +d1amond +12021981 +donomar1 +198225 +gitrdone +raptor700 +198820 +30051987 +8x2h4Fddap +willow2 +rosie2 +08081992 +rock4life +260287 +hibernia +24031986 +greengreen +modupe +monami +babylon1 +iloveu6 +kasey9 +koolkool +GEMINI +kingcobra +29051986 +18111986 +15061991 +180884 +graeme +pr1nc3ss +saveme1 +fatdog +02011989 +gambia +paterson +berber +30101991 +cookie1234 +11921192 +fantasia1 +trotter +170690 +yankees09 +marlins +loveman +001974 +maggie99 +26121989 +angel44 +241282 +121095 +150287 +220384 +kfvgjxrf +tables +ashley25 +17071989 +5151 +2526 +snoopy21 +natura +130491 +skaters1 +19071985 +thriller1 +15111989 +oldspice +280691 +blahblahbl +231083 +171083 +miramar +lovely8 +2020fb +heather4 +gunman +number17 +alexis15 +23081987 +16061990 +kerri +darkness6 +leones +1593575 +Einstein +03121987 +tribal1 +India +040789 +85858585 +1zxcvbn +140391 +27041989 +6363 +tampabay1 +19061989 +milford +swerty +watsup +17061987 +hillsong +celtic1967 +hondas1 +amazonas +26051986 +�+��+��� +truand +slipknot11 +daniel26 +wangwang +rainbow8 +010179 +l3tm3in +250390 +lovemama +rockout1 +270786 +mywife1 +ryjgjxrf +170587 +darrel +coco23 +vampire12 +potter123 +cashew +55 +041289 +tyree1 +00009999 +160586 +bigdog69 +bailey09 +jackdog +diamond08 +gussie +trinitron1 +camila12 +password67 +vfhvtkfl +07071985 +revilo +sw0rdfish +munmun +kevin1234 +lenore +23111992 +290386 +211291 +calipso +amoretiamo +ronnie123 +sourire +Babygirl +frenzy +ocarina +douglas2 +feeder +041186 +jesus2010 +10051984 +steffi1 +@gmail.com.mx +sue123 +hunter77 +brasil123 +bellas +dallas3 +angels! +nachos1 +sergeevna +230492 +lolipop12 +061286 +140592 +VERONICA +analaura +199712 +stifler +panthers2 +17061988 +hang10 +mr +elvis2 +grandma12 +carole1 +deathstar +bhushan +zambia +tanga +sanjay123 +parasite +kwabena +doreen1 +emmanuel12 +30051988 +01091988 +smartgirl +pipicaca +princess0 +elloco +15011986 +farhad +seanjohn +kaitlynn +shorty08 +duchesse +26011987 +какашка +030392 +thomas05 +sexy2008 +tomjerry +isaiah12 +danielle5 +anupam +160789 +148888 +argyle +emily4 +temporal +05071990 +shinta +calvary +contreras1 +Zachary +160990 +loved +chase2 +zhongguo +ryan06 +29121985 +21111985 +01081986 +freshboy +getfucked +16051991 +sexygirl13 +21011985 +sports11 +myspace777 +goblin1 +fanta1 +130482 +123456me +poiuytrewq1 +291283 +spring12 +04061984 +ange +23021984 +25011987 +23051984 +051191 +bella06 +loveyou8 +27021992 +CHARLES +23041989 +millie01 +11011984 +doggys +21011989 +121296 +06071984 +220482 +250580 +underwear1 +safina +newyear1 +271182 +04061987 +bandit7 +bella21 +68686868 +03091987 +rediska +momo11 +horndog +28071988 +isabella3 +justme123 +lamar +luvbug1 +15111985 +loveme18 +110782 +26091986 +adidas3 +091186 +umesh +01011972 +flowers5 +200584 +nigger4 +vqsablpzla +12345678f +cookies7 +300988 +02071990 +29071987 +arsehole +Manuel +zoulou +werwerwer +100681 +291291 +123321m +040588 +26071990 +25031986 +agnese +150691 +01061992 +johnnyboy +030787 +18091986 +abdullah1 +1472580 +love1988 +apple8 +password04 +ADRIAN +kokoko1 +dustin2 +goldfish2 +labyrinth +rainbow9 +halifax1 +grzegorz +ticktock +miumiu +football62 +harman1 +15011990 +12111984 +02091989 +malandi +180191 +agassi +20091990 +270685 +video123 +libby123 +400013 +dancedance +23081986 +chris27 +blacksmith +240884 +agyeman +josue +10111984 +money2009 +11061989 +superstar! +wholesale +16111989 +percival +010990 +22071989 +montevideo +pimpin6 +lowrider13 +180689 +20121992 +calypso1 +sanjo408 +lala14 +justyna1 +22031985 +tanner11 +ou812ic +vette1 +suckmycock +pretty01 +tayler1 +perrine +210287 +101179 +13051992 +zxcvbnmmnbvcxz +alleluia +fuckyou33 +29061987 +joshua20 +05091987 +ubuntu +15031986 +mybuddy1 +17051985 +bracken1 +coucou1 +011289 +160791 +28031990 +14041984 +chico2 +dolphins12 +davion1 +010789 +e65r82kni2 +malin +peaces +toodles1 +jorden1 +beulah +stetson +trauma +tinytim +27061990 +281090 +paige12 +23061986 +ryan08 +evanescenc +yellow15 +sexyboy2 +260984 +21121984 +10091988 +nintend0 +Kp9v1ro7lH +polo1234 +1234567654321 +meow12 +diablo22 +1503 +belair +beltran +paparoach1 +berenice1 +antique +25011985 +football71 +jhonatan +caballos +nigga4 +strawberries +pipi +purpose +160591 +310885 +23051985 +darklord1 +08081990 +love1212 +kuba123 +271084 +iamfree +Chester1 +020891 +110693 +kenobi +houston123 +dogbert +28011987 +tarantado +213 +allied +danny21 +mitchel1 +jeremiah2 +02121986 +14071988 +03051987 +dakota5 +18021986 +02031983 +malaka1 +andi +ginny1 +harding +kipling +danielle10 +hayden01 +skadden +MARIA +baddog1 +negrita1 +300186 +candi +honda11 +articolo31 +bathroom1 +sparkie1 +topaze +dylan11 +ghbdtnekmrb +zelda64 +180385 +turtle5 +197346 +q1w +iheartyou +univer +23071988 +14031989 +whore. +ashley89 +sagesse +jessy123 +JESUS1 +butter5 +sept20 +23011987 +200500 +diosmio +scrubs +123123b +19371937 +cri +19051985 +sssssssss +hattie1 +10111991 +playboy21 +jerry2 +30041986 +йцукенгшщз +laura01 +13071985 +513513 +emily! +gr33nday +janie1 +11223311 +bird123 +awesomeness +210492 +a12341234 +loubna +goldeneye1 +01041989 +Natalie1 +ramiro1 +veggie +01031992 +mouse12 +clothes +Gabriel1 +vfktymrfz +davis123 +special2 +040492 +28081992 +25021991 +Marcus +170584 +narciso +putain +EDWARD +281285 +fucking69 +theduke +demolition +granger +max007 +raiders21 +24091990 +2wsx2wsx +261283 +14071992 +23031992 +nascar99 +395007 +Harvey +nutella1 +danny10 +vining1 +prinzessin +E +welding +170891 +ilovepaul +kaffee +pimp17 +bashir +jingle1 +magic3 +ashton123 +1940 +aq12ws +copycat +fortunato +lexi12 +jackdaniel +haroon +brianna13 +27041987 +bigblack1 +03041990 +Google +killer44 +chicka1 +dupa12 +77777771 +cowboys! +blackberry1 +yamakasi +manoj123 +280387 +drive +eyeshield21 +300787 +lavander +lacey123 +hottie18 +05081987 +akinola +bubbles09 +29121990 +omolola +171182 +25021992 +30041988 +orchids +paiste +ORANGE +230681 +200691 +12011989 +010100 +sternchen1 +maxcat +28101989 +02091985 +280191 +050583 +lllll1 +271287 +dallascowboys +lifetec +dragonball1 +joke +200284 +biggles1 +portakal +151083 +1peace +lookout1 +squall1 +211183 +1a2b3c4d5e6f +pimpin08 +carlos16 +26021987 +taylor69 +year2010 +cendrillon +29011990 +06071987 +SOLEIL +554455 +bandgeek1 +rebelde12 +playnow +michael26 +allalone +mamababa +navarro1 +football43 +04081986 +20081984 +23121983 +dexter11 +mather +alyssa07 +meandu +apocalipsis +sparky13 +pass-word +16011987 +140892 +bla123 +18111988 +abba +ponchik +trilly +aqw123 +16051989 +rulez +mexico09 +hockey30 +blackwolf +17081992 +tweety4 +26041987 +loveisgood +fucku5 +1stborn +31101986 +christian6 +blitz +Raiders +level1 +isabel12 +ridwan +athletic +17021986 +ramos1 +imran +raihan +130483 +201081 +151151 +marcelina +Pass12sa +shruthi +biblia +myangels +babbygirl1 +pink55 +20111984 +121094 +22041983 +money44 +560071 +inuyasha13 +osborne +asdasdas +VINCENT +tigers23 +rene123 +vasileva +19021985 +logan11 +15011991 +seadog +change12 +music6 +luke1234 +thebitch +pleomax +blackstone +alakazam +guru +150483 +8602229096klo +silver5 +mexico8 +13041986 +sonja +tania123 +vadim1 +ihatelife +hottie1234 +lachlan1 +marieta +1marie +061189 +12431243 +fool +radheradhe +mafia2 +dancer21 +tayl0r +16011990 +toonces +blueberry2 +246813 +05101988 +mama21 +270483 +whatitdo1 +199199 +130184 +teehee +crow +abby01 +football92 +Russell +ttt123 +17071992 +14011988 +1blessed +gun +25061988 +199123 +310583 +ilove22 +101990 +justinbeib +301290 +19031983 +fotboll +mylove4 +metallica3 +cookies11 +filip1 +310185 +katyperry +170284 +240886 +221081 +191989 +flakita +101979 +gwapito +vitalina +speedway1 +nightmare2 +985985 +pusspuss +29101985 +180883 +iloveyoumo +bethoven +160584 +161185 +endless1 +270286 +aisling +landen1 +250289 +270591 +28031986 +evans +56785678 +felixx +1redhead +dfkthbq +final7 +lafouine +femmes +superman99 +shiznit +tina1234 +lavanda +240692 +sunshine99 +wangjian +qwer789 +dinheiro +iforgotit +christoph1 +asdasd123123 +241280 +sasha2003 +alamakota +01021982 +miyvarxar +bayside1 +hardc0re +tnt123 +h1992iding +wwewwe1 +ab +280285 +Sarah +audioslave +jordan33 +andron +mariobros +lisamarie1 +cali12 +faith56 +180784 +281284 +koko12 +samba +tyler1234 +redwine1 +super13 +catdog11 +bestbuy1 +mollygirl +211083 +version1 +sexycani1 +vtuf36jhufpv +skylinegtr +brianna01 +onegod +260487 +230680 +300786 +france98 +fordgt40 +june05 +bears34 +041290 +poop666 +declan1 +199090 +cupcake5 +25121983 +ashley02 +mummys +Tiger +bubba10 +Dragon1 +25051983 +orangina +mnbvcxz12 +gordito1 +corine +horses13 +reggie31 +jj12345 +falling1 +samuray +starwars! +bembem +1234567as +michelle24 +warfare +130991 +guardian101 +littlemiss +poppydog +kobe23 +14031986 +260985 +basebal1 +loser45 +thing2 +anneke +040990 +120693 +tolkien1 +song +210183 +avefenix +031291 +12031984 +norwich1 +lor +sunnie +soldado +tink01 +260886 +ghana1 +ghost12 +korean1 +reggina +cookie16 +kinder1 +110982 +124578a +28031989 +fireflies +280190 +323046 +nathan8 +ochoa1 +ball23 +23071989 +dennis2 +iluvu12 +11051992 +tasty1 +19101985 +europe1 +pride +panther7 +melnik +leonleon +march08 +spierdalaj +reckless1 +jailbird +kl123456 +northwest1 +alyssa08 +28071991 +geraldo +dadmom1 +oscar10 +19101984 +121975 +happyone +31011987 +sirisha +181091 +band +21111990 +cordell1 +14011986 +maggie14 +23011986 +live4life +dallas9 +napoli1926 +fireworks1 +13091990 +111083 +310887 +1johnny +dabomb1 +300890 +181291 +041085 +200483 +atchoum +Golden +08081984 +stella2 +190889 +101177 +22021983 +yjdbrjdf +fashion101 +200384 +11011985 +11091992 +lisa69 +08021987 +020672 +danny23 +othello1 +chevy4x4 +scooby22 +10011983 +654321b +dakota22 +fercho +nacho123 +men +gosia1 +hektor +18041984 +fly +1406 +12091985 +05071988 +widescreen +jacky123 +13051989 +gr8ful +millonarios +steiner +19011990 +steven14 +click +jamie13 +micaela1 +maxman +katie7 +redlight +softball19 +alexander. +mohawk1 +����������� +almighty5 +courtney3 +catalunya +hershey2 +tigers5 +diavolo +marat +180485 +05071991 +Password1234 +28041986 +jobs4me +emmajane +18041988 +godfather2 +contact1 +020283 +24111988 +penelopa +4321rewq +03011987 +miranda12 +elliemay +jessie3 +family22 +bunny3 +inlove123 +labello +money00 +290991 +alex26 +280484 +25091985 +sexy56 +cimbom1905 +29111991 +28061990 +sunshine25 +23071987 +qweasz +110482 +njhygtfTB567 +080884 +28121984 +calendario +28081988 +130782 +rfhfrfnbwf +satori +asshole8 +clementina +210580 +7272 +destiny09 +christ12 +400052 +jasmin3 +1234567x +100782 +orchid1 +16101992 +241092 +сергей +22121982 +happy09 +apples22 +wolverin +19071986 +lovers7 +13111991 +frenchy1 +siddiqui +inuyasha! +231292 +hollow1 +220492 +100183 +Y +diva09 +shane2 +sasha01 +Metallica1 +smash1 +ty1234 +agape1 +moss84 +021282 +xj453CxDXQ +bonner +dumass1 +bloodline +01091984 +04071986 +28041989 +190487 +170385 +fruitloop1 +daddyo1 +flyguy1 +donner +mayra +1902 +20011992 +seniors07 +javier13 +270585 +terry26 +cortes +01091990 +300584 +tooter +41414141 +1bowwow +yoville1 +jumpman +dapper +26101991 +guitarist +devilish +vero123 +tasha2 +pal +logical +101075 +Galina +270886 +160781 +everyone +yankees24 +springs +kaykay123 +loveme15 +pretty21 +elegant +mother22 +Monster1 +061188 +darkness13 +thematrix1 +25121984 +107107 +010178 +barbara123 +29121989 +space12 +230983 +loveno1 +123456789! +170183 +06031987 +forgetful +255225 +01121987 +houston3 +200984 +aezakmi123 +mmklub +fortuna1 +rico123 +shadowman +05051984 +shaikh +13101985 +lissette +exclusive1 +411037 +koolkat1 +stepanov +24101984 +wateva +tryagain1 +fahrenheit +22071992 +gv5235523532 +100982 +jake21 +123abc! +190386 +lausanne +190390 +131081 +250682 +hon +jumbo1 +271283 +skittle +juggalo666 +Timothy +loveisblind +12hat93 +30101989 +02011985 +bee +311083 +monkey03 +02041984 +200583 +qwqw1212 +themaster1 +pinkish +100581 +seahorse1 +hubbard +123456abcdef +maranello +dynamic1 +g00dPa$$w0rD +barlow +310390 +24021988 +310588m +taylor24 +alexis8 +panther3 +beasley +turkey2 +js1234 +annina +debbie123 +music40 +antonio11 +15101989 +1a23456 +qwertyu12 +050889 +1478963250 +241080 +120781 +sephora +13021988 +22121984 +anna1987 +stone123 +password!! +010987 +kimber45 +wolves12 +russel1 +iceman123 +sharon12 +ferdie +skooter +logitech123 +money. +poohbear10 +asimov +230992 +sand +tiger45 +mission123 +johnson12 +secret22 +24081990 +horseshoe +puppy11 +juicyfruit +1booger +tuppence +megan3 +29051989 +13081990 +desant +autobus +hunter98 +270683 +26121991 +manusia +masterp1 +22041985 +p3rat54797 +who +crips +sexylady12 +123123k +pacopaco +03041985 +juliano +24061991 +redstone +909909 +solid1 +301091 +bigshow1 +morrissey1 +vovochka +FERRARI +12181218 +miguelito1 +13031984 +rockon12 +mtndew +150593 +metalcore +nokia6131 +30091987 +codeman +080898 +16051986 +17081990 +virus123 +robert8 +190187 +020889 +051085 +10z10z +purple20 +mouhamed +noviembre1 +02021981 +bingos +nathan02 +nemo12 +110992 +12011986 +magpie1 +architect1 +naruto8 +noah12 +131283 +070988 +n1cholas +atilla +oluwakemi +26121985 +urban1 +061184 +CAROLINA +24011987 +zombies1 +28051988 +Buddy1 +28061989 +hellsbells +05101987 +blueeyes2 +hotguy1 +12021984 +071289 +zxc5555 +shelby3 +26101990 +kisser +27031987 +hotass1 +yesyesyes +27101992 +123z123 +raju +iforget1 +snapon1 +14111988 +granite1 +pau +lililili +teresa12 +lifesux1 +270485 +18031986 +hayden12 +14071985 +041090 +24071991 +amanda88 +qweszxc +221180 +freedom8 +ski +gummybears +devious1 +jayden10 +cameron8 +surveyor +carrasco +altavista +25522552 +30091986 +lemah +bading +31031990 +marie19 +09092009 +wesley123 +cascade1 +546546 +31031989 +julchen +030288 +tycoon1 +161181 +gold12 +A1B2C3 +13081986 +benedicte +puta123 +shy123 +9875321 +tundra1 +kola +16071985 +24121981 +27111989 +trash +taylor98 +19081989 +g86ua5qsn5 +millions1 +oneill +24061985 +14041993 +babygirl98 +220283 +godess +bigboy10 +stunna +Parker +240290 +16041986 +monarch1 +27051991 +180491 +150682 +flowerpot +18091992 +a101010 +ilovegod7 +11051985 +pinto +16061985 +170383 +318318 +246810a +emperor1 +08091988 +13051990 +140691 +getmoney7 +sarkar +rororo +peace2u +lawson1 +danman +1233456 +soulja +nickel1 +090688 +412412 +25061990 +14091989 +120677 +crystal11 +goodgod1 +scampi +241191 +laurence1 +16091987 +champagne1 +101277 +200785 +takahiro +gasolina +260389 +25021985 +197912 +100992 +20011991 +megaman2 +tiff123 +24051985 +fucking123 +Adrian +keshav +tat +basket23 +filipp +ajajaj +tenshi +chuchu1 +ilovejoey +lemontree +baerchen +bakugan1 +23021993 +16051990 +kevin08 +bomba +monkey94 +gingin +bicycle1 +171084 +28041991 +torrente +03021987 +fuckoff6 +abhi +loving123 +16011986 +1920 +22091990 +skinhead88 +nathan04 +badboy01 +l0vers +maxpower1 +291082 +280483 +16041992 +101296 +lifesucks2 +batman88 +lilyrose +157953 +159753z +iloveu21 +sweetcheeks +23322332 +21091988 +playboy5 +tigger9 +180787 +winnie12 +19111990 +skysky +27071992 +baboune +pooh16 +blackstar1 +hottopic1 +peppy1 +year2000 +greenfield +iloveme22 +04061986 +26051988 +killyou1 +fartface1 +martin22 +887766 +tyler99 +pass123456 +110893 +kitten13 +amber15 +vfcmrf +haircut1 +221080 +250982 +speed2 +280186 +23091990 +karen13 +spark +movie1 +staci +apple! +28041990 +dragon45 +jackass5 +020489 +26031986 +25031992 +password-1 +truong +20051983 +raiders69 +allday1 +1307 +k43a5vZtoX +password84 +buchanan +iphone3gs +canelo +998899 +monopoli +government +matros +qwqwqw12 +05081989 +181084 +greenday11 +0204 +fuckit12 +250783 +anirudh +adewunmi +soap +allright +lukasek +windex +roudoudou +111280 +fabian123 +toyotamr2 +15081984 +Markus +01041984 +chickie +maria18 +m11111 +darek +sieben +231079 +dreamcast1 +autumn12 +1redrose +03101988 +hemalatha +17121992 +dragao +sojdlg123aljg +arquitectura +sprinkles1 +22111984 +amit1234 +kalamazoo +jacob07 +bomberman +12111988 +kaykay12 +techdeck +11love +navy +gladiatore +e10adc3949ba59abbe56 +600010 +chadwick1 +04091986 +04071990 +cheese10 +28071986 +chessie1 +lovers11 +football90 +06021988 +nope +golfpro +260585 +231986 +delarosa +270888 +spring01 +19091992 +passw +011288 +татьяна +arselect +foxyroxy +badgurl +2711 +niceone +rubyred1 +27121988 +27021985 +yamina +shammy +1trinity +cutie#1 +saturn5 +infosys +VALENTINA +Amsterdam +cannes +12011201 +coimbatore +amber22 +10031983 +ines +vfhbfyyf +v1234567 +07021987 +popper1 +oscar5 +godisgr8 +mybabies3 +tuffy +snehal +corina1 +derder +spring11 +orlando12 +courtney7 +180390 +honey6 +realdeal +Я +raiders#1 +kellyann +20021992 +11101984 +tupacshakur +loser9 +ronnie12 +100693 +blackhorse +magnavox +03041988 +sarajevo1 +18051991 +nicole33 +mylove23 +balogun +241180 +chaingang +02061992 +58666z +eliott +alex97 +280189 +29121988 +concha +HONEY +andrew25 +pizzapizza +patito1 +302001 +17111988 +07081985 +30111988 +051187 +shit1234 +22021984 +munchies +4yfb2S753C +24011989 +180882 +bestbuy +normal1 +270387 +agent1 +20081992 +sagar +maggie09 +killkill1 +celestina +ktyxbr +260186 +17011988 +2smart4u +matty123 +jessica99 +flintstone +luckey1 +28021989 +fuzzy123 +summers1 +� +28061988 +1234555 +alena1 +timothy123 +marshmallow +20111988 +siamese +jackets +030887 +ceecee +06031990 +180790 +mommysgirl +22121983 +150782 +140384 +16021991 +240582 +loxlox +322322 +10031985 +montpellier +20011984 +pitbulls +270686 +mara13 +19081985 +31071985 +bunbury +240491 +anasofia +332233 +02061984 +140485 +leann1 +100983 +211191 +confidential +010509 +22111988 +sexymami1 +heaven3 +seagate +181190 +exodia +osman +23111985 +1qaz0okm +therapy1 +10101995 +110880 +Precious +masamune1 +estelle1 +041285 +hihi12 +escada +mccartney +ardilla +plant +040687 +mignon +290787 +jamies +200784 +290888 +22031992 +recruiter +�: +saywhat1 +211212 +bub +121276 +110183 +lovers. +bobbobbob +dima2010 +010177 +flirt1 +090388 +247247 +ester +pokwang +mailmail +gabriel11 +rambo2 +7788 +topnotch1 +3daughters +alex2539 +999555 +hullcity +20051984 +goldstar1 +camcam1 +salado +31081988 +secret13 +auralog +220580 +160386 +10081993 +edu2008 +blood55 +austin15 +rose21 +ingeborg +nbvfnb +120380 +1901 +jason1234 +chester3 +30101984 +6Exe3Za97v +741963852 +skippy12 +legends1 +grandam1 +liarliar +raheem1 +121995 +110112 +220581 +rachel69 +AAAAAAAA +rascal123 +160692 +240191 +14121983 +cutiepie! +230192 +sexy31 +birdy1 +190583 +10301030 +13111989 +paolo1 +wg8e3wjf +lizzie12 +pastrana +recon1 +110680 +bullit +macmac1 +31011985 +monkey93 +02031985 +John7502gee +191190 +15091988 +twilight01 +06031986 +azsxdc1 +sassas +08091989 +Stephen +jacks1 +rubyruby +290187 +richard11 +101096 +150283 +livingston +artur123 +vicecity1 +04121987 +121078 +babygurl22 +smith22 +iloveu69 +reyrey619 +400049 +30101988 +icecream11 +250387 +230691 +inkognito +tiger55 +cronic +27111986 +101991 +2301 +kimbum1 +odyssey1 +220784 +120594 +America1 +fucklove! +16011991 +abbygirl +alexis04 +17011990 +110064 +tinker7 +tw33ty +ufyljy +guildwars1 +18011988 +chaparro +yahooyahoo +cccccccccc +88002000600 +darek1 +lollies +whatisthis +lazio1900 +catita +110980 +iloveyou55 +290983 +130581 +23091985 +hellcat +swift1 +lancelot1 +london08 +rolex1 +eduardo12 +13021992 +17081989 +getmoney23 +18071988 +Marlboro +jackson13 +171282 +18071990 +lovepussy +jade1234 +190684 +love.. +bubbles6 +yana123 +12051993 +sampaguita +dasilva +20071984 +110595 +260890 +tyler9 +pratama +123412345 +01031994 +jrock1 +toshiba123 +trilogy +ymhPnmJ733 +atybrc +200286 +eve123 +160384 +gio +ishmael +pretty23 +miguel01 +asparagus +235711 +marie69 +buddy! +sasha777 +johnpaul1 +luv4life +180881 +020386 +matthew24 +colossus +nikki5 +adejimi1 +giuseppe1 +loren1 +211292 +22091989 +270385 +money777 +21011990 +sharpay +ngentot +cherry16 +spaniel +talon1 +cirrus +yxcvbn +01071991 +bannono8 +nothing12 +panda11 +upyours1 +kelsey13 +officer1 +30121992 +Jason +280685 +bbking +minnie3 +subhanallah +300790 +matthew18 +28041988 +usuck2 +mariposa12 +01091991 +texas3 +20101982 +airhead1 +26101986 +ok +cheeto1 +billy5 +x0x0x0 +blitz1 +25121992 +a456789 +160784 +tiger24 +calvin12 +monkeynuts +260583 +nastyanastya +061187 +161280 +kuldeep +100792 +kids02 +xtvgbjy +18021993 +bullwinkle +111973 +rebel2 +moss81 +zxcvbnm11 +140683 +191085 +233233 +25091988 +Stefan +july05 +monique3 +blue321 +live123 +nafnaf +waco254 +140991 +150189 +2207 +270792 +crush1 +honeyq +kourtney +19081992 +10051992 +01love +190991 +scarface7 +100381 +texas22 +090992 +acdc12 +sawsaw +sept15 +121272 +cel +pizza13 +danielle4 +031085 +24051987 +gumby +daniele1 +seabass +260491 +caracola +greenland +hunter17 +120477 +27111990 +17031985 +serpiente +bunso +iloveyou44 +250884 +250791 +10151015 +daniels1 +spencer12 +asdfghj123 +14111990 +sunshine18 +1133 +071288 +250283 +michael89 +hasan123 +madyson +certified1 +300188 +shelter +skyline123 +17081987 +rasheed1 +260682 +surfboard +180880 +rewind +1й2ц3у4к +constanta +emilyrose +27031992 +2kittens +240891 +01041992 +280985 +240984 +09091984 +03051989 +iamtheman1 +boston5 +248248 +bat123 +benladen +brandon24 +24121992 +15041985 +290890 +harrier +helphelp +17061985 +dumbo1 +das123 +pharmacist +160185 +mexicana +30051986 +keens_1 +Fktrctq +firedragon +малышка +slapper +445544 +221280 +poodles +jurgen +ilovejeff +salman123 +lovely14 +sexy666 +hootie1 +14021983 +majiajun8888 +patches12 +redtruck +chatterbox +b1b2b3 +wheels1 +watsup1 +14091988 +angela13 +pipper +offroad +15021986 +198724 +olympiakos +200391 +buenosaires +520000 +131091 +190886 +amira1 +trails +050190 +brooklyn11 +marie93 +flowers! +scumbag +denmark1 +130982 +260584 +27031991 +03121990 +123e456 +onepiece1 +051087 +dionne1 +210192 +saddle +15061984 +diesel123 +13211321 +germain +hao123456 +150791 +04051989 +football29 +050787 +partytime1 +19101992 +110481 +day123 +240483 +sh0rty +110792 +sept21 +nowayout +triston +nando1 +190685 +26091991 +241181 +rock23 +071189 +14031985 +nicole04 +230980 +061291 +basilio +kitty21 +this +10071984 +zzzz1111 +pussylicker +31051985 +loving2 +lovergurl1 +coltrane1 +070785 +adidas13 +abuelo +manage +67chevy +tiktak +28051992 +davey +bruxelles +aaron7 +myspace66 +not4u2c +blinks +26021986 +290485 +emo4ever +251181 +honda22 +amber21 +woodpecker +150985 +111a111 +Vampire +southside5 +400022 +orion123 +carros +equityDev +030788 +maxwell12 +30051991 +14041991 +paperina +jonathan23 +restaurant +11121992 +rooroo +babyboy21 +100580 +140884 +020291 +opera +11011988 +18051992 +101099 +07071982 +buddy21 +amber16 +supernatur +ludwig1 +blondie123 +julia2 +blanket1 +bmw330 +habitat +123456dd +pony123 +010010 +bear69 +hartford +vasilica +winnie123 +levis501 +butterscotch +guadalajar +20111990 +breath +08081989 +070777 +200486 +dumbo +bethan +britneyspears +james99 +nesha1 +kickers +rock22 +surgeon +heather13 +shelly123 +freakshow1 +tattoo2 +280192 +kosova123 +lavidaesbella +111115 +blueyes +nacional1 +pisello +blazin1 +10081992 +loverboy69 +june03 +280880 +solyluna +tickets +010385 +bestman +nikki23 +george21 +19011991 +190387 +william14 +poopies1 +baby66 +swindon +01021983 +nokian97 +creamy1 +pebbles123 +james05 +sports3 +divinity +18011990 +fields +13456789 +17031993 +nada +2good4you +swoosh +181284 +05031989 +forreal +berlioz +Maxwell1 +280787 +hockey09 +wilbert +1hustler +250782 +niners1 +nicholas10 +300885 +130579 +amari1 +gat +2203 +strega +fktyjxrf +thick1 +260285 +cat101 +boogie2 +steveo1 +gotika +jaden123 +********* +muslimah +waldo +04081988 +catolica +wassermann +160482 +040886 +look123 +kissass +010887 +22021993 +19011988 +sandip +09071987 +14021402 +andrea15 +kitcat +1qwertyuiop +7532159 +lowell1 +010483 +110282 +buck12 +15061992 +16091991 +franny1 +azeqsd +8vfhnf +12071983 +300383 +cervantes1 +hanhan +melone +insanity1 +230982 +31081987 +janae1 +angwar77 +kitty1234 +5432154321 +..... +27101988 +donsun123 +samantha. +football68 +texas23 +tootsie2 +jayshree +batgirl +sept18 +20042005 +superdog +david20 +28061986 +151082 +24021987 +18031991 +200190 +sebas +password321 +7uqbwx8N4Z +honda2000 +30111987 +brett123 +emily6 +marky1 +cutiegirl +barbos +reyrey1 +31101985 +020382 +nikkie1 +281183 +gunsmoke +logan3 +erica12 +02121987 +music69 +kingman +09071990 +17011987 +google4 +a12321 +nor +19081986 +melissa4 +131986 +taylor00 +Ronaldo7 +17051989 +lam +tommie1 +190691 +july06 +leander +diddy1 +261081 +jade01 +matata +dredre1 +21111989 +03051985 +29051985 +takuya +fuck1you +06061984 +inuyasha11 +29101992 +lili12 +jeremy23 +qweasdyxc +antoha +helloyou1 +22091986 +290684 +lilsis1 +bree123 +240983 +23101983 +020484 +198606 +19031986 +pinecone +231281 +method1 +101278 +august07 +270482 +deinemudda +sunil123 +07041987 +dental1 +motherland +classified +kappa1 +Abigail +green19 +20071985 +Pass +avensis +elocin +nb +04061990 +triangle1 +frogman1 +saruman +�+�����+�����+���� +blunts420 +17051984 +redstar1 +install +m00m00 +07081991 +cupid +1dickhead +111178 +1derful +HuF7dkGd +27041991 +dentista +metalica1 +pooface1 +mabelle +kinky69 +MIGUEL +sunbird +dancer10 +sho +30061989 +14251425 +blue26 +ripper6 +rosie12 +йцукенгшщзхъ +volvos80 +kevin16 +rossignol +251081 +123z321 +DESTINY +swagg1 +150681 +310886 +170886 +simone12 +shaggy69 +starstar1 +13071992 +fatdaddy1 +� +nygiants1 +171283 +230483 +lollo +damascus +nicolas2 +03051988 +kamasutra1 +mamasboy1 +140681 +freddy2 +Lineage2 +10111982 +jeannette1 +14091991 +Rangers +s1s2s3s4 +250182 +A12345678 +bassist +290584 +dance7 +jess13 +03041989 +04071985 +badooo +james88 +black24 +dennis01 +orleans +05021985 +fottiti +051184 +27111987 +ash1234 +softball25 +apples01 +Fuckyou1 +QWERTY123 +ade123 +football63 +malabar +ten +ilikepie12 +25121982 +13011986 +012369 +cody14 +marcus3 +forgive1 +24gordon +11051986 +girlgirl +alinaalina +25111988 +marmota +letmein01 +lovely10 +giotto +nanna1 +271191 +lyndsey1 +florencia1 +2122 +010485 +17011991 +300991 +ktm250 +simona1 +carlos. +atreides +554466 +america100 +london09 +thekids +jeanclaude +hondacity +medecine +paulus +anthony20 +11081985 +moctar +maroc +150192 +070688 +greg12 +marianna1 +alex55 +01041993 +19061985 +220880 +bayside +28101992 +1welcome +16021986 +bilal +choupi +010785 +gaga123 +babygurl4 +love83 +16071991 +369741 +Dominik +molly22 +123456789R +191184 +29081987 +klara +matrix3 +demetrio +nakata +19031989 +metallica. +katie4 +baseball77 +starwars7 +kazuki +football93 +120894 +lothar +beyourself +VHBtH55jec +gato123 +fozzie +01012007 +connor10 +jobless +dylan5 +miespacio1 +ZRSzd9p238 +pink92 +was +300491 +17121983 +24101985 +220782 +rascal12 +10021002 +240584 +allana +11111982 +Shelby +integrity1 +ukflbjkec +bugbug +kiara123 +seasons +rjpzdrf +boeing777 +babypink +smokey5 +14151415 +111992 +97531 +lion12 +inday +230592 +fairfield +bunny5 +emily07 +090890 +jorgeluis +NOVEMBER +piotr1 +cleaner +199414 +180591 +24111986 +spikes1 +654321z +pooh01 +161281 +15121991 +diana2 +261291 +291084 +800000 +29091986 +bioshock +bitch20 +michelangelo +reina1 +02031990 +21111988 +mydarling +june123 +rockport +neworder +310582 +badminton1 +29041990 +1245780 +nicetry +kfgekz +tea4two +momo1234 +a123456z +201280 +loko123 +Scotland +elmer1 +mikevick7 +kuttan +bornagain +vidaloca +tar +26111987 +18111989 +spamspam +dino12 +19051984 +spooky13 +thebig1 +169169 +pokey +27121987 +120878 +analucia +romans1 +lucky1234 +19944991 +060891 +gamer4life +toontown +270384 +FERNANDO +remedy +27031989 +130192 +scooter01 +beasty +666hell +28081987 +mustang! +freezer +tiffany11 +thebomb +20011983 +190790 +19111984 +mike420 +friendster1 +player101 +hahaha. +18041985 +simple2 +heller +symone1 +220781 +19061992 +frozen1 +brandon05 +198725 +mojo123 +29101988 +mysp4c3 +1billion +120779 +tommys +23071992 +19041987 +murillo +ziomal +franki +arctic +vasya +121298 +070590 +goldgold +rapture1 +05031988 +zanetti +chukwuma +140482 +12081984 +bcnjhbz +aracely +03081987 +morgan6 +123498765 +micheal123 +06041987 +bigsis1 +giants56 +fuck!! +1705 +grandma7 +muffin3 +she123 +290490 +24111992 +071187 +iop890 +friends09 +130182 +waterh2o +1712 +salsabila +100393 +jackie7 +180988 +elmo11 +homo +flippy +gabriel5 +dima1234 +italiana +diet +290785 +09041986 +adedayo +carling1 +280792 +agnes1 +zH8o9ly3gI +marusa +papagaio +25021989 +05021987 +shadow25 +shannen +10041983 +030488 +230282 +19031992 +20111989 +120494 +31071990 +aaa555 +benito1 +mitica +rucaxefu +pepe12 +080585 +25071984 +190389 +division +asd123qwe +password97 +poopie12 +jolanda +041086 +040887 +rumble +11071984 +014702580369 +1hahaha +17031990 +diamante1 +canterbury +honzik +vanessa10 +200786 +11031103 +05051993 +bannana +cornholio +151092 +cuntface +murielle +jhenny +gitana +thumper2 +halo11 +morgan21 +scoobydo +cookie24 +110901 +nehemiah +password.1 +21071991 +tortuga1 +jake99 +nanita +13071986 +aravind +happy100 +andria +27021988 +210783 +chuchay +laker1 +jason08 +2469 +Welcome01 +wishmaster +faith07 +lucky09 +starla +duane1 +220592 +money45 +221093 +02041983 +boom12 +13081985 +satanic +giovana +lolo1234 +talking +benjamin3 +elevator +200883 +jigga +donnell1 +angel66 +dflbvrf +001975 +rikimaru +taylorlaut +brook +mixail +200282 +august06 +18081992 +bagpuss1 +pinball1 +shield +18071986 +thecrow1 +softball33 +kopa1961 +deathwish +complicate +120495 +pallone +amanda8 +copacabana +040686 +mature +freestyler +030692 +texas01 +red666 +bisexual1 +rajesh123 +25111990 +040587 +22071990 +030586 +friends22 +18031985 +shanti1 +19081987 +hummer3 +061087 +soares +samsung22 +katie! +919293 +red111 +surya +jennifer. +pomona +290783 +hawkeyes1 +hersheys +Marvin +vanbasten +idontknow! +ily143 +domani +andrew20 +single13 +baseball55 +quintin +2apples +football98 +030889 +babyboy14 +prince13 +050685 +saab93 +sanluis +21051992 +ikaika +starchild +cookie99 +15051981 +141092 +270582 +01121989 +john12345 +120478 +password_Rr +musika +adamant +usa12345 +31121983 +can123 +18101992 +tigers21 +batman24 +sevenfold +rfghbp +spirit123 +1346795 +labelle +joyce123 +serhat +bratislava +scarface3 +cornelius1 +shadow06 +020786 +01061985 +gibson123 +connect4 +harrys +160385 +buggie +rocco123 +lilboosie1 +nathan14 +w1959a +22011985 +140785 +licorne +ranjit +optic99 +class1 +23031983 +silvano +ophelia1 +01071992 +22122212 +buck123 +anjink +QQQQQQ +roselle +951623 +98mustang +EMAILONLY +spanner1 +tazzy1 +123123qweqwe +hayhay +lefty +djeter2 +tinker5 +lionne +commons21 +maisie1 +2404 +321000 +tiddles +bowie1 +09051986 +sexy123456 +18041986 +250483 +206206 +414243 +08121987 +holanda +ladygirl +pimpin4 +28031987 +disney01 +asdfasdf12 +heyjude +18091984 +tylerj +5girls +1icecream +anthony03 +25011989 +sarahh +mustang09 +tokyo1 +perrita +������+�+ +098 +01051989 +cliff1 +babamama +pilates +padfoot +rockroll +210692 +030585 +aspirine1 +08061988 +thaddeus +260286 +thesimpsons +chair1 +rafael12 +snoopy23 +jenny23 +daisy10 +alex91 +lala01 +031190 +18041989 +sluggo +lolipop0 +08031985 +twinkies +chilli1 +060696 +distance +giovani +jenny3 +31081991 +030384 +5alive +200202 +5fingers +british1 +California +nini123 +caligirl1 +matthew99 +enchanted +snowbunny1 +masha1 +1dakota +memyself1 +13071984 +4grandkids +nikita1998 +amarachi +party12 +walker12 +pinewood +23011992 +16071988 +wiseguy +true +25071988 +danny69 +travis11 +sean11 +1andrea +nokia6230i +greentree +110055 +1508 +12041993 +cutecute +220582 +standart +kristoffer +domination +lovepink1 +jean12 +280391 +starwars5 +redneck123 +antichrist +123589 +18031992 +1brooklyn +egypte +kroshka +sarah21 +bullet123 +19391945 +babydoll12 +sherrie +rebel01 +milena1 +14121984 +kibbles +31081986 +shiva123 +311084 +juve +nirvana! +kylie123 +���������� +28021987 +shakur1 +freelander +palestra +pamela12 +280187 +dimitris +cigarette +01031983 +150784 +kolokolo +0606 +parent +qwasyx +pashka +1234567809 +joseph09 +marvin12 +sarahb +pulpfiction +tyrant +kot +skidrow +babygurl23 +prizrak +Andrew1 +01101985 +longboard +hatebreed1 +1234zxc +marcie +picsou +ceecee1 +1234er +break +monolit +pfhfpf +123kids +whatever123 +carcar1 +ilovehim7 +mike12345 +nazareno +11111981 +181292 +innuendo +klokan +shady123 +budlight12 +sirenita +rebelde2 +16031991 +martin21 +carlos19 +booty69 +loveya! +excelsior +silvietta +05051982 +02071982 +171291 +25101983 +smokes1 +190489 +thomas9 +loko13 +23121992 +ositos +09041990 +kitana +Peter +trueblue1 +hellome1 +madison03 +170384 +jenny5 +070887 +horseman +23111986 +hello33 +4mylove +18061992 +Test1234 +08150815 +160685 +290686 +270684 +fermer +24121985 +01071984 +12061206 +brooke10 +monkey96 +cameltoe +120793 +15061986 +07051990 +dblock +DOUDOU +061086 +farting +salim +fishstick1 +bailey21 +mollys +morphine +maryjane! +swifty +luisangel +haley12 +toby01 +chicos +11021984 +strongbow +mybaby123 +021292 +160188 +140784 +FRIENDSTER +allfor1 +sweet19 +marcell +260681 +29101986 +brandon19 +261091 +villa123 +030785 +202202 +hotboy123 +24111990 +khulet +puppies3 +291089 +jimbo123 +truffle +t-pain +03011991 +080390 +04081990 +07831505 +ninini +bunny69 +123423 +03031985 +marin +tumama +Laura +estrella2 +chair +monkee +11031984 +savanah +1qasw23ed +yungmoney1 +robert25 +sabotage +kissing1 +adam22 +gismo +1324354657 +21011992 +153351 +raining +kali +kbnthfnehf +sweetbaby1 +sugarpie +151080 +deedee2 +20041984 +nicole95 +uniden +killa13 +bubba22 +rosary +fifa2000 +japan123 +dianna1 +03071990 +30011986 +baseball03 +volkswagon +220681 +FRI3Q9arjg +potatoes1 +rome +jakarta10 +654312 +14111984 +bluecat +fatboy01 +katasandi +121005 +sham123 +200383 +voltron +22101989 +05031990 +220792 +dipset23 +a77777 +myspace321 +courtney! +werty12 +nessuno +Speedy +2306 +110187 +050886 +neng2000 +080883 +tiger007 +17041988 +purple26 +baltika +schweden +31081989 +casper22 +fart12 +31051989 +goober2 +heaven07 +6letters +251082 +assasin1 +Hiuyt75f +da1nonly +one2one +metals +bigdick2 +amidamaru +wilber +marques1 +rams +safari1 +nasir1 +220382 +260791 +christmas0 +asdfas +burnley +reznor +05051983 +masaki +cartel +nightwing +king12345 +400708 +brittany5 +jamie11 +ebony123 +royale +20101993 +newyork! +lolz123 +f15eagle +1664 +Lindsay +enamorado +powpow +110780 +nigga7 +pepper99 +josh17 +moosey +20121984 +lauren6 +hejsan1 +warcraft12 +reunion974 +08031986 +20071992 +210582 +ghbynth +francois1 +030385 +MORGAN +fucker7 +hacker12 +11031992 +clean1 +toohot +biking +dogwood1 +fucktard1 +vans12 +12345678o +74747474 +skyline2 +valentino46 +26061992 +kayley +15061989 +cvetok +circle1 +ilovemylif +6669 +worldwide1 +26011991 +050786 +htown1 +altima1 +bigbass +carolina23 +glock19 +sczouvie26 +stronza +151280 +myles1 +margo1 +travieso +20041992 +1804 +16051985 +teaching +apteka +faggot! +mano +winter05 +animes +5bt2jtzTKE +dani1234 +jackets1 +19021986 +22558800 +muffin13 +jakedog1 +240681 +091090 +minnie01 +r3m3mb3r +28031988 +calamar +liberty2 +martin7 +abbey123 +161284 +180289 +03071988 +steelers09 +thomas24 +woodland1 +princessa1 +ZwJBVHy184 +18041992 +071190 +18081986 +magnus1 +polska11 +seun20 +schatje +skittles7 +root123 +austin03 +050582 +darkmaster +babygirl0 +6565 +farscape1 +charlott +24011990 +16121992 +deirdre +iloveyou32 +74a82s78 +nokia5228 +king88 +stars5 +reggie123 +badboy22 +15111991 +Florence +mueller +190984 +January +allycat +22101982 +skumar +31071987 +wojtek1 +SCORPION +25071990 +3214789 +efrain +140792 +lovekiss +270391 +spring06 +29081986 +Legolas +kronos1 +warcraft123 +05011987 +feefee +oiseau +teresa123 +jamesd +130692 +tootoo +daz3d +26081986 +300682 +221079 +joseph6 +eminem! +prettylady +belles +21041985 +geografia +01051991 +pitbull123 +25031989 +30101990 +090545 +playboy23 +darthmaul +19071983 +adrianne +break1 +300393 +AUSTIN +kane12 +retro +emeraude +1playa +20061992 +230291 +COOKIE +sakarya54 +familia123 +150491 +bianchi +141987 +25071986 +chaves +08051990 +modernwarfare2 +babyboy6 +delaware1 +15041992 +caligirl +12031983 +1spirit +4j9r4rnTtP +27051990 +single11 +march03 +24031989 +thrasher1 +14101990 +170991 +������� +12111992 +198327 +20011990 +khadijah +computer9 +palmira +ginger23 +mahmud +b0ll0cks +marcinek +040586 +ginger21 +luscious +mike99 +chikita1 +deniz +05021992 +26051991 +kaizer +fallon1 +shreyas +mannie +010885 +123456789zx +130392 +051183 +201180 +dragon08 +260289 +polkadot1 +oleg123 +rahasia123 +11091984 +trogdor +drywall +nezabudka +19121912 +260191 +061282 +230580 +sweetest +sexo123 +121000 +rastas +05041988 +godislove7 +m000000 +091289 +17101984 +scully1 +wes123 +nathan99 +29121992 +adriana123 +change2 +jordan96 +14051986 +greatness1 +12081993 +jets +30011987 +baseball31 +vyacheslav +5jN16uxpiD +ganapathi +my1234 +030883 +listopad +gather +kellykelly +stabilo +rama +destiney +ckiue73jp +karen2 +jenny14 +123blue +160887 +11011101 +almudena +16071992 +199211 +winkie +22011990 +buzzard1 +sk8er +060987 +maarten +parvathi +100297 +adelaide1 +dallas07 +250581 +babygirl33 +280385 +mufasa1 +05121990 +wwefan1 +amber10 +28081986 +1E +15091985 +santina +86402241 +baybee1 +boyssuck1 +xxxxxxxxx +cameron06 +yankees25 +Success +privetik +2143658709 +tweety06 +kruemel +danie1 +ginebra +matkhau +before +twinky +18061986 +chan +juan11 +200683 +030489 +290489 +1478523 +181183 +gjpbnbd +123bob +naruto. +panther5 +11071992 +002200 +19071994 +thunder13 +Bajaonel12 +77777a +prince10 +666xxx +eddie3 +03021989 +28031985 +cornel +lettuce +sexy90 +beautiful5 +sausages1 +170691 +cheerleading +20100728 +pizza! +coolio12 +duh123 +alyson1 +martinez12 +mit +aniram +1502 +ilovemyboy +26051989 +dancer09 +kirkwood +sexy93 +060991 +180286 +crabby +star44 +24091988 +ilovehim13 +baseball30 +1111111111111 +wingman1 +boracay +010986 +identity +stalker123 +301284 +27111984 +080590 +150981 +06081990 +070690 +27041986 +asecret +antonova +poppie1 +chico13 +nailpolish +superstar5 +2403 +calamity +10091992 +closed +zealot +01101990 +jacob08 +07021990 +haters123 +191284 +mark10 +270186 +chinyere +191189 +johnny6 +evgesha +02031982 +hughes1 +danuta +alhamdulillah +nmnmnm +macky +030379 +janessa +boyscout +010391 +dinamo1 +juneau +jessica25 +28111988 +cecil +��������� +050490 +melissa8 +150980 +snuffy1 +22061984 +sunnyd +cottage1 +lauren. +310192 +tokio1 +elmo1234 +7575 +grady1 +ALEJANDRO +13021985 +harley883 +football57 +familyguy2 +09121987 +26101992 +danielle22 +gajanan +#1mommy +petersen +17031988 +eee +iamsocool +bartman1 +piero +liliput +123rrr +irakli +happy2009 +29011991 +02121991 +chiquis +100879 +08031987 +Eagles +gloire +creed +1234pass +afonso +click1 +Connor +18051986 +15011989 +weronika1 +panther12 +131001 +021290 +beautiful4 +elnene +heather21 +thomas1234 +lacrosse2 +sz9kqcctwy +808808 +lila +marine12 +031087 +charmed123 +itsallgood +gangstar1 +ilovejoey1 +baller25 +Success1 +85bears +mensah +1lilmama +ggg123 +lilshorty1 +adeline1 +honda400ex +green07 +trey12 +lovers13 +keaton1 +erick1234 +051083 +sweetie7 +amanda20 +alkaline3 +luna13 +xiaoyu +15061983 +june2007 +271085 +ZLEnK77nge +sport123 +pink93 +420bitch +120596 +zaq1@wsx +13261326 +21091986 +morgan23 +22021994 +28462846 +31081990 +24051986 +28091991 +sheepdog +dfcbkmtd +789456q +barnsley +06021987 +nov +peace. +190486 +130880 +superfreak +Margaret +300789 +198702 +sarah23 +slipknot. +124578369 +103 +soccer#1 +babyboy10 +asdasdasd123 +170391 +nic123 +15021984 +loopy +smile23 +19021989 +5q2w3e4r5t +blanche1 +jason14 +loser15 +290683 +randolph1 +finally1 +music14 +hs +sto +21081992 +yamaha22 +12041983 +1,00002E+14 +yamaha450 +monkey98 +tiscali +angel86 +kodak1 +kitten! +55555f +120182 +19955991 +121974 +1236541 +20041993 +261282 +010386 +jessem1 +itsmine +240680 +qwertz12 +iluvu4ever +190189 +tempesta +09121986 +puffer +sevastopol +batista123 +andrei123 +maeva +singh1 +viridiana +150393 +26111991 +Fuckyou +florida08 +destin1 +15071992 +bball44 +dkflbvbhjdbx +12111989 +20202 +sadiemae +nights +brownie123 +killer90 +crash123 +2509 +nikki22 +1whore +lollipop9 +kankan +bastian1 +yoyoyo! +123456789qwer +defence +suckit12 +dickweed +shishi +24071992 +midwest1 +161182 +Harrison +30091988 +27101990 +homes +198402 +logmein +elshaddai +nike1234 +121178 +bluesclues +anna2000 +rebellion +jansport +111179 +michael02 +2302 +kappa +nester +1forall +060588 +mollyb +1a2s3d4f5g6h +boxers1 +260784 +110281 +mayuri +141080 +pericles +ballin101 +13081984 +julio12 +210581 +14011989 +gemini6 +belvedere +jackass7 +080688 +281187 +devin12 +badromance +peters1 +estudiante +a8675309 +050189 +mamedov +evolution9 +160682 +300189 +26011989 +dallas41 +sticazzi +saavedra +qwertyuiopasdfghjklzxcvbnm +120379 +090585 +jaz123 +adidas7 +july2007 +xiomara1 +270184 +271083 +love200 +0909090909 +050691 +crunch1 +26111986 +jacobs1 +130882 +jeffjeff +560054 +raiders4 +mylife123 +27021991 +dennis11 +150391 +170783 +westlake +temptemp +050581 +linus1 +nbnfybr +progress1 +haven1 +jackie5 +27121986 +10071992 +hamasaki +treysongz1 +fuckme4 +jack99 +bitchin1 +nation1 +111222333444 +brianna11 +anarchie +03051991 +nerina +100981 +ryan18 +loveboy +sanibel +28091988 +hockey66 +1020304 +16111991 +cexfhf +flicka +26071991 +190787 +idiots +tomatoes +bitch19 +041089 +faith5 +08041986 +12121994 +020983 +1969camaro +040689 +144001 +meadows +rustydog1 +explosion +motorolav3 +1w1w1w +jomama1 +071088 +210981 +25122512 +brielle +interior +newage +10101978 +07021991 +asaness +spankme1 +19071984 +holycow1 +270285 +misery1 +davidek +viorel +Matthias +punto +2cookies +1jason +30011985 +02031992 +farmboy +27091987 +jimjones1 +allison123 +melissa10 +fresa1 +211084 +m1m1m1 +Debbie +freak2 +tazz +Sophia +....... +goodday1 +jake08 +ybrbnrf +251281 +andrew03 +160886 +reds +austin04 +27031986 +bear10 +laker24 +scientist +sunflower3 +granny2 +tisha1 +aneta +miller11 +cookies4 +1dreamer +david05 +240184 +260582 +stolen +monica10 +21121983 +lulu22 +qzwxec +galleta +180484 +06081988 +411021 +blue28 +juandavid +216216 +190385 +galaxie +260483 +150595 +28091984 +mishel +good4me +blair +pass.word +crisis +tournesol +dirtbag +jeremy3 +barman +09071991 +12101993 +training1 +reason1 +12091984 +corky +09031988 +rhfcbdfz +loves2 +victory7 +Scooby +senhas +071089 +yan123 +medvedev +280185 +guy123 +081287 +17011985 +z1z2z3z4 +lild123 +poderosa +22041993 +150792 +littleboy1 +144000 +larry2 +09121988 +boston617 +dicks1 +150382 +lbvflbvf +lovely09 +siegfried +wertyu1 +231987 +matthew17 +7555545 +louise11 +bradpitt1 +onyeka +honda95 +clippers1 +mysp +daniel95 +04051984 +23021983 +cornwall1 +vasilii +issues +venise +nayana +iheartyou1 +123cool +junior19 +1q2w +katie14 +260683 +cappuccino +lucaluca +240684 +241986 +Nathalie +amor22 +141292 +egypt +17021989 +crystal01 +u123456 +david101 +bravo123 +karachi123 +030886 +ghosts1 +marissa123 +murphy2 +beryl +casita +260983 +100880 +dragon27 +screwyou2 +1angels +cowboys23 +kissmyass! +jerwin +hunter16 +yahoo13 +29041985 +busted4 +marie06 +030485 +terrorist +chesney1 +progressive +161291 +arquitecto +271082 +sick +nickie1 +08071987 +jh +purple44 +123564 +nigga69 +douglas123 +abstract +07071983 +freedom9 +marlow +290887 +naomi123 +12091983 +missy11 +17121993 +170782 +vandamme +19891229 +toothpaste +ghbdfn +17071984 +c44n6vijgc +301282 +qwerty44 +nicnic +may2007 +pizza10 +06071991 +112233123 +putanginam +honda150 +20041983 +slutty +hejmeddig +hennessy1 +lovers22 +05061988 +18121988 +04051983 +apples5 +bluedevil +westport +27061987 +sept13 +juju12 +fireman2 +pretty4 +livorno +26031984 +tina11 +chasse +Juventus +shift +04041994 +hazel123 +1710 +15121981 +300583 +passion7 +manhunt +motherlove +gericom +5000 +eastside2 +pieces +199595 +041091 +21061992 +olivia08 +mumanddad1 +020383 +ilovecandy +ichiro51 +amormio1 +Mitchell +peace22 +barcelona123 +qwerty91 +mahima +anna1996 +may1992 +cordell +03051986 +30051992 +310891 +jordan88 +11071983 +winter21 +lukman +jeezy1 +Chicago1 +100479 +jess11 +volcano1 +23121993 +ckflrfz +21071990 +amorzinho +powerpower +Vfhbyf +11101983 +marife +170884 +010790 +4everme +qwerty999 +marcy +patchy +26071988 +mitzie +magallanes +2405 +Claire +29051992 +mexico. +daddy1234 +29061985 +060490 +26121992 +ilovemax +music8 +karsten +palermo1 +gus123 +040988 +cameron07 +kelly01 +060989 +love82 +07081989 +walrus1 +preston2 +caddy1 +tigger05 +27071986 +lovee1 +janika +010685 +ilovedan1 +1415 +stylus +eminem8 +2beautiful +210392 +270991 +081090 +kelly5 +18101984 +patrick23 +bitch12345 +cdtnrf +gotigers1 +sept25 +bitch45 +bouchra +missymoo +bubbles08 +123qweas +god666 +jason4 +11081991 +homepage +cjcbnt +anna1994 +twilight08 +batman15 +130791 +313001 +greenday5 +09091992 +melove +sara13 +pinhead1 +megans +babygirl32 +060787 +redrock +sravanthi +nicole28 +carley1 +dizzle +skate10 +tigress +iamcool2 +08031991 +700064 +160285 +girl13 +sexyguy +150484 +barbie5 +nomelase +rachana +fidelis +baby44 +matias1 +200983 +jsmith +brisbane1 +jesuis +natasha12 +13091985 +whopper +020294 +fellowes +candy8 +colonial +210482 +allstar2 +midnight11 +beyonce2 +bankole +250881 +040989 +16041985 +197711 +07071991 +iloveyou94 +bootsy1 +020884 +asdqwe1 +prishtina +ruffles1 +612345 +30011990 +210291 +marley2 +poohbear! +02121985 +adeola1 +angle123 +03091991 +070588 +ghost2 +america23 +071186 +twilight10 +02031993 +Pass123 +maria16 +300492 +1604 +200292 +kick +1precious +02011982 +ashley04 +atlanta2 +bunbun1 +nic0le +ta123456 +67shelby +boo-boo +02011984 +09011987 +destiny06 +jayashree +benten10 +capricon +02081994 +6996 +009d9cc2 +05091989 +1nation +charming1 +131080 +sputnik1 +27011992 +twilight17 +blackbear +dragons123 +spenser +missy3 +thomas8 +neon +azazazaz +soccer0 +13051983 +Andrei +1bullshit +03091988 +123100 +gtxtymrf +murzilka +11011992 +zxcvbnm1234 +dr0wssap +monkey97 +05121989 +061284 +bailey23 +04051985 +cheerios1 +06081987 +12345! +appleseed +redrover +03021986 +nariman +17011986 +26091985 +1warrior +l0llip0p +casual +cowboys31 +purple1234 +060290 +pandey +26071987 +250183 +12091992 +240683 +greenleaf +yura +raiders23 +boating1 +catia +1593570 +250681 +nfyz +butt12 +clubpenguin +141183 +29081990 +sasha1234 +snake2 +1chivas +kbpjxrf +271180 +getmoney4 +124512 +13071991 +170882 +milou +781005 +fatboy11 +baby#1 +220184 +05011990 +footballer +12358 +23011988 +22011986 +180586 +lol999 +11051982 +23061993 +poohbear01 +jennifer123 +11111s +1shannon +196800 +marina11 +110294 +130580 +030985 +1success +taken1 +tiny12 +050986 +05111986 +271092 +broccoli +dthyjcnm +stimpy1 +carcass +coopers +10111992 +16081989 +fuckevery1 +america8 +123qw123 +160286 +bratan +yourmomma +30031985 +15011983 +mysister +15031984 +051086 +020691 +falco +04101988 +ertert +windex1 +fighters +dragons12 +23111984 +poops +nathanael +mackey +ecstasy +040787 +gobears1 +borges +flounder1 +2loveme +002002 +421421 +zxcvbnm123456789 +Monkey1 +10121980 +melissa23 +generator +caracoles +jayden11 +110184 +avvocato +janie +maxxxx +25111989 +getrich1 +crf250r +torchwood +casiopea +030790 +fuckyou!! +bedford1 +westside6 +281291 +15041989 +140584 +13pass13 +mechta +20011985 +honda5 +caster +23061985 +2324 +chilling +adamko +11091988 +poppa1 +Johannes +justice123 +25051995 +alex1984 +passsword +01071983 +2506 +02011988 +scipio +12345678v +taranto +king16 +jessica06 +bobo1234 +10071983 +28041992 +backup1 +121007 +vargas1 +federal1 +2cool4you +austin97 +needlove +dubai +19871015 +janusz +21091989 +kokain +starter1 +ultra1 +09071986 +06051987 +texas21 +chucho1 +anthony88 +411057 +barney11 +kjiflrf +03081991 +040790 +silver23 +dodgers13 +020392 +270783 +020886 +oreocookie +jc123456 +08091986 +philipp1 +19041985 +rjvgm.nth +coolbuddy1 +310791 +QWER1234 +batman1234 +nichole2 +291083 +120895 +mollycat +dylandog +kitty666 +qwsazx +puffy +27021989 +123456pp +01061984 +vallejo +2109 +2r97xJ3xEY +gunnar1 +131180 +pescado +010783 +jasper13 +260185 +28061984 +roxy22 +880088 +198324 +anna21 +789000 +cristian12 +-9 +1605 +beater +leigh123 +alchemy1 +nanda +aaron5 +12011992 +270486 +ronalyn +15071990 +chalupa +adrenalina +sakarya +Qwerty1234 +041185 +twodogs +28051984 +sales123 +aquafina1 +tiffany13 +........ +colonia +zzzxxxccc +longshot +hightimes +231180 +sadiegirl +bronx +hawaii12 +dawid123 +buddylove +29111987 +1810 +supermodel +longview +220780 +typhoon1 +honeywell +mushr00m +sunday12 +kissyou +12gauge +03021988 +18121992 +canada01 +11111992 +iloveandre +20111991 +ilovetom1 +elephants1 +QxXM93Js +reboot +08071986 +jetjet +mariposa2 +25031985 +310184 +thinker +lauren23 +3214 +honey08 +27021986 +26051990 +hater123 +padres1 +slipkn0t +1612 +Spartan117 +alien123 +21081988 +Panasonic +SPIDERMAN +illusion1 +6yhn7ujm +lighting1 +giuditta +noonoo +willys +05081986 +essj408 +budlight69 +toxic1 +dogbreath +zxcvbnm9 +element4 +ukfveh +recycle +qwerty1992 +caravaggio +amanda9 +18031989 +sept17 +ddddddddd +170982 +sarge +norteno14 +14071991 +funnyman +iloverob +271181 +110280 +mccarthy +1lovehim +120181 +jonboy +st.louis +03101990 +199415 +family23 +musicovery +catanddog +ginger99 +hayhay1 +03071991 +101070 +11051983 +25051993 +300489 +13101982 +topino +081190 +oliver7 +SCOOTER +asawaq +jackson22 +31051987 +123wwe +chicago5 +180185 +teddy3 +hawaii11 +06071988 +14071989 +14081985 +catrina +rishabh +24071988 +playboy14 +Jasmin +02091991 +samedi +140185 +pussy09 +05071985 +mary420 +jet123 +newlife10 +firestone +cantante +aniket +condo +aaasssddd +112358132134 +chisom +060288 +analia +shadow55 +plazma +victoria01 +2h7Vkzo266 +newjob1 +250680 +Barbie +lindsey2 +19071992 +cubana +Bradley +ds +carlos20 +camaross +pennie +rican1 +2503 +qwas12 +12021983 +lexus300 +chicano1 +bertram +ctdfcnjgjkm +091283 +aaa1234 +angelita1 +15111984 +document +morgan08 +philosophy +baller20 +05041990 +1qazxs +20081993 +04091990 +peaceandlo +mother! +190384 +linebacker +051284 +sept24 +peaches5 +loverz +thunder4 +august09 +270484 +79797979 +ANGELO +d41d8cd98f00 +codeman1 +momomo1 +120192 +smokey21 +160983 +300387 +rfpfynbg +precision +candi1 +15081992 +Lakers24 +090980 +140383 +gibsonsg +jade11 +03081989 +flashlight +Anderson +jackass13 +doomsday1 +islcollective +darla1 +2108 +forever18 +pilote +iloveu10 +24031991 +jada +google13 +mama123456 +06071990 +10281028 +29081985 +perrito1 +precious3 +�+�������� +element11 +scooter13 +floriana +tanita +25061984 +pickles12 +011286 +firework +gabe123 +29061991 +1776 +22101983 +07091987 +hayden2 +14021982 +030486 +mine1234 +onelove7 +grad2010 +020782 +hater +ss +0412 +dandy1 +emotions +taylor95 +azer123 +sexy6969 +inlove12 +rockford1 +mercedesbenz +070780 +05021991 +blueballs1 +mustafa123 +5121314 +600116 +rofl123 +jeremy22 +osito1 +200582 +nas123 +olivia07 +020293 +061190 +casacasa +04051991 +ilovedave +1naruto +cuore +bread +23121984 +bowtie +hellou +manual +korn69 +7f4df451 +hoodstar1 +`1234 +24111985 +sanglier +7788520 +05121986 +lateef +23122312 +jayesh +29021988 +11081984 +21021992 +jump4joy +dexter01 +25091984 +01061982 +velcro +051189 +joshy1 +montag +140782 +redone +bebang +linksys1 +pervert1 +pretty14 +watford1 +johncena10 +28111991 +strife +maldonado1 +16051992 +ville1 +202020a +P4ssw0rd +ilikecheese +josh07 +cestmoi +123max +hell0kitty +billy7 +titan123 +nathan6 +yahweh1 +12101982 +tweetie +hastings1 +vespa +maggie06 +130481 +mickey15 +adgjm +dima12345 +280183 +dance4me +hondacrv +24071989 +tendresse +22091985 +bor +samantha9 +edward5 +mylovely +vivalafiga +milo12 +05071989 +demi123 +29091990 +x123456789 +erin12 +280983 +061606 +azsxdc123 +blue89 +coquito +060889 +Rush2112 +dod +clipper1 +150185 +red101 +meghana +20021983 +ghjkl +burning1 +270190 +crafts +glock22 +takumi +resistance +daisyduke +febbraio +170791 +texas7 +anthea +jovelyn +saosin1 +270887 +zaq123456 +199112 +allahisone +24081987 +bukowski +merdes +09021988 +damilola1 +rohit123 +jazzjazz +vvvv +291191 +Password1! +16031989 +busybee +kartika +090983 +yourmum +crusaders +patel +isidoro +ondra +miche11e +28101990 +jeremy21 +bandicoot +bigboy22 +rebel12 +101981 +120377 +mirage1 +180285 +sooty +23031984 +titti +grenade +111193 +021184 +nokiae71 +01011995 +diablos +elefant1 +dumnezeu +buddy09 +confusion +28051985 +cute10 +317537 +controller +flocon +macchina +honeyy +sascha1 +vehpbkrf +delirium +ladydi +pft +walter12 +161183 +saber1 +05071984 +blessed09 +25081984 +199500 +heat +03081988 +150387 +mauser +160383 +girlsrock +asdasd456 +717273 +280591 +26051993 +indien +fifa2008 +cuddles2 +shahin +310892 +pdtpljxrf +perrin +molly6 +jamjam1 +21051989 +lalala11 +passwo +200191 +160982 +21101992 +califas13 +morgan06 +271183 +orange77 +11qq11 +2812 +gemini21 +150282 +11061984 +x1x2x3x4 +seaside1 +mestre +liverpool6 +040685 +cheater2 +lollipop! +hottie45 +291292 +03121991 +justus2 +02061983 +27091990 +21031984 +081089 +ballin10 +150581 +cheburashka +pan123 +l12345678 +jerjer +290387 +121179 +tyler03 +yngwie +trashcan +lovers23 +hotguy +fishers +forever17 +poopy! +ячсмит +woodrow1 +13051984 +jojo10 +020591 +hope11 +300692 +011091 +online12 +martin5 +ponce1 +17071988 +010203010203 +nuggets3 +19081990 +260991 +01031991 +25081986 +alex90 +lovelovelo +vjz +shannon01 +198502 +1409 +180991 +alycia +22011989 +st3v3n +mikey11 +kingsize +qwerty2011 +198627 +199292 +27041985 +060886 +iiii +29081988 +nummer1 +sexyme123 +vandal +rosangela +bears85 +290186 +cognac +ciaoatutti +babyphat2 +stanford1 +artyom +290581 +17101983 +03061989 +180892 +azn123 +25101992 +farooq +heavensent +juan10 +hotboys1 +110194 +bowler1 +rfrltkf +frolova +1258 +daddy14 +friday123 +matt15 +spook1 +meeko1 +852852852 +bonita12 +abcde12 +17061992 +020584 +306090 +babe14 +nomad1 +lilibeth +Tristan +020188 +candy9 +030989 +mymymy +benjamin10 +baller34 +190887 +chinaman +sS6z2sw6lU +020387 +vlinder +power11 +BOOBOO +schnee +270891 +platina +suckers +140682 +100110 +Sharon +kevin09 +12201220 +130781 +198618 +bubba4 +qq5201314 +saturne +111111k +campanita1 +05031991 +brooke! +mnbvcxy +260384 +a888888 +10121994 +austin69 +02021994 +vanessa01 +bigbro1 +29091985 +198615 +130682 +weed1234 +0210 +30071991 +26021989 +ilovesos1 +Kathleen +nicolas12 +2lovely +leonida +pearly +sven +movistar +160683 +skater23 +billy3 +1725782 +13121992 +1metallica +qweqwe123123 +jimmy01 +03081985 +tupac123 +muffinman1 +010791 +friendofThenext18peoplew +instant +amour1 +230781 +brizet07 +15935746 +011087 +13101983 +071086 +stoner69 +skater9 +NICHOLAS +reggaeton1 +southpark2 +twilight3 +joseph69 +junior05 +18091989 +ortiz34 +06121986 +manasi +hello77 +papabear1 +17081991 +jake69 +justus1 +10sne1 +alabama2 +ringo123 +ilove6 +robbie12 +17091988 +flower14 +talbot +whiting +197111 +123456yu +21051984 +170983 +241082 +blake2 +leandro1 +21101990 +babii1 +090587 +morgan14 +10031984 +061090 +kiera1 +26121984 +desdemona +myrtle1 +garcia13 +BEAUTIFUL +161082 +191192 +gfdkjdf +22091984 +lizette +candys1 +partners +Muffin +ali1234 +230981 +blackhawks +faith08 +george4 +celtics33 +232232 +john08 +24021985 +borman +qaz1wsx2 +rebel69 +tower1 +loko +lovell +ultimo +gold1234 +mal123 +biblioteca +earl +school! +infinite1 +091187 +newyork23 +2611 +171091 +506070 +timofey +jolie +0000000a +ford350 +27011986 +1honda +fuckyou19 +tara12 +lee1234 +forever69 +hotone +gilera +132103 +budbud +19844891 +ashes1 +patrick21 +roy +d2Tqqn28tC +05061991 +locust +allison12 +07061988 +fish22 +tigrenok +fdsafdsa +prancer1 +redsox08 +1711 +411004 +1shot1kill +29061986 +25081990 +troyboy +manzana1 +cummings +18071992 +199216 +doggie12 +07081990 +jaijai +winston123 +13091989 +20111992 +03041992 +131280 +741741741 +03011990 +chloe11 +080878 +blueprint +nana22 +rachel21 +bordeaux33 +qq111111 +05031992 +200982 +13051993 +18071987 +cntgfyjdf +trueblood +220982 +linkpass +dimarik +8seconds +soccer98 +celticfc1 +nokia5610 +thesecret +asdfg2 +cjcbcrf +pink94 +16031985 +malacka +890098 +23021992 +br5499 +jailbird1 +topaz.null +1939 +151180 +stella01 +witchcraft +scorpio69 +bella14 +110380 +13111984 +030391 +170392 +69 +viktor1 +fahjlbnf +crystals +roucky +210882 +15011988 +yankees8 +050188 +91827364 +jesus06 +dimond +eagle3 +18111992 +kamisama +rat +chatchat +taugamma +catsrule1 +g-unot +08041988 +redwings19 +shokolad +Yellow +17031986 +23121982 +180683 +96321 +cute23 +coolcat123 +050593 +500015 +09101986 +170883 +tommy5 +stainless +110579 +12345love +29081991 +epiphany +davion +310181 +140191 +01091983 +ballin08 +121077 +stitches +matthew15 +Med +hello16 +211092 +ginger08 +230481 +shawty12 +150582 +302302 +elsa +robert19 +Marshall +frogger2 +clemens +hallo11 +07041988 +16641664 +090982 +malika1 +zcegth +anil +ramil +ghtpbltyn +198526 +alyona +cara +addidas +16091985 +guitar. +ilovesome1 +13011990 +09021987 +monday11 +16111986 +famous13 +270791 +030691 +honda13 +dream2 +merci +vazquez +monster14 +sophie7 +aceman +its420 +225 +marocco +181087 +201291 +bratz10 +thuglove +776655 +qwerty54321 +25021993 +normajean +triston1 +werner1 +peeper +ningning +13011991 +13251325 +161191 +pasteur +hoppel +sassycat1 +1pizza +020692 +27051989 +18081985 +purple55 +valentine2 +gerbera +tarasova +mommy9 +menthol +lestari +26011988 +savanah1 +dragone +superman00 +beer12 +17061983 +10061984 +nickj1 +buster09 +197355 +rachel22 +inglaterra +christina7 +maryan +love<:3 +filou +090078601 +ginger9 +lolo009 +180584 +bulldog5 +180885 +alskdj +02021995 +05101986 +kings123 +tiger08 +test123456 +0123456789a +hulk +astronomy +sanford1 +estrada1 +juelz1 +georgia123 +karma123 +10081986 +05081985 +milky1 +20142014 +21071985 +lilmama13 +190784 +27071985 +vagina2 +fr +latasha1 +invisible1 +foreman +280292 +xfactor +19841985 +english2 +queteimporta +30041990 +career1 +anshul +norris1 +1newport +090490 +faizan +12051983 +jamaal +tweety69 +soccer66 +primo1 +18071989 +milesdavis +brian01 +hayati +football79 +125896 +santhi +destiny23 +bazooka1 +mookie2 +25081991 +babycoh +starwar +folake +polkaudio +shaq34 +21121982 +20021982 +251179 +29051984 +pisicuta +140981 +lady13 +27091985 +tr +27081987 +marryme +daviddavid +jorge13 +123@123 +need +21091984 +tugger +250001 +gforce +huang123 +140491 +bosley +15071989 +loka123 +melike +sexyness1 +290886 +forsythe +answer1 +fucker13 +12345� +1lucky +Veronica +rouge +salty1 +temitayo +19041989 +ballard +280589 +211281 +050580 +gwapings +greedy1 +31031985 +schnitzel +welcome! +210992 +rajeswari +Qazwsx123 +taylor97 +pencil123 +1catdog +nokian82 +qazedctgb +141281 +bloodyhell +240883 +defjam1 +destini1 +mother23 +060589 +justforme +jenova +190890 +reg +ludovico +ninja13 +291091 +2ndchance +280687 +a33k5Afgdh +02091983 +07121987 +134652 +jesuss1 +stephanie9 +thunder9 +optimusprime +michael33 +sagar123 +madalin +sexy111 +fuckitall1 +divya +bhavya +261181 +my1baby +bhbyjxrf +12011993 +07091982 +spanking +manitou +imtheshit1 +catsanddogs +MONSTER +garfild +spe +mimamamemima +hunter18 +120395 +alex1982 +allyssa +idontno +hot1234 +060783 +snoop123 +240992 +babygurl18 +banana01 +dragon87 +cayuga +vikash +qwerty93 +bobby69 +040388 +cammie +gilberto1 +zwilling +thepimp1 +maximo1 +2102 +redneck3 +170492 +shutup2 +stoopid1 +600034 +gunner123 +ballroom +iloveandy +jason24 +rockydog1 +combat1 +shazam1 +17041985 +richard13 +1luckydog +bigbad#13 +Formula1 +paulino +180291 +160186 +180785 +alameda +hunter1234 +291092 +1309 +1925 +1yankees +zombie123 +4ever1 +130181 +03061992 +alejandro. +katmandu +060391 +198501 +100180 +14101983 +ayoola +money420 +teddy11 +fluminense +BANDIT +07081987 +justice7 +061191 +suzieq +ringer +manifest +290891 +yingyang1 +hitman12 +mendez1 +intrepid1 +father2 +fajardo +gjrtvjy +mikey3 +120193 +power7 +cameron08 +22081983 +27061986 +06081986 +carmona +27081986 +1qwertyui +04071987 +revolver1 +veravera +niki123 +240892 +101978 +currency +missions +pain +julie12 +samtron1 +419419 +onlygod +241292 +luckycat +narutouzumaki +snooze +peanut14 +siva +slytherin +04041992 +171292 +lozinka1 +29071988 +sillybilly +everclear +threekids3 +dima1991 +francis123 +boohoo1 +алексей +ABcd1234 +Carolina +pink44 +250981 +250891 +playboy15 +bubba23 +dodge123 +210493 +140680 +010305 +sharapova +robert9 +encore1 +starwars77 +ronnie2 +181083 +67896789 +devine1 +batigol +08121986 +ang123 +martie +password82 +bunny6 +jamie3 +asdf0987 +kunimi92 +tae123 +chicago3 +113311 +070891 +hugohugo +cute16 +june2009 +132546 +likeaboss +1610 +july09 +Password3 +!QAZxsw2 +turtle! +edifier +destiney1 +slayers +berbatov +crazylove1 +classof05 +wladimir +180985 +matador1 +Regina +23051992 +230780 +pumas +30061983 +02051983 +platano1 +200692 +31051986 +correct +robert99 +07051986 +vwpolo +1597531 +160884 +281292 +dude23 +pentium3 +kinsey +280684 +26091989 +kiss11 +america21 +just123 +290591 +gryffindor +gustave +phoenix3 +kitten5 +tigger25 +babygrl +yourmom5 +kenyon +bangkok1 +nonnie +conor +sparky7 +28121983 +papera +jacob06 +elements1 +gregory2 +28011991 +181192 +30081991 +11111980 +pelusa1 +lauren4 +singhisking +tiffy1 +pepper21 +bollox1 +221176 +now +scarecrow1 +mattias +bocephus +janette1 +quintana +080388 +treefrog1 +226688 +logger +260882 +jason6 +sadie01 +123456gg +sanity +babydog +12456789 +kam123 +tongue +max123456 +aminah +gismo1 +020985 +silver33 +redsox10 +16121983 +07071993 +grace3 +Qwert123 +killer89 +gethigh1 +biggy1 +gathering +ilovejamie +220981 +rosebud2 +12081982 +05091991 +buongiorno +qwe111 +kissme69 +genesis7 +crazy08 +monkies1 +tyson12 +homie123 +sl1pknot +290288 +blazin +madras +starry1 +gordita1 +fashion2 +puppy10 +ayomikun +09061987 +13061984 +australia2 +lynn11 +221985 +070782 +4peace +canela1 +199494 +riquelme +30061992 +napster1 +alessa +johnny22 +spark1 +230892 +killer16 +i_love_you +aguirre +198922 +hollywood8 +795001 +mike00 +cigars +300484 +21031983 +fffffffff +10111981 +muffinman +caribbean +110479 +04031987 +harakiri +891 +Linkedin2011 +andrew00 +01021980 +sean21 +14101993 +09091983 +22121994 +17051992 +01081991 +kayseri +11051993 +motorhead1 +08061990 +municipal +zachary123 +booger7 +13141516 +260885 +jackson08 +tammie1 +30101992 +hashim +121996 +marie88 +Teresa +ari +16071984 +pratima +winger +010692 +shakespear +aleena +300386 +rogelio1 +cowboys88 +04121992 +michael28 +lasagna +290984 +rocafella1 +010683 +fifa +Summer2011 +poopy7 +jeremy! +962464 +maya12 +avondale +creed1 +awesome7 +morfeo +091087 +ac1234 +24091989 +moonwalker +29071990 +chris03 +4815162342a +gagagaga +191283 +golfvr6 +070791 +18111991 +daddy07 +xsw2zaq1 +250384 +caracas1 +s1t2o3n4 +180891 +asdfjk +ghjcnb +saudades +davon1 +007123 +joseph16 +batman101 +peshawar +25111991 +nielsen +fishing12 +180980 +15101982 +912401 +240481 +mazdamx6 +27071984 +sammie01 +sammy08 +199400 +danielle. +brutal1 +porno69 +dance10 +#1baby +honda750 +egorov +13071993 +enough +04041983 +zuzanna +210782 +mexico1234 +ryan09 +brittany15 +mammamia1 +ferrets +sevenup +jennifer14 +tomtom123 +aa11bb22 +kompas +100893 +everlong +goody1 +olifant +01061991 +411033 +1100101 +derp +22091992 +aaa666 +nov151963 +131517 +110678 +250393 +poppen +softball01 +jaymataji +corey12 +jimjim1 +daffy1 +garcia12 +isabela1 +dancers +badguy +104104 +hemligt +280582 +asdfrewq +careca +30061990 +123admin +aniyah +garner +kitty15 +crip123 +22111983 +cooper13 +151001 +16041993 +qwerty19 +24011985 +ingoditrust +weenie1 +191987 +04121985 +1805 +lonesome +funnyface +wateva1 +lifehouse +romulo +fkmnthyfnbdf +230280 +emily06 +joshua69 +010492 +westside14 +myspace26 +derekjeter +bored123 +1.23457E+11 +sexybitch6 +reader1 +125690 +ousmane +30041989 +400069 +aziz +10081008 +samson11 +21111983 +sexy2007 +tommy13 +Buzzer +020784 +26061984 +18071985 +baller8 +PlanoTX +qwerty2012 +metro123 +250480 +xfx3ayFJRK +171986 +09051987 +abulafia +red777 +1fatcat +10061983 +3334444 +seviyorum +09081990 +160783 +eighty8 +210292 +lucky27 +bambang +fran123 +yahoo5 +usuck +lol000 +110381 +brewers1 +����������� +wmilan +10181018 +fed +4646 +breanne +yohann +badkitty +fatty2 +020783 +08121989 +051291 +11081983 +monday2 +dixie2 +painting1 +fatass12 +16091986 +mariposas +mackenzie2 +shaggy123 +over2yangshuo +lima +bumble1 +1thunder +daedae1 +hardcock +13101993 +agent99 +141192 +conejo1 +robert1234 +pitufa +utjvtnhbz +kangoo +danielle01 +qwqw +ukflbfnjh +THUNDER +myspace93 +eastside12 +abgrtyu +26091990 +1506 +111222333a +160684 +batman. +murilo +031284 +monkey87 +reymisterio +jethro1 +030382 +180582 +040494 +jason07 +112299 +05021990 +beckett +monia +13021984 +fob123 +YELLOW +saimon +06051988 +gobigred +061287 +198718 +thereal1 +mikamika +04041995 +courtney11 +31071984 +ashton9 +lockwood +gogeta1 +Sample1234 +ringhio +ethiopia1 +baseball88 +sharda +maxmotives +26121983 +omega7 +prince55 +kyleigh1 +couple +2507 +29071991 +09081985 +23061984 +avery123 +sirene +0303456 +06060606 +cecily +17091990 +babygirl00 +dbrnjhjdyf +celtics5 +Tamara +blessed4 +17121989 +sagapo +devochka +raspberry1 +300983 +07041989 +230230 +27061989 +27051992 +mackie1 +31011991 +emma13 +bakery +rebel13 +28111987 +270192 +yourlove +25011984 +kaizen +shopping12 +otello +280682 +fnkfynblf +jiggaman1 +renaissance +ilovej1 +lennie +06041990 +aydink +198206 +04121986 +chante +06071985 +querida +28111989 +140881 +0411 +dhjnvytyjub +marillion +school13 +stella11 +25011986 +minamina +volcom7 +270491 +butt3rfly +knoxville1 +tommy11 +JEREMY +020384 +301082 +kia123 +bombero +1306 +wallstreet +199771 +gondor +150583 +11021983 +greene1 +graziano +merengue +20031983 +150284 +160192 +brat123 +lilmama09 +FATIMA +headshot1 +booboo6 +180593 +classmate +191183 +1lauren +luglio +444333 +azul +bootycall1 +spongbob1 +4128 +020887 +280184 +20061983 +carrefour +200893 +max777 +SILVER +atl123 +tattoos +hotmama2 +lookatme1 +andrea69 +lovekita +180984 +Cowboys1 +02081983 +toscana +28091989 +blackops2 +baby123456 +monthy25 +ashok +120995 +08061987 +burhan +tricks +040585 +www12345 +tarheels23 +290592 +denise3 +letsdoit +vanhelsing +das +omar1234 +fuckass +texas210 +azertyuiop123 +10million +alex87 +200783 +210880 +honey69 +master9 +starss +pockets +28081989 +29071989 +28071987 +29041989 +maianbinh +showmethemoney +12121995 +paul01 +foofoo1 +lovers21 +omicron +1234567890qaz +noway123 +quilting +colette1 +steph13 +webkinz123 +tartine +190987 +05101989 +100380 +silver99 +juli +asdfgh11 +confiance +joshua00 +Anna +thomas25 +guilty +volcom13 +11041983 +shelby7 +sonshine +cake12 +eric22 +windmill1 +lilia +300982 +16021992 +murakami +741953 +090686 +concac +s11111 +12345zx +15091991 +28111990 +misfits138 +SCHOOL +spencer3 +12161216 +thankyou2 +lozer1 +06021990 +santro +ligaya +saroja +ninette +kianna +221005 +volvo740 +03081984 +17051986 +calico1 +getmoney$ +mongo +honey14 +adriel +spring99 +10131013 +pekida30 +290383 +sabre1 +fastfood +280584 +flirty1 +computer13 +050892 +amber23 +princess55 +26071989 +passage +11021993 +strokes +21031992 +20051982 +pootie +if +dud +06021992 +onelove3 +iolanda +iamhot1 +j696969 +bounty1 +adgjmptw1 +270691 +redbull123 +draven1 +alicat +parishilton +mexicano13 +Katerina +eagle5 +medvidek +one2345 +william09 +19061988 +rickie +wonderfull +199191 +021183 +31P5WTDYG/WGQ +s654321 +iloveyou95 +191290 +forever08 +24121982 +stasya +ladylove1 +pacifica +1704 +benitez +kbytqrf +qwerty32 +gizmo13 +creepy +diva11 +02101991 +mojisola +witness +gayman1 +121111 +morticia +blessed08 +07051985 +asia12 +memo123 +19101983 +yadira1 +olusola +romantic1 +sound +metal4life +21111984 +271080 +09021989 +love40 +020992 +dandy +123999 +dede12 +198406 +091089 +homes1 +143637 +anderson12 +252525a +pass10 +diamond09 +angels22 +prettyboy2 +black08 +software1 +star19 +bella101 +merijaan +nanakwame +tiberian +jabber +backstab +natty1 +16011992 +06091989 +27061991 +121274 +04021986 +15041983 +wale +missy5 +capricorno +2fly4u +13061992 +baseball02 +1florida +freedom201 +пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ +011290 +cutebaby +bobby22 +23071984 +dutchman +danielle14 +231179 +010285 +yahoo1234 +stick1 +chandni +tennis10 +amma +stupid7 +sassy5 +05071983 +041287 +playboy01 +love2live +rtyfgh +wassim +kolokoy +29031985 +schwartz +07051988 +150580 +250692 +tweety8 +26091988 +130282 +200291 +brother3 +raiders! +88998899 +premiere +jamaika +kuroneko +071185 +28011988 +111994 +adele +seansean +goose123 +Rabbit +198605 +36chambers +biancaneve +021291 +159632478 +050187 +dancer23 +hermit +111279 +14101982 +goober12 +101008 +220992 +2309 +mimi22 +derick1 +handyman1 +taylorswift +merrill1 +tabassum +tater +20021993 +hemingway +1313666 +26101985 +buddies1 +07081986 +wendel +11121981 +zero13 +160892 +151081 +556688 +farina +trista +15051983 +rogue +120575 +ferrarif1 +mulder1 +antonio5 +killer17 +love< +121008 +31P5WTDYG +giovanna1 +maricarmen +06011987 +mohini +westfield +doncaster +jesse7 +182838 +younglove1 +camprock1 +orazio +indra +mierda123 +010484 +170582 +21081989 +fire13 +1938 +aladdin1 +zucchero +18011989 +runrun +23111991 +198226 +gjlcnfdf +karthick +05051980 +02081982 +290889 +corwin +170792 +forever09 +december08 +24061989 +Portugal +271081 +karate123 +181184 +workwork +141291 +advance1 +missy13 +05051994 +mironova +081188 +chicosci +survive +mexico69 +515515 +abhijit +23112311 +sept27 +master4 +020491 +retard123 +jasmine06 +iomega +sexybaby12 +Savannah +a87654321 +roadtrip +250593 +katy123 +anand123 +2810 +1martin +meonly +01011996 +prophecy +avisis7 +follow +biohazard1 +jojo15 +buster07 +270889 +240384 +money19 +carrier +14041985 +218218 +master6 +Genesis +01051984 +060389 +310383 +cowboy7 +samourai +12011984 +diamond14 +dumpling +pussyman +101074 +sagitario1 +gjikbdctyf +123123f +27091984 +piggy2 +030584 +21101984 +yasmin123 +stalker2 +kisses3 +granata +family1234 +180483 +brians +gateway7 +02111987 +pokemon01 +12071982 +gui123 +julies +jbgR3v7n3B +allstate +28051989 +harleydavidson +charli1 +090888 +dastan +19091984 +london07 +colin123 +cegthgfhjkm +280984 +krisha +lerato +diallo +15101980 +vanessa14 +tommy10 +juanca +autobahn +imgay +30071985 +allan123 +trini1 +martin3 +07021989 +hotdog3 +black07 +kobebryant24 +74gangsta +mariapia +molson1 +19171917 +joker14 +flashy +240791 +01021993 +13091984 +purgen +1q2w3e4R +28091986 +LqFg4HWt +binkie +centrum +nina11 +caboose +segundo +percussion +123321d +28051986 +kevin18 +tomek123 +291285 +400037 +nascar03 +14051989 +05021988 +landon2 +solstice +chica123 +120979 +pimp25 +iamno1 +pewdiepie +120577 +patsy1 +16011989 +at1234 +norberto +Ekaterina +musica123 +marcelita +08051991 +electronica +01051983 +220480 +myspace05 +tank12 +ironhorse +mormon1 +130281 +300887 +tristan123 +luxury +26071986 +040987 +barbarian +16031992 +borisov +cassandra2 +moose12 +30091991 +13091987 +goody +JASPER +qdyE17t1zV +161083 +2610 +02061982 +lfiekmrf +04081989 +06121988 +timtim1 +16081986 +24061992 +piglet2 +100780 +29081992 +181082 +babygirl28 +turtle4 +pea +coffee01 +duckling +26031992 +yahoo7 +123123j +280291 +skydive1 +gayass1 +04061985 +01041980 +xgx39zGISL +230479 +301283 +110578 +debbie12 +134109 +scarface23 +madison22 +198613 +paswoord +vivalabam1 +250983 +191083 +bresil +190791 +matute +260291 +dale03 +praisethelord +serenade +bart123 +18111985 +chiara1 +BAILEY +saritha +talktome +southside13 +261080 +bumper1 +16111988 +sheikh +neverforget +lalang +19855891 +angelbaby2 +bobby6 +neverwinter +babygirl91 +alexande +loveyou9 +01051980 +28081984 +dirt +dexter2 +020791 +lilbaby1 +cheerio +789852123 +5757 +han123 +07121990 +devlin +daddy0 +samsung88 +conman +11qq11qq +marisela +sexyeyes +03091986 +turtle01 +111111b +130283 +070488 +bush +warrior12 +150882 +1111111111q +310884 +yessica +scene1 +130881 +jordan101 +29111989 +hjcnbr +family. +cola +killer08 +159951a +280284 +brogan +230783 +junior6 +ton +banan1 +southend +jahbless +nicole86 +claire123 +cicciobello +slowhand +22061993 +020683 +28011986 +goirish1 +13111988 +asecret1 +ciara123 +morrigan +101294 +03071992 +global123 +14061992 +babyboy69 +speciala +greenbean +5.254.105.20:test1 +edward10 +28071989 +flute1 +300591 +stu +dance22 +eastside6 +spud +mathews +rainmaker +Pierre +matthew05 +hatelove1 +spanky2 +chevytruck +nick08 +histoire +170285 +florida5 +230293 +ed1234 +Panther +18091988 +whippet +exodus1 +rice80 +poopypants +tamilnadu +300384 +rossia +2307 +.kbxrf +oleander +emogurl +200680 +07031991 +manatee1 +roxana1 +share +pissed +sarah15 +faustino +arun +arsenalfc1 +122500 +butter44 +cherry1234 +spleen +150184 +smokey! +SEyxE44hca +fridolin +paddy123 +198818 +fire22 +ktyecbr +jolene1 +OLIVIA +buttfuck1 +08091991 +gators01 +coheed1 +27121983 +100579 +nicole91 +011085 +gerrit +1qazzaq! +passwordpassword +mama55 +limaperu +graphics1 +pescador +20041982 +fifa2006 +10121981 +06071989 +thomas19 +260696 +airforce2 +211987 +gangsta11 +bandgeek +27031985 +091086 +pussy10 +jesusteama +arlington1 +25061992 +am123456 +magic11 +081081 +superstar9 +100182 +kim1234 +contract +joking +walden +saliha +1allah +odeyemi +mylove21 +28061992 +16111982 +markos +qwertyas +1789 +polito +01061993 +soccer97 +110494 +300784 +katenka +robert20 +270183 +bokkie +260383 +appletree1 +1people +toyota123 +redhouse +j3nn1f3r +texans1 +joey22 +250482 +198227 +queer1 +13011992 +07031985 +redford +220579 +samantha19 +198713 +chesney +angela21 +031185 +lebowski +mandi +precious7 +emmagrace +kal +anna1990 +meandu1 +maggie6 +jaybee +Mexico +emily22 +alyssa! +anglia +merrick +270185 +21051993 +megan7 +260884 +31121980 +nostalgia +j0seph +trevor01 +taotao +141180 +290483 +987654321j +pitbull13 +ninonino +michaelj +1coffee +goku12 +061185 +aleyna +28121985 +grace11 +30081986 +11041992 +101195 +password83 +dounia +21011983 +gerry1 +check123 +03021985 +03011989 +tessie1 +melanie12 +pickles! +tyler69 +amritsar +marconi +adriano1 +lemmein +groove1 +25041985 +200782 +123hot +k1ll3r +bobo11 +john09 +18021983 +170188 +crayon1 +megan! +31071988 +26111985 +jonathan14 +191292 +redsox9 +198420 +151292 +letmein69 +250892 +mihaita +sergeeva +myaccount1 +simone123 +realtors +oldfart +27091988 +danadana +mya123 +haley2 +marcus23 +jonathan21 +payback +250380 +759153 +agape +1pioneer +stupid. +puppylove2 +jagdish +alex28 +ashley00 +SEBASTIAN +301180 +180189 +brittani +30071992 +soccer30 +29111988 +danielle21 +pagedown +hope1234 +tiger07 +ytyfdb:e +070989 +toctoc +181283 +mexico08 +utopia1 +21121993 +carlos25 +199313 +christi1 +240183 +040783 +football41 +school4 +olivia06 +usa1234 +kalinina +iloveyou03 +admins +1z2z3z +ihateyou3 +gjhjctyjr +kissthis +youwish +lolito +700000 +280986 +dipper +rocky1234 +aayush +olivia7 +kvartira +papasmurf +Nelson +secret5 +141084 +chris02 +kaylin1 +tor +def456 +may1993 +auxerre +020583 +good4now +saosin +0203 +physics1 +56tyghbn +gooddog +ninja636 +02061980 +julian13 +alicia01 +smile01 +fernando2 +19041986 +290385 +191988 +faggot123 +josh08 +ggggggggg +slam1984 +260182 +221291 +shadow19 +24111991 +yourock +golden2 +190582 +150392 +415415 +021186 +uncle1 +jacket +dreamtheater +20051994 +wow1234 +cooper10 +raikkonen +roygbiv +246802 +15071984 +enforcer +kayla4 +logistics +benz +123456789love +number01 +123qwe! +mobil1 +25021983 +blahblah! +q121212 +michelle88 +210791 +13071994 +jk123456 +reilly1 +231985 +05021986 +1crazy +130883 +teddybears +kristof +ratdog +mychem1 +serpente +02091984 +Stalker +010684 +badgurl1 +lois +66669999 +nothanks +050683 +giants25 +tripper1 +michelle25 +200185 +sch00l +anabela +bryan2 +patrick6 +120195 +naruto96 +rae123 +gameon +not4u2no +gallego +bigman2 +me4life +28091990 +210380 +12pack +wesley12 +electra1 +1hundred +monkey32 +funnygirl +030290 +CARMEN +020385 +yeahright1 +081088 +nokia6680 +goleafsgo +19922991 +sc0tland +yellow24 +al123456 +101194 +2123 +kerstin1 +spades1 +28111985 +hotdog69 +apple14 +04021992 +simonetta +shonda1 +180791 +vincent12 +lover18 +malkin71 +080809 +junior25 +ferrari12 +rod123 +minimi +oscar7 +mousie +nfnfhby +season1 +okechukwu +tyler02 +ololol +tirana +a234567 +biotch +goldensun +06091987 +05011989 +ukrnet +sonechka +MADISON +steelers11 +1sunflower +football61 +order66 +hbk123 +karandash +qzwxecrv +24071985 +951753456 +21061983 +040892 +montecristo +03011986 +christ01 +sarkar123 +081286 +211080 +muhammet +catholic1 +karthi +270287 +frankie7 +240284 +250492 +qwert789 +harley21 +199217 +02071992 +registration +jacob14 +manning10 +05081992 +manchas +maple123 +06021986 +stroker +258147369 +12122012 +justin98 +050987 +SABRINA +6464 +trooper2 +devil13 +260592 +180287 +marley11 +jacare +198717 +revolt +omgwtf +dogfish +brittany16 +angles +j0hnny +30051984 +180184 +johan123 +pizzaman1 +19111992 +30111990 +400086 +beeper +scanner1 +rowdy +060985 +4sisters +080486 +silva1 +22051984 +people5 +040786 +qwert7 +circa1 +200493 +280180 +bella6 +10031982 +05041991 +facebox +220493 +bmw318is +400055 +short +midwife +130492 +texas08 +baran +06091991 +civicsi +300691 +18121983 +teddy5 +26081981 +110879 +terry2 +shorty8 +yankees4 +lele +rtynfdh +jungfrau +183729 +greenfrog +saleen1 +mandingo1 +thomas20 +maggie8 +image +080881 +51515151 +ewq123 +190391 +q7w8e9 +cra +lovers5 +03101984 +28121991 +lovely16 +single69 +robinho10 +bailey14 +TravelmoleOptin +1zg1H9suza +orange15 +88 +music15 +babycat1 +thankful +12071993 +black16 +lovebug3 +independence +098765a +080787 +master55 +pixie123 +160191 +ladylady +pass13 +ihatethis +24081984 +ryan17 +05081991 +890123 +12101983 +281080 +281192 +310883 +101069 +ass12345 +sarah1234 +cereal1 +iloveher12 +pelado +supercool1 +kimiko +forever15 +mousey1 +27121985 +30061985 +27101991 +291182 +090981 +301192 +260382 +olympe +buttsex +197272 +Raymond +25071983 +140182 +thongs +angus123 +James1 +giant1 +tabby123 +lick +gedeon +tiger09 +030507 +20121982 +45m2do5bs +190491 +251092 +jose16 +vagina123 +mithrandir +cecelia1 +000000z +24021992 +Spencer1 +seville +070781 +blackpool1 +pussie +young12 +vika2010 +shakey +jetset +09011991 +re +311291 +271193 +09041985 +contador +Deutschland +evangelist +bitch0 +culinary +543543 +1936 +compass1 +29011988 +babygirl77 +picard1 +jojo14 +purdue1 +pottery +crystal5 +Jackson5 +wallet +08071985 +05071987 +akon123 +brunos +already +tequieromu +divorced1 +Carmen +freedom4me +levski +august01 +fedex +nirvana666 +amina1 +hokage +140791 +superman0 +alperen +198022 +yulya +060488 +kundalini +kevin17 +synergy1 +fullback +femist22 +cheese21 +blueice +201181 +passwrd +danita +07061985 +jonnie +lollypop2 +mary01 +kinkin +shadowfax +���+����+��������� +keebler +bass12 +120293 +betty2 +winnie2 +froggy11 +pip +maggie05 +josemiguel +060504 +fdsa +amorypaz +belgique +union1 +13041992 +04091989 +patricia2 +778877 +rapid +16081987 +counselor +010170 +22061982 +08051987 +young2 +00000000000 +100781 +07041992 +zaizai +INJECT +leilei +hotass +L1nked1n +110995 +zoo123 +nicole85 +kik +210592 +tam +peter11 +30081990 +22081992 +racheal1 +eastside3 +20071983 +14081408 +ianian +1707 +mich +micheal12 +kevin4 +vaz2109 +pizza7 +rfvtgb +584201314 +shannon13 +qwertyuiop0 +siracusa +15091984 +nepenthe +16011985 +westside18 +mylove7 +cupcake4 +2233445566 +hatteras +chiller +010292 +entertainment +kevin6 +eddy123 +28071985 +park +jeddah +fl0wer +03121986 +whitedog +000aaa +люблютебя +13011985 +090590 +04011991 +280592 +21061993 +196000 +150292 +wildwood1 +08031988 +24091985 +240385 +20101995 +120280 +gusano +290191 +lovebugs +lovely08 +sw705547 +kenzo +ichiro +matt6288 +opelvectra +qawsedrftgyh +loveher +050887 +28101983 +huggies +28121992 +fordmustang +dominic123 +31011992 +denali1 +290982 +lopez13 +owned1 +mountainde +just4now +jayjay11 +gametime1 +playboy6 +030487 +150150as +13661366 +mjolnir +040380 +123sam +123321w +portia1 +12345678912345 +060892 +gokart +hbxfhl +wsx123 +whywhy +mart +jahlove +red333 +sid123 +max101 +hs: +yamaha01 +hawaii123 +shifty +30121991 +bradley123 +bubbles15 +screwu2 +morbid +breanna2 +30121984 +jordan2345 +191182 +25031984 +jenna12 +1403 +18081991 +getlost1 +hiroki +LAUREN +betty12 +foxy123 +amen +badboy5 +08031983 +sup123 +26031985 +brittany01 +06051991 +270687 +trekker +corey2 +taylor96 +gray +15111992 +14051992 +130893 +sonnen +austin96 +ratatouille +199513 +141181 +jack1 +naruto90 +ohbaby +27041992 +black18 +Rainbow1 +sept10 +cheaters +110033 +mark69 +070892 +larry12 +17111990 +Serega +Cowboys +baby2000 +ballin4 +cupcake22 +candybar +400081 +16071990 +301281 +kiss1234 +200881 +cashcrate +240383 +pimpster +20121994 +sherly +040188 +leoleo1 +sailfish +jasper10 +070290 +170187 +kitten69 +101076 +1811 +tastiera +jamaican +140190 +bitch55 +111080 +150982 +24041984 +curitiba +rincewind +logan13 +130191 +cooldude12 +belen +03101987 +doggy5 +nana14 +proteus +021283 +26091984 +07101987 +haggard1 +041288 +mickey09 +holycrap +andiamo1 +nokia3220 +30071990 +11021982 +matrimonio +money2010 +aloevera +shanty +28011989 +corazon2 +221988 +summer98 +120808 +livefree +sonofgod +jonathan19 +737kkbLskV +chelsea22 +warrior7 +10081983 +mononoke +prince23 +486486 +baskets +Zxcvbnm1 +marzena +halliwell1 +chester11 +guitar6 +brand1 +jakob +030289 +toyota2 +22091983 +damnyou +sexy95 +godisgood7 +nanook1 +160992 +18041983 +shuriken +Hd764nW5d7E1vb1 +futurama1 +fuckme13 +17081984 +sonora1 +jackrabbit +250292 +godblessyou +lavieestbelle +myspace198 +1323 +saoirse +150480 +27091989 +yxcvbnm1 +branson +blabla12 +casey11 +19011985 +05091988 +100679 +s666666 +198706 +131179 +axlrose1 +dima12 +nestea +dickhead2 +pussy420 +260891 +#1cutie +zhanglei +20061994 +emma22 +travis13 +300684 +chaotic1 +ogechi +manohar +weekend1 +ilovekatie +loser09 +fis +15101983 +vinita +skate14 +analla +titotito +williamson +sissy2 +charlee1 +181281 +ilovemywife +aaaabbbb +yankees10 +samoan1 +rodgers +roger01 +110192 +samantha6 +Scarlett +jasmine18 +saltydog +061186 +170981 +199613 +260282 +jor +SOCCER +konrad1 +198921 +lildevil1 +140280 +honeyz +24101992 +050692 +vfifvfif +020190 +010384 +luv4eva +reward +QWEASDZXC +SMOKEY +linalina +daisys +annika1 +1881 +567891 +mockingbird +florida11 +pepsi11 +2710 +120180 +01012006 +17011992 +14121993 +barnabas +100194 +countrygirl +nike22 +560079 +03081990 +dieumerci +chriss1 +black88 +qwerty08 +monkey34 +101992 +zenzen +fatjoe +30111985 +stylin1 +kirstie +030986 +jehova1 +10years +rallye +1blunt +corrine +manouche +joshua. +juan14 +ok1234 +500004 +dickweed1 +120977 +120777 +getmoney10 +sexx +zx1234 +karatedo +hogan +24101983 +071284 +stripe +cranberry1 +EMINEM +serafin +pdiddy +25071992 +3737 +123masha +linkedin2 +freeport +sickness1 +diocane +poop12345 +june1986 +sweetie! +xcountry +mack123 +24091984 +900900m +30011991 +dropkick +quake2 +626626 +olesia +tristin +w1958a +123456789987654 +pop12345 +enfermera +cmoney1 +246 +pizza101 +030891 +superstar8 +24071986 +hairspray +210792 +yellow55 +11081982 +spike13 +forever16 +greenwich +270584 +gab123 +tink14 +05091986 +kalimantan +28021984 +andreas123 +iamhot +200880 +Slayer +07041990 +matthew. +160392 +police2 +04091991 +riffraff +654321d +screamo1 +style1 +fastcar1 +02041993 +senna +mariagrazia +15071983 +270782 +vagina! +271291 +dashenka +190286 +oddball +mantle +12345qqq +tulip1 +210680 +030885 +gannon +austin16 +lauren16 +silver10 +gnomik +CASPER +manutd11 +devilmaycr +250392 +honey4 +sweet01 +crap123 +26111992 +ricky13 +hatchet1 +16031984 +12021982 +kimba +starz +pardon +aidana +19071993 +longtime +210283 +000000s +linkedin2010 +alley1 +jimmy6 +password007 +110002 +evans1 +ukraine1 +1timothy +lulu1234 +030684 +dfgdfgdfg +ajibola +empires +creativity +300592 +shanel +hottie06 +alayna +198405 +metallica4 +1q2w3e4r5t6y7 +0511 +25081992 +superpower +030991 +rebeca1 +11aa11 +time4fun +guy +newyork22 +love_you +26011986 +heather22 +17121982 +1trouble +06071992 +29121991 +22031983 +24081992 +therasmus +duke23 +12111982 +letsrock +lbyfhf +beata +lilwayne5 +newborn +danny1234 +damdam +250882 +timmie +8008 +babcia +hotgirl123 +rockstar14 +qwerty100 +theblues +100480 +Bella +23091982 +sdfghjkl +dea +010891 +rap +ltleirf +07061991 +menorca +pasha1 +loveme07 +destini +flyguy +pepper69 +07021985 +lon +volcom3 +18061983 +imawesome1 +metallica123 +sweetpea12 +analuisa +230880 +butter3 +silver6 +water4 +shyguy +200791 +forever10 +140392 +terminator1 +26071984 +190983 +watanabe +newyork21 +putamadre1 +sadist +strategy +07111987 +kelly69 +peaches11 +adelia +volcom11 +26081985 +redmond +igetmoney +fluffy13 +orange24 +kabouter +29031987 +system12 +Passwort1 +Georgia +130577 +17061989 +10051993 +petals +25011992 +samantha23 +yellow16 +020189 +03071984 +kaktus1 +210881 +holley +whatnow +nickey +allahuakba +171192 +160291 +gwen +hardwood +penguin3 +dirtysouth +raider12 +kendal1 +basher +dc1234 +gratitude +kids12 +300992 +17111985 +qwerta +claudius +naruto09 +18081982 +210693 +12121977 +friends07 +password#1 +14101410 +kingsley1 +plaisir +macman +gecko1 +pablito1 +malutka +liverpool. +danny15 +zanessa +mimi01 +120696 +03081992 +baba12 +p3pp3r +scooby10 +31081992 +baller101 +&3 +buster6 +300782 +gotti1 +mamasboy +genaro +sweet9 +09041987 +38special +rajaraja +mylove1234 +1703 +261180 +09061986 +290979 +12581258 +pimp33 +DGf68Yg +m00000 +211181 +31101984 +260782 +sk8terboy +26091987 +s0cc3r +coimbra +doodoo2 +michael04 +pumpkinpie +jaquan1 +batman18 +zara +patch123 +thenumber1 +120877 +270983 +02041982 +24021993 +131079 +20091983 +21061984 +djhjyf +black17 +250992 +pika12 +ovation +sexy911 +yourname1 +kas +conway1 +moosie +sugars1 +comrades +666123 +fedora +petrucci +3@p@g# +way2go +drandreb +blackbeauty +winter22 +kid +jack2000 +qwerty07 +dmitri +ihate1 +star12345 +19091983 +jesse11 +tenten10 +19031984 +26081992 +14011985 +molly4 +ladybug13 +mybaby3 +carlos4 +charm1 +01081992 +pam123 +15121993 +skip +14091986 +artiste +apostle +19081983 +brady123 +razorback +lilmama3 +booboo14 +pianoman1 +jordan32 +tiffany01 +07051991 +31122008 +lovestory1 +212224 +001989 +agarwal +1steelers +565758 +neptun +edward14 +ashley03 +210780 +depeche1 +29071985 +gfhtym +ghbrjkmyj +dorothee +20062008 +sexy94 +wildrose +uniden1 +artart +rebecca7 +preppy1 +millonario +johnson5 +denise11 +yijeong +enduro +loveme33 +260292 +badong +201179 +taxman +baby_gurl +cassis +30111989 +031192 +300883 +seinfeld1 +islamic +acura +flowers4 +160483 +lakers22 +record1 +kristen2 +191084 +231177 +laughter1 +aol.com +mario7 +reggie5 +carlos6 +egghead1 +060888 +b1b2b3b4 +31031992 +hartley +warsaw +king77 +cielito +pimpshit1 +13121982 +26051992 +201091 +pass22 +nahuel +31031991 +italia90 +12101981 +110979 +timoteo +pangetako +13581358 +23081984 +ruby1234 +rangers9 +buttercup7 +Maximus +michael03 +31081985 +lan123 +lokiju +itunes +alchemist1 +lacrosse12 +manjunath +alyssa4 +lynn13 +tt123456 +unicorn7 +07031990 +16111985 +darkwolf +davidc +torres123 +meaghan1 +1pookie +197612 +truck123 +uniform +04061992 +troy12 +23081985 +180783 +greatdane +100281 +bubble3 +seashore +lucienne +04061983 +lol123123 +ricardo12 +moppel +06121991 +antman1 +hoova52 +ivanhoe +12061980 +tennis7 +tigger02 +dakota07 +29011985 +030791 +canada2 +angel31 +canberra +run123 +30031984 +061283 +19051983 +edward4 +wetwet1 +110679 +0212 +123123qw +emelec +olivia5 +Winter +gogo12 +jeffhardy2 +26011985 +171281 +tankist +suckme2 +83773049 +astrid1 +love2 +fatdaddy +1401 +kenneth12 +gators12 +dima777 +14781478 +123456yy +passme1 +angelo12 +lovers01 +mickey8 +shanelle +0211 +161092 +bestbest +biotch1 +161290 +Bond007 +nikita11 +31011988 +23041993 +dededede +784951623 +snowbell +fuckoff4 +270392 +daniel28 +280493 +got2go +tartar +lesbica +miller01 +03121985 +lolly123 +goldrush +pedigree +johnny21 +nineball +angie2 +geometra +12121979 +230993 +30091984 +120994 +090288 +18031993 +gocats +scottish +baller08 +pink27 +poppys +florine +30091985 +crusher1 +010110 +060188 +16091990 +123456cc +unicorns1 +111111w +1501 +brother123 +bailey6 +niko123 +070886 +thatnigga1 +claudia12 +RAINBOW +lovelace +missile +mylove69 +220381 +blo +snowflake2 +bobby01 +badboy21 +Oksana +punani +nathaniel2 +soccer90 +123321zxc +sw3434! +198228 +290790 +akinyemi +chelsea09 +bratz2 +080789 +sigrid +ilovejack +stereo1 +crossfire1 +180284 +money0 +251093 +laura10 +vfif +amazone +wrench +mydestiny +cats1234 +125874 +beefy1 +heygirl1 +220293 +26111990 +mike55 +henry8 +1southside +fuckup1 +maurice2 +pimpin. +mamounette +den1ks +cooper22 +kilo +tay +ritinha +bunnyboo1 +badboy10 +sesame1 +gianni1 +tommylee +987654321k +spanky12 +111993 +patrycja1 +27011989 +01071990 +ladybug5 +qwerty1231 +chicken01 +300884 +bahrain +myspace92 +gayguy1 +samarinda +omooba +coraline +fal +181280 +copper11 +030380 +kaka1234 +ghetto2 +time123 +041192 +tikitiki +280883 +25041992 +LOUISE +as123123 +03091985 +steelers5 +brooke7 +kiersten1 +250291 +210381 +daddy! +dipset12 +nokian72 +direktor +240482 +solid +sebastian0 +16121984 +rere +vectra1 +flossy1 +sneaker +superbad +sandra10 +dunbar +delgado1 +polka1 +tiff +nick07 +foolproof +PEANUT +cosmic1 +paige2 +dragon420 +090785 +29101989 +john07 +REBECCA +klm123 +nunzia +celebrate +spongebob. +05041985 +buttons2 +tristin1 +040986 +teadoro +starbuck1 +05101985 +sugardaddy +198701 +princess87 +bloodhound +milkmilk +sammycat +samantha22 +zzaaqq11 +dfczcghjcbnm +191991 +chanti +1234563 +bama +martin69 +fermin +stupid01 +cowboy13 +buddy15 +albert2 +kjkbnf +uuuu +08051985 +bandits +monster. +charlie15 +lovely9 +09021990 +newcastle9 +administra +11121983 +tianshi +tiffany! +hickory1 +gatitos +78kdow9sPF +06091990 +richards1 +knightrider +523456789 +tiger33 +0310 +lolita123 +hardball +0.0 +260392 +jackie22 +steeve +01121985 +teamo10 +jac123 +baby29 +987654321d +010584 +hjpjxrf +1234554321a +pozitiv +010175 +03021984 +22071983 +talia1 +katherin +111082 +jackson8 +georgetown +230480 +tuttle +198705 +25102510 +blaze2 +04071991 +anaheim +pooh10 +01101989 +soccer91 +pacifico +cool1 +18121982 +112266 +bacteria +050388 +chartered +jenny15 +lisa13 +football96 +lovemusic1 +enriquez +andrey1 +21011984 +sel +14111983 +gumball1 +Apollo13 +danny6 +undertow +1507 +08081983 +cfif123 +flameboy +220593 +monkey56 +160882 +america! +suzanna +7654321q +br1ttany +3838438 +25031990 +boston3 +jordon23 +gothic3 +30121990 +gangbang1 +crazy16 +bonds25 +pepsi3 +chula123 +kishor +kayla08 +ilovepie1 +bella2010 +protocol +Spartak +joao123 +anthony99 +6767 +apsk0518 +harrington +redcross +21091992 +20071982 +kameleon +211182 +flipside +170781 +netgear1 +joakim +17091992 +050891 +skater4lif +27031988 +pudge1 +snowing +060680 +екатерина +03021992 +francisco2 +/.,mnbvcxz +promises +cory123 +010984 +100980 +fyfyfc +lennox1 +trampoline +ponyboy +leighann +04051986 +baseball0 +20031993 +marketa +Jeffrey +12281228 +411040 +reinaldo +homebrew +skydiver +simonka +090687 +4getit +travelmate +basia +mawmaw +praveena +nadya +noble1 +milwaukee1 +babygirl90 +Bianca +25051982 +abigail3 +918918 +isuckdick1 +120794 +05061984 +rapid123 +booboo21 +nancy12 +2308 +flamer +270777 +21091985 +billy69 +woodwind +ihatemen +silver77 +sergey-ivanov +sammy9 +15031983 +qazqwe +tamale +culito +29021984 +Sakura +robben +usajobs +1611 +07101991 +twogirls +dima1993 +170282 +vanessa5 +basket101 +padilla1 +farid +andrejka +300981 +lopez12 +spider7 +kyle01 +30061991 +royals1 +892 +mikey13 +Daniel1 +13081993 +boyssuck +060492 +sadie11 +ilovesean +dude01 +17111982 +salman1 +23111983 +2468013579 +fuckyeah1 +230183 +babygirl97 +maiyeu +google22 +26021992 +1maryjane +05091990 +marino1 +666999666 +girlsrock1 +choudhary +holycrap1 +rocio1 +02101981 +pakistan1947 +bummer1 +yfdbufnjh +ninja7 +hoffnung +dudedude1 +070486 +2707 +lunallena +021092 +anna23 +30071988 +BLESSED +samson2 +bugman +080589 +angelo4ek +reaper13 +brian69 +apartment +wicca +1qw23er45t +pazzword +zubair +020685 +240693 +barker1 +300683 +bitch77 +google23 +09061988 +summer101 +240882 +beachbabe1 +states +babatunde1 +4success +baxter01 +bhardwaj +23011984 +sweetcandy +16061983 +gracie08 +assilem +available +031091 +100694 +011089 +hunter25 +123456789_ +gostoso +silverchair +table +28061985 +benjamin123 +hermoso +050885 +cenerentola +03041984 +1kevin +oliver99 +kaylee2 +100181 +1cookies +u1v7hHh7eF +fuckme11 +peace10 +whoknows1 +290685 +03071985 +17061990 +19861010 +metal4ever +killemall1 +110193 +lovingu +YAMAHA +callum123 +annemarie1 +glendale1 +yy123456 +julita +schroeder +8xxg4Gcc9q +parker11 +29031989 +minnie11 +python1 +megan5 +religion +mexico99 +selene1 +khalid1 +nicholas13 +07091992 +24081989 +16061984 +thomas02 +oliver! +redsox01 +oladipupo +03031981 +rissa1 +qazwsx12345 +pembroke +221178 +240392 +whore2 +az12345 +langley +10071007 +23041984 +hfvbkm +05091985 +gerger +20021980 +black99 +strat1 +janejane +130780 +rufina +28041984 +grandchase +obrien +bvgthbz +01021981 +trogdor1 +shan +chorizo +mafiawars1 +010884 +adrian3 +солнце +270707 +grandma123 +198198 +010194 +29071992 +china12 +honda4 +juggalo2 +hidayah +morrowind1 +morton1 +180392 +wildcats12 +14031984 +moni +130382 +nikki21 +05021989 +pinacolada +120294 +jeremy69 +cbhbec +011285 +stupid5 +30011989 +redwall1 +barbara2 +jamesdean1 +090984 +30011992 +140281 +dupa11 +bills1 +abigail123 +darkelf +mymommy +071291 +091290 +onmyown1 +18111990 +29031984 +chandran +08041987 +united11 +26081991 +luis21 +lovejones +200581 +katinka +fishsticks +100993 +19001560 +hotgirl12 +bastards +piotr +30081987 +alliecat +130679 +happy07 +18051983 +030190 +s8krIl9u4F +superdude +12345678u +marcus22 +gateway3 +zxcqwe +070188 +150992 +02021979 +12345611 +luis01 +chester5 +f5GhyjqHAv +apple69 +Pauline +25101982 +farter +joe12345 +2911 +198202 +14081984 +brandy13 +yaq12wsx +vincent7 +srikrishna +scooby5 +02011990 +tarpon +300580 +151192 +tito12 +switchfoot +drummond +sasha5 +lovelyme +icecream5 +091185 +09101985 +pol123 +13041993 +250180 +140992 +420man +251193 +buttercup3 +12111983 +ching +partyboy +charan +yupyup +121484 +joeyjoey +260183 +portugues +ritarita +willow11 +300187 +fordescort +560004 +fjfjfj +kayseri38 +newlife07 +ak47ak47 +666666m +123456_ +110182 +ятебялюблю +jasmine. +deadpool1 +Helena +sandra22 +noel123 +young10 +cytuehjxrf +sheeps +Samson +brutis +abc1231 +kaktys +triana +600073 +291282 +19121983 +06071986 +chacha123 +iraira +pecker1 +bedroom1 +jamie01 +dragon44 +angela22 +14061983 +22041984 +060681 +zzzzzzzzz +150695 +minolta +maryline +slonko +fuck99 +280808 +youwish1 +matthew69 +dallas88 +kulit +11061983 +frida1 +imissu2 +shann0n +comets1 +farside1 +black25 +31051992 +pantera2 +111278 +081085 +jesuschrist1 +tanning1 +Letmein +tigger. +18101993 +brownies1 +auntie1 +estefani +090287 +lupin +nnnnnn1 +asdfgh. +150892 +250381 +9749676621ok +kitkat2 +071285 +peace01 +hewlett1 +1808 +jessie7 +chevyman +sperma +horror1 +30121989 +tonymontana +08091987 +lovesux1 +210382 +120694 +brave1 +jesusa +comeon1 +123bbb +abe123 +stokes +bubblebutt +zoomzoom1 +bureau +310393 +chris92 +snoppy +velasquez +healer +honey10 +qwerty45 +211082 +samantha123 +220481 +farm +romuald +12041982 +11223344q +tennis3 +blanco10 +tazdevil +sovereign +message1 +FRANCIS +legend123 +samir123 +savage12 +nathan15 +kirk +ladybug4 +victorious +hulk123 +sophia01 +shimmy +legia1 +harley4 +200183 +241178 +london21 +whisky1 +alex1981 +centre +13011984 +smackdown2 +ilovemyindia +cowcow1 +196500 +joseph18 +pipo +wangjing +bear23 +030491 +131279 +06061983 +190783 +07091990 +semeolvido +jackie23 +adrian23 +marie95 +felipe10 +killer420 +motorcross +24011992 +2199127551 +barbie22 +mookie123 +nine99 +241078 +24111984 +street12 +victoria5 +il0v3y0u +tigger101 +260284 +sondra +���������� +231293 +111972 +72chevy +03021990 +08061989 +031084 +Wilson +170192 +20091994 +10091989 +28091985 +xxxzzz +pollock +bur +christina3 +creative12 +russell2 +deepak123 +28061983 +aa111111 +aaliyah3 +ilovetim1 +registrati +07041983 +11011994 +fylhsq +aquaman +31121982 +minami +08031989 +boys12 +Siemens +ontario1 +wallpaper1 +110993 +b00mer +haters2 +violino +050386 +babygirl03 +solution1 +180983 +ichunddu +poopsie1 +19101982 +refinnej +sookie +rbh.if +arturik +autumn2 +johncena11 +samantha16 +01071982 +180692 +raul123 +01011960 +pinpon +sparty +caca1234 +october08 +tajudeen +260787 +19041984 +TWEETY +250594 +bittersweet +25091992 +21101983 +17011984 +Spirit +rkelly +godsent +27111991 +flower69 +serenity7 +111092 +chili1 +binder +130980 +nataly1 +addie1 +bocajuniors +02081992 +hpl +outside1 +victoria! +happy4me +atkinson +770077 +05121988 +rfhfcm +monkeys7 +bartolome +cathrine +mustang96 +DECEMBER +mylove08 +tehran +slipknot5 +020191 +peter5 +u6e6r9hwix +banban +darkman1 +element6 +door +zachary5 +socks123 +0312 +060390 +bandit10 +030984 +dallas69 +05101990 +hottopic +q2q2q2 +223 +guismo +12021980 +zoom1234 +25031983 +sebastien1 +051084 +100394 +king25 +20061982 +29031986 +qazxswedc123 +randy12 +rocky101 +30081989 +1pokemon +marco12 +telefonica +ge0rge +boswell +240480 +330330 +soccer29 +021082 +brandon99 +hit +crip13 +sanju +260883 +1qazxdr5 +030884 +147852zes +miruna +important1 +11021994 +babies4 +militaire +011188 +eliseo +svenja +audio1 +fengshui +brian5 +198025 +makeitso +14022009 +06021989 +prospero +171180 +single3 +busta1 +tori12 +011011 +malou +bintou +mounette +holymoly +sonic3 +123mmm +210284 +peepers1 +sandoval1 +princess34 +10031981 +060287 +inicio +pop1234 +rasta123 +passwort12 +katya123 +chelsea07 +1234567899876543 +tweet1 +sophie22 +mitzi +240192 +yomama! +061182 +milacik +2200 +190484 +watkins1 +230581 +teddybear7 +550055 +20021981 +102030102030 +nicole96 +nissan123 +bambam11 +123456789qwertyuiop +shyann +joshua25 +haikal +22081984 +emiliano1 +K9g2xpce1E +crossover +Dominic +021185 +198401 +Leslie +barrera +powerpuff1 +171280 +official1 +jaydon +02011983 +denise13 +spring123 +1qazZAQ! +27081985 +500026 +manutd10 +05121987 +261193 +m0rgan +andre2 +111293 +041292 +01121988 +8675309j +phoenix12 +hun +29011992 +symone +ilovebrand +titten +ajhneyf +gunawan +denver7 +babyluv +peanut8 +13591359 +171191 +fireblade1 +milanac +carmen01 +rocky23 +mike6453 +salsal +pink05 +10111980 +meatballs +devil12 +charles5 +steven15 +shan123 +210793 +sundin13 +prime +miniman +poopoo22 +140581 +180383 +magoo1 +17021985 +dale123 +giusy +asddsa1 +sacred1 +03071989 +04101990 +jacek +arafat +bebe01 +08091992 +1702 +a7x4life +humphrey1 +10051981 +vanesa1 +doogie1 +outlaws1 +jackie10 +demon6 +killer18 +pissed1 +Hamster +imhappy +07051992 +amedeo +carlie1 +1l0v3y0u +mirek +asdfghjkl. +rjyatnf +13121980 +142536a +06101987 +beehive +sexy91 +bandit3 +islanders +125125125 +catfood1 +morgan07 +freeporn +220680 +superbowl1 +hotbitch1 +romans8 +04101986 +gramps +198707 +summ3r +superjunio +18021985 +BEAUTY +momo13 +1fatass +las +y0y0y0 +137946 +ingram +1tyler +rosalyn +elevation +29081984 +wendi +081189 +shaina1 +Baxter +09051990 +redroses1 +1scooby +snake12 +spicegirls +iamblessed +100478 +310183 +rfhbyjxrf +padang +08041985 +hannah17 +yang +puszek +1425 +sebas123 +smash +reggie2 +shaaba +04011989 +chevy88 +qwertyui12 +poppy2 +300185 +chastity +05051995 +07061984 +090788 +love999 +djamila +19101993 +linkedin99 +010493 +aaron10 +imsingle +lucrecia +kupal +18021984 +280683 +nicolae +400061 +ert123 +171181 +13081992 +jose17 +monk +10101979 +060885 +070585 +underwater +30101983 +15041984 +dctktyyfz +12abcd +timothy3 +04011988 +222222q +Dortmund +artemon +society +sherpa +pepperoni1 +lulu11 +nicholas4 +25041984 +weezie +berkay +geegee1 +miomio +nathan03 +04121990 +mariguana +jacob6 +1jeremy +sammydog1 +dinger +bellaboo1 +jlbyjxtcndj +chelsea21 +25121980 +costa +110781 +blondie7 +nsync +16081985 +steven18 +21031993 +strato +198603 +05031985 +helpmelord +07021986 +only4u +wooster +090586 +cookie88 +continental +dolce +18051984 +grandkids6 +mecanico +hammer2 +110795 +frodo123 +impact1 +217217 +david99 +auditor +SANTIAGO +081091 +shinhwa +jeanmarc +06041988 +090487 +22071993 +28011990 +football83 +fifa2009 +21071984 +raiders10 +yoyoyo3 +rrr +pool123 +27091986 +lady1234 +07061990 +sandhu +821010 +antonette +killer0 +icetea1 +nina1234 +myspace95 +iglesia +rfvtym +lord12 +simens +katie10 +frfltvbz +awsedr +500008 +16111983 +landon06 +emily23 +langka04 +bandit69 +blacknight +cookie07 +22071984 +10081982 +winters +admiral1 +jjj111 +cute15 +riches +shkola +blondie12 +zidane5 +140183 +austin00 +ромашка +wouter +chauncey1 +06091988 +198122 +negra1 +bebebebe +anna10 +doodie1 +080591 +181081 +06101988 +2222221 +coolkid123 +annabel1 +07021992 +191985 +190001 +221192 +thebear +17091982 +04081992 +galapagos +celestino +trouble3 +07091989 +230679 +babyboy15 +firestorm1 +gary12 +vatoslocos +inflames1 +ALBERT +letmein7 +oliver5 +slurpee +sonja1 +sasha1994 +040482 +0246810 +makaron +football86 +1forme +18091990 +wizard123 +india@123 +151986 +pyramids +bala +090979 +adam23 +angel#1 +gblfhfcs +manimani +batman77 +redsea +Simone +youaifa569 +wilson11 +669966 +smarts +10031995 +nfymrf +12101994 +20101994 +game1234 +layton +chandrika +adolf +tweety18 +slamdunk1 +lyon69 +dogbone1 +osito +26111984 +020991 +everlasting +wenef45313 +birds +26081990 +26111988 +1champion +hector12 +26061993 +nitrous +ibm +13011983 +hunter55 +ivan1234 +210883 +iceman69 +haydee +09111987 +06041989 +010287 +fodase +garrett2 +1penis +hotline +w1957a +29111985 +red123456 +manchita +rascal2 +ilove11 +fucktop8 +300382 +mobbdeep +familia5 +toothbrush +caro123 +lauren18 +dupa1234 +totally1 +enjoylife +hawaii2 +051283 +emelie +wootwoot +gil +Genesis1 +iam2cool +phi +satine +sandy01 +29111990 +170293 +18011985 +ainhoa +jr12345 +pippo1 +qwertyq +013013 +environment +chris143 +161161 +samsung13 +14071984 +050287 +louisa1 +panthers89 +brit123 +358358 +sabedoria +123456789ab +breakdown +410410 +070390 +29061984 +lubimaya +opaopa +buddy9 +looloo1 +bernal +slut12 +baby2011 +76767676 +210577 +alyssa06 +230582 +donut +mouloud +070689 +12qw34er56ty +200909 +coco14 +alex1983 +jesse5 +daisy4 +cool24 +richard! +ASSHOLE +pookie7 +boomer13 +francis2 +13041985 +020582 +kona +gabriel22 +khan1234 +311281 +lupe123 +�+�������� +aleksej +63636363 +cobblers +04031989 +16081983 +joseph07 +akhilesh +thisisgay1 +chaudhary +athens1 +lovingme +steve01 +binweevils +dipset123 +130185 +241081 +27081988 +playgame +bayliner +biggun +katharina1 +fancy +2811 +bigboy21 +octopus1 +1Qaz2wsx +1269 +piano123 +caceres +asshole101 +travian +trevor2 +basti +purzel +mario23 +mic123 +kyler1 +glock23 +RACHEL +20091992 +killer25 +candyass +Montana +16091992 +05051981 +211081 +peaches4 +n12345678 +tobias123 +03061984 +yamaha11 +foreverand +dfghjkl +191817 +tigres1 +090908 +nirvana12 +malaikat +zac +iguana1 +cottoncand +match +matt16 +allmylife +2502 +110051 +rosa13 +daddy8 +orange16 +070793 +chelsea15 +13101310 +2580369 +prettyboys +31071989 +kahne9 +sixsixsix +260184 +united12 +dylan07 +slipknot123 +onyx +robocop1 +hujhuj +7777771 +301301 +23021994 +boudin +skate69 +281084 +motomoto +beleza +jeepjeep +ячсмить +horses01 +161080 +feanor +fatboy3 +cheese8 +come +050991 +anna1997 +010583 +kozlov +madarchod +jade13 +100179 +football94 +robertino +CHRIST +010782 +09101987 +boston7 +198205 +miguel11 +navyseal1 +azul123 +Darling1 +2802 +10061994 +randi1 +050684 +delia +woods1 +tdutif +05121991 +uytrewq +inshallah +poop01 +david77 +sparky69 +jasonb +tacos123 +27031984 +crazy1234 +carisma +starfox1 +windy1 +30101982 +izabella1 +12121978 +071283 +kris12 +10091982 +2209 +garnier +rugrat1 +08071988 +papamama1 +tiancai +HEAVEN +modesto1 +trilli +27051993 +bigman12 +woogie +270580 +02101983 +drew22 +16111992 +123man +violence +chrism +240285 +Angel123 +over9000 +changeme2 +21041993 +retirement +winner11 +SEPTEMBER +frank13 +180583 +duckies1 +tobago +06101989 +rai +cody10 +199393 +vc123456 +26031993 +sept19 +doggie123 +12081994 +tyty +ellada +mylord1 +aarons +69966996 +nicolino +fortis +26051985 +03081993 +26041985 +karlmarx +skipper2 +sugar11 +500033 +jannik +charmed2 +callahan +leona +alex111 +m1ch3ll3 +2112rush +199515 +070289 +03101986 +teamo14 +naruto94 +17111984 +070389 +741852a +que +eastwest +sundevil +fuckoff22 +789521 +08051989 +29051988 +liverpool09 +hemlock +Katherine +zero11 +12011983 +04101991 +evil123 +050783 +rocky21 +010383 +jamaica123 +johnny4 +zhuzhu +071286 +godsfavor +bandit22 +elina +brinkley +140781 +ninja11 +pretty15 +blue777 +yellow88 +alexander12 +07071994 +leeryan +22051983 +sonechko +231178 +sammy07 +froggy13 +20101981 +120875 +mariokart +000069 +cellardoor +angel34 +peaches69 +juanjuan +05061983 +thomas89 +yfcnz1 +nastya1 +22011993 +260482 +seeking +marina13 +00000008 +batteria +chris. +bogie1 +10031994 +w1955a +12213443 +socool +anna1995 +westside21 +peanut06 +basket11 +unity1 +07041986 +midwest +crazycat +bahagia +011084 +thebest99 +27061984 +Pebbles +081087 +honda98 +040885 +1234wert +ilu123 +karol123 +hisham +101012 +199311 +oaxaca +mitten +010171 +turkish +260680 +290884 +12081981 +junior9 +09031987 +199611 +montblanc +15021993 +JMFxL78nhe +250193 +branco +alianzalima +england7 +roxy10 +1f3Q8AunKE +casper69 +comandos +001972 +selamat +tinkerbelle +eclipse2 +eddie13 +pirulo +sharad +190591 +02091982 +aaaassss +200381 +070885 +frederique +vvv666vvv +porcupine +samuel13 +03081986 +spookie +998998 +24seven +girafe +bj1234 +33103310 +naruto24 +butch123 +mancha +homeless1 +gabby13 +14031992 +player15 +200810 +maddie3 +s1s1s1 +cghfibdfq +william16 +10011993 +jarrett88 +21041994 +tiara +sardine +trucking1 +TPklmQ9668 +mindless1 +11111aaaaa +300482 +trinity5 +amanda06 +estefania1 +fernando9 +rideordie +molina1 +16051984 +dancer16 +202 +Toronto +stephanie8 +florida09 +fuckoff9 +griffon +sasanext +summer89 +13041984 +comedian1 +manuel01 +500050 +fotball +bankhead1 +060887 +751953 +carter01 +198203 +140192 +04011985 +01051992 +scooter4 +16071986 +parfum +270284 +newhome +lemonlime +marie89 +alannah +raiders81 +a1a1a1a1a1 +chris04 +311280 +03011985 +pringle +professora +sandi1 +sexy03 +saintsrow2 +sangre +ryan24 +keziah +maple12 +daniel96 +invader1 +loulou123 +kayla15 +170283 +andone1 +master101 +fktrcfylhjdbx +diva101 +080292 +2ps5wLc4xQ +060609 +Kenneth +uchiha1 +toxicity +200482 +11111k +jonathan8 +student123 +lauren15 +lovemylife +ginger6 +1chick +170992 +brian23 +mikey7 +180682 +allahu1 +2277 +lsutigers +22061983 +kiefer +michal123 +heihei +171080 +ginger14 +kristofer +chad85 +280282 +07081988 +god4ever +museum +jeff11 +25041983 +jo +06081984 +jamaal1 +manuel11 +24071984 +reddevil1 +Lindsey +siberia +anna1998 +leto2010 +boss1234 +11101992 +nimrod1 +nuclear1 +scotch1 +mando1 +poohbear21 +04031986 +tuna +060388 +051182 +1606 +hamster12 +14051983 +10111993 +1234aaaa +21101994 +121096 +27071983 +24011986 +090290 +savannah3 +26031989 +joao +rdfhnfk +anime101 +09071988 +270583 +vivi123 +030591 +harry11 +bujhm +butterfly123 +220882 +love50 +mylife12 +amber08 +domingos +nixon1 +07121986 +qw1qw2 +super69 +hokies1 +lola13 +pancha +horses7 +sat +191086 +sexymom1 +kcchiefs +04021990 +ksooz +fishin1 +250481 +2552 +230182 +160481 +lanlan +greenville +teamobb +ivan13 +09091982 +goofball1 +montana123 +jerusalem1 +cookie18 +melissa9 +alessia1 +awsome123 +14041982 +leslie2 +nihongo +bleach12 +1988comeer +yoville +southside6 +291081 +ja8yc8uxsx +17111991 +05041989 +09081988 +marley01 +DsmWssR955 +jomari +eeeeee1 +manhater +06101986 +10041982 +tongtong +070489 +2606 +nothing! +14081992 +friday12 +Elaine +starman1 +amanda25 +0410 +maicol +nails1 +170292 +151985 +daffodils +lele123 +08021992 +vanina +06121985 +270982 +redwolf +davidj +145263 +140580 +donald12 +22041982 +261281 +100578 +ace154ever +041083 +cheeta +fernandito +18011984 +nana23 +jenny22 +alalal +aolsucks +vitara +kevin! +400604 +09101991 +110394 +mani123 +3105 +serendipit +emma07 +loveguru +spacey1 +shaquille1 +pasha123 +5starg +zamalek +100677 +187 +310384 +reaver +porno123 +123234345 +romanista +132333 +newlife7 +booyah1 +skaska +iloveu15 +mustang94 +wolves123 +race +overload +william06 +220578 +rodriguez2 +steven16 +monkey78 +atanda +zooropa +flavie +theone2 +love1111 +babe01 +14091985 +08101991 +david. +050291 +hannelore +hollister6 +galang +siberian +140295 +050387 +200480 +sashas +jayjay13 +123pimp +gemini23 +12345698 +nassau +kitty16 +08011990 +gopher1 +220183 +luke01 +eminem5 +blue29 +whodat +memo +babylone +money2008 +invaderzim +unleashed +imbored1 +choco123 +basement1 +money$$ +factor +1thuglife +12501250 +250781 +198427 +jayden04 +wayne3 +190282 +favorites +050785 +01081983 +08061992 +skate4ever +heater +guitar4 +party2 +merlin11 +02041980 +24031985 +akinwale +060785 +kai +bigboy14 +Sebastian1 +123happy +19851986 +prince21 +25021984 +110577 +jason18 +lavida +hoobastank +18051994 +steward +adi +221989 +shannara +260892 +boulder1 +intense +zasranec +1pickle +diane123 +milhouse +210681 +27041984 +ilovem3 +hairy1 +shutup123 +180293 +qwertyuiop1234 +jimihendrix +huntington +sniffer +summer17 +RiversideC +jazzy13 +mikel1 +rage +eden +groundhog +08021985 +nfqcjy +1144 +sundari +9379992q +computer8 +poiuy6 +hello45 +poissons +1923 +newyork10 +160991 +fkbyf001 +flathead +grad08 +010881 +Mark +04011987 +300192 +baggins1 +31011986 +05121992 +07011988 +rachna +charchar +09061990 +alanis1 +010283 +navigator1 +lastfm123 +puta +mostro +adeleke +lis +stafford1 +10051982 +159357q +classof12 +010286 +171082 +1236540 +kitty08 +b111111 +1321 +yuiop +170382 +rainrain +flashback +selena2 +flossie1 +mookie12 +131984 +wizards1 +janani +boone1 +hammad +UGAuG55jdb +barbie69 +22101993 +bonou2 +060489 +joker22 +balla4life +haribol +dr4life +mclean +15121994 +halliwell +dirtydog +buster15 +20031980 +pitbull3 +pratap +18061989 +striper1 +jackhammer +ginola +nyq28giz1z +longdong +solare +amethyst1 +10061993 +brittani1 +jordy1 +160493 +301191 +g00ber +iseeyou +bitch89 +1goddess +guitar22 +cheese6 +dallas24 +240981 +Yfnfif +brentwood +margarita2 +2323232323 +2406 +travis3 +roses123 +favored1 +300891 +single10 +160782 +blow +love1985 +090488 +night123 +alejandro7 +tiesto1 +kinetic +purple28 +010892 +Gordon +06051986 +26121982 +cupcake101 +usa +apple99 +packers04 +cassie10 +08101986 +sarah08 +lexus123 +24051993 +adam21 +25081985 +31051984 +liljay +spider01 +250780 +atlant +anjing1 +peejay +dolphin8 +alegre +trevor11 +dirtbike2 +babolat +120394 +masahiro +170483 +yourmom11 +lampard123 +falcons2 +24031992 +18101983 +lapins +hateyou2 +blue05 +wijaya +hanuman1 +wang +frenchie1 +050491 +bet +180681 +090189 +vivitron +knight123 +bakla +00000o +mansion +paralegal +060585 +one1two2 +voetbal1 +21041984 +jager1 +lugano +328328 +cleopatre +gfgfgfgf +gabriell +280782 +manilyn +tigger33 +codydog +kizzy1 +cb1234 +victorhugo +000003 +tuananh +renzo +020592 +imhotep +177177 +garry +shadowcat +mariafernanda +weareone +fernand +280287 +010106 +2hott4u +doutdes +chinita1 +iluv69 +samy +23071982 +j7777777 +231278 +cadets +requin +lmfao123 +Lincoln +jonnyboy +mefisto +shannon11 +01051982 +firehouse1 +killmenow +tennis13 +Feder_1941 +blondie3 +fresita1 +1chevy +traxdata +198607 +marcos12 +151987 +4848 +pele10 +krakow +210593 +24121983 +mahler +22111982 +blink183 +123mom +080389 +10101977 +julian11 +register1 +caralho1 +water7 +1gabriel +21081984 +princess29 +01031993 +tomtomtom +doorknob1 +131987 +1please +051082 +liverpool11 +melissa. +rc.irf +stupid4 +olivia4 +adrian08 +asdfgasdfg +ak123456 +500062 +orphee +06121989 +jonathan4 +lafayette1 +dinodino +jack08 +26101993 +nikon +02061981 +03051992 +190382 +180186 +040891 +sweetlover +harajuku +chelsea. +ilovemymother +cameron9 +password2010 +sponge12 +babyboy! +serpico +sammy69 +fakeid1 +aly123 +benjamin7 +26091992 +pipopipo +joseph9 +goodyear1 +nasfat12 +jenny69 +steven4 +deinemutter +abcabcabc +catgirl +04091988 +heydude +naughty69 +pollyanna +braydon +arenas +daniela2 +freak12 +7979 +контакт +11261126 +blood4 +pooh08 +16021982 +040583 +Brenda +fletch1 +200492 +asqw12 +fkbcrf +130480 +151181 +pantera123 +jo1234 +04031991 +26041983 +110594 +alinutza +maciej +pimmel +gofast +190581 +christen +getlikeme1 +3004 +bharati +katorse +13061983 +101276 +horses5 +2bigtits +201988 +100493 +redeyes +1houston +everybody +ethan3 +brianna10 +11112 +26071983 +getmoney07 +198224 +satoshi +aaaaaa. +ajax +26061983 +16031986 +197411 +cool69 +251079 +01071993 +kayla07 +sebastian3 +190885 +burak +060592 +pacers1 +kayla22 +300882 +221279 +saltanat +110277 +qweasdqwe +199218 +270182 +1pothead +delbert +delivery +2407 +infiniti1 +ramses1 +duckman1 +chocolat3 +110694 +louane +shayan +yamada +Walter +youandme2 +eminem23 +kisakisa +040291 +cacapipi +13031993 +290691 +charlie16 +drawing +7angels +jake15 +04031988 +surekha +12051994 +tijgertje +ilove14 +95mustang +superman33 +19041982 +whatever8 +victor7 +1112223 +160492 +020984 +episode1 +hobo123 +qwerty20 +sekhar +harry5 +02031995 +xavier11 +20071993 +12345678aa +gallagher1 +kitten01 +meduza +ethan06 +garfield12 +26081989 +1w2w3w4w +skoda +jennifer6 +17051993 +annaba23 +darklight +marie25 +ipanema +04051992 +020186 +2525252525 +chakra +14061984 +orders +minombre +gwyneth +papillon1 +fordman +a11223344 +29091984 +renault19 +photon +250693 +24031984 +111222q +5353 +02091992 +rfhnbyf +keerthana +19081908 +pencil12 +penis11 +shital +anaheim1 +marie20 +178178 +hanover +gibraltar +mary22 +joshua88 +titanic2 +619 +rocky69 +daniel92 +darkhorse +arrakis +140780 +21091982 +scuderia +sophia2 +ainsley +belkin1 +15011984 +Brianna +fireplace +16041984 +edinburgh1 +141986 +rjnjgtc +jonathan16 +191986 +061084 +monkey04 +199696 +1922 +01061980 +audition +���������� +23091984 +troia +anabella +080290 +300680 +29121984 +breakdown1 +pompon +04040404 +descartes +amanda1234 +golf11 +30091989 +060786 +beaver69 +260591 +16041989 +mylady +cowboy10 +leonardo12 +1423 +031282 +bluefire +nadanada +wander +08081980 +buttbutt +bombshell +madyson1 +arcadia1 +maryjo +28031984 +p455word +roxydog +lovedove +nigger9 +blood6 +bloodlust1 +number33 +monkey420 +180283 +smiley3 +xpress +20051980 +08021984 +1malaysia +donatello +goofy2 +deathrow1 +babala123 +kaunas +vtkrbq +harry01 +a7xa7x +jake101 +lisandro +gunblade +600033 +july02 +bizarre +kourtney1 +salem123 +elbereth +babe23 +ripdad1 +197512 +kaulitz1 +ladydog1 +clare +Happy1 +zhjckfdf +4thekids +290491 +241987 +xpressmusic +caroline2 +coaster +25111992 +��������� +191291 +naruto0 +240792 +djdjdj +smiles2 +28071990 +0812 +4xxlqU94yO +143341 +candyapple +31101992 +#1daddy +159753852456 +jubilee1 +123pop +courtney13 +jesse01 +nomad +121177 +232 +12081980 +sticks1 +1933 +sniffles +21071983 +240781 +420pot +pato +04021991 +0512 +400021 +324324 +negros +client +010203040506070809 +lovers09 +140883 +raymund +samsam123 +30041984 +ANGELICA +internal +bubblegum3 +030381 +280783 +123452 +1231233 +paintball3 +asdffdsa1 +honey8 +271280 +schoolbus +251985 +imran123 +dillan +summer24 +mewmew1 +waffenss +princess44 +TrustNo1 +wazup1 +lovely18 +pebbles12 +japan4 +daewoo1 +Steve +yourgay +felina +lifeguard1 +Johanna +studly +dark1234 +fiona123 +19966991 +leonie1 +090289 +bballer1 +emmalou +kissthis1 +dragana +bobsaget1 +slutface1 +battousai +198207 +manuel10 +7845120 +290582 +fhnehxbr +breebree +mylove09 +i4gotit +tigers4 +gatekeeper +55555s +02011991 +lunarossa +1452 +jupiler +1alyssa +251279 +170481 +deuce1 +bumerang +inverness +22121993 +vfhnbyb +122000 +messer +010291 +081086 +juana1 +keira1 +normajean1 +Vfrcbv +kiki01 +131989 +265349 +30081985 +020684 +htrkfvf +07091991 +kaibigan +ibukun +sargent1 +beer4me +lemmings +03121988 +041281 +17111992 +amoremio1 +pitbull12 +open12 +oracle1 +newuser1 +77 +jaclyn1 +250282 +shelby! +charlieboy +gabriel08 +sushmita +marsupilami +montoya1 +08051986 +manny12 +elijah07 +tommy69 +260492 +teddy13 +155555 +01031982 +Rocky +198507 +170393 +thelordisgood +buster9 +23041982 +020492 +rachel24 +elephant7 +john33 +50 +gofish1 +19021984 +segovia +Dragon12 +anjela +solosolo +440010 +milion +martin06 +polite +fulton +purchasing +telecono +28011985 +lunatic1 +280992 +1a2a3a4a5a6a +perro123 +302004 +lilman3 +adagio +cece123 +hardik +yfltymrf +sexxxy1 +sept26 +pthrfkj +weedhead1 +Hello1 +bkmlfh +071282 +spicey +jacob9 +021281 +spock +256buoWriZ +16051983 +1212qw +20081983 +babycake1 +040682 +denice +Alicia +malmsteen +1savior +1popcorn +motleycrue +fishcake +18dummy +chelsea23 +dylan10 +maria6 +qawsedrf1 +201079 +wolfpac +jb123456 +ihateyou7 +lucky! +buccaneers +160282 +1letmein +01101983 +maldini3 +freiburg +02121992 +040591 +18071984 +ratboy +161192 +270594 +050985 +deutsch1 +jessie! +123.123 +darcy +rediff +196700 +06121990 +Money123 +virtue +blah22 +yeah12 +15321532 +kasia123 +ted +killer34 +fender69 +guyg56fghf +010784 +supply +elijah08 +01101992 +rimmer +dominicano +190483 +panda5 +07121985 +nowhere +030492 +Abigail1 +andressa +2712 +mugsy1 +071192 +21101993 +magique +021192 +azerty789 +sanders21 +18081983 +18081984 +athletics +bigdog11 +03031980 +xantia +qasdfg +rainbow23 +lynn22 +fucklove14 +papero +master15 +football05 +mohan +harley77 +15071982 +tempo1 +taipan +121299 +surfsup1 +300582 +1brianna +newark1 +600078 +cococo1 +three6 +230381 +nasty69 +pimpin22 +lupita12 +*love* +infinity8 +05101991 +260283 +fuckme666 +pretzel1 +daniel97 +skittles13 +230180 +110878 +210695 +vasanthi +scooters +070985 +gene +17071983 +nunzio +cazzarola +bb +ulrike +ducati748 +pimp20 +vvvvvvvvvv +christal +liebe1 +021083 +kaitlynn1 +270884 +28021994 +vaness +gus +dezembro +alberto2 +aftermath1 +pharmacie +anhyeuem123 +kinger +pooh09 +10021982 +kazama +treetop1 +02031981 +pancho123 +02111990 +sexybitch! +12345lol +cynthia2 +06031988 +sleepy13 +colonel1 +magiya +newlife11 +joseph. +cheer22 +welcome4 +piglet12 +201293 +dreamy +07081984 +hockey26 +nyjets1 +music9 +popsicle1 +201093 +nina13 +270495 +deluxe1 +loveme17 +190291 +c.ronaldo7 +678901 +shadow02 +chargers12 +trendy +jm123456 +191181 +antonela +vivek +raffy +joann +fuckme22 +04091987 +formentera +1qa +harlequin +salisbury +150780 +sept14 +13071983 +22111992 +201281 +love1998 +thatsme1 +06021991 +loquesea +marilia +chachita +vivalabam +dikoalam +sadie3 +lolol123 +30011988 +daffyduck1 +190481 +190191 +shivbaba +qweqaz +junction +sanches +16111984 +150680 +cxzdsaewq +nitsuj +nkechi +130183 +305mia +eagles06 +ambrose1 +newmexico +chiave +19071995 +comercial +d111111 +seven07 +mellissa +mich3ll3 +nassima +zachary11 +cometome +krisna +goalkeeper +mihai +diego13 +nothing. +071191 +290682 +ronron1 +qwertgfdsa +sk8ergirl +mother6 +derby +miranda3 +parkside +weezy123 +ditto +salasana1 +ingles +anthony101 +08091990 +chucknorris +slavka +ireland2 +040190 +31071992 +golden11 +mabel1 +hustla +197810 +1singer +19111989 +19841010 +ersatz +111111l +maria17 +osbourne +allsop1 +psicologa +27121984 +011092 +240493 +cash1234 +brand +kubrick +thanhcong +600024 +chinook1 +13021302 +melocoton +090591 +090789 +290885 +fuckit13 +26091983 +meatwad1 +dillion1 +logan07 +3grandkids +marissa12 +Cthutq +yahoo10 +i123456789 +hihihi123 +kenken1 +030309 +baby67 +merdaccia +devin2 +311082 +#1baller +farmville +06121987 +ahahah +ilovemom12 +whatislove +los +kahina +mojojojo1 +aries123 +210394 +trophy +hoi123 +sagittario +baby56 +ferhat +hummer123 +kamelot +hiawatha +onedirecti +goldfish12 +302020 +30061984 +flasher +13011993 +15121980 +040191 +400062 +sasha12345 +240881 +chaotic +08021989 +26071985 +apocalipse +20081982 +13031983 +kaylee123 +hooters2 +chicken21 +sim123 +love2fuck +09041991 +210480 +xavier3 +AZERTYUIOP +peace23 +personne +Winston1 +16021984 +121012 +tucano +illmatic1 +140481 +111081 +12061993 +neopet12 +orlane +060791 +09051983 +squid +rollin1 +demon12 +1803 +chivas21 +football91 +06091985 +gfhjkmxbr +inuyasha7 +heloise +sarah16 +faustine +ybnkoia569 +november08 +remember12 +beba123 +newdom +ad1234 +bmw330ci +23021980 +hiphop7 +hilario +1212qwqw +200781 +angela7 +240292 +highfive +fabietto +06091986 +bruno12 +560003 +Packers +keepsmiling +100894 +04071992 +keines +driller +310385 +love4real +15901590 +net123 +25031993 +abc123!@# +july01 +150693 +emily08 +baba1234 +abcd@1234 +skyfire +bellbell +academic +katies +06011989 +26051984 +131293 +feliciano +pretty09 +qsefthuko +clockwork1 +kelly3 +i.love.you +cosworth1 +bernardo1 +lovesux +27081992 +yuvraj +fuckhaters +whatever10 +almaty +slappy1 +160592 +clean +diver +Chicken +loveya12 +restless +041191 +kaylee12 +aikman +j3nnifer +810810 +razzle +123012 +myspace28 +pretty8 +241279 +brittany8 +140293 +bofo100 +jesus316 +10061980 +rempit46 +coronel +2805 +130000 +azteca1 +cacamaca +nani123 +austin24 +karebear +serega123 +011189 +jangan +1098765432 +melissa14 +0912 +qqq222 +toto12 +m666666 +missy7 +hooter1 +241991 +thebest12 +lauren8 +123578951 +east13 +kaka10 +limited1 +toiyeuem +23071993 +szkola +04071989 +090689 +28061987 +orsetto +alivia +basketbal +yflt +07051984 +blood7 +birddog1 +trafford +XJCrI66kfd +202001 +kodaira523 +220879 +soulfly1 +ward86 +je +slapshock +alexis00 +graduate1 +colts88 +driving +15081983 +cre +1509 +22051995 +phillip2 +17091993 +12091994 +hihello +180282 +040481 +020391 +pepper14 +brian21 +27011990 +scrabble1 +05111987 +kiki22 +040290 +16091983 +2million +brittany18 +newyork8 +200792 +jacoby +16121982 +focker +08031992 +7777777z +theking123 +norway1 +25011993 +southeast +Millie +15041993 +1tinker +zoccola +250679 +mart1n +231193 +muffin7 +kathy12 +27051984 +georgia12 +naruto93 +gabriela12 +kenseth17 +chels1 +05041987 +nanana1 +wolfen +031184 +220182 +canon123 +yankees! +30091992 +alex1980 +spanky69 +heinz57 +dempsey1 +zaqwsxcderfv +24061982 +061192 +15091992 +allah99 +child +fellowship +k123098 +050288 +energizer +05121984 +18031990 +cynthia123 +bitchin +2143 +130479 +130981 +qwerty765 +07061987 +02121981 +160792 +240782 +alexis16 +america15 +lokomoko +171081 +secreto1 +asdflkjh +baseball29 +yomomma2 +220393 +lakeland1 +123456ad +rileydog +250878 +yugioh12 +250192 +25111983 +motard +chessmaster +08061986 +luis18 +1231231230 +11271127 +29111986 +mybrother +PUSSY +alpha1906 +benjam1n +150182 +mamas1 +05041986 +notyours +11061981 +1qa2ws3ed4rf5tg +number18 +03031994 +michael00 +200392 +centaur +marines2 +yell0w +06031985 +whatnot +08021991 +scott69 +09051984 +280182 +230881 +marcus13 +hari +fallinlove +brenton +wootwoot1 +aymeric +lucas01 +13091992 +indy +teddy7 +thething +star20 +blanah +peanut15 +bikerboy +randy2 +brokencyde +05111991 +kool-aid +precioso +charlie17 +qwerty1990 +dianas +annelise +260981 +300191 +joey23 +332335 +ashely1 +kinga +iloveu4eve +meeting +junpyo1 +choppa1 +100495 +adolfhitler +polizia +natalija +kathmandu1 +24061990 +061183 +gauloises +nighthawk1 +112131 +08021988 +mommy2be +1larry +fartfart +hot4you +200681 +application +catdog3 +bubblez +bianca2 +charlie24 +sem +250792 +cosenza +111970 +18011992 +tink08 +scott11 +010592 +040189 +180382 +ypt123 +breasts +roxie123 +290184 +ava123 +skunky +198515 +040883 +abccba +chrispaul3 +22121981 +tro +huevos +baby87 +251194 +041190 +121973 +meridian1 +mag123 +9086916264 +vauxhall1 +ducati1098 +171987 +02061993 +iloveyou04 +peanut99 +coco69 +diablo69 +jonathan! +04121984 +dracon +1802 +040483 +20051981 +grihan +hat123 +��������������������-����� +3344 +lookup +ana1234 +170682 +2408 +Alexandre +wealthy +06041991 +11011983 +walker123 +270592 +caleb2 +040785 +1jackie +eeeeeeeeee +150378 +190592 +bellamy +1fineday +07031987 +9988 +natalia12 +14041994 +jaxon1 +21091983 +tBFj7No671 +guzman1 +rfczgecz11 +bayram +iceman23 +teddy01 +sugar3 +zoey12 +power13 +iloilo +pimp45 +rfhectkm +asswhole1 +ytgfhjkm +q1111111 +tourism +10091983 +poopers +07121989 +tivoli +11121993 +skorpion1 +babyboy22 +School +april2008 +sasha10 +tiphaine +lotion1 +jasmine17 +310882 +15011992 +joseph8 +arequipa +brian22 +Marianne +08021986 +puppies! +301092 +lucy22 +lovejoy1 +platoon +5grandkids +211293 +090787 +0612 +bigdaddy3 +210182 +songs +money247 +zxcvbnmzxcvbnm +genesis123 +180992 +04101984 +oklick +fuck999 +mopar +22021982 +miss123 +sa +cowboy21 +27041993 +sierra13 +20304050 +calliope +me4you +250980 +020693 +030680 +pandit +23091983 +boston10 +08101987 +nikki14 +brielle1 +obvious +fluffy! +brownie12 +ihateu! +23081983 +07101986 +junjun1 +123456kl +aparecida +christine3 +lilwayne13 +skorpio +skater6 +rockstar01 +bulldog11 +timeout1 +robert77 +09081989 +15111983 +rhianna1 +jerk123 +mmm666 +letsgetit1 +kzkmrf +trickster +tw +280991 +juehtw +telefono1 +barsuk +sweeper +giugno +katie22 +yellow17 +27111982 +rockstar4 +azeaze +james77 +01121992 +29111984 +301083 +majestic12 +15051993 +250284 +dragon26 +honda69 +melchor +niunia1 +julija +saber +27101984 +himura +bunny01 +havana1 +fuckyou87 +290384 +oxnard805 +chiens +potatoe +28011992 +130593 +leapfrog +211111 +novembro +040288 +311292 +240980 +fairydust +5zgb2T764B +ass1ass1 +820820 +19051995 +08101990 +261092 +korede +zoolander1 +070794 +humanity +200980 +julie2 +22011984 +superhuman +09101990 +horses4 +fucku4 +stargazer1 +fregis +anna1988 +2601 +hjhjhj +newholland +NO +twilight14 +07031986 +vbkkbjy +campanilla +band12 +241193 +20111983 +121269 +123456789abcd +elle +metal6 +24091992 +digital123 +220991 +10011980 +hannah97 +Spiderman +wetwet +smack1 +sergio13 +cheerleadi +LUCKY +3010 +poopie3 +jack5225 +buckfast +donnell +grounded +noentry +halina +06081985 +200184 +jessie10 +marine01 +missbitch1 +bambus +trashcan1 +curley +andrea16 +301081 +GFHJKM +66666a +rachel14 +huangjin1987 +murmansk +000111222 +bunnys1 +ditto1 +letmein3 +niniko +010691 +1sweetpea +abigail12 +199117 +bhavna +199010 +topgear1 +14021995 +kzueirf +230379 +krokodyl +teremok +kiss13 +water23 +30121982 +cartel1 +1drowssap +ayinde +1apples +1scarface +marmalade1 +amadeo +123india +martha123 +11091983 +gitler +robert06 +2funny +braulio +12345678abc +gazette +nike21 +06011986 +evidence +04121991 +151079 +15001500 +review +bf4ever +lampard08 +2604 +free4me +raistlin1 +cmpunk +foreveralone +sassy10 +anajulia +armelle +15101993 +jazmyn +whateva +skoal1 +gdn7414 +8585 +jagannath +carrington +lottery1 +june1987 +sammy! +charliebrown +130193 +12041980 +100280 +bahamut1 +230382 +warden +2741001 +shoelace +perfect2 +101176 +110379 +crystal69 +01011965 +240893 +drew11 +neha +gundam01 +miguel23 +161988 +lovesex1 +040791 +161292 +1johnson +mickey18 +anne12 +z111111 +bmw320i +minimal1 +29101984 +jake07 +sarthak +jayda1 +padmavathi +forever9 +101097 +09031991 +Bentley +29031992 +hobart +$hex +strat +02011981 +jennifer9 +mistress1 +fuckhoes1 +30041993 +stef +kayla09 +naruto18 +25112511 +270481 +newyork4 +160283 +shotgun12 +lara123 +228822 +dima1992 +021284 +soccer4lif +tester01 +moomoo22 +nicetry1 +residentev +140882 +19111988 +darksoul +polka +31011984 +AaVlG728 +college2 +montagna +230577 +gabita +my2boyz +sajjad +171092 +pooh07 +getmoney6 +surf123 +greater +03091984 +akucintaka +emilyann +ekx1x3k9BS +golfer12 +rose15 +gigigigi +222999 +nt +greenday10 +020880 +annalise +rich12 +1346790 +14021993 +220980 +hahaha11 +abosede +cdtnkfyrf +kayla! +dragon92 +destiny! +zeke +eureka1 +pokemon21 +rad +boost1 +peavey +cecil1 +school09 +mercredi +sally12 +latisha +lalo +custard1 +loislane +britney2 +22111976 +woobie +sept28 +beaute +1603 +flora1 +leighton1 +isidro +kennyg +221001 +tinker10 +bubbles16 +bmw318i +tokio +chris#1 +palestine1 +ricardo2 +a123b456 +17021984 +12345Q +slater1 +03041993 +smoky1 +naruto17 +ara123 +jai +disc +playboy22 +iloveu1234 +helloman +abcdefg. +198309 +14011984 +198506 +bopper +xk55xDxCYR +maxell1 +030394 +steven17 +erfolg +05011991 +china2 +03051984 +danielle8 +homestead +hoanganh +012345a +diamond! +craft +03031995 +kindred +booster1 +donald2 +panda3 +199020 +05081984 +170684 +ali786 +ishtar +adrian21 +oreo13 +sept29 +lauren99 +kratos1 +boxer123 +water22 +200192 +gifted1 +demarrer +chad12 +hamida +cicamica +PLAYBOY +nikki8 +150395 +lytWa813iB +caspian +010195 +puma123 +dkssud +7896541230 +141081 +alesia +22051982 +310392 +nakita1 +DENNIS +juergen +chloe5 +patrick14 +estopa +cancer7 +halowars1 +pitcher1 +29011986 +mack11 +excellent1 +2pSXVVd7 +09121985 +19281928 +09081984 +23091994 +310792 +optimistic +paokara +11101993 +dirtbag1 +06011988 +alias1 +alejandro3 +gothic2 +ncc-1701 +27101985 +help911 +mariel1 +bolivia1 +school1234 +59piru +aspirina +youandi +hakim +kardon +carlos24 +171984 +agata1 +21121994 +1sexyman +punkrocker +198314 +boogie123 +dexter21 +kloklo +010681 +calamaro +15111981 +corona13 +mikey5 +29041984 +1soldier +160880 +22071994 +1456 +hotspur +mexicali1 +mybitch1 +sen +lashae1 +tweety101 +jordan93 +121202 +chichi2 +071085 +fourboys +myonly1 +178500 +140208 +myspace90 +belly +rayquaza +stratus1 +060784 +alesya +rangers1690 +170170 +28101984 +1babydoll +olivia! +1qwerty7 +�+��������� +wolverine2 +lololol1 +carbon12 +02111988 +assassass +molly101 +jordan94 +21031980 +diogo +250579 +brothers3 +salam1 +230281 +stephen12 +ethan05 +161081 +junior02 +dogs11 +22101980 +27011985 +jared12 +komo123 +dumitru +addicted1 +020680 +30031993 +anacleto +candy09 +wolf11 +br0ken +290492 +050489 +emachine +opensaysme +khairul +kalima +dominican2 +06051989 +finder +escorpiao +myass1 +23101993 +ilovejose +25011994 +jeremy10 +bagpipes +rafal +12061983 +xdf65b6666 +150193 +clinic +443322 +mamoune +angelina2 +brisingr +07121984 +taobao887 +spike11 +mylife09 +154263 +iluvjesus +harbor +santos12 +1barbie +wel +erika12 +ljames23 +jacob! +sybil +rakizta +120396 +mommy24 +031182 +lindsay2 +170893 +08091985 +kamryn +speakers1 +shovel +030189 +twentyfour +16031993 +stomatolog +protect1 +010176 +10101996 +yahaya +cincin +natalie5 +igorigor +spider69 +viper2 +cupcake10 +Corvette +putter1 +301181 +cheese9 +11041980 +cumberland +stephanie! +altoids1 +280482 +dario1 +bigtruck1 +girls4 +200993 +chrysler1 +marcel123 +gizmo3 +071184 +27111988 +emmett1 +06031989 +pariss +010792 +basspro1 +26011993 +dylan7 +123123c +45683968 +kamille +climax +1marcus +jeffrey123 +380009 +qwerty98 +1aaliyah +poohbear08 +abaybay1 +doradora +solar1 +131078 +angel4ever +198413 +241179 +star89 +121266 +19021993 +15081982 +venus123 +babyruth +play12 +madurai +4815162342q +dunkin1 +400000 +09081986 +churchill1 +hola11 +05101984 +25101993 +hayden08 +radios +homestar +dakota4 +nightingale +01041982 +140692 +skillz1 +sys +Minecraft1 +man1234 +sluts +skater16 +simplyme +111277 +nemanja +joselyn +may1990 +hakan +fraser1 +dicks +linkedin1234 +18121993 +rascal01 +poohbear15 +1panther +football97 +windows8 +laura22 +15061993 +codybear +shaun123 +genevieve1 +dehradun +compaq01 +010591 +cherry8 +198221 +karan +honda97 +lucila +fender01 +240494 +trinity01 +02121982 +danilov +041183 +moschino +22101981 +210993 +111111c +131093 +waylon1 +8rlB9l1sqU +579395571 +charlie18 +eatpussy1 +lovehim2 +flubber1 +06051983 +280383 +mollie123 +198714 +deangelo1 +chatham +tommy01 +morita +25011983 +martinko +123123aaa +chanel2 +buffy2 +autumn11 +england2 +redfox1 +polar +04011990 +drumnbass +isaiah123 +65432a +malakas1 +17051983 +knight12 +08041984 +guessthis1 +261280 +1420 +babyface12 +blanquita +casey7 +missthang1 +camila10 +150880 +lovesucks! +shah123 +legenda1 +faith13 +14041983 +gin +penguin11 +alex2011 +tombstone1 +suzuki600 +shippuuden +jackson9 +godknows +emily14 +231078 +15031992 +raster +020281 +270682 +metallica5 +charlie05 +vlad2000 +meditation +09031989 +robert88 +19011993 +vanechka +560027 +Heaven +korn12 +020580 +199316 +eminem21 +vfr800 +marlena1 +pussy9 +portugal7 +27011984 +marzipan +dirk +army12 +15041994 +codename47 +hooligan1 +hajduk +penney +postman1 +redsox21 +110894 +queen13 +moon1234 +jeremiah2911 +777222 +mann +apple24 +chapulin +asus +kokos +frankfurt1 +opportunity +zepplin +tristram +smiley7 +fedorova +kjv1611 +bill12 +250879 +777123 +03041983 +anitas +vegeta12 +nigerian +1teddybear +samuel7 +2100 +18121981 +23031995 +junior. +bosshog1 +20011982 +16091984 +rebecca3 +methodist +nine +mariarosa +pretoria +ribery +199514 +qwerty76 +Thomas1 +smith12 +lluvia +darshana +cicero1324 +nick17 +lemonhead +jeferson +anna14 +smokey23 +asdfghjklz +badass13 +dragon007 +andrea! +shaila +170482 +11061993 +jacob09 +lifeboat +1q2345 +turkey12 +03111986 +lupin3 +alicia13 +vasquez1 +gocubs1 +toenail1 +danielle23 +lumpy1 +Welcome2 +aaaaaaaaaaa +virgil1 +111122223333 +224224 +moonman +victor3 +25111984 +06091984 +100395 +010387 +death5 +marieke +bmw316 +23081992 +boogaloo +lou123 +07081992 +291280 +090191 +josh101 +616263 +2612 +lancers +lucky25 +muffin22 +javier2 +04021988 +alexis17 +jojo21 +loveyou23 +smoothie1 +pirelli +160393 +0305 +Nintendo +lyrics +saints123 +fenerbahce1907 +braces +21011993 +stephen7 +kyleigh +dallas81 +gamestar +xi345BJFVP +edgewood +18051993 +groningen +13111992 +moonlight2 +chienne +iloveubaby +2muchfun +frechdachs +251986 +newera1 +jenny21 +forever27 +12011982 +anyway +15031993 +10031003 +chato1 +150481 +crazy09 +baguio +iloveyou29 +saddie1 +merlin13 +nexus6 +chapis +199018 +230493 +282930 +permata +16041983 +sandy7 +198616 +220679 +DDDDDD +tam123 +bugmenot +banshee350 +doggy7 +djkrjdf +lovemenot +juandiego +letmein11 +678876 +sexygirl69 +03011988 +seekbang1 +040592 +198328 +alevtina +sarah17 +160984 +babydog1 +bobdog +030191 +deb123 +password54 +08051992 +horses10 +1hotchick +sudoku +porsche9 +01091981 +090589 +09041988 +johndoe1 +07101985 +2sexy4you +06021984 +nanonano +12345678ab +1z1z1z +332332 +24061983 +27061983 +midnight01 +sommer08 +asda +s55555 +06091983 +010985 +prabhakar +yourmom13 +rockstar15 +serrano1 +baphomet +blackie2 +30091990 +iceman11 +fred22 +2541435 +13121981 +305305 +190186 +24051992 +rafa +vitali +adinda +03111988 +happycat +kjgfnf +vista +lala21 +janka +21041983 +lovepeace +1234567892 +dayana1 +aqua +samantha15 +bondage1 +14021994 +deerhunt +050390 +040409 +06071983 +92631043 +linkedin10 +14011990 +ultima1 +loser8 +021191 +daytona500 +198916 +21091993 +kk +000420 +leopold1 +250880 +spiderpig +peach123 +080588 +04101987 +8888881 +svetlana1 +albany1 +15021982 +casimiro +tahoe +07051983 +ihave3kids +greenman1 +macherie +231093 +babyboi +playboy16 +payday1 +juicy2 +ivette1 +010482 +socialbook +doggone +coheed +05081990 +04021985 +morgan09 +124536 +240580 +antonio23 +branch +560064 +old +malysh +monster99 +kazbek +cooper7 +pasodeblas +10011982 +ganda1 +tomkaulitz +weezy +timofei +gbaby1 +coupons1 +gokhan +1cutiepie +070987 +blessed12 +roleplay1 +100193 +gemini123 +johnson3 +hellomate +������� +shopaholic +1726354 +pineapple3 +stressed +11051994 +denver15 +0214 +SCORPIO +max2010 +1iffQb66tW +foufoune +24071980 +bungie +golfball1 +freedom6 +lild12 +00001234 +anna1991 +150380 +takeover1 +kailee +carmen13 +12051982 +m55555 +060984 +jonas13 +crusty1 +ramstein +honey07 +kir +170993 +nick09 +vfvekbxrf +eminem22 +bozkurt +gordis +04041981 +tetsuo +ness +JEROME +04081985 +030892 +220392 +220793 +sorento +567 +270292 +f0lhVBoK +23081993 +2muchmoney +dududu +nightowl +greygoose1 +castaneda +scopare +billy11 +nayara +280982 +190383 +qqqq1234 +вконтакте +bestie1 +02071981 +tunnel +hellobaby +rockhard1 +25061982 +teddyb +140993 +spike3 +dumass +casper7 +economist +therock2 +green27 +stylist1 +pokemon14 +leonel1 +1921 +091292 +11122233 +02121990 +lennart +exbntkm +spartak1 +29121983 +james. +ankush +hood +charge +caramelle +160691 +13641364 +12071994 +best12 +613613 +magazine1 +27121992 +cristel +1qazxsw23edcvfr4 +baby96 +stitch626 +xiaofeng +telekom +xavier07 +krishan +dipstick1 +141093 +199600 +danilo1 +bhabie +241079 +lena12 +mudar123 +fpna23aAS1 +animals2 +jesus001 +chloe06 +221992 +jerk +29041993 +reseau +cody22 +280583 +honey16 +penguin! +160382 +13061982 +lioness1 +400056 +2401 +29021992 +kabayo +biscoito +moonpie1 +JORDAN23 +210481 +dreamer7 +dark13 +pensacola +hoffmann +amber4 +301291 +02121984 +roach1 +cabeza +ROBERTO +in +lawman +ashoka +17081993 +wolf1234 +princess30 +mughal +noynoy +17091989 +080986 +18111983 +04101989 +cute18 +asm +05041984 +yahoo. +Cheyenne +Donald +joshua1234 +050883 +slave +vampire6 +piercing +05061982 +cas123 +121212z +brittany17 +sophie5 +chayank +251278 +100695 +02101982 +1608 +brother12 +sports5 +araujo +jasmine101 +sanrio +double2 +131985 +sammy8 +198403 +100678 +laulau +camille22 +toyota12 +book12 +salsa123 +123456dm +198503 +avokado +booger11 +14091984 +44554455 +02051992 +linkedin13 +eagle12 +miangel +sheshe1 +dabest +andrea17 +brooke5 +02031980 +polipoli +scruff +Happy +X15piq8snJ +200992 +m7777777 +loveme88 +tatenda +caboose1 +00007 +25011982 +ilovesean1 +151291 +asd111 +archie123 +7123456 +singlelady +relientk +tink10 +mama14 +mexico16 +malfoy +fdhjhf +manutd07 +slick50 +karin1 +22102210 +03101985 +240592 +establish +anahi1 +hanibal +030292 +random2 +passwordnew +domino123 +lovemoney +bonnechance +191082 +kumars +whatever9 +google10 +qwerty92 +pookie69 +010392 +tdws011286 +pigeon1 +misspiggy1 +madison02 +1ranger +bobita +ashley95 +61616161 +22081980 +09041984 +ladyjane +22031993 +iwillwin +avellino +021091 +microwave +heart5 +happy24 +newmoney1 +07031989 +charles01 +piglet123 +ilove8 +051091 +chiboy +monina +26081983 +02091990 +sept30 +zkmxbrbcbkf +bailey04 +catfish2 +kayla16 +pimpin14 +2705 +financial123 +nicholas9 +latina13 +Q1W2E3R4 +iloveit1 +130992 +patitofeo +1single +zamora1 +04101983 +chester01 +080192 +crispy1 +030395 +jemjem +summer33 +hancock1 +aaron07 +disney11 +nadira +04111988 +fuckit. +petros +151178 +24121980 +1denise +snakeeyes +120795 +020792 +box123 +251984 +cheese14 +EMMANUEL +01091980 +paarden +ethan07 +matthew02 +table1 +nectar +jammie +alexander! +198125 +joplin +love789 +duval904 +1stephanie +18061993 +02101980 +numb3rs +080689 +badass3 +samsung9 +198223 +200900 +gladstone +28101982 +ashland +1801 +150679 +123456xxx +16011988 +sk8123 +printesa +cavolo +myloves +818283 +apokalipsis +121297 +spencer7 +sophie08 +plankton +emma2007 +mexico07 +ilovej +121203 +d1d2d3 +040584 +112233445 +ranma12 +flip123 +141280 +panda7 +natali1 +badshah +11121982 +emily05 +280283 +sexygirl11 +zse4rfv +mj2323 +casper3 +210193 +quack +rennie +chocho1 +hiphop3 +Blondie +281093 +lorna +sampath +teach1 +bully +400077 +bonny +softtail +06061980 +280384 +180893 +shithead12 +zxc456 +poopy5 +sundown +niccolo +06101991 +091085 +patrick15 +27121982 +221293 +eloise1 +qweqweqwe1 +biquette +280878 +desperado1 +kika +080391 +161986 +220394 +j3nnif3r +vbitymrf +tooshort1 +pimp88 +popkorn +vfieyz +bettina1 +olivia05 +zarate +billy13 +03011992 +beerman1 +mickey17 +240282 +myspace94 +24061984 +110101 +volcan +summer1234 +060484 +dallas8 +santiago12 +allstar12 +logitech2 +azn4life +cristianor +fordranger +toasty +girl101 +hockey87 +140880 +1245789 +031191 +iloveemily +011190 +asawakoh +30071983 +steve13 +ravipass +ktybyuhfl +winter5 +17081985 +198715 +150579 +res +11041993 +abcdefg! +28041994 +isabelita +201294 +29111983 +raghavendra +iamking +maranda +doo +pepper6 +shorty9 +swe +desktop1 +qq +prisma +direct1 +nicole0 +090190 +porque +kokomo1 +puzzola +millie2 +topdevice +ashish123 +truckdriver +dan1234 +kalvin +pattaya +336633 +djghjc +jason25 +omfg123 +05101983 +t5E1q9shfD +tracteur +mickey24 +07041985 +snowman12 +cornerstone +cdznjckfd +abgos999 +CountyLib +allison3 +198608 +protozoa +010883 +01051993 +120876 +yoda123 +040991 +marshmellow +thebomb1 +rafale +30081984 +foggia +EFB +02051980 +single07 +alikhan +120378 +andrea4 +11051105 +119110 +gutter +vlada +harley88 +171989 +die123 +bobber +talent1 +teamojesus +machines1 +leboss +09031985 +yamini +yu-gi-oh +197910 +bigdog13 +198127 +311080 +johncena5 +bigdick12 +060884 +cthuttdbx +nathan16 +101274 +230893 +pimpin9 +11061980 +070189 +y123456789 +21012101 +01081993 +johnathon1 +santos10 +1monique +celia1 +chickadee +crawfish +iloveme09 +201292 +02091981 +rawr1234 +yahoo22 +nice12 +tiffany5 +Bailey1 +Qwertyuiop1 +290189 +190883 +19111983 +homer2 +rootroot +abcdef3 +barry123 +230277 +peugeot1 +harmonia +napoletano +vladut +15061982 +chonchon +detective1 +kayla6 +memoria +vfrcbvjdf +nicholas8 +Pw898klkaG +devon12 +231279 +mummydaddy +280881 +loka13 +180187 +gunit2 +141141 +240593 +alfaomega +tishka +lex123 +hunter20 +dope +hailee1 +2402 +светлана +lizzard1 +anarchy666 +112233z +myspace32 +pussy1234 +1slipknot +11119999 +innova +15111982 +peinture +imperio +anna1993 +stapler +120695 +300483 +13021983 +hotdog7 +230181 +lauren08 +sexybeast2 +broken12 +21061994 +james27 +200491 +88keys +metalman +nikole1 +backyard +ask123 +08071992 +09051988 +sillygirl1 +fktrcttdf +19121993 +528528 +700029 +23101981 +cecille +dav123 +17111983 +chupamela +alaska2 +superpuper +05021984 +gabriel07 +12345671234567 +sweet8 +annies +deepa +gusanito +PASpass1234 +devil2 +adriano10 +soulreaver +albator +poopoo! +eightball8 +liverpool! +bigboy9 +snoopy14 +210579 +08071990 +lovefamily +batman00 +j123123 +1iloveme +junglist +4monkeys +070288 +021182 +tevion +mm +20061980 +corona12 +14091992 +ilovemen1 +Maximilian +151279 +16061994 +16071993 +manis +domenic +2356 +lufthansa +01111986 +arizona2 +buthead1 +lindros88 +extra +29101983 +rfpfyjdf +28021983 +beautiful6 +infirmiere +ferrero +030484 +kiekeboe +floris +07011987 +06051992 +marcelo123 +gitano +100595 +vandam +04031992 +smiles123 +worldofwarcraft +youtube12 +020280 +01101982 +rose16 +hammarby +09011990 +30111986 +120505 +rudy102 +sharlene +anthony04 +maravilha +nhfnfnf +chloe10 +bella05 +16021985 +peaches22 +sandiego13 +198917 +02071980 +snickers! +Daisy +leona1 +megan10 +genial +girija +chloe07 +romantica +shopping2 +dewa19 +741000 +010201 +monique7 +230995 +moriah +el1zabeth +couture +Warcraft3 +jerk77 +ladybug11 +20111981 +oceanside1 +nursultan +linkedout +polkadots1 +mak123 +07091985 +560011 +terry12 +mixtape1 +tacobell2 +avrillavig +egyptian +marlowe +xavier13 +aventure +04041982 +1bubba +080488 +mishka1 +sexyako +050594 +paco12 +frog11 +dawn12 +02081993 +050791 +160391 +02041981 +160184 +110181 +dorothea +redsox3 +ostrov +15051995 +20011994 +fordgt +ganesh1 +24051984 +08011991 +13091983 +london2010 +bassett +falcon16 +14021980 +fuck15 +198513 +emma2006 +harley00 +vitaly +01101993 +xdxdxd +qn4KBWv559 +bourne +050784 +ben12345 +nene13 +angeldust +facebook2 +98765432100 +jackson23 +sandy13 +askimaskim +kaitlyn2 +pogo +p1mp1n +pokemon. +0510 +bulldog13 +balikpapan +leo1234 +sociology +090786 +122188 +marshall2 +a456123 +marine2 +ellipsis +310783 +07091986 +friends23 +200682 +1brandy +rabbit11 +country123 +mosaic +05031993 +100793 +lollipops +17091984 +noneya +27051985 +shyann1 +gizmo11 +bonita123 +mike44 +thegame2 +06111990 +ilovedylan +laure +23061982 +gerasim +290292 +hijoputa +ambot +zodiac1 +sarojini +doc123 +20101980 +scotty123 +godhelp +daquan1 +whore12 +invasion +dem +myname2 +catalog +hearts! +140707 +luke11 +stanley2 +260380 +04111991 +ikarus +06101985 +02111984 +bigtoe +azertyuiop1 +tinytim1 +100percent +power4 +noone +200283 +topmodel1 +qwerty1234567890 +02111991 +dolphin11 +mikey01 +umpire +lilbitch1 +poipoipoi +longjohn +090486 +rugger +trust123 +johnny08 +140206 +rjntyjxtr +poohbear23 +3838 +michi1 +tony16 +gotyou1 +greeneyes2 +06041986 +bigjim +adriana12 +201061 +earthquake +pitbulls1 +guitar10 +kri +baboshka +qwaszxerdfcv +240381 +peanut24 +060189 +02051982 +071087 +andrew27 +100878 +msn123 +jason! +07021984 +somalia +cassy +280485 +260606 +26011992 +zuzanka +01031981 +ilikeu +fidele +josh09 +jt1234 +pepsi5 +06031983 +banner1 +mum123 +110278 +gizmo01 +ooooo1 +dd +azerty13 +antonius +legion1 +051192 +kumaran +mark14 +14031983 +boogieman +012511n +natedogg1 +rere123 +bubba21 +instinct +bar123 +hockey55 +jokerjoker +bella2009 +jackass11 +motherof5 +bella! +fallen13 +thehulk1 +pearljam10 +taylor1234 +unicorn2 +pretinha +�����+������ +190982 +boknoy +200280 +190381 +02040204 +180182 +nicole29 +joseph19 +110060 +shepherd1 +111234 +happy88 +friendsfor +17031983 +170594 +0104 +bagger +310781 +196400 +trick +advertising +frazier1 +260581 +caritas +newtown +buster1234 +martinek +corsa +blacky123 +chilango +tanveer +hammy +karabas +barnett +green. +shitbag1 +aaron22 +2hot2handl +2605 +love345 +hello25 +080190 +30081992 +anna1992 +10051995 +marecek +holder +jamari1 +widzew1910 +red555 +110777 +Killer12 +231984 +03031982 +strings +sabrina7 +marcus21 +latisha1 +angella +magnetic +050389 +berlin123 +b8cA6yz1nJ +hollywood5 +woods +05011988 +darknight1 +freebies +yyyyyyy +1lovee +ALEXANDRA +sverige1 +spotlight +johnny10 +jadore +dragon95 +logan10 +57575757 +yyyyy +fylh.irf +ralphy1 +nazarova +franchise +kambing1 +180394 +19071982 +gabriel4 +taylor101 +031283 +tommy22 +dubstep +homeschool +corleone1 +march07 +07021988 +4g3uvrXn7W +rainforest +kohinoor +Robert1 +michalek +24121993 +king17 +101072 +1234567890d +trinity12 +10081994 +freemail +kyle22 +171293 +l0ll0l +200879 +chloe08 +angel333 +frankie! +pepper9 +17031984 +hhhhhhhhh +lada +wingnut1 +27101982 +sweeney1 +imhere +memyself&i +messi1 +scarab +12901290 +brandon101 +smackthat1 +senators +banana10 +jakejake1 +06031992 +roblox +copper01 +persephone +paulette1 +a1b2c3d +spiritual +19081984 +lovers08 +Black +Iloveyou1 +200678 +310391 +230193 +72727272 +blackass1 +290781 +623623 +galata +HvqJvxVb76 +servis +farhat +guitar101 +redsox09 +samarkand +artem1 +0112358 +alexis98 +271984 +fuckyou25 +cameron! +191091 +cathleen +123abcde +mariaeduarda +jesse14 +160582 +laurent1 +madiha +220193 +260982 +jones12 +05021993 +BUBBLES +ktyecz +marie1234 +pink95 +120194 +23041983 +030681 +slutbag1 +29081989 +friends21 +cha123 +03091990 +211192 +230380 +chase01 +46and2 +hx28o9e646 +070592 +trinity4 +pretty9 +rtrtrt +31101983 +erdbeere +twokids2 +icare123 +jason09 +day +eggplant1 +fit4life +1butter +13631363 +cristo7 +19861212 +joker15 +bartolomeo +0304 +1500 +glock45 +landon08 +poussy +vanilla2 +protein +28071984 +duke21 +blonde2 +whyme123 +020781 +maison1 +1314258 +alabala +eric21 +secret. +adidas23 +17121981 +iubita +honey15 +apple15 +nelly12 +babygurl19 +bibi123 +271091 +221179 +inuyasha3 +anthem +quintin1 +bigman123 +zaq1qaz +pitbull7 +3103 +sunkanmi +illini1 +sasukeuchiha +maharot +7sfqc8zI5D +22011983 +holden05 +bmw320d +faithless +Alexandr +natalie01 +01234560 +18101982 +rui100 +123fuckyou +cavalli +22061994 +jeremiah29 +fremont1 +noonie +Freddy +soccerboy1 +290484 +sebastian7 +genesis12 +161987 +parking +ilikegirls +fietsbel +godrules1 +1loverboy +Montreal +donegal +sample1234 +ilovepizza +06081989 +123123456456 +ibrahima +091191 +cutie17 +123456zzz +28121982 +Dustin +magoo +16061982 +1602 +2486 +300184 +tabasco1 +staystrong +armonia +16071989 +260381 +neisha1 +hateu2 +novell123 +laralara +drewdrew +198121 +050285 +230294 +montague +congress +b43m6xhiee +19821983 +griffey24 +denied +paloma123 +starling +capoeira1 +ryan05 +alyssa14 +170777 +mybabe1 +mustang93 +airman +celtic7 +21071981 +gasoline +marleen +031092 +seraph +money34 +maddie13 +asshole10 +tigger00 +collier +galatasaray1905 +060289 +pooh21 +epson1 +140381 +password36 +liberation +mariner1 +danni +ammukutty +08051988 +sebring1 +kirstin +dsdsds +lilpimp +godlove1 +chevy07 +190683 +andrea18 +06051985 +ninjutsu +falcon123 +sweet09 +mausi1 +514514 +11031982 +rocko +emma2005 +30031983 +170593 +220993 +290192 +triste +26111989 +olivia22 +adrian7 +sorokina +ficelle +dwade03 +emmalee +130381 +chevy3 +blondy1 +asdasd12313d +grenada +guard1 +mamamary +oladele +mario22 +nemezida +hondacr125 +Jaguar +imbored +max111 +142142 +lolipop2 +PAMELA +willie01 +marcus10 +fatty12 +castaway +08121992 +mithun +smiley! +020681 +09061984 +SPIDER +twinkle2 +stratos +251251 +friend5 +manzano +071183 +finlandia +loulou2 +198907 +recon +17041984 +14081983 +brian14 +091284 +cutie1234 +dragonfly7 +natalie11 +04081984 +12051981 +121075 +hounds +bigboy6 +090592 +19051994 +10041994 +260992 +Emmanuel +123Qwe +654321l +footy1 +mello1 +400006 +nikki10 +210479 +091184 +shake1 +pangeran +rockers1 +kurakura +rawiswar +av8Ygj1f2U +rfrfirf1 +miguel14 +iloveboys2 +india1234 +drum +1travis +21312131 +claudia2 +trill1 +260781 +lkjhg +peanuts5 +autumn123 +four4444 +killa7 +07101984 +vbhjyjdf +30051982 +199118 +abdul1 +saskia1 +dragstar +111969 +07061986 +prashanth +10041993 +magnum44 +mim +fire666 +210980 +jonathan15 +123700 +123sss +monkey100 +10021995 +kiki10 +231194 +emachine1 +brooke22 +guineapig +071090 +scholes +soltero +ramramram +25121993 +111194 +fairmont +190185 +mimi14 +lithuania +p12345678 +198019 +�+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+���� +riley01 +bassist1 +dakota08 +reflection +3500sucks +operator1 +bluedevil1 +tktyf +050983 +02091980 +tekiero1 +jeanmarie +090683 +password72 +abbie123 +love79 +020882 +25051980 +060590 +jesus007 +Harley1 +titi123 +hh123456 +stetson1 +burgundy +creative123 +gangsta14 +apokalipsa +faiths +CLAUDIA +hoover6 +greenbean1 +1realnigga +euro2012 +ghostface +0405 +malone1 +sharon01 +diva13 +valparaiso +cute1234 +25041993 +whopper1 +Godislove +231195 +12031994 +magnat +07111984 +130380 +mustang87 +raven666 +050984 +24031981 +home11 +19851010 +420bud +19041992 +makeme +green20 +london13 +080492 +090485 +connor3 +hottie911 +pisang +princesa12 +cigar +gembird +07061989 +10141014 +brenda01 +franchesca +anu123 +18021994 +shadow92 +130493 +stanton1 +kool11 +nena15 +redeye1 +shepard +renee3 +newyork9 +da123456 +horsey1 +harlan +will1234 +abcdefg7 +direngrey +251177 +asdfghjklzxcvbnm +sexyme2 +cuba123 +tamuna +backspace2 +haleluya +katya1 +14061982 +carlo123 +11041994 +chopchop +19041993 +021280 +newspaper1 +21051983 +sexylady2 +macbeth1 +ilovejeff1 +mandy2 +eatme123 +biarritz +ronny1 +116688 +18011986 +lollipop7 +schule1 +08011987 +ostrich +abhilash +15071993 +girassol +280580 +25021982 +adeyinka +2223 +maquina +iloveanime +290481 +qaz123wsx456 +ILOVEYOU1 +tyler04 +123123as +sektor +pascaline +johny1 +357 +shannon5 +love37 +natanata +8899 +03121984 +serial +watcher +ADIDAS +14121994 +lalakers24 +shorty24 +jonathan6 +040286 +finland1 +william15 +ilovejustin +chanelle1 +muhamad +amanda99 +benjamin01 +ciccio1 +jason15 +cindy2 +fanta123 +trailer1 +strongman +talon +houston13 +echo123 +030286 +shilpi +newfie +casper10 +linares +15121512 +14071993 +061083 +23071983 +swords1 +shodan +Cjkysirj +270494 +vfhnby +tennis22 +dustin01 +211277 +maint +291281 +sexisgood1 +allycat1 +roksana +newmoney +anna12345 +07101988 +WWWWWW +julia11 +luntik +costel +5225 +thegame123 +3friends +081092 +honda94 +aaaa0000 +marcus5 +orlando7 +salesman +147258369q +iloveme14 +26021984 +qwerty27 +juicey1 +freedom22 +031083 +scorpio8 +puzzle1 +luckylady +kenton +mynumber1 +innocence +pimper1 +dancer07 +29121981 +dancer15 +dragon777 +280785 +stup1d +deer123 +nitin +021985 +21031994 +bonnie11 +arabian +interpol1 +aaaaaa7 +07051989 +horus +bayley +08071991 +booger! +230879 +apple101 +lklklk +iloveluke +eagleeye +antonio9 +19041983 +sulochana +160681 +max2008 +STEPHANIE +amor1234 +London1 +ASDASD +mantas +redred123 +ashton2 +101197 +130578 +122009 +adrian22 +ukflbfnjh12345 +golosa69 +070284 +elenberg +040480 +25051981 +cutie18 +rasmus1 +rahayu +gattone +jonathan22 +sophie07 +bear21 +jadejade +vineet +cavite +everafter +slawek +005500 +dragon90 +itsme2 +compras +pinky11 +30111984 +eduardo13 +08091984 +monaro +momoko +09011985 +anna1986 +Qazwsx +Chocolate1 +christos +pot +savannah7 +180492 +slideshow +753dfx +021987 +fuckme7 +24011988 +were +dakota06 +110895 +Douglas +cloudstrife +evicka +valladolid +file +31081984 +we +yahoo23 +austria1 +08041992 +centauro +stink1 +210194 +260481 +lollol11 +naz123 +11081993 +Sommer +531531 +Isabel +get2work +jose20 +181987 +turtle69 +pepsi101 +051181 +250394 +billys +solsol +fallen2 +friends14 +squire +831011 +hotstuff! +28zxrpvNFA +240391 +killer19 +camel123 +mujahid +140193 +vanity1 +ice-cream +julio13 +opera1 +19121994 +210495 +30111991 +steven8 +031082 +lisa22 +10061982 +30011983 +bul +159987 +shit666 +53535353 +11041104 +jesuslove1 +corpse +pa22word +:tytxrf +11111993 +221278 +majesty1 +198628 +formel1 +orbit +travis! +mati +fuck00 +dante666 +tickle1 +ilovelisa +irving1 +091183 +nigga. +richard69 +abdelkader +03061983 +nikusha +sec +060587 +tink22 +191281 +tacotaco +031280 +boarder1 +22031994 +supermann +220678 +200600 +aerospace +aissatou +fratello +popapopa +mortal1 +hilda1 +mylink +abc124 +400028 +chris28 +ewelina1 +topmodel +198716 +06031984 +dumbass! +17021994 +abcdefghijkl +xiaolong +farts +stress1 +loveyou14 +thomas77 +1freak +14091993 +060191 +sandor +saratoga1 +ryan99 +alberto12 +199700 +#1babygirl +thestrokes +pomona909 +aj123456 +scorpio13 +gethigh +su224466 +1806 +us7860loans +bently1 +hippy1 +kubota +060986 +faggot. +food11 +gentry +#1player +miketyson +rajaram +130594 +tippmann +tommygun +manish123 +tigger27 +witches +beast23 +123456S +12051995 +ozzy12 +noriko +dudette +shante +kamkam +babygril1 +investor +fifa06 +hunting2 +MEXICO +291080 +nirvana. +walter34 +21081983 +racers +tweety24 +24111982 +050682 +boss429 +torque +jessica0 +2flowers +080882 +caca11 +twins12 +070388 +yessenia +pink02 +24031983 +30121983 +rangers2 +jazzy15 +jaeger +neverguess +190782 +070587 +danny4 +Minnie +pantyhose1 +25061983 +doroga +Bubbles1 +schooner +skate1234 +wipeout +111093 +tamayo +brandi2 +ratbag +coolwater +chris4ever +050286 +aceace1 +190183 +CAROLINE +11eleven +jack14 +sum41 +penguin13 +rice +04061989 +1580 +forever6 +adam10 +novasenha +420666 +06101992 +lgkp500 +a147852 +arthur12 +20032004 +16011984 +orville +david26 +30051983 +160581 +sasha_007 +fucku23 +saranghe +pimpin420 +olugbenga +753951a +buckingham +2603 +silvermoon +jessie22 +klop +tranmere +110087 +janell +grillz1 +alvina +211093 +wayne23 +30101980 +bayonne +091084 +Asdfghjkl +familyof6 +heather23 +221193 +saqartvelo +v647947 +27111992 +oceanside +080386 +260192 +armagedon1 +DANIELLE +snakeman +13021982 +kenny7 +izzy12 +shuffle1 +master2006 +1arsenal +22121980 +grandprix1 +cosette +vista1 +031292 +gulshan +456456a +chang +teste +summer55 +cleveland2 +dfkmrbhbz +darkblue +back +second2 +blackwhite +zoubida +shiznit1 +090993 +lover4life +vik +buckmaster +honor1 +270882 +pops +sana +dima1990 +faith22 +jojo07 +palito +14071983 +kenyatta +hitech +armaan +uzumaki1 +gallardo1 +latinking1 +nikprommet +kibbles1 +michael101 +crispin +020581 +denver303 +asdfghjkl4 +070591 +17101994 +adrian5 +lingerie +delia1 +kayla23 +jump123 +cnthdjxrf +vascodagama +buburuza +150183 +monica69 +jandi +darkone +vfr750 +iloveyou96 +timothy12 +aidan123 +10091993 +81726354 +123poop +02021977 +9696 +kekeke +matematicas +fallen12 +myspace78 +tr1n1ty +bigboy01 +fresas +euro2008 +15011982 +rabbit69 +203203 +15421542 +multan +luna11 +060491 +26041984 +05011985 +tweeling +12021994 +cupid1 +nash +171991 +edward1901 +07041991 +florecita +193728 +ilovemen +sickboy +scratchy +nasty123 +04021989 +glock9 +06061982 +300792 +08121990 +munch1 +333555777 +071182 +31051983 +bean123 +calling +15041982 +080308 +13651365 +america4 +doubled1 +26011984 +060190 +474849 +abiodun1 +05071992 +q12345q +august88 +happy15 +hello44 +2808 +neogeo +120993 +poopoopoo +shower1 +butts +ninjasaga +06031991 +16101983 +geneve +tylerjames +shadrach +26051983 +lovely24 +sarah6 +01081982 +zxcvbnm1234567 +graceland1 +lebedev +05081983 +snooks +kangta +macdre +courtney10 +198509 +maneater +tomodachi +13121993 +bleeding +Moritz +cherry9 +twist +venom123 +steve69 +salome1 +123angel +inlove08 +pheobe +emo1234 +25121981 +supercat +munchy +416416 +tunde12345 +020393 +laguna2 +030683 +13071982 +290382 +grandma6 +mossimo +180183 +198609 +140593 +sabino +speedster +gumption +hemicuda +citizen1 +kurapika +qwe123456789 +bloodmoney +kiana +linda01 +1234589 +19011984 +gardner1 +6dnwch275049 +charisma1 +130793 +aqwaqw +211278 +15241524 +think123 +170184 +loveing +beyonce123 +giant +248655 +29061992 +numerouno +fable2 +honda100 +youngman +weg63TT243 +elvis12 +180579 +west1234 +toulon +tosser +shithole +whitesnake +Viktoria +breezer +tomiwa +lorena123 +superstar4 +030187 +animals123 +110478 +zaq123edc +13121994 +07031988 +gkfytnf +tucker22 +120177 +jacob23 +061085 +gopinath +blessing12 +011083 +angel4life +24081985 +splintercell +cassia +Hershey +karina2 +transalp +tony24 +tigger1234 +yfcnfcmz +krystle1 +bambam3 +config +220280 +jordan27 +ani123 +010284 +mascha +12332145 +05121983 +correo +thuglife7 +amorosa +lulu13 +killer33 +01111985 +100777 +david2008 +246812 +indeed +iamalone +lollies1 +controle +bonobo +050184 +sixflags +racine +CANADA +199413 +anthony27 +86868686 +28021995 +301194 +rollin20 +cutie45 +harry6 +dominik123 +candygurl1 +jesus4u +11031981 +akshaya +motoguzzi +potatoe1 +success12 +quack1 +231077 +happy25 +04121988 +modernwarf +bossbitch1 +96385274 +210393 +patrick69 +jovita +sketch +Buddy +ishita +070586 +dabaddest1 +heather16 +010983 +boggie +mrniceguy +coco21 +twins02 +pumas123 +kenguru +01111991 +040187 +sumathi +befree +tea +lonelygirl +scholar +kaushal +aztec1 +951753a +270981 +mama15 +evamaria +farley1 +bootie1 +carmen11 +schiller +19041994 +23121981 +torsten +harshit +mysore +04111987 +02081980 +spectra +miguel7 +jason8 +12345tt +baybee +shakeel +eldorado1 +money666 +4568520 +140793 +my4sons +dominic3 +waheed +elephant3 +sabrina11 +wanshuai198202 +03091992 +lola22 +mika123 +gabby11 +tommygirl +chrome1 +venecia +041284 +07101989 +rowland +crafty1 +03121992 +12345688 +20111982 +102000 +carver1 +jennifer20 +20091993 +qpalzm1 +batman07 +devonte +300984 +alright1 +yankee12 +face123 +vimala +august05 +icebaby +ubvyfpbz +longisland +21061982 +bautista1 +disaster1 +04081991 +290681 +jack03 +jayjay3 +1927 +jackdog1 +310580 +misiu +happy2010 +peace09 +asdfasdf123 +010491 +dontcare1 +flopsy +stonewall1 +16101993 +27041983 +honda06 +23031981 +2804 +wentworth1 +tombrady +hugo12 +hobo +complete1 +feathers1 +310595 +130280 +stoopid +lilmike +lover17 +cygnus +edward15 +1qaz2ws +pa33word +crystal! +120202 +kel +joey101 +orange17 +pioneers +dortmund1 +warrior123 +emma08 +drama101 +fucklove3 +boyfriend2 +09071984 +impulse1 +carlos9 +maxi123 +london23 +06011991 +030481 +30041983 +051081 +aaliyah123 +iamwhatiam +looploop +210395 +la1234 +070387 +jochen +slipknot0 +1234rt +230894 +scamp1 +puppy13 +kikka +170480 +22091993 +jesusgod +lauren07 +101977 +12101980 +bendover +pikachu12 +amelie1 +jaimito +josh19 +bijou +katara +human +southside7 +stupid13 +11291129 +04101992 +fede +lovekills +miroku +1courtney +20112012 +alskeo +breanne1 +noemi1 +alicia11 +07121988 +ecapsym1 +asmita +Midnight1 +500013 +230594 +11051981 +198604 +23061983 +mickie1 +Summer01 +bettie +040582 +benelli +andrzej1 +maxdog1 +05011984 +purple06 +samsung10 +iloveamber +280784 +ryu750103 +1united +8765432 +patrick17 +hfpdjl +2904 +071092 +joseph24 +120708 +fucker666 +renee13 +sandstorm +sayang88 +bhakti +28041993 +gitarre +may1995 +19081993 +libido +251293 +0811 +basic1 +201178 +illidan +64646464 +miaumiau +tekken6 +04111986 +191092 +fizzle +lasalle1 +jazz1234 +maikel +08091983 +06081992 +wiktoria1 +123qwerty123 +197712 +19091993 +15051980 +blue100 +jojo99 +041087 +jenson +021181 +060192 +franklin2 +198703 +g76t94prm4 +25051994 +bella15 +199812 +perugia +050982 +diosmeama +hermie +chris2008 +diamond07 +rudy12 +22tt22 +19421942 +doggy69 +08101988 +quarter +vaz2101 +sid +Mar +rembrandt +Destiny1 +breaking +gbljhfc +161079 +dance4ever +Hollywood +1daisy +juan15 +pink90 +hbw +211279 +redskins89 +09101988 +21032103 +wine +04121989 +industry +courtney5 +skater21 +180181 +1907fb +030188 +hello17 +cuenca +gtagta +28111984 +ecology +hockey08 +jackie! +devil69 +sensual +lovelife! +080879 +061082 +omarion2 +198825 +qwertyy +luvluv +makena +playa2 +muhkuh +13091993 +198823 +lorin +tarantul +hor +3011 +11071993 +mol +fatcat2 +renoir +thunder8 +bryce123 +280481 +eminem01 +shroom +charlies +22071982 +power10 +030693 +sasha1993 +iloveboobi +texas09 +laurinha +aaliyah7 +nicole97 +nirvana94 +110053 +harley6 +boogie12 +191282 +brigitte1 +6262 +07101983 +1maria +family21 +198028 +mardan +flower1234 +werder1 +160981 +mogul +140184 +09081992 +160047 +wal-mart +25111980 +06111986 +thomas03 +timeline +030783 +narasimha +121997 +maria24 +debbie01 +ashley92 +210678 +swedru +pierino +220694 +dusty2 +playa12 +rudolph1 +gardens +violon +pasaway1 +specialist +real12 +piggys +ktyf +leonessa +aaron23 +123456852 +mother. +froggy69 +mecanica +girl10 +godloveme +ilovesara1 +pumpkin5 +shawty10 +ashley87 +weird +130779 +16021993 +03051983 +katja +Fishing +polikloh00000 +1husband +diegos +240783 +hottstuff1 +anna1989 +valhalla1 +jayden03 +rfn. +vonnie +www777 +070986 +bandit1200 +dummy123 +13101981 +alyssa22 +100779 +311081 +120496 +slunce +2121212121 +aaron21 +060792 +ballin14 +12031982 +purnima +holy +breana +bananas12 +sembilan +ginny +jack15 +dreams123 +150879 +emma10 +ashton12 +winner01 +dauren +jackson09 +ruby11 +1qazqaz +ou8125150 +02121983 +chloe13 +13221322 +jakub1 +Azerty31 +081290 +smile10 +0103 +ghbdtn12 +122448 +jack06 +myspace420 +operations +chivas99 +06051990 +nicole30 +198709 +smoochie +230579 +coolio2 +maria69 +corpus +241984 +diva01 +Michel +greenlight +qwertyuiop123456789 +28041985 +08031984 +stepup2 +24111981 +14031972 +brianna6 +1silver +justdance +frog1234 +151093 +apples7 +cunt666 +kol +fagget +ilovehim4 +sevendust +sammy15 +noregrets +zamira +candy08 +denisdenis +9yQss2h9uB +melody123 +charlize +SLIPKNOT +01071980 +18071983 +rosella +oksanka +2boys1girl +pluto123 +2pac4ever +mambo +BANANA +150991 +caonima123 +cronin +redblue1 +chileno +1chrisbrow +diego2 +lyrical1 +nokia6700 +verdes +05031984 +01021995 +bipolar1 +30081983 +20061981 +kanyewest1 +aida +freedom06 +arnel +2236 +29121993 +monika12 +matrix7 +04041980 +100593 +flyfishing +ferrari430 +dinero1 +america14 +ashtray1 +centro +08101985 +rintintin +198999 +writing +09071985 +barbie101 +040680 +n0vember +b1x7qN2tuG +rocker2 +stephie1 +090389 +21222324 +born2run +tony07 +qaz2wsx +babygirl34 +29051993 +fuckit3 +16121994 +iluvher1 +251178 +colorguard +calinou +25172517 +24051983 +citation +444444a +victor22 +soulman +abeille +raymond12 +stussy +230793 +dubai123 +infected +twilight21 +Simpsons +87654321q. +190292 +broodwar +09031990 +cleocleo +me123 +smile. +cobra2 +05071982 +270593 +07091984 +23111993 +030581 +Handball +playboy101 +funky123 +crystal21 +imation1 +200494 +281181 +05051978 +dreamteam1 +meiyoumima +bobthebuilder +09051991 +lindros +honda21 +121207 +181990 +18111993 +19051981 +190289 +150493 +18041982 +121196 +juno +guapo +Yamaha +Ireland1 +halloween3 +sinterklaas +smiley01 +30061981 +jayjay7 +xena +motmot +manu1234 +09101984 +code123 +pheasant +abdoul +12111993 +september11 +brewers +london5 +angela3 +stevevai +2234562 +warehouse1 +hiya +laser123 +ama123 +babyface2 +jordan26 +010282 +vfrfhjd +sarah4 +hotdog! +bubba14 +101000 +jennylyn +09061991 +1917 +mariette +21111992 +women1 +Mozart +05031986 +Buddy123 +88mustang +197919 +050487 +19833891 +pretty16 +princess101 +plasma1 +nascar14 +02468 +spike01 +lisalisa1 +marti +marina01 +italy123 +boston01 +johncena3 +butkus +199410 +l0nd0n +cooley +456rty +franta +Agent007 +newyork08 +gfgf +bandit5 +katrine +11101982 +595490067ua1 +pipeline1 +geniusnet +gator123 +starscream +sasquatch1 +chilidog +2806 +nigger666 +cyjdsvujljv +300693 +assa +nyquist +timoxa +dodge01 +treacle1 +tennis! +antiflag +160993 +exploited +gbljhfcs +buffet +ranking21 +steele1 +nabeel +envision1 +pantalon +pferde +122133 +honeybaby +brooklyn23 +starwars4 +martijn +cody15 +2704 +180384 +sammer +herobrine +only4you +411052 +kettle +francky +as123456789 +200677 +100594 +simbas +carly123 +199215 +arsenal9 +gfnhbr +mikee +railway +181991 +joey10 +sonu123 +deathangel +23242324 +14101981 +bantam +170680 +110378 +kennedy2 +16081992 +Nokia +jessie21 +maegan +slankers +03021991 +600091 +560005 +penis3 +vianney +15011993 +0321 +1357910 +masterone +060187 +halo03 +241177 +asdqwezxc +196868 +pirates2 +sexxy6 +06011990 +250779 +LEONARDO +riptide +230693 +sexy2010 +17051982 +petrik +blonda +godlike1 +171985 +W45bj9upkZ +may2009 +lolalola1 +asshole666 +wyvern +chopsuey +kiffen +love001 +ilovekim1 +Pakistan123 +37gudoplfs45 +retard2 +search123 +maxwell3 +12332 +vedant +vince123 +04091992 +ilovebeer +newcar +10031980 +tight1 +liberty7 +060292 +30031982 +gangsta69 +Martha +graywolf +ballin15 +23051994 +26101982 +adriana2 +playboys +020682 +20012002 +wobuzhidao +280392 +030983 +pinoy +1234789 +cajun1 +lilsis +salgado +170381 +181988 +22061981 +kelly22 +270180 +051282 +batman17 +richard23 +buster101 +playas +11021981 +nitrogen +101976 +heavens +Lh6RjX44qb +1580welcamino +mnbvc +honda07 +lacrosse22 +theman11 +baby002 +vovan +yoyoyo12 +duster1 +burton13 +michelle06 +14121981 +mamichula1 +trace1 +boozer1 +yeehaw +biteme01 +115511 +Borussia +bacardi151 +10051994 +baldur +310782 +19051980 +kieron +sexygurl12 +pookie! +chupachups +danielle15 +squirtle +condor1 +lovinlife +bandera +291192 +brick +Rhbcnbyf +kimball +17021993 +198119 +260880 +scooby23 +26111983 +super4 +porky +honey18 +holstein +любовь +221983 +mathematic +john20 +johncena9 +davidlee +strangle +oladapo +sunny11 +steelers08 +cheyenne3 +storage +faker +babyjay1 +dinamit +170291 +julian10 +ABCabc123 +slut101 +963147 +Trixie +christine7 +29091983 +kitty07 +17081983 +sicily +chocha +mustanggt1 +110978 +mirasol +nina01 +wallis +princess31 +www.com +03051982 +05041983 +goethe +custer +robert0 +faith09 +pandemonium +gembel +pinto1 +basket123 +fire69 +peter01 +galaktika +canuck +kawasaki12 +123456286 +hondacr250 +05101992 +crunchy +18111984 +070984 +qebEfcz3yx +sheryl1 +single22 +saiful +britt13 +190884 +stayfly1 +asdzxc12 +220281 +suesue +198407 +nurse123 +star66 +fade2black +12345678qw +01121983 +janaina +broken13 +Oblivion +ilovehim11 +110037 +minstrel +mineral +run4life +waterfalls +password76 +madhatter1 +walter2 +27011993 +1122334455667788 +resource +zachary01 +benjamin11 +102030405060708090 +love81 +romantico +handy1 +081183 +austine +kairos +11051979 +braydon1 +Buttons +olushola +dickie1 +160182 +vampyre +yahoo9 +piolin1 +221010 +squeaker +str8edge +ronald123 +emocore +kingtut1 +warzone +senior11 +070884 +1192 +vball12 +whatsup2 +28031983 +2288 +170880 +peaches13 +700016 +aa123321 +monica3 +techdeck1 +190184 +damsel +nemtudom +Chicken1 +03111983 +jennings1 +04031993 +gotham +regina123 +stavros +12991299 +adam69 +filipino1 +jeepcj7 +consult +080987 +lalala99 +3101 +marina2 +wkgMkjH623 +vaz21093 +040692 +shereen +tmobile +lollipop123 +010907 +jordana +victoria8 +alex86 +woaiwoziji +bobby18 +iglesias +minute +13111982 +funeral1 +freedom21 +joseph17 +31051994 +portis26 +polisi +231294 +226226 +290583 +200281 +beef +mana +kevin06 +amalia1 +shangrila +bigpapi34 +22091994 +casey01 +06041984 +031281 +20031982 +hunter. +doomed +kaykay2 +nightrider +aw96b6 +kisha1 +ame +borisova +1gateway +26061980 +f76t93nqk3 +mexico6 +antonella1 +graceful +beretta1 +angela10 +matysek +networks +barrister +061092 +youare +121076 +lakeshore +03071983 +barbie23 +150180 +ganapathy +rfnz123 +coupon1 +pedrosa +rusty01 +hamid +kiska123 +poiupoiu +buzzbuzz +198617 +king05 +195555 +080288 +16061993 +19091982 +060883 +03121989 +cold +hearts3 +t666666 +KIMBERLY +poseidon1 +14121980 +symbol +ballers +12051980 +lollol2 +chapin +09021985 +fuck18 +burberry1 +ceaser1 +bob666 +147001 +123321asd +maeteamo +081284 +110076 +connexion +convict1 +lemondrop +010581 +steinbock +08061985 +pretty22 +20121980 +sh123456 +Allison +271281 +28071992 +spank +20041980 +hangman +12171217 +marianela +010682 +d11111 +10121979 +125634 +sammy16 +bill1234 +people4 +16101982 +180192 +drumer +040881 +bite +doctorwho1 +saidov12345 +5555551 +monica22 +100477 +thisismine +zigazaga +17021983 +logan7 +mexico19 +malini +200481 +161193 +wangyang +09091993 +pepper88 +creampie +juan01 +snowman123 +dove +ablegod +sugar5 +0205 +weddings +29071983 +aria +tiger25 +oreoluwa +balrog +rutherford +08121985 +rockies1 +edwige +pucca +hopehope +24061993 +scooby21 +rebecca11 +31031993 +500035 +sweets123 +311293 +10071980 +please! +jesus69 +you&me +yogyakarta +joanna123 +wonderwoma +03021982 +matthew25 +teddybear5 +gayness1 +starboy +shortstop1 +SWEET +31011983 +lifeislife +laddie1 +gemini7 +ghjcnjrdfibyj +xt: +doodle2 +amor14 +stryker1 +08061991 +101974 +theodor +june1988 +20041994 +10121996 +060385 +05041992 +198404 +141293 +LIAISONS +04091985 +nana15 +180581 +approved +17091983 +pindakaas +05091983 +25061993 +alohamora +homebase +michael29 +anewlife +196300 +lover07 +09011989 +bonfire +198808 +stanislas +lovee +240780 +momma3 +tom1234 +stephanie5 +devotion +lokomotiva +sonrisa +warner1 +tonton1 +ataman +dimas +puppy6 +1478965 +clooney +1snowball +sallydog +poohbear09 +sceptre +03081983 +ilovedance +522522 +nooneknows +gloria12 +megaman123 +22091982 +Pascal +dead12 +121412 +29101993 +dollarking5 +master14 +auguste +1314159 +edu +south123 +dignity +04011992 +250893 +kunkle70 +260780 +dixie01 +rangers12 +sisters4 +bebe10 +garena +pippa1 +trixie123 +lar +09091981 +savatage +abhilasha +nokia1234 +290792 +31051993 +hanter +rosiedog +sexyness +snowbunny +razorback1 +04051981 +bree06 +261986 +03011984 +joselin +530530 +nikiniki +gingerbread +robot123 +fleetwood1 +answer3 +nani17 +drummer123 +kingfish11 +shithead! +maritime +fordman1 +Harry +blackgirl1 +sweetheart1 +ahmedabad +06041992 +190682 +chance13 +987654321b +yondaime +P@ssword1 +praxis +convict +edward69 +morgan15 +dillon12 +puddle +anna1984 +Garrett +janjan1 +BADBOY +ashlie1 +monkey91 +cardinals2 +grandkids2 +mets86 +081285 +bloom1 +dillon123 +sweetpea3 +31123112 +dragon86 +poohbear16 +09041989 +baby34 +120196 +patrick. +cabrera1 +gingging +amidala +050579 +silver88 +110677 +12345rewq +01121984 +chika +keluarga +romantik +gonefishing +oasis123 +neruda +201307 +hurricane2 +198126 +ALEX +time4me +210282 +tink23 +caleb12 +160980 +28111983 +sextoy +betrayed +061091 +JESSIE +09071992 +777aaa +booboo8 +200777 +������������� +HEATHER +llama123 +02021976 +utahjazz +sdfghj +applejack +andros +holidays1 +fffff1 +azerty0 +250575 +skye +melville +bunny101 +sex4life +toenail +antonio21 +blooming +trinity06 +197999 +180381 +17061984 +148148 +010380 +firefire1 +spinach +pedagogia +harley8 +14101980 +pumpkins1 +199213 +11031980 +godspeed1 +mamere +02111986 +deerhunt1 +cantona1 +1texas +coolman2 +Danielle1 +Disney +sexymamma1 +nightfall +197312 +021081 +beast2 +nargiza +290883 +faraway +161180 +love47 +domino12 +h0ckey +yummy2 +gordo13 +razor123 +271178 +ishola +naruto89 +dreamer123 +666444 +120178 +gangster3 +11091982 +league +250577 +maria4 +toyota01 +jordan2323 +july2008 +kevin9 +30011984 +bambi123 +04081983 +smoker420 +doodle12 +hateme2 +fhifdby +mangalore +Maddie +easyspiro +123434 +anika +james89 +jazz11 +221195 +love46 +macleod +samuel3 +linkmein +lala15 +smartie1 +louise22 +Stanley +travis7 +03121983 +010880 +jerome2 +1penny +single23 +galloway +310581 +reyhan +280491 +14061993 +honeylove +kari +13601360 +sakura2 +kocham1 +kasparov +270291 +jones2 +glider +280193 +081291 +120778 +3001 +isuck1 +141278 +080289 +21071993 +practice +vita +nevaeh2 +pescara +plastics +17121980 +mikela +blue03 +23041996 +messier11 +materazzi +sunshine27 +connor07 +pilou +milaya +METALLICA +23041980 +071986 +partizan1 +sublime2 +tony09 +financial +african1 +220495 +050488 +060387 +emma06 +01021994 +mikasa +golfer01 +bullshit12 +baldrick +19061993 +robbins +kingdomhea +harry3 +thunders +mexicali +jonas2 +8787 +198201 +ivory1 +cronic1 +enfield +manali +ledesma +brad12 +259421 +calavera +rebecca01 +manwhore1 +P@55w0rd +gingersnap +elnegro +200578 +riorio +rockbottom +monette +lemonhead1 +assaassa +qaVcx411 +14061995 +natalia2 +february19 +oneblood +outlawz1 +boston23 +230979 +dayday12 +270492 +270692 +197346825 +tink15 +nana09 +sports7 +shantanu +131277 +VFvihss591 +killer95 +summer78 +170681 +jojo69 +120277 +animation1 +Qwerty123456 +030185 +gina12 +2703 +17101981 +iloveash1 +katalin +gasper +seesaw +29041994 +thesexy1 +paintball7 +elsie +eagle7 +il0veme +relentless +beaubeau +kreator +seniors +linda13 +636322 +june1990 +ufkfrnbrf +sasikala +251095 +ghfplybr +delta9 +daidai +mayflower1 +absolut1 +evgeny +onfire +040183 +tatum1 +white12 +cassandre +parents1 +28091993 +somerset1 +1122qqww +spam123 +1010220 +rjyjgkz +hunter33 +israel123 +linked11 +chapel +sansone +gr +sugar7 +rocafella +210694 +peugeot306 +13201320 +08121988 +30091983 +momma123 +Tiffany1 +11111d +baller09 +patrick16 +swanson +sharon2 +12343412 +dardar +061292 +198409 +fridge +chelsea69 +angel85 +natalka1 +hartman +16021983 +tyler17 +flame123 +thurston +may1987 +woodson +andrea08 +03111989 +14071981 +050681 +ellen123 +pepper09 +templar1 +muhamed +230779 +dolfin +29091993 +seawolf +may1989 +nikki09 +chomper +aeiouy +easy12 +murthy +samuel22 +locked1 +01111989 +problem1 +CAMERON +dalton12 +riddler +jane12 +sdf +10071982 +aaron15 +23031994 +020483 +qazwsx741 +281081 +olympia1 +nana08 +mahalaxmi +chicka +coca +windows12 +hatchet +pizza23 +030784 +14011983 +tweeter +11021980 +faith4 +surprise1 +swing +171279 +kickass2 +honda450r +beto +pak123 +hussain1 +claire12 +highway61 +muscat +dolphin4 +natalie13 +198302 +itunes1 +quilts +100778 +1angela +mb1234 +andrew33 +seanpaul1 +dakota05 +16091989 +fast123 +kiki23 +privado +31121993 +130993 +savina +02121980 +cubano1 +spot123 +Sabine +kalhonaho +1corvette +happyme1 +pegase +whatever0 +orione +vol +28081983 +198726 +pilots +nanayaw +steven08 +eric69 +11111m +singsing +sanmartin +nokia11 +termite1 +joemar +bitchplease +weed23 +buttman +apple25 +smiley11 +harley23 +tiffany21 +041987 +blue72 +100300 +thuglife13 +21021994 +070686 +backoff +bisola +powerrangers +omotola +090885 +dragon91 +050709 +198901 +thewho1 +17071993 +09081987 +cobalt1 +negra +suns13 +djkrjlfd +bariloche +jeepers1 +140579 +tissue +fender11 +spiderman12 +hannah24 +04061981 +123456ww +vfnhtirf +blackwell +looper +pollita +squid1 +already1 +bellota +challenge1 +analuiza +Staff123 +121206 +faulkner +gears1 +milk12 +polosport +skate22 +delta5 +tattoos1 +sexygirl3 +cartoons1 +mike143 +kurama1 +oioioi0 +199210 +24021984 +booman +seabee +0220 +nestle1 +bigal1 +tuxedo1 +speckles +24111983 +morningstar +aaron14 +hounddog1 +folder +bobina +broncos2 +wwjd +elpapi +adidas22 +chu +CAMILLE +LLE1234 +ijfrnhf7yhcy54bhy0cd +sandiego61 +twentytwo +july03 +rfkmrekznjh +shutdown +modest +kuba12 +killer20 +iloveu08 +swastika +11071981 +nicholas22 +monkey67 +11061982 +irocz28 +paranormal +payaso1 +bluegreen1 +heydude1 +booper +240993 +nano +babyboy9 +aaaaaaaaaaaaaaa +23021982 +colores +addiction +engel1 +manu12 +hans123 +270779 +millers +23101982 +150994 +170581 +240382 +cthlwt +sarah18 +monkey29 +owen123 +number1fan +mau +16071983 +mango12 +07121983 +smilesmile +frannie +24081993 +030186 +141989 +56chevy +sometimes1 +king18 +onelife +241985 +johngalt +jennifer15 +05091992 +dakota! +afireinside +fucking2 +23031982 +07111986 +260293 +1807 +nivedita +dagreat1 +montana12 +rosedale +demon2 +mexican3 +yazmin1 +sandy3 +ilovedick +100278 +james26 +cool45 +adamson +herbal +dominos +withgod +magician1 +ryan2008 +bill89 +aaliyah12 +sloppy +CHESTER +flutterby +linda10 +barron1 +stevo1 +150379 +231989 +superstar6 +pookie22 +banker1 +122007 +angels27 +cntgfirf +100378 +jolanta +reset +d654321 +myspace? +rachel5 +tosin1 +10102000 +gayASSfagpastebinleaks +mostar +cfvehfq +12071207 +yeahbaby1 +123poi +chris95 +asher1 +shubhangi +240281 +qazwsxqazwsx +CHRIS +01041981 +dezember +1qa1qa +omega2 +rac +Schalke +nigga14 +harley14 +cocoa2 +200182 +alyssa03 +25091983 +sveta1 +07011985 +090692 +crip +jobs123 +03091989 +181094 +lily1234 +190580 +d-block +uthvfy +13101995 +220181 +redeemed1 +120476 +06021985 +willian +jude +ybrbnbyf +quepasa +falcon2 +cutie24 +010693 +daniel90 +121209 +puebla +zephyr1 +210696 +dtlmvf +justin26 +cris12 +03091983 +afterlife +Michaela +266469 +johnny99 +elvina +yummy! +fatcat123 +06061981 +salsero +eagles! +xthtgfirf +property1 +kitty09 +222333444 +katie6 +chevy08 +22051980 +04071982 +100979 +w1956a +honda08 +anu +malakai +abpbrf +0809 +yankee23 +19051982 +18031983 +tiger18 +1177 +22041981 +15031995 +kacperek +070285 +ronin +16121993 +monica7 +juice123 +kaboom1 +jameel +cute101 +141985 +BARBARA +99mustang +submission +17081986 +210879 +thomas33 +darren123 +angel2005 +pink12345 +395009 +290791 +links234 +jujubee +sara22 +300791 +egoist +dodo12 +08081994 +cinema1 +winter77 +billgeitslox +pic +maggiemae1 +cookies13 +hindustani +140140 +assistant +literatura +avengedsev +tt1234 +99bottles +07031984 +evertonfc1 +OCTOBER +abbigail +kevin8 +soviet +030582 +jihoo +gibsonsg1 +12031995 +tata1234 +minnie13 +270581 +25111982 +251277 +mimi10 +bibby10 +14071982 +121972 +nigger6 +09011988 +260494 +POD-FIF +wrxsti +needle +220695 +matches +Hunter1 +Dragoste123 +sunshine00 +love75 +380054 +05111990 +Warcraft +230279 +bandana +ferdinand1 +kdwcNpA362 +031183 +20052007 +Willow +fuckme5 +barbarella +hai123 +4242564 +maimuta +12345ty +061281 +29061983 +666222 +242628 +disney365 +abelardo +limited2 +maryjane12 +ryleigh1 +Mercedes1 +ttttt1 +110023 +run +bicicletta +alyssa05 +myname12 +123489 +sara01 +081192 +wizard12 +emily15 +maryjane7 +dylan06 +070584 +hummer12 +pridurok +1941-1945 +14091983 +070983 +09021991 +malik12 +masmas +240283 +04071983 +mubarak +28091983 +bitchpleas +sabrina3 +kakashi123 +union +050292 +stacey123 +richard8 +170579 +fener +11041995 +bowie +m1ckey +008800 +sruthi +tutu +baywatch +punk4life +haveaniceday +160693 +bignose +1benjamin +andrew98 +hunter45 +240479 +08041991 +dances +awesome13 +donkey69 +peewee13 +admin123456 +chelsea16 +thirty +gun123 +booger3 +march09 +070490 +310394 +140279 +twins22 +23101995 +carlee +mickey9 +moondog1 +nicholas! +1tigers +0852 +20011995 +10081981 +chef +amor69 +145 +alpha06 +25012501 +19841020 +bailey02 +killme123 +iloveme21 +venom666 +aslan1 +finley1 +200379 +jose19 +lalo13 +EDUARDO +1twothree +jacob05 +superboy1 +.: +pimpin10 +200479 +orlando3 +wilson01 +docteur +sandie1 +nad +monoxide17 +090889 +14111992 +joshie1 +koikoi +whitewolf1 +garion +master17 +stoned420 +020187 +080685 +snoops +bugsbunny2 +manutd01 +010808 +23562356 +william17 +chippie +gracie07 +ljhjuf +daisy101 +babynames +appleton +yaseen +vanshika +pussy14 +jose69 +ranger22 +hello07 +kayode1 +jack05 +sexbomb1 +198518 +diana11 +keith12 +sandys +brandon20 +26031983 +therapist +BISMILLAH +goldengirl +blahh1 +xfqybr +upgrade +3155530 +jacob8 +06121984 +bingo2 +sum +21011994 +020883 +040285 +05061993 +15081981 +allahswt +edgar12 +21041981 +01081981 +kissme22 +dylan14 +22091981 +123ewqasd +monstr +severino +maria08 +bitchface +qNxE66l7or +747400 +delete123 +castrol +pineapples +nicol3 +buffer +elmo14 +01121980 +nikki15 +reaction +thinkbig +060678 +wanita +benny2 +18121980 +290183 +110493 +02021978 +w12345678 +26081982 +heather8 +cyberonline +thisisit1 +taxi +whitney2 +301292 +040681 +0258 +041182 +gracee +bartek123 +cutiepie01 +castelo +180981 +lars +18051982 +2905 +iloverock +number25 +110877 +willie3 +tamara123 +fastcars1 +animator +pretty08 +130678 +bear14 +23051993 +stormie +789456123m +15091993 +john77 +maria8 +15031980 +password@1 +040185 +18011993 +naruto00 +526526 +vieira +16121980 +020481 +carter11 +swimming2 +angel001 +gotcha2 +gangster5 +30071984 +tonka +eusebio +lovelost +aryan +141279 +eric23 +300892 +rosarosa +10071981 +farting1 +452010 +tomasko +eagles24 +agamemnon +jhoncena +chris420 +leelee123 +fucku6 +12121996 +chrisi +vitor123 +16101981 +markymark +sexpot +ohio +27011983 +calvin2 +cooper24 +cookbook +230395 +fordmondeo +password111 +christina0 +butternut +pyramide +160793 +nick99 +pimppimp1 +kwiatek1 +maggie69 +seifer +rockstar9 +cbcntvf +samsung21 +thomas00 +10661066 +081292 +charlie0 +140980 +erlinda +brittany4 +bailee1 +montessori +alcala +god4me +hesloheslo +kinglove +michael87 +16081984 +tomoko +Buster1 +forgotit +dragon93 +elektrik +cassidy2 +devin11 +arowana +060286 +macintosh1 +smokey4 +pumpkin13 +310182 +251078 +qwerty098 +granada1 +130879 +fatal1ty +bugsy +rockabilly +lilgirl +corazon12 +090491 +leeanne +lovecraft +0208 +eduardo2 +danzig1 +p7678287 +chiken1 +17011701 +777555666 +1й2ц3у4к5е +saravana +26041993 +1472 +08111987 +220477 +13041983 +Start123 +swarna +tallinn +030682 +300880 +20071994 +18031984 +Francis +samsonite +lilmomma +ranger69 +ace101 +spartan2 +chika1 +081084 +qaz111 +dudes1 +0408 +Swordfish +809 +081184 +rod +dreamcatcher +rawr11 +081191 +sapana +nick24 +petruha +smulan +07121991 +011185 +karateka +080490 +13021993 +120376 +turkey123 +Michele +23121994 +02121989 +moveme +04011986 +QAZwsx123 +toulouse1 +johndeere2 +chen123 +040880 +creosote +jackson! +lucy10 +albion1 +27051983 +15101981 +gaara123 +popcorn13 +number69 +070779 +dima2000 +290284 +1234126 +050693 +greatone1 +greenday. +qazsedc +saputra +shikamaru1 +jimboy123 +bitter1 +0508 +040784 +Shadow12 +09021986 +zaqwerty +muscles1 +amor11 +sumatra +140480 +3005 +booby1 +bajskorv1 +Grandma +10101975 +jaspreet +cum +spongebob123 +789654321 +695847 +09021992 +assinantes +transform +piligrim +04031985 +jessica89 +08011992 +admin@123 +33223322 +smack +february2 +26021993 +061293 +130293 +figure8 +boricua2 +jamel1 +basketball11 +110377 +20121993 +paul13 +extra1 +100379 +09031986 +hfrtnf +00233 +pooper2 +Fender +cfymrf +24051994 +freiheit89 +030287 +050880 +whatever23 +crabtree +boots2 +top123 +290993 +fab123 +chester! +magnum357 +mike05 +vaishu +ben1234 +senegal1 +08051984 +oscar1234 +babydoll13 +juggalette +bionic +190393 +deepspace9 +cuthbert +mee +199510 +oldham +0506 +butter4 +junior1234 +19231923 +29011989 +270892 +defense1 +cheesey +180982 +wang123456 +gnocca +kalash +01061981 +isaiah3 +zse4xdr5 +dad1234 +brianna9 +catracho +sexosexo +260379 +richard4 +david2010 +hollywood9 +bruno2 +www222 +fruitloops +brittany6 +010105 +shadow05 +steven6 +1qazxsw@ +270181 +100977 +gorges +matita +propaganda +circus1 +sean01 +mylove5 +northstar1 +slider1 +cesar12 +goober123 +boby +letlet +password50 +morgan05 +simpsons12 +chris00 +vince10 +antonio01 +10011994 +alteclansing +paulin +Number1 +prostreet +hotmom1 +060682 +frolov +27121980 +jahjah1 +tucson1 +985632 +050679 +enterprise1 +ankit +eszter +chivas17 +petpet +eastcoast +brittany21 +160479 +211280 +reallove1 +edIz27v1kQ +dominate +260193 +sweetlady +161078 +lamination +12261226 +huahua +Microsoft +zaheer +schneider1 +lilromeo +ilovehim09 +solotu +casio1 +nguyen123 +charlie101 +eindhoven +qwertyuiopasdfg +211180 +mpower +040287 +pogoda +moomoo11 +ojitos +plop +23121980 +radha +247365 +9ac9hb7vVX +kelsey7 +danielle19 +fj5tx19HiT +raven11 +jimmy23 +59fifty +oscarito +tigre1 +1church +falcon01 +abigail7 +681774 +DSK4R9bskh +21101982 +stormie1 +check +tweety17 +198727 +nextage +nagel +jeremy5 +righteous +marokko +bitches. +081185 +anna2009 +qwer0987 +Password10 +120179 +chicken101 +stinky2 +030882 +12021996 +frankzappa +shadow27 +090484 +martin14 +09121983 +spring10 +211988 +mumdad1 +0lHhNw3v +haters12 +pakpak +batterie +tonto1 +sunshine06 +bike123 +snickers7 +24091993 +06011984 +idiot123 +89moocows +prada +vfiekmrf +12031980 +fhbirf +guruguru +deluge +acapulco1 +stern +akshat +hellodolly +qetuo +bnfkbz +andzia +1sarah +023023 +persija +blackfire +chicano +francesc +number32 +daddy15 +olayiwola +casper21 +111195 +famous23 +hatfield +090784 +mickymouse +samir1 +eitaeita +poppin +09051989 +hayward1 +barbra +syl +austin95 +060591 +Undertaker +songoku1 +bliss1 +�������+�� +helper1 +snakebite +220478 +algarve +37213721 +dell23 +fucku11 +hoodrat1 +101102 +r4evc8d8VS +newlove1 +080894 +freetime +121212qw +xsplit123 +smother +mario1234 +nichelle +botany +johnrey +perry123 +100295 +peterbuilt +senna1 +Hawaii50 +TOYOTA +181080 +flavor +alejandro9 +ctvtyjdf +myles +jackie69 +Precious1 +30033003 +cameron05 +texas713 +newyork01 +mama2009 +2522 +pacheco1 +mybirthday +death7 +160580 +290780 +torrie +shopgirl +mustang90 +CHARLOTTE +powerstroke +windy +westgate +horses22 +150181 +teatime +vincenza +daniel94 +welcome9 +02101992 +02051981 +horny123 +bella17 +banan123 +billybob2 +31031984 +SSSSSS +pinky22 +310593 +04091984 +reliable +080586 +18081993 +08041989 +benhur +ball4life +161985 +guapo1 +jamesbond7 +soccer31 +ingres +honda92 +update +gracey1 +godgod1 +ilovecock1 +number19 +theboys2 +281278 +jacob21 +055001984 +vanquish +22111993 +0122 +198516 +kenshiro +24041994 +loveboat +princess* +210379 +monica23 +penis. +loveland +240293 +powerrange +vinograd +pearson1 +toyboy +linked4me +201077 +snowboarding +bhabykoh +omgwtfbbq +dudu +raja1234 +31415926535 +school22 +shaggy12 +sexie1 +stroke +19461946 +271179 +landon07 +babygurl20 +iluvme123 +sophia11 +hollywood! +sidonie +lanie +1juggalo +199800 +blender +030184 +nazarov +june2005 +kurwamac1 +sparky10 +il0vehim +sexy87 +torrie1 +karolek +gepard +150494 +daisyduke1 +gamegame +198456 +29051981 +shadow20 +looking2 +alkohol +14love +casey3 +400018 +methos +15091982 +07041984 +07071981 +chopper123 +sexylove2 +lipgloss12 +191984 +30111993 +esperanto +ville666 +blessed5 +moncheri +kjyljy +shivaji +011283 +070386 +senior05 +cuevas +789632147 +1mercedes +kumara +114411 +200382 +gummy1 +jazzy14 +12111980 +27091993 +vampire3 +blue30 +manfred1 +johncarlo +147895 +booboo09 +190892 +actros +we1234 +aston1 +marthe +paul69 +qwerty456 +141991 +sunny13 +lax123 +110195 +richard21 +apple12345 +11071994 +240181 +casillas1 +lauren69 +tiger16 +654321k +astronaut +113 +08011988 +250379 +pimppimp +loveheart +110779 +198614 +Brian +Pokemon123 +spider5 +honda23 +rjcnzy +eager +280581 +bodrum +196565 +nintendods +david33 +09051992 +alekseeva +reina +elijah06 +mothers1 +andrew77 +deere1 +hawthorne1 +rc95kzbJ1V +19011983 +landscape1 +braindead +121098 +darien1 +maria25 +James123 +198415 +boulogne +saya123 +24101995 +chynna +nascar29 +lauren17 +tigers15 +winston12 +bhumika +bailey8 +crunchie +chris55 +pimp90 +durian +mandarine +shade1 +lantern +070391 +focused1 +patti +gfkmvf +070286 +diamond69 +071091 +wakefield +imgay69 +04101985 +volleyball1 +kitty17 +1adam12 +111294 +210978 +molly07 +281294 +forgetme +brian7 +shandy1 +13111983 +11223456 +22224444 +realnigga +fquekm +runescape123 +oliver4 +150280 +vanessa22 +nico12 +stepup +02111985 +znt,zk.,k. +021095 +198023 +easymoney +kookoo1 +131178 +alex1978 +portishead +whateva1 +wildone1 +brooke4 +1woman +fastrack +tur +b654321 +010580 +beth12 +240291 +gbolahan +kropka +ilovekayla +henley +sunshine0 +modesto209 +solita +ilove21 +Crystal1 +schnulli +01041994 +justin27 +nikolai1 +mustang97 +198307 +dragonmaster +santo +kpkp1ee9W +basia1 +cornelia1 +coconut123 +love57 +frontier1 +040389 +aishah +haha13 +hell00 +kingdavid +farmers1 +lalala7 +dragon06 +ramses2 +111111r +seneca1 +verunka +123456789qqq +mets1986 +unlock1 +2n66xG2zIU +15021995 +thechamp +140693 +lazarus1 +30071989 +daniel87 +pendulum +lillo +oyekunle +elfenlied +babi +mishutka +13051994 +speedy13 +14051984 +snowsnow +marymary1 +moneytalks +styles1 +nicole98 +clarity +buster88 +bodyguard +yozgat66 +sweet08 +020482 +tommy6 +remix1 +arthas +SUSPECTS20 +sally2 +dbyjuhfl +jerseygirl +alterego1 +260980 +cutiepie7 +danielle16 +albert01 +mania +08101983 +31031983 +bros4life +030285 +010293 +scrubs1 +winter2011 +texas214 +a00000000 +jaimee +giants11 +asdfghjkl! +davido +kimberly3 +11081994 +defiance +mizio970 +wee123 +011191 +justin33 +whites +freddy13 +rdfhnbhfyy +anthony0 +krypton1 +anto +froggy7 +rubberducky +molko24bog +28071982 +genoa1893 +060485 +freddo +08101989 +clusters +newyorker +24041982 +boston33 +011292 +joey69 +husqvarna +mamabear1 +chevy12 +020894 +luchito +staind1 +jaylon +santarosa +phone2 +crazy18 +121270 +dana12 +01071981 +kev +spagetti +bella18 +118218 +honduras12 +hotty2 +02111992 +b55555 +krystyna +18021982 +198303 +PRECIOUS +bigsis +luckystar1 +help1234 +purple00 +jujuju1 +babygirl30 +andy22 +16121981 +29041983 +tazzie +eu +vvvvv +kingme +alloallo +buster24 +magic101 +28121993 +131294 +brunswick +kelsey! +golf69 +aston +todd123 +shannon! +ville +partner1 +billy01 +mo1234 +ayesha1 +comcom +14081993 +raymond3 +tattoo13 +autumn01 +united01 +oliver21 +3215987 +globe1 +brian3 +nissan350 +aq123456 +blessed01 +01091993 +22011982 +23061994 +peace420 +dogs1234 +icecream4 +dil +janica +peterburg +040289 +21031995 +190500 +smukke +callie12 +bluebirds +dance08 +jonas! +290580 +22051993 +jose25 +london06 +09061989 +080691 +malgosia +1chicago +pinkerton +urmom2 +123iloveme +051280 +RANGERS +hayley123 +10111994 +wester +lombardi +theresia +eastside21 +married08 +mj123456 +lasers +3012 +darkfire +220677 +hungary +meemee1 +thuglife12 +obiwan1 +peanut9 +gladiador +snowboard2 +caillou +critters +souvenir +king33 +21021983 +jiejie +extensa +preschool +peruano +121211 +pa55wrd1 +design123 +adoption +phatty +17011993 +13621362 +13111981 +skanky1 +vbvbvb +030792 +Cheese +sweethoney +frankie4 +181092 +alternativ +201295 +1rebecca +cookie77 +1house +fairies1 +cayang +100grand +motocross2 +peabody1 +123456789qwertyuio +bebe15 +lostsoul1 +Death +olasunkanmi +091291 +040493 +toolman1 +jamie69 +skateboard1 +avadakedavra +26061982 +rainbow21 +l1o2v3e4 +pink26 +220494 +isabel2 +anemone +safeway1 +other1 +free23 +shrikant +112300 +25041980 +240694 +fourtwenty +platini +198817 +sagarika +Green +adrian07 +190979 +Spiderman1 +000000j +cojones +ford69 +lockhart +welcome99 +anthony26 +portillo +jarek +123wee +sandro1 +laura5 +daddy9 +landcruiser +virtual1 +21021993 +pirouette +p.i.m.p +chelsea25 +edmundo +090999 +pretty18 +jose123456 +aneczka +Germany +CHRISTINE +grunt +greatwhite +wachtwoord1 +081186 +berta +28011984 +260594 +mickey06 +parsley +iamcool123 +abby13 +17021995 +tubby +06041985 +ilovezach1 +streets1 +pickle3 +moonstar1 +10061981 +270781 +070291 +blackbox +Blue +cuckoo +alfaromeo1 +sarah07 +dereck +negrito1 +zack1234 +100577 +parana +boss11 +09121984 +tigger55 +10021994 +040781 +011080 +17051994 +newhouse1 +Sierra +080687 +09081991 +15051982 +500009 +cartouche +lthgfhjkm +onion1 +carthage +hana +17081982 +251983 +power1234 +steven09 +merry +lenard +jamesm +lyalya +waheguru1 +260881 +mike26 +britt2 +zachariah +stanly +mvick7 +Scorpio +13021995 +rainbow10 +john25 +microbiology +220295 +115569 +bratz11 +chili +101998 +17101982 +hulkster +100494 +010393 +asdfgzxcvb +alison123 +ridebmx1 +dimond1 +1601 +crystal10 +31121981 +alexalex1 +spicy1 +may1991 +chase11 +090386 +211178 +boston22 +bench +19201920 +124001 +redrobin +23021995 +daniel93 +gigante +reverend +27101983 +lagoon +heehee +midnight! +skippy2 +yagmur +mantle7 +29101982 +161293 +111971 +090781 +italiano1 +sweet24 +270283 +197171 +adarsh +07011989 +bruninha +julias +261093 +asylum +laundry +sialkot +shade +francisca1 +summer25 +08121984 +fernando123 +28071993 +1london +enter2 +hugues +mibebe1 +slasher1 +070708 +ava +boomer7 +sportsman +moneymike1 +sexymomma +021193 +061181 +13461346 +08061983 +loveel +aaliyah22 +2doggies +devan1 +03111984 +lothlorien +linkedin22 +xinxin +jordan77 +20041981 +maxime1 +nogard +iloveyou90 +07011990 +198909 +010982 +1qazXSW@ +again +дмитрий +orpheus +231980 +240579 +alibek +jackson07 +barbie4 +chaucer +dreams2 +warszawa1 +09031983 +shingo +198416 +Robbie +26121994 +dragon78 +310881 +240581 +chomper1 +080587 +fourkids4 +stephanie4 +yupyup1 +element! +lolade +575859 +bwFqjpF +encyclopedia +lucas13 +jacob1234 +08031993 +swagga +godtime +dodgers12 +290482 +hebrides +bob123456 +my6kids +putita +frankie5 +lovely15 +dilemma +curtis12 +16041982 +earnhardt8 +tot +maricela1 +261987 +trouble123 +star00 +198305 +maconha +valverde +sexo +hyphy101 +azizah +blader +06111987 +Berlitz +mayara +jamesjames +mexico20 +sadiedog1 +everton1878 +150893 +steven07 +sabrina13 +mike34 +bebe23 +angela69 +chupacabra +emily8 +cute08 +jamaican1 +380007 +makulet +gearsofwar2 +080383 +888333 +donthate +azerty69 +brahma +lafamilia +290784 +lunetta +03101992 +angie13 +ladybug8 +catdog7 +070883 +eric14 +07101990 +bartsimpson +cuteako1 +twinky1 +mitchell12 +flower15 +merkur +honda90 +akoito +vfhufhbnrf +gothica +cre8tive +310382 +lolo11 +121271 +morgoth +vitalya +hollydog1 +friedrich +3sa8xK4xDZ +28zxrpuNFA +167167 +danijela +021065 +zayzay1 +iluvjesus1 +dance5678 +7676 +241988 +denise23 +pichon +cowboys69 +hagrid +columbo +29011982 +bugbug1 +1597534682 +oriane +arnaldo +bob420 +technics12 +boo1234 +dani13 +senior2011 +david27 +29011984 +250493 +fyfnjkmtdyf +wolf69 +carlos09 +dis +030881 +birds1 +valentina2 +dianochka +131094 +051180 +070482 +kolya +antonio. +09091980 +punks +0123123 +snow11 +milord +mama20 +chicana1 +killa6 +Linkedin123 +09061983 +2608 +alex29 +missey +apples. +ilovehorses +sharpe +15111980 +050191 +getit1 +go1234 +arturito +diesel12 +antalya07 +09061985 +99999a +itiswell +081082 +photo123 +hajime +151293 +sugar13 +kokopelli +300993 +29121982 +24081982 +125000 +261278 +35793579 +blue82 +310780 +loca +archived +love52 +numark +joey21 +goodstuff +rowan1 +061080 +peterson28 +matthardy1 +198527 +sammy09 +061985 +051985 +chris111 +chelsea6 +080790 +maggie24 +uthvfybz +26081984 +rowell +dicksucker +12091981 +310381 +felix2 +flicker +290880 +volker +sully +213243 +jadzia +031081 +commodore1 +esther123 +123asd88 +montana7 +tenerife1 +1rachel +seaworld +1oliver +bigbro +yourm0m +megmeg +anderson2 +swordfish7 +jojo01 +100600 +101975 +oldskool1 +casandra1 +16031983 +010593 +fuckya1 +marie33 +honey09 +newhope1 +hermanos +258046 +batman007 +26031982 +shivangi +samantha18 +tink07 +miley2 +30081982 +driven +lucky20 +mercado1 +753951852456 +mallorca1 +papaslexzy +toscane +antilles +02011980 +jess22 +travel123 +11331133 +unitedstates +homers1 +290981 +azucar +kamara +29091995 +roxy14 +relax +210979 +wiosna +westend +max666 +13081981 +whyme2 +123321abc +cathedral +021080 +buffie +roots +d1i2m3a4 +scoop1 +cherry18 +sunday2 +suicidal +coldfire +steffen1 +021293 +300581 +11071995 +091282 +karlee +berries1 +CRYSTAL +milestone +pangit1 +11011982 +14071995 +jesus247 +love1984 +423456 +110296 +danny08 +imback +rafaella +Charlotte1 +middleton +bmw323 +fatman2 +600044 +mexic0 +m3tallica +faith101 +prisoner +13031980 +gabriel8 +7758991 +enters +300392 +sandra23 +198708 +06121982 +12111981 +vasilev +13081982 +123mnb +26071992 +6031769 +munch +200579 +160193 +outlander +okay123 +waller +19011992 +cocoa12 +axeman +1609 +pacman123 +ripken8 +342001 +angell1 +luckyboy1 +010209 +alysha1 +arevalo +310380 +briones +1234567890k +mamanjtm +��������� +sexygirls1 +g1nger +jesus2007 +rhfcysq +oreooreo +27021984 +01081980 +03021983 +281094 +JaspyB1990 +jake06 +300481 +passion12 +aa11aa +30031995 +280893 +kc1234 +411016 +jabulani +20061995 +rainb0w +281293 +11081981 +iwantsex +5101520 +Robert123 +prestigio +carlos07 +996699 +justice12 +maxtor +ufhhbgjnnth +angel32 +2409 +dickens1 +colombia2 +namibia +011082 +1155 +houston12 +42069 +181195 +apple33 +bobby10 +pinoy1 +jake5253 +12041981 +sobriety +190392 +beasty1 +vale123 +beebop +fenice +parool +year2009 +29031993 +destiny22 +30624700 +nesrine +625625 +joemalyn15 +170592 +050391 +charlie88 +peter3 +olivia99 +easyrider +susi +190482 +1234567887654321 +ashley94 +deadline +201278 +hunter44 +love76 +letters1 +zxcvbnma +060880 +10021981 +clavier +741369 +wambui +xfiles1 +fucker6 +loveyou21 +280281 +forever01 +dayday123 +tsv1860 +11november +131076 +nfbcbz +independiente +200793 +whatever6 +alexa12 +nastya1997 +jagr68 +jp123456 +toupie +cute22 +devante1 +hahaha7 +trafalgar +humaira +butterfly12 +firehawk +02111989 +nayeli1 +01051981 +zepplin1 +f12345678 +180808 +felicitas +190881 +bayer04 +cats11 +konfeta +hjvfynbrf +mystical1 +batista2 +booty12 +trece13 +sweetie11 +banger1 +broken123 +forget123 +beautiful. +boober +soldiers +13041981 +under +usher123 +william18 +sunsh1n3 +nokiax6 +5647382910 +phatfarm +investment +123321k +01121991 +hamzah +rfvxfnrf +gizmo7 +nikki9 +love4love +texastech1 +trueno +chick123 +hotrod2 +penguin5 +pootie1 +29071984 +030993 +sempurna +080686 +210477 +nissan12 +12300123 +brandy7 +pooh17 +090808 +199711 +271987 +kaylee01 +samantha20 +14071994 +skyhigh +26011983 +farfar +andorra +Trinity1 +marko123 +6cs2huAULF +oliver08 +vanessa23 +151179 +babycakes3 +nifemi +kjkjkj +petete +100794 +123456hh +johnson7 +winner2 +100279 +gangsta21 +creative2 +yellow09 +year3000 +111094 +nigger13 +mcqueen +bonjours +burunduk +babe69 +dochka +iloveyou66 +kirkland1 +fuckyou20 +daedalus +Master123 +brooke08 +HAPPY +sponge123 +himera +280680 +pimpin8 +degree +kansascity +taylor93 +123test +rosalinda1 +abdul123 +shippo1 +190182 +campione +shellie +arseniy +langlang +chris45 +newlife123 +070795 +papa11 +lovely07 +teamjacob +sexyblack +theboys1 +�+���������� +310880 +060693 +luckygirl1 +081180 +15061981 +riley3 +18111982 +TERESA +230994 +kon +01061995 +040386 +frank11 +screen1 +raiders08 +12071995 +tanman +ihateboys +222223 +bianca01 +280381 +khongco +hotdog22 +kot123 +kiki14 +27031993 +21011982 +black77 +121970 +15031994 +booman1 +doom123 +sweeties +navneet +beans123 +logan06 +090489 +too +060982 +Allah786 +020480 +chigozie +sherrie1 +lanegra +270493 +drink +michell1 +worldpeace +04021983 +malick +20302030 +nam123 +junito1 +copperhead +denise22 +ctht +kiwi12 +101073 +soccer100 +vball +10121995 +scooby! +241989 +mickey99 +ginger8 +cupcake21 +1800 +monkeys11 +danger12 +122008 +woodwork +charles11 +306306 +150281 +03051993 +gfhjkm1998 +iloveu16 +ilovejon1 +17031995 +sasha2000 +gallery1 +111079 +joker777 +290391 +bigbass1 +dagwood +holla12 +popcorn4 +irish2 +110180 +hawaii07 +mahoney +sameer123 +Packers1 +14051993 +070685 +heather10 +marquette +troubles1 +ethel +fatima12 +qwerty85 +wedding08 +dolphin9 +fuck77 +borneo +snookums +iloveyou45 +050392 +serduszko +crystal4 +grey +isotta +mcflurry! +270992 +mama09 +coastal +kelsey01 +lingling1 +200679 +peanut05 +imissu1 +zxcvbnm. +270980 +070186 +raptors1 +hakeem1 +billygoat +717717 +18071994 +hopefull +number41 +aaabbb1 +nigga6 +09021982 +pepper08 +cory12 +maxwell7 +280593 +110696 +debra +speedy11 +asd222 +zouyong +single21 +death! +123star +19861122 +160680 +capitals +elessar +cherry09 +samrat +13101980 +kiss22 +babygirl55 +family14 +23111994 +theking2 +01121982 +football37 +gia +yankees01 +goodbullet +lasagne +tujhjdf +38gjgeuftd +number44 +forever24 +Awesome1 +reno +201078 +bmw328 +snaiper +skinhead69 +101297 +1chester +As123456 +fucker22 +glassjaw +acting1 +income +enemy +12031981 +sexylove12 +orange55 +210494 +199017 +corrado1 +ball11 +babygirl29 +joseph99 +governor +poppin5 +45674567 +delta2 +lov3m3 +03021993 +ruffryder +3108 +serval +provider +kipelov +naruto97 +sillygirl +logan08 +imrankhan +marty123 +raptor22 +davidg +198802 +titty +partyone +mira123 +asshole0 +loulou12 +120676 +ferrari7 +Liberty +lovelife12 +030592 +77585210 +odunayo +1lovemom +brilliant1 +padova +iloveshoes +Summer09 +rosered +sonic5 +bolbol +mobile123 +0011 +23111982 +220595 +28051981 +kings10 +556699 +charmin +snappy1 +mary23 +199110 +rubies +komarova +09011984 +crystal9 +06071993 +19021982 +maravilla1 +160579 +papacito +taytay11 +romeo7 +archery1 +alex45 +23011993 +02031994 +free2rhyme +ellaine +LETMEIN +F00tball +larry33 +06101990 +12q12q12q +shumaher +explore1 +skrillex +091182 +10041981 +allstate1 +180595 +calvin01 +tammy2 +wasup1 +loveme4eve +sassy6 +13031981 +whoareyou1 +drew1234 +chelito +19992000 +spook +seaweed1 +delima +evangelina +200981 +panther123 +bimba +fatkid1 +linkedin7 +sanders20 +26041994 +fuck12345 +connor13 +saitek +tulips1 +fuck09 +silent13 +123056 +13031994 +25071980 +midnight5 +789456321 +29011993 +gaypride1 +jimmy22 +210679 +Kawasaki +Gregory +steamboat +120278 +lilsexy +061280 +andysixx +smile1234 +130494 +all4jesus +240495 +warriors12 +kukareku +280692 +28081993 +mazdamx3 +07061983 +emma2008 +justin77 +jesse101 +serina +pookie23 +awdrgyjilp +210180 +roberto12 +reggaeton +entrance +bigdog3 +tripoli +120475 +BASKETBALL +lildude1 +business12 +honey! +#1sexy +821128 +myspace197 +nandita +killerboy +1shelby +wilton +holycross +micros +fatman123 +qw +wuchun +omega13 +christian. +gerard! +yfcntyrf +winnie01 +030982 +01011968 +dopeman1 +713713 +saiyuki +loomis +broker1 +molly08 +holyghost1 +sebastian123 +bradley12 +harryp1 +secret23 +suleyman +cooper08 +250181 +smile21 +cronic420 +wat +270393 +131988 +221277 +vfvekmrf +shelly12 +dick1234 +160280 +02081981 +craiova +panthers11 +nascar09 +jarell +Krishna +23101980 +17111981 +090906 +zadnica +050780 +may2005 +KARINA +odin +abacaxi +mellie +13101994 +gibbons +29061993 +886886 +browneyes2 +160594 +080788 +beauty01 +240979 +milky +110794 +televisione +O +eatmenow +1country +natawa +verity +Kitten +miller69 +001907 +puppyluv +hecate +28041983 +07011986 +gintonic +280395 +sexybitch0 +alonso14 +instrument +raimundo +#1angel +hillcrest1 +240879 +11281128 +leonardo123 +051080 +legolego +rico12 +DENISE +morangos +visions +boston24 +280693 +19841025 +190283 +m3lissa +reindeer +030893 +dustin13 +ethan08 +serafima +myspace87 +197311 +08091993 +hund +HwrIwxWc76 +billionaire +123q456 +1death +moondance +mimi23 +richard10 +katie69 +seznam +tiger17 +4077mash +legia +201987 +christian123 +elvisp1 +25892589 +maria9 +12091995 +FLOWERS +musicislife +tekken3 +100877 +01051979 +element8 +198027 +lovelylady +millan +christin1 +12071981 +050680 +peewee11 +munira +alex78 +Holiday1 +brigitta +11011993 +moneyman12 +crip12 +1hater +always2 +02021973 +iloveyouda +success11 +lea123 +methodman1 +vergine +141988 +verto00q +uliana +151078 +packers2 +190692 +froilan +antrax +wonka1 +bella16 +pimpshit +tbaby1 +080189 +dressage +kelly10 +fuckfuckfuck +danny16 +080387 +000000p +30061993 +04041993 +mama69 +nono123 +kitten22 +rockman1 +ami123 +qwertyuiop123456 +301078 +jason33 +mega123 +twilight22 +dundee1 +rattlesnake +getaway +qwer56 +220878 +kasimir +sepultura1 +140294 +qwerty1! +apples4 +realtalk1 +zebra12 +boombox +wanjiru +281180 +15121995 +040292 +21091994 +fenris +23011981 +blaze12 +moppie +sonne123 +brianna8 +ganteng1 +26101980 +renault5 +dominic12 +20011980 +2801 +6point +121194 +xxx000 +alexandru1 +09111990 +moscow1 +chris93 +syndicate +joker101 +191982 +pilgrim1 +22031982 +samoa1 +myspace02 +june1994 +??????????? +vampira +08081982 +starwars10 +ilayda +yflt;lf +shopping! +hutch1 +070589 +18021980 +zcfvfzkexifz +slaughter +gandolf +18041980 +antonio22 +max2007 +ladder1 +080984 +sweetlips +vantage +iloveyoutoo +lucky33 +10121978 +felix12 +buster06 +spacebar +26041992 +wewe +erreway +books123 +haseeb +hunt3r +jenna2 +noAccess99 +treetops +119900 +wonton +841029 +killerman1 +vermillion +03031979 +aggroberlin +4password +260393 +13579q +majmun +huggybear +999991 +as12as12 +291093 +doordie +quagmire +ilovetaylo +luciole +lame +mossyoak1 +260678 +keesha1 +diplom +america22 +dakota21 +yousuck12 +tatarstan +400102 +q777777 +blackdevil +Guitar +Hercules +12qwert +lacrosse3 +mydogs +13051980 +01091994 +ratrat +draconis +blue94 +Lisa +nittany1 +25031994 +01011966 +bizkit1 +300681 +elvis1977 +navyblue +30011993 +alan1234 +knuffel +chanel123 +prank1 +godrocks1 +ilovebilly +210378 +birdcage +not2day +010694 +191081 +Sasuke +klmklm +1809 +killas +jessica05 +162636 +300180 +divorce2 +oscarwilde +400025 +600094 +������������ +shameless +ganggang +madison23 +200505 +kan +saysay +221969 +020185 +123181 +p@$$word +crystal8 +ryan101 +prov356 +aachen +bhargavi +neymar +dream12 +ginuwine1 +091092 +231095 +wanglei +290193 +morgan8 +davidh +06111985 +1sayang +baller6 +09121990 +151278 +19091979 +suckadick1 +15081979 +211986 +05052005 +kiss69 +nerissa +littlestar +demi +jacks +18091982 +shedevil +kaylyn +1justice +bootleg +theedge +redtube +sasuke10 +kartoshka +charizard1 +backflip +meltdown +JOHNNY +170580 +milenka +9999991 +meat +01061979 +12280202 +little3 +xavier08 +020295 +Baby +ouk29q6666 +wtpmjg +ihatehim1 +robbie01 +08121982 +sasha7 +matt18 +1sweety +290692 +killaz +ccccc1 +gibson12 +aabbcc1 +giggles13 +123411 +111996 +fynjybj +190281 +danny101 +14121979 +12347890 +13091994 +123mama +anders1 +jitterbug1 +canito +27011991 +blue95 +1qaz2wsx3 +skate23 +raf +fakebitch1 +tramp1 +softball27 +151177 +bentong +brunette1 +hahabitch1 +base +nathan18 +children6 +bubba6 +tristar +12345tgb +wcdd93H9pQ +moonraker +rhfcyjlfh +0070 +poohbear19 +111111t +svadba +pratham +danielle08 +1929 +21021981 +24011984 +080592 +10071993 +sexy78 +Butterfly1 +lolita12 +m0t0r0la +rockyboy +adrian14 +murcia +zelda2 +klizma +thebest2 +monisha +fernando10 +20011981 +bomb +katastrofa +loquito +827ccb0eea8a706c4c +thunder! +honey25 +04031990 +0708 +24101980 +faget1 +198320 +happynewyear +070991 +luka +chance3 +19101910 +poltava +Iceman +elanor +the69eyes +verify +twilight. +02091993 +lazarev +whatever21 +crack123 +july1987 +060983 +59635963 +ifycjyhekbn +captiva +nubian +utjuhfabz +nascar123 +600083 +0105 +hasan1 +irish7 +thehulk +gioia +mustang91 +123qwe4r +13021980 +081083 +icebox +jahoda +001969 +bobby23 +kirana +spanish2 +freedom23 +135791113 +220978 +jokerman +manitoba +hilda +271293 +16071982 +frank22 +linda11 +kimani +131095 +10041980 +0507 +j000000 +110108 +dairymilk +pepper8 +02021996 +mandalay +boy1234 +zenaida +29091994 +timebomb +happy777 +poopy3 +040683 +1child +qwezxc123 +shaggy2dop +050183 +07071980 +connor05 +steffy +cocacola0 +446688 +19980621 +kalashnikov +eryyv588 +honolulu1 +forbidden1 +060405 +6868 +0611 +purple45 +kurwa123 +jason17 +200380 +291178 +alabama123 +adeniran +881988 +rich1234 +vanessa4 +scheisse1 +harvey12 +esposito +19372846 +110596 +455445 +parkview +william24 +18011983 +markel +09021984 +kingswood +werdna1 +elguapo +15021994 +hiroyuki +vegeta123 +271292 +grant123 +ivan1990 +33334444 +120896 +041280 +300783 +12041995 +311279 +secret21 +198418 +Bayern +rana +delonge +jesus88 +sp00ky +jackal1 +198306 +moon11 +alyssa99 +pippa +df +karaman +031987 +caocao +ilovecock +rayray13 +1fish2fish +10061977 +flyfish1 +pohekale +penfold +love2002 +nevaeh08 +emily09 +donkey11 +hothead +08121991 +florida07 +13031303 +10101974 +198801 +duc +papi12 +30111992 +reuben1 +sriganesh +clermont +jazzy3 +sw0rdf1sh +pjkeirf +maryjane3 +ceasar1 +lineman +turbos +mishmish +sydney10 +28061993 +11011980 +pp123456 +jamess1 +baudelaire +people! +123passwor +pornostar +angelina12 +reo +myfuture +password79 +nokiae51 +bigblack +labella +lfif +fender7 +050575 +jayjay23 +alena123 +clelia +Carter +osho +1love4u +leo123456 +emily9 +creepy1 +elijah11 +070797 +17021982 +samisami +24021994 +080693 +laszlo +deeter_1 +160480 +ch33se +squalo +classics +01111988 +candra +boniface +nigga22 +zak123 +18011994 +meline +july1990 +30061994 +butter! +giggles2 +040893 +terrace +fcbarca +alize1 +eminem10 +1olivia +adnan +fluffy7 +imaslut1 +julia13 +farming +jessica101 +senerity +223qwe +rigger +maria20 +sandy5 +13081983 +2smooth +kevin24 +qwepoiasdlkj +iceman22 +350350 +insecure +011284 +080785 +260280 +070487 +coolman12 +arsenal08 +pippone +pinky101 +cheer15 +carabinieri +timetime +NATALIA +280480 +peace69 +keys +valente +m1dn1ght +candido +1357902468 +carmella1 +luna1234 +pumas10 +140694 +barney5 +amanda00 +lexa +090682 +timon +784512963 +matthew03 +v12345b +11114444 +191990 +ranger00 +woshizhu +juan22 +meandu2 +merritt +remark +enjoi1 +hallo2 +said +просто +555555555555 +lethal +georgia3 +eternel +20111993 +salcedo +0112 +050882 +030709 +JAYSON +vera123 +13681368 +samples +olivejuice +rabbit01 +03041982 +leo12345 +deville +23061981 +221199 +123boy +cooper5 +130995 +1346 +mason3 +198528 +22031995 +140893 +jennifer18 +justin96 +melissa15 +20021996 +cjkjdtq +Internet1 +black! +cfhfnjd +everyday1 +jeremiah12 +Rocky1 +loveu4 +checking1 +Playboy +16051994 +allahoakbar +giddyup +hotboy3 +saurav +120101 +25031982 +12061981 +daking +decode +050289 +peachtree +loreta +ronaldo2 +2q87xI3vFX +jasmine05 +palmetto +rosebuds +oswaldo1 +soccermom +121232 +QWERTYUI +sandee +chloe4 +19851216 +farts1 +190700 +lordshiva +volcom69 +06071982 +eraser1 +211094 +07101992 +24101994 +sheppard +gemeni +220979 +asdfghjkl7 +ashley27 +�������� +mounia +080188 +louanne +11031994 +paramount1 +cristy1 +100795 +AVM6Ubdunj +kesha1 +02031979 +bing +player24 +delrosario +yellowdog +3008 +mazda323f +alfaro +ALBERTO +021986 +21051981 +manila1 +gamecock1 +goheels +deaddead +soccer87 +byabybnb +bonjour123 +iloveme18 +tools +19841007 +123645 +money27 +kahraman +15071981 +yandex.ru +mammoth1 +29111982 +08091982 +poops1 +17031982 +starwars13 +awawaw +fkbyf +cutiepie5 +Blackie +springbok +pocoyo +john123456 +asante +papamummy +jack101 +pumpkin! +millioner +311092 +chrisbrow1 +060882 +13561356 +raindrop1 +060695 +william99 +24hours +hayden07 +hoang123 +ad +1926 +stinky123 +repsol +21041982 +08121993 +020396 +cerberus1 +ilovejack1 +159654 +tanushka +11081108 +panda10 +deerpark1 +qqqqqqqq1 +jamal12 +firstborn +redd +28011980 +mama777 +homedepot +josh24 +23081980 +spider22 +Franklin +ethel1 +11301130 +mohsen +kigali +26051982 +smellycat1 +ignition +naruto666 +scooter! +coccodrillo +teapot1 +040391 +199811 +fuckthisshit +29091982 +jack09 +123001 +1516 +mytime1 +tigers24 +zippy123 +200606 +brittany22 +hollowman +matveeva +juarez1 +15101510 +jolie1 +13041994 +19061982 +arsenal8 +11101994 +11091109 +monkeys5 +020394 +141421 +plm123 +090584 +fantasy8 +transit1 +14021978 +sparda +peace14 +17041983 +02061979 +vipvip +051987 +station2 +400079 +mahmut +ryleigh +midland1 +sutton1 +yourmomma1 +050385 +aaaa12 +18041981 +andrea09 +bond0007 +140181 +ashley98 +school. +retail +Dragon123 +matt24 +hotel1 +03061993 +2500 +boquita +khurram +mehmet123 +valdez1 +tyghbn +071082 +redsox22 +struggle +fgh +dakota14 +mckinney +13041982 +dcshoes1 +tinman1 +12091982 +ninja5 +anabel1 +180679 +manuel23 +26011994 +010382 +ireland7 +prayers +28101981 +beach12 +130794 +iloveme69 +youngbuck1 +bigbitch1 +shelby14 +31031995 +daisy6 +25242524 +librarian +20071981 +helder +nitesh +klavier +250280 +1amber +poop14 +160183 +205205 +jada12 +051193 +iloveu01 +thug123 +solace +flash3 +punksnotdead +bananaman +452452 +nikoleta +honey24 +060291 +haylie1 +kamina +frisbee1 +curtis2 +08021993 +12061982 +100895 +smallfry +cruz +1kimberly +2523 +charles4 +27091983 +rambler1 +GvqJvxVb76 +400099 +oddball1 +dakota04 +261279 +jarred1 +220893 +2609 +premium1 +01071994 +05011986 +07121992 +09041992 +tarragona +kondor +1bastard +tickles +fucktard +03061982 +21051982 +030579 +cradle1 +jacob99 +15935700 +nandhini +lialia +15121979 +powerup +0011223344 +198508 +dunno +cnhjqrf +080385 +madinina972 +libellule +keshia +041282 +timothy7 +eusitu +331331 +olympics +s00000 +050485 +wizkid +1935 +skittles11 +policja +fragile1 +gznybwf13 +sergey1 +selma +mmmmmmmmm +161279 +jonathan20 +23051995 +ortiz1 +sexybitch3 +140879 +nikita1997 +220777 +tomasa +globe +maddie10 +HPH2N89qif +elijah7 +110395 +nichole12 +21101981 +imgay2 +genetics +budlite1 +amber! +sexme69 +sweetass +151077 +lauren09 +15243 +x72jHhu3Za +09123456 +takeiteasy +sweety7 +31081982 +britton +3578951 +830830 +01021978 +slim123 +loveyou10 +24122412 +090391 +ilovenick! +23081982 +16021994 +lupe12 +eR2SizO241 +231277 +kaylah +majka +290782 +clinique +221982 +29091980 +lexie123 +nike14 +zacefron12 +mypassword1 +soc +shitass1 +2425 +lover25 +31103110 +june1980 +rachel18 +lildee +150978 +Frederick +1A2B3C4D +270780 +america09 +shit22 +199416 +18street +13091980 +janeway +jackblack +cassie22 +dragon28 +221194 +technician +roro +bryan13 +26041982 +10191019 +070982 +rachel16 +holly7 +090791 +momentum +babygurl17 +mayfair1 +270680 +interest +29081983 +linkbuild +������� +tokyo +121415 +angels21 +030992 +280679 +miguel15 +18031982 +560048 +281279 +38383838 +france123 +edgar13 +112008 +madison99 +21071982 +19041995 +jacob15 +20011993 +17041993 +school6 +cameron09 +cakes +octavio1 +bebert +bulldogs11 +06041983 +1hollywood +optiquest +250895 +rocky8 +rockout +2326 +17061982 +ilove10 +nijmegen +bosshog +volodia +sing +23021981 +subaru555 +laverne1 +071181 +19041980 +kisa +041082 +praisehim +bhavesh +bienchen +22041980 +lombard +150293 +cowboy3 +11091993 +apollo123 +pooch1 +h80lsa +littledog +dog111 +poiuytrew1 +vanessa21 +sasuke3 +gopack +flowerpowe +kevin101 +class2006 +020982 +minecraft12 +teamodios +02071993 +08101984 +181180 +runner12 +a66666 +haylie +ilikeyou1 +topman +sanderson +270383 +sp1der +260693 +anthony28 +110778 +261079 +241277 +171988 +15091983 +nopass1 +516516 +hotboyz1 +198215 +punkpunk +kate11 +17081994 +polo11 +060482 +bellagio +0907 +asas1122 +cherrybomb +love2003 +fujitsu1 +198504 +mommasboy1 +1snickers +edvard +sommer09 +270193 +tyler24 +1234ss +181279 +Brigitte +28071983 +ferec +babygirl04 +27091992 +irene123 +richard22 +skooter1 +boring1 +davidbowie +270793 +alexandros +kenny13 +babajide +lovebirds1 +lucygirl +070185 +ginger07 +strummer +25101981 +iloveme8 +sutenm123456 +Qq123123 +nosferatu1 +teamwork1 +080491 +ars +fuckoff8 +mohammed123 +beauty7 +jake17 +190284 +am +buffalo66 +babe1234 +camryn1 +mommy14 +master09 +sometime +201277 +andreika +16051982 +190681 +omsakthi +juventino +lavina +imaloser1 +240194 +honda88 +edward101 +kurtis1 +asdf45 +25081982 +offline +heinlein +docinho +iluvmyself +rincon +plplpl +black20 +quasimodo +pickles3 +snoopy4 +136666 +okinawa1 +javajava +harrystyles +missy101 +quintero +sports10 +gadget1 +King +cachondo +01031978 +eightball1 +14111982 +ring +Colorado +11111979 +nana07 +bella69 +11011981 +duffman +cle +loveme20 +ponyboy1 +040884 +060782 +12011995 +hated1 +09011992 +mangal +demetria +vtufajy +kuchen +kaduna +samantha08 +siddhi +ch3rry +school08 +jamie5 +isaiah01 +300595 +omaromar +130978 +tartan +quigley +041084 +bambam13 +171193 +chelsi +07031992 +090978 +ebay +pepper. +osvaldo1 +defleppard +160777 +gotmilk2 +pablos +vampire7 +barnes1 +02011992 +haiti1 +missmolly +05111985 +hottie92 +jlbyjxrf +thomas27 +151989 +fasttrack +2369 +120798 +Feuerwehr +chris87 +iloveyoual +jackass4 +021984 +kittykat12 +23041981 +makcim +lero4ka +rufino +dartmouth +pissedoff1 +19071981 +babygirl31 +02081979 +pattycake +19101981 +buster8 +cacatua +kangar00 +mamanjetaime +775577 +250978 +Jordan1 +lilylily +raven7 +alecia +141008 +230195 +shelby69 +nicenice +ybrjkftdf +claudita +mason01 +babe22 +240894 +hooch +05111988 +310592 +maria19 +Lawrence +moneyboy +anna15 +mistigri +phiphi +barbie21 +bhutan +munkey +26111982 +201094 +shelby5 +silviu +200779 +qqwwqq +160381 +norwood1 +smokey6 +zamorano +090188 +acdcacdc +tina01 +taters +breanna12 +041279 +shreeji +098098098 +fordford +falcon11 +budweiser8 +shelby22 +rianna +mistery +fine +goodlooking +anna69 +mkomko +pe +granit +july123 +coqueta +victor21 +18031981 +superman27 +Joshua1 +curtains +ocean12 +isabel01 +plaster +1penguin +lena1234 +291181 +123itsme +kings5 +fuckoff0 +151983 +fruitloop +29011983 +segreta +sexy4ever +andres13 +05081993 +cheeseball +marcial +parkway1 +041283 +20021995 +morgan69 +mc123456 +veneno +qwertyqaz +loser55 +09121992 +aggies12 +pecora +laposte +ilovebob +sweetsweet +girl23 +camello +jayden23 +270893 +supergirl2 +160893 +f1f2f3f4f5 +selamanya +geelong1 +panthers09 +230877 +bernabe +pennys +dheeraj +261985 +sinclair1 +160379 +lizzie2 +justforyou +twilight5 +17071982 +looklook +xh246AIGUN +98765a +queen3 +1290 +mathieu1 +bball8 +ribbon +DALLAS +panatha +player9 +abc123321 +noncapa09 +21021995 +Pamela +filthy +hiroshima +maslo +codeblue +131278 +stars13 +13579000 +oakwood1 +angelica2 +nirvana3 +852456852456 +spooky2 +333123 +display +888222 +POLICE +KENNETH +football59 +pet123 +jennys +pizda +02071979 +barley1 +030508 +kitty24 +vbnmrf +empress1 +08081981 +060694 +050185 +221078 +260878 +lena2010 +198807 +ell +bears2 +poontang1 +baller07 +police9 +240380 +luqman +devildriver +emergency1 +babyjane +spears1 +realmadrid1 +vermilion +sparky3 +09081982 +pimentel +joshua77 +sweetie5 +paperboy +22021995 +cheat +rose24 +skeeter2 +antwan +06111984 +kangkang +rosenrot +mariposa11 +230694 +tyrone2 +games12 +234234234 +141178 +music88 +figment +zimbabwe1 +douglass +krzysztof +dylan4 +301179 +robert33 +101996 +joelle1 +carrie12 +precious01 +lool +school8 +170693 +ARTHUR +martha12 +ryan1 +briana12 +21111981 +198124 +troll1 +honeydog +texastech +Arschloch +popcorn22 +katita +ponies1 +temitope1 +160293 +25021994 +audrey2 +familia4 +sQ8Hm7l4 +enter12 +180693 +terrie +04061993 +ylenia +britty +1237890 +nightmare6 +touareg +7734 +$HEX[687474703a2f2f616473] +mhinekoh +admin1213 +gastone +28011993 +john99 +231176 +splodge +maruthi +06121983 +00070007 +manikandan +qwerty65 +600096 +21021980 +salinger +tinker4 +sam111 +seth12 +godrocks +Master1 +guitar21 +24081983 +190480 +beckie +help12 +1234567890v +13121979 +lollipop3 +monkeybut1 +scotty12 +minako +jinkazama +asian123 +020892 +mystere +zaqzaqzaq +alyssa04 +elnumero1 +29061981 +240677 +wiley1 +28121994 +jess21 +jonbonjovi +nicole84 +sesese +nolwenn +090185 +garth1 +180380 +moskow +31051995 +one111 +ercole +Linda +999999999a +081280 +texas07 +hoho +112311 +gaston1 +cocoon +271093 +fynjy +06101984 +artistic +marie92 +21091981 +17071981 +rocket11 +matrix13 +janosch +brussels +jesus19 +mistrz +lex +luis22 +blomma +gabrielle2 +22081981 +hen +mark18 +gangster10 +cookie25 +harlee +110994 +0741020 +19021983 +tiberium +royroy +19121980 +doriane +4xeaxR653E +monster101 +180482 +activate +pussy8 +011081 +crazzy +alex44 +acissej +170493 +baloo +cowboys07 +mamang +Dragons +aimee123 +deeper +nonoy +snoopy6 +ghjghjghj +drama123 +blake7 +11121994 +killer187 +45 +king45 +halo3 +pooh18 +180479 +pangetka +hotboy23 +24102410 +1granny +andy21 +1zxcvb +vinoth +nicholas6 +decatur1 +8181 +199214 +230578 +deamon +29041982 +090886 +dri +spring2 +31071983 +270381 +kovalev +29051983 +291293 +141179 +fuck08 +joecool1 +foxfire1 +ginger09 +salento +tane4ka +kabuki +poser1 +tinker14 +secured +10011981 +aaaaaaa7 +130677 +marine123 +harika +jackie14 +therock123 +blackpower +011093 +jennifer09 +henri +miller22 +c0l0rad0 +eggroll +alex1975 +neutron +nathan9 +aleluya +123zxcvbnm +020993 +260480 +habeeb +gangsta. +nevaeh07 +1706 +lenin +doom666 +Spider +jonathan18 +joker6 +naruto25 +lilypad +ramani +080291 +240877 +16021995 +050792 +robin12 +cricket12 +110808 +alina1998 +140382 +mahesh123 +lagartija +051986 +sexy04 +thunder01 +bubbles0 +060586 +cyclops1 +diana15 +panic123 +ilovematt! +star56 +schweiz +101993 +112009 +bochum +mikki +tony18 +clarinha +120176 +nikki16 +michael30 +fuckstick1 +estrelas +mack12 +0306 +pen123 +celestial1 +leon1234 +onelove! +160881 +nicknick1 +sweet20 +090187 +mateusz123 +beach2 +state +rockit +159159p +30111983 +rockstar8 +pissedoff +131990 +fatso1 +mirtillo +1234566543 +jasper3 +7410258 +09011986 +mnbvcx1 +faceb00k +apologize +pamela2 +500047 +kometa +08041990 +hornet600 +500073 +dollarbill +access12 +killa187 +ruger +brittany19 +24051982 +z11111 +130195 +13051982 +444222 +270281 +crossbow +ahmet123 +sonicboom +26011982 +JACKIE +271271 +28031993 +love900 +400074 +luis17 +jacket025 +2titties +helene1 +200979 +december07 +Music +sparkle2 +pookie10 +13031982 +party69 +victor23 +friday2 +chloe7 +prdelka +sagopa +golfpro1 +matematik +kara123 +liberia +10021980 +botswana +boob123 +randal +tomfelton +23111980 +qwerty80 +vito +gangster7 +Loveme +10111995 +22121995 +vengeance1 +2pac2pac +handicap +198417 +nikesb1 +734992 +070190 +loveya123 +yellow1234 +30041982 +159753258456 +gilmour +shinee +misaki +bigpimpin2 +270883 +edward. +Winter11 +csillag +hondaaccord +poopoo11 +doggy3 +dinky +snowball3 +bigpun +iloveandy1 +0101010101 +159369 +141195 +manu4life +143baby +darby +ISABELLA +fredo +maluco +humboldt +30061982 +seema +steelers01 +17031994 +arsene +050893 +biotechnology +deleted1 +frankie13 +230978 +london77 +tigers14 +julian08 +28101993 +julian3 +weed14 +chalupa1 +june1993 +101994 +260580 +alyssa02 +malaki +teddybear4 +bungalow +surf4life +sagara +bonethug +dejavu1 +010992 +qaz12wsx +rhenjq +songohan +baster +skills1 +iloveyou91 +bluecar +alyssa09 +04111989 +sweetwater +maffia +1vagina +holiday2 +moulinrouge +combat18 +711101 +gioconda +rousseau +christina8 +05031983 +200393 +marina10 +dixon1 +carrera1 +piaggio +Goldie +1cecream +030981 +180780 +260181 +pass@word1 +mentari +Nissan +Banana +haritha +h2oh2o +291177 +891011 +grace13 +speedy01 +extension +andrea07 +bhebheko +thc420 +nike24 +panthere +250993 +scampy +paulo1 +london3 +vampire69 +xyj44pe3GV +woody2 +111199 +buddy06 +baldeagle +belova +andrian +70707070 +carolina10 +cambodia1 +boarder +chris34 +cherry08 +hung123 +akash +scary1 +nelly2 +15061994 +Fishing1 +130979 +pene +gloria2 +ortega1 +bnbnbn +fiddler +budlite +sasha22 +libertine +dominus +37373737 +negative1 +niallhoran +hottub +seattle206 +kingdom12 +091180 +highlands +011184 +matt07 +220202 +werty12345 +23081994 +man123456 +eminem88 +11223344556677 +281193 +shamar1 +anissa1 +tinker22 +101071 +edhardy +Valerie +03041980 +radiator +thando +aastha +fastlane +bettyboop3 +drink1 +thejoker1 +balls12 +060487 +bob1 +butter7 +amber17 +Theresa +201177 +rainfall +200010 +1butthead +assmonkey +bellamia +01111987 +marcell1 +йфяцыч +coolpix +beezy1 +10091980 +031180 +120408 +pussypussy +goliat +oldtrafford +tel +jza90supra +Roland +tippy2 +130695 +omgwtf1 +huggies1 +lidiya +090583 +FuckYou +160281 +2030 +20042008 +19031980 +beaner12 +14051982 +beasley1 +planb123 +01477410 +wilkins +08101992 +hammer69 +27051981 +bricksquad +Fabian +nokia6280 +brutus12 +500036 +mariami +181293 +311277 +tumbleweed +130194 +2602 +cherrie +29031983 +topmost +198101 +20152015 +�������+��������. +19101994 +cassie7 +shanks +1hateu +080992 +1kingdom +070691 +yanks +funhouse +england12 +mamaia +wethebest +nsync1 +laurita1 +probation1 +922i4Deebm +hiphop13 +aaa999 +061081 +shabba1 +01051994 +280791 +videogame +04081993 +200181 +lovechild1 +sivakumar +macbookpro +11041981 +03111982 +pass4me +avril123 +oficinag3 +938271 +parker3 +050879 +270282 +blue98 +friend3 +145236987 +peaches21 +demond +55555r +hyperlite +Summer12 +prettyboi1 +naruto92 +260676 +09061992 +fdfdfd +01061978 +smooch1 +wolf666 +danny17 +ibrahim123 +stinky12 +bigred2 +ambiente +two +miami2 +piggy12 +1hiphop +bizzy1 +rocking1 +willie11 +happy111 +hammer11 +ajay123 +brutis1 +123chris +230595 +tee123 +151980 +mumumu +mariah01 +140380 +patches01 +password2011 +03091993 +butterfl +fifa11 +jazzy01 +lisa23 +131077 +2580852 +did +liverpool1892 +uni +sandra7 +maxthedog +bruninho +220995 +23101979 +gf +jonathan. +ancuta +123qwaszx +ourson +rap4life +261179 +19121982 +jerica +pancho13 +maria. +270993 +charle +05071993 +180594 +yankees08 +121998 +ionutz +Whatever +panic +050384 +pumpkin11 +dfdbkjy +18031980 +daisy! +kinderen +nobita +28091982 +fatcat12 +cassie4 +05061981 +211985 +jerome12 +141078 +3kitties +cs1234 +290181 +cabriolet +jason16 +school101 +08081978 +philomena +weezybaby1 +lyric1 +mrcool +destiny21 +goldwing1 +11111111111111 +print +fantik +jakers1 +football#1 +flashman +19861020 +dallas99 +lthtdyz +fishka +saab95 +27051982 +kirill123 +viorica +maggie15 +playaz +daisy14 +secret007 +larrybird +simone01 +nitin123 +201279 +battleon +allezlom +24041983 +worker1 +coolbreeze +9YUE27RI +04121982 +dannys +290680 +230295 +evil13 +654321t +goodison +16061981 +kungen +brandi12 +ghjhjr +lordjesus1 +tinkerbe11 +brown3 +21081982 +06041982 +frank01 +inlove3 +april2009 +kemper +ihateu123 +recherche +eugenia1 +ephraim +030482 +ninja9 +adebisi +1lovelove +Forest +chains +mouse13 +bricks1 +208001 +connor06 +261294 +ivan1980 +050483 +Pantera +09091994 +280181 +19851212 +joschi +pepsi7 +friends4li +nascar9 +04111992 +cassie! +24091983 +Tiger123 +thereisnospoon +islandgirl +giacomino +03061994 +09101989 +guntis +Charles1 +malamute +mooseman +161095 +gilligan1 +naruto77 +edition +lukaluka +lamer +curry1 +meme13 +vivamexico +gracie13 +dipo01 +efrain1 +Cowboy +vitesse +abc987 +crf150 +KRISHNA +tamie +thuggin +kerrigan +taffy123 +victor5 +260479 +527527 +040392 +300380 +150477 +24081994 +21121980 +leipzig +dispatch +27041982 +carlos8 +luigi123 +180294 +cmoney +tylerb +noggin +1Password +as12df34 +rafal1 +517517 +09111988 +301177 +jesika +max2009 +lutscher +cjrjkjd +sushila +010582 +16881688 +552233 +hakuna +180393 +reception +kl1234 +denhaag +zorglub +7070 +201095 +angel78 +25031980 +maryjane4 +220180 +sheva7 +muddy1 +machin +scorpio3 +sawdust +joseph05 +keroppi +lynsey +mollymolly +messages +150979 +cassiopeia +fgdfgdfg +700017 +suman +ak47 +01021996 +twenty7 +barnie +pippo123 +lisichka +liberty123 +wise +kanpur +08031980 +050486 +levani +sardor +kawaii1 +mercedes123 +sallyann +250194 +stefani1 +viktoriy +1488ss +asha +nick18 +23061980 +borris +shadow94 +our3kids +PartSites +1911a1 +mama08 +yankees9 +pupp!e +kyle10 +dogmeat +pepsimax1 +fuck_off +25081983 +steelers! +24021983 +daniel33 +bitch44 +porsha1 +matthew04 +three11 +iluvhim2 +emmalee1 +4043vd +300679 +200400 +021988 +jose24 +123786 +24041981 +sonoma1 +tumtum +84848484 +hotstuff69 +martinez13 +ciaooo +loveline +123456hi +orbit1 +lover4ever +23051980 +198728 +20092008 +8wwH19duyJ +ilovepaul1 +050393 +q112233 +kira12 +seo21SAAfd23 +28011983 +progamer +courtney14 +hailey3 +14041981 +pianist +mustang64 +louise13 +zaharova +mississippi1 +cyclones1 +14021981 +temidayo +miniclip1 +projects +22091980 +ladeda +jak +SEXY +gangsta01 +amor23 +walker2 +18011982 +moncho +pizza1234 +yoyo1234 +lady22 +cnjvfnjkju +MARIE +playboy4 +prettypink +170695 +natalie4 +casa1234 +Shorty +bling123 +pavel1 +diesel01 +13521352 +andrew26 +chomik +crazy9 +mike89 +1982111 +09031992 +galaxy123 +LORENZO +mario15 +112500 +rachel23 +Duncan +june1985 +barcelona0 +lenny123 +1sandra +asdf321 +uIS9Zdgysn +190777 +258013 +djkujuhfl +1188 +tevez32 +061987 +zaxscdvfbg +yoteamo +pinkpanthe +pawel123 +SHANNON +schmetterling +sergey123 +arabia +puppylover +alexandra7 +travis21 +050992 +jkzjkz +littlered +latinlover +090685 +vfkmxbr +lollipop11 +mypass123 +surabhi +danny07 +lucie1 +pisser +jimmy10 +loll +psycho13 +220577 +october06 +babyg +zeus123 +bebe14 +charger21 +bubblegum7 +11071107 +17061980 +thanos +divers +06011985 +buddy111 +pineapple7 +171179 +wenger +redneck13 +210596 +morgan02 +teddy10 +08011986 +Summer10 +frogs123 +poopers1 +19851225 +280681 +11111994 +paola12 +minimoto +11051995 +251176 +200707 +8i9o0p +peperoni +hiphop11 +112112112 +310579 +journalist +ghb +gangster! +175175 +sweet1234 +m2YdEgkDws +110000 +04051982 +candy18 +carambola +kimberly11 +amor01 +narcisse +sasuke22 +rayyan +lechuga +24031993 +jacek1 +���������������� +dkflbdjcnjr +usnavy1 +260180 +ramone1 +craven +254254 +fish13 +pathetic +god1234 +25111981 +vsevolod +floare +04071984 +anaelle +kis +nordic +october07 +seppel +shredder1 +between121 +victoria4 +dashboard1 +romeo13 +sloboda +canyon1 +gunit12 +winter2010 +241293 +081282 +030780 +brainstorm +05mustang +abbygail +silky1 +mother21 +bloodline1 +27111983 +1982gonzo +gollum1 +paul22 +211294 +rezeda +lilmama23 +toto1234 +miercoles +198428 +blond +baby32 +130295 +4949 +10051980 +wawa +777jesus +spike7 +fashion12 +z1122334455 +higher1 +disney411 +gjikbyf +221294 +1samsung +ballin09 +CHICKEN +22021980 +bulldogs10 +babys +wahaha +jayman1 +getfucked1 +angel1995 +ladybug! +derek12 +amber6 +jenny16 +harerama +add123 +02111983 +kittykat2 +brindle +tiffany22 +secret6 +04051993 +fluffy3 +sarumi101 +nd2Ia8v8aZ +nelson2 +02061995 +197222 +3009 +24101993 +hyrule +Timothy1 +eliana1 +24101982 +06051993 +folk74 +crossword +3366 +192939 +naruto08 +domi +sims +20031995 +lovepeace1 +zach11 +040792 +26051981 +12011981 +10051005 +amber18 +belize1 +heart3 +121074 +180792 +punk11 +goldie123 +2xtreme +otherside +198816 +0000011111 +240678 +deerpark +fldjrfn +Ateneo123 +babyluv1 +500044 +190193 +kaydence +greenie +121205 +grace4me +emeralds +james420 +200577 +lyndsay +06091992 +booboo16 +333eee +david28 +fbobh_ +chivas18 +eagles81 +111175 +alma123 +danger2 +150993 +lucky19 +17061981 +blackblack +semperf1 +kanwal +27021993 +nabil +jasper7 +1320 +likemike +kallie1 +Apollo +br00tal +batista12 +gnu +nikki08 +sosodef +1323456789 +192000 +0o0o0o0o +20462046 +04031982 +dagestan05 +andrea6 +mcgregor +050981 +753214 +witspass1234 +1lovelife +ilovemaria +041092 +leumas +batman25 +040477 +spiffy1 +11071982 +mikimaus +zxcdsaqwe +iceman01 +prueba +swimming12 +15041980 +jayne1 +car1234 +jamila1 +RDxyD43hca +kitesurf +2706 +nathan17 +shadow93 +dethklok1 +rahrah1 +121176 +toy +lawless +playboy18 +bigboy15 +061093 +051281 +chummy +25091981 +03091982 +rbrbvjhf +boscoe +jorden23 +05111992 +19091980 +maitai +eric15 +Napoleon +mybaby! +twitch1 +kalinin +aishat +pou +14051981 +060780 +210707 +helives +mars123 +alejandro0 +inlove09 +10041979 +volvov40 +370000 +spiker1 +happy4ever +brandon25 +220794 +020780 +naruto88 +rupesh +25091993 +123456789az +goldenboy1 +lynn01 +666666d +qwaszxedc +deer12 +NIRVANA +151193 +mentiroso +hunters1 +zkexifz +vlasova +george14 +040393 +masterplan +666777888 +gri +love2001 +ja8yc7txs8 +31031982 +mariah11 +maggie00 +notrust +getlaid +mario14 +1samuel +43434343 +princess86 +ilovejay1 +amitkumar +chicken14 +cutiepie14 +huseyin +010480 +198923 +memek +yesica +1001001 +vicvic +5251410 +050793 +080985 +raiders22 +120295 +trixie12 +theboy1 +jezebel1 +diversity +160160 +sexygirl14 +ascona +050782 +coffee3 +Trouble +doctor123 +03041995 +bowman1 +korokozabr +vfvf12 +neversayne +812812 +8282 +roberto2 +30071993 +jessie14 +28081982 +michael92 +���+������� +110331rahili +cloudy1 +leeds123 +25101994 +bullet12 +jazzy11 +131995 +katkat1 +06011992 +physio +farah1 +darker +bitch66 +030781 +02051994 +lucka +shearer1 +flower101 +199314 +otters +wildcats2 +281280 +jaylyn +redsox23 +151984 +alina1997 +cheekymonkey +warrior3 +maria12345 +ilovedanie +usuario +guwapo +sp +sti +sebas1 +huawei +luis16 +271279 +passing +RICARDO +dancer8 +adadadad +godloves1 +mobster +amor21 +21031982 +27121994 +seagull1 +n1rvana +travis22 +free22 +jerrys +22121978 +honda05 +zach1234 +lemming +Charly +chayanne +wasabi1 +lindsey12 +louise3 +29071993 +cambria +05061980 +gecko +2909 +070287 +11121980 +jackie4 +tomtom2 +lover55 +05021983 +danie +250281 +cheering1 +skin +noproblem +1234anna +5121472 +18041994 +grace08 +Norman +24021982 +011282 +reed +shadow91 +arianna2 +libra123 +1softball +08081993 +junior20 +17041980 +13091982 +k.,k.nt,z +080286 +barbie14 +290994 +020893 +zarema +hlubkoj1 +alicia3 +fabian12 +ugly12 +malina1 +neslihan +cupcake23 +username1 +14031980 +janssen +0610 +wrestlemania +sombrero +bigdaddy01 +belial +springsteen +brenton1 +anita12 +marylou1 +good123456 +180000 +13qeadzc +141980 +gixxer +chiva1 +jes123 +saad123 +cheese1234 +14011993 +camels1 +15091980 +tylers1 +100195 +25041994 +gmail123 +linux123 +280994 +hfytnrf +110996 +hydro +peppie +anvils +200593 +forensic +Valentin +skates1 +ludmilla +060608 +sledge +daughter2 +04200420 +mary10 +MAHALKITA +cvcvcv +avocat +miller3 +161179 +faggot69 +denisse1 +alex85 +arsalan +vanessa15 +weed21 +nigga21 +michelle0 +komltptfcorp +r2d2 +filipina +19121995 +karens +220875 +shenlong +69qd5CgxhU +daddysboy1 +15071980 +180193 +sexi12 +godzilla2 +collect +161984 +teamo3 +artwork +lakeview1 +gilang +muffin69 +040992 +260679 +cypher +140677 +sex69 +pepsi13 +cute01 +harmony2 +super23 +kushal +loklok +chris32 +brebre12 +mawmaw1 +doors1 +thatcher +261177 +biteme3 +81818181 +postcard +010309 +21111980 +curtis123 +greater1 +060781 +babie +250979 +jabroni1 +15071994 +jack00 +1myspace1 +lakers5 +fenton +hannah69 +nicusor +120996 +jump23 +d666666 +prince5 +annamarie1 +AnneA +99990000 +happy16 +peanut. +mommy06 +28021993 +renae1 +vinter +gamma1 +230678 +inuyasha123 +logcabin +manuel22 +lab +athina +dave69 +220994 +vinod +Blacky +031181 +titouan +karabo +junejune +ilovehim14 +17121994 +020679 +050884 +1934 +198128 +glock +hayward510 +prateek +divino +flyleaf1 +147896325a +smoke14 +22051994 +monkey12345 +kayak1 +garnet1 +nathaly +blbyf[eq +20021994 +discipline +910910 +may1994 +fredy +thunder69 +�+������+�� +ilovejosh! +a321321 +playing1 +prerna +12091993 +peter1234 +25111993 +westbrom1 +greatgod +chula +800020 +denver3 +17061993 +harley98 +brat12 +bigdog01 +11021995 +tanner10 +zack11 +1jessie +161093 +milo1234 +walton1 +070492 +cola123 +nathan00 +chewey +cinderela +smasher +brebre123 +chiquitita +branson1 +hippos1 +12340 +1night +25121995 +010579 +lamejor1 +shimmer1 +babyboo13 +24101981 +lensois +050578 +rfktylfhm +181989 +rising +190992 +sophie99 +291180 +maxim123 +400007 +110793 +10071995 +qwerty4321 +turtle21 +201193 +02051978 +lebesgue +johnathon +ялюблютебя +301178 +20031981 +erine! +16051993 +290579 +121204 +corinthian +05031981 +Wolfgang +johncena13 +shaka1 +swiss1 +mindy123 +197412 +lauryn1 +daria1 +120800 +koko1234 +savannah01 +shilo1 +blabla2 +08041983 +getmoney! +authentic +Slipknot1 +STARWARS +230477 +1325 +brayden2 +amber07 +bakers +robina +white2 +sakic19 +argento +03061980 +farthead +cerebro +MARIANA +240393 +150894 +kaspersky +tweety9 +a444444 +repbyf +Hammer +jughead1 +free13 +140477 +250578 +gemelos +130279 +point1 +petike +mary15 +southpole2 +10261026 +mike27 +fy +sealord +10071994 +030583 +grinch1 +hbk169 +20000000 +sponge2 +03101983 +cannibal1 +dragon2000 +081295 +130596 +3.14159 +semen +tony17 +omglol +maramara +seafood1 +kickit +crapper +ginger. +pepe1234 +doggys1 +lkjhgfds +coco15 +tryme +nicole90 +eggnog +moneyman2 +kevine +wexford +130595 +25091982 +188188 +ross123 +marvin01 +chester13 +pockets1 +riley08 +champ12 +carneiro +kamal1 +bigred12 +denilson +040984 +bullet2 +190492 +candy17 +hollywood0 +14121995 +joey14 +pass_rRR +worcester +Bernard +frantic +november07 +ras +mmmmmm6 +171983 +pimpdaddy2 +michael200 +plato +19031994 +love888 +rani +stephon1 +diosteamo +250178 +20022003 +spirit7 +bebe1234 +azure +elefante1 +Pumpkin +blue1 +fanny123 +angel321 +987654321l +141177 +2912 +110179 +tigers05 +091987 +busdriver1 +boludo +elephant! +2021 +lily11 +111968 +290182 +jonas11 +sekolah +ooooo0 +07081982 +barton1 +nikki07 +bit +bella8 +1eagles +yoohoo1 +matias123 +sd123456 +wisdom123 +fenix1 +bcgfybz +1523 +080786 +cool90 +fangfang +26021982 +bebe22 +111176 +13081994 +alex1979 +26081993 +19081982 +bbb111 +azbuka +irfan +county1 +paris13 +150278 +14701470 +toots1 +oluwaseun1 +123w123 +inlove13 +DAKOTA +197610 +recoba +mariomario +fatema +july2801! +vologda +interesting +biteme11 +boluwatife +batman33 +rfvbrflpt +iceland1 +29081982 +love2004 +kyle21 +blueangel1 +bvgthfnjh +pac +9632587410 +chelsea26 +cinders1 +insomniac +05021981 +140979 +ninja3 +hollywood4 +19411941 +041181 +aristide +flapjack1 +301079 +nokia73 +220778 +полина +lillypad +06081983 +roger12 +102080 +adriane +margit +qwerty34 +090387 +loveme143 +nintendo12 +14091994 +20051993 +141079 +sukkel +270382 +07101962 +mellisa +huguette +19031982 +pattie +19831984 +ckflrbq +vjkjltw +kanchana +july2006 +200780 +Creative +naruto98 +05101981 +cookie33 +merced +sparky22 +scott13 +831220 +mollie12 +mari13 +torrents +hotdog5 +incomplete +evh5150 +0712 +chip123 +280879 +armyman1 +fabric +press +groucho1 +woo +121273 +141077 +phil123 +universitario +parker9 +nita +hooters69 +generallee +damien666 +pentax +release +ironman123 +611611 +winky1 +choice1 +080683 +180481 +playboy10 +artemisa +child1 +anna1999 +gesundheit +shop123 +gothic123 +goodgame +prestige1 +bubbles07 +thug101 +pooka1 +25041982 +harleyd +panthers10 +270480 +bhagwan +feuerwehr1 +jake05 +lilo +boyz2men +p0kemon +09121991 +families +gfhjkm13 +102090 +colts123 +daisy07 +june1991 +101110 +the1ring +sexydiva1 +12345678910a +150478 +15081980 +jamie7 +27071993 +smurfette +199202 +karlita1 +8thgrade +supersexy +thunder6 +darinka +designdeal +david2009 +scooter22 +bigbucks1 +nyyankees1 +strauss +frighten +magic8 +gumdrop +dreambig1 +922i4Ceebk +poop33 +danny18 +04071994 +poopstain1 +homedepot1 +padmini +greg1234 +7777777m +271983 +jasper22 +cowabunga +sayang12 +hello2you +kisses4 +198828 +archimede +240779 +niceguy1 +superstar0 +he +feedme +16091982 +daryl1 +19921993 +nala123 +catsdogs +k123123 +24121994 +baby2005 +student2 +19861987 +08091994 +jeremy14 +031293 +buddy99 +innocuous +magic23 +drinking +020981 +111111e +jinky +sillygoose +billyjoe1 +cutiepie4 +BRANDY +27101980 +edi +hatred1 +ravenclaw +marijana +thanhtung +scooter10 +summer18 +240578 +010991 +010794 +031985 +fallenange +jeannot +020694 +garrison1 +240180 +runescape5 +saltwater +damn123 +24041993 +valerie2 +sasha3 +090892 +roma1234 +emily21 +daedae +sweets2 +lovebaby1 +purple95 +19071980 +spider23 +1521 +223856 +loki123 +210478 +mother13 +snoogans +heather9 +198301 +marmaduke +pregnant1 +christmas! +diediedie +patti1 +minemine1 +lilly01 +tumble +1357924 +geranium +07111991 +31051982 +anna16 +30121993 +sweetone +qwertyui9 +trupti +shakir +madcow1 +dude14 +jeeper +mamamama1 +anthony77 +spongbob +lovebug7 +canddcard1 +01101981 +kingfish1 +zahra +darth1 +abd123 +june1995 +miller5 +horse3 +tinka1 +rolly +Stargate +nokia7210 +180878 +freedom77 +malcom1 +hailey06 +moh123 +120806 +765765 +perfect7 +seahawk +123456da +papaji +amauri +king20 +jamie23 +brittany9 +negro123 +deangelo +love65 +3kids4me +booger5 +hanahana +123321l +vishenka +sasa12 +quetzal +6060 +251988 +redsox15 +sanane1 +07031983 +marinero +kiklop +remy +baby321 +ventana +27061992 +070182 +020493 +colacola +David1 +holly11 +010394 +0666 +66668888 +sl1pkn0t +skater. +231990 +kayla21 +16111993 +05031982 +170879 +302021 +060793 +angel420 +allstar123 +070880 +Brianna1 +17021981 +ara +akucantik +25021981 +florinda +191983 +20091981 +advent1 +clara123 +brittney12 +rusty11 +robertson1 +sissy12 +sayangmama +010882 +belle2 +anjinho +kevin20 +route666 +baker12 +09081983 +13061995 +melissa6 +030483 +090684 +eric10 +caneta +171990 +taras +purple66 +22011981 +619619619 +240793 +191280 +cindrella +mugwell15 +260493 +1casper +071084 +tangtang +fisica +Knight +frog13 +sanchez123 +katushka +august04 +uandme +woshiwo +angel84 +pavani +kajtek +amelia123 +tamiya +fifi123 +ghislaine +19822891 +titanic12 +melissa16 +stardoll1 +riders1 +050507 +miguel22 +fktirf +toy123 +layout2 +190882 +elendil +20081980 +nikki18 +mate1.com +03101981 +jay12345 +blackass +sports23 +notice +sugar01 +Molly +sayang89 +07021983 +zcfvfzrhfcbdfz +xxxyyy +logic +shireen +alb +lilmama08 +fouzia +victoria21 +gooner1 +07011991 +address1 +fines +65432100 +vladivostok +foodfood +17071980 +01011969 +plonker +chile1 +0307 +261094 +0406 +junior03 +thiago123 +zxcvbnm123456 +shearwater +210677 +anastasiy +dreamer12 +AAAAAAAAAA +yorkshire1 +1joker +jacaranda +courtney01 +saxman +060679 +26111981 +140180 +130977 +player6 +18051980 +miko +fandome1 +180280 +199610 +keke11 +manorama +burgers +forest123 +favola +04021984 +loser08 +21071980 +satya +17041982 +andy1999 +god12345 +200477 +qwerty1991 +heyhey! +sammyboy1 +goonie1 +aa1122 +cjymrf +020408 +skater17 +master! +dylan05 +morocha +bum +199122 +12304560 +qaswed +moonie1 +fernando13 +caren +darling123 +21121981 +310879 +berkley +19061995 +379379 +catwalk +lorena12 +panther11 +shorty19 +killa11 +monkey86 +buenavista +010280 +swim123 +091192 +cuddle +pounds +mantap +orangejuice +010174 +08021983 +25052505 +albert5 +yomoma1 +491001 +121099 +12091980 +acer1234 +22101994 +vangogh1 +28061982 +danilova +fubu05 +110977 +mirjam +sugarray +mountain2 +helium +angioletto +090284 +alaska12 +2607 +051279 +s1lver +Toyota +singer123 +amruta +nurul +pancho12 +dominguez1 +belinea1 +20101979 +fantacy +Sabrina1 +01031995 +chrissy2 +140393 +020881 +enculer +coquelicot +060285 +anthony200 +199219 +1607 +rvd420 +117711 +zion +280781 +020381 +mk123456 +290380 +annie3 +assmonkey1 +jessie5 +pink87 +20101978 +bpvtyf +zhangjian +anjing123 +samreen +Miranda +george99 +phoenix5 +chucks +240404 +leonidas1 +121969 +22111981 +scarface69 +15051994 +santos14 +daisy8 +samatron +nigger22 +112123 +missy22 +ethernet +karpov +caramelito +oscar23 +isaiah07 +141978 +15251525 +02111982 +andy23 +traxxas +karate12 +biggy +viktoria1 +cheeba +09111983 +bball101 +orchestra +mazda123 +allmine2 +05081982 +112277 +beerpong1 +justin89 +bohemian +classof2010 +nantes44 +yaya12 +teresa2 +03071993 +22041994 +assault +pusher +alaska123 +wright5 +acer12 +1979pool +vulture +070187 +0206 +stjohn +210779 +azerty00 +caridad +millenium1 +cookie45 +cheesehead +raiders8 +211177 +124421 +evan11 +whatever01 +keri +23081981 +13071981 +mortadelo +150793 +treehugger +tink09 +260478 +black19 +random! +peace4me +meme1234 +daulet +12011980 +20081994 +1318 +170793 +determination +tripod1 +2803 +galinka +siete7 +teamedward +rashawn1 +30011980 +daniel30 +10fingers +20111980 +adam14 +azeqsdwxc +jordy +kak +monimoni +08081979 +redmoon +football48 +zaharov +kenneth3 +Newyork1 +keagan +198925 +timeless1 +18061980 +020278 +paige3 +boston13 +anytime1 +02022002 +jacoby1 +060593 +yourock1 +numbnuts +030782 +198629 +yatra +a1234b +stanley123 +marshall12 +twista +2rOH8tl433 +greenday4 +gfhfyjz +loveyou6 +machete +220296 +bootcamp +150677 +solcito +jalen +12121975 +140493 +14031993 +shasha123 +sk8erdude +011985 +jaychou +bigdog23 +100476 +caballero1 +srisri +leah12 +june1989 +luciana1 +lorenzo2 +streets +universum +7171 +eagles4 +Beatles +luckyy +140203 +gabby10 +oxymoron +9uzp9jEk3F +Dolphins +160178z +31011994 +babyboy16 +ranch1 +230593 +freepass +godzila +041081 +pilipino +brent123 +081293 +mikejones2 +1357913 +18091993 +vfnehsv +spartan300 +bubby123 +15231523 +barbie8 +walkers +brina1 +26101981 +jackass23 +17101995 +milos +09110911 +xavier23 +060185 +160394 +21051994 +playboy09 +SyncMaster +buttermilk +lawnmower +wertyui +blast1 +290493 +goncalo +killas1 +evan12 +sweet07 +02101995 +driftking +marc12 +dolce1 +27081993 +traveler1 +matthew19 +flower16 +fenrir +sumitra +ll123456 +katharine +tiffany8 +261077 +p00pp00p +Cdtnkfyf +konichiwa +0207 +198204 +bubba1234 +100196 +sweetness3 +28051980 +Maverick1 +besties +basta +burlington +dro +220396 +hater12 +michae1 +02081977 +lowlow +lightblue +26071993 +niceass +moosehead +081283 +kenny3 +fungible +130696 +elixir +totoche +dimaraja +199022 +19071996 +buddy16 +mishanya +vaz2110 +james03 +18101994 +games2 +teaser +kanishka +jake16 +fuckingshit +alayna1 +darkness7 +150394 +mul +casino123 +mother10 +101200 +valentines +2587758 +babyjack +dreamer8 +sexme +dal +mate123 +b123123 +pappa +honda91 +june1982 +lola01 +sleeper1 +zabava +harvey01 +lover33 +sunnyside1 +12051978 +13061981 +tomass +141277 +2thick +bebegim +manjusha +adrian15 +vanessa! +sonic10 +salas831 +dank +xzsawq +james02 +cabaret +froggy5 +frenchfry1 +lovehurts! +joshjosh +triple7 +solomon123 +sandeep1 +mini12 +compaq6720 +djamel +1love1life +champion12 +kingdom123 +abu123 +19031981 +stacy123 +hotti3 +01061994 +02051979 +060584 +olololo +klaipeda +gangsta9 +angels10 +dragonite +SERGIO +101275 +80808 +bazuka +karla12 +030479 +jaguares +geoff +140679 +dateme +poipoi1 +eadgbe +buddylove1 +musicas +260978 +25041995 +banana. +0302 +papoose1 +tonio1 +roza +sigmachi +mariah13 +myspace91 +281988 +196600 +10271027 +198408 +020980 +blackdeath +utrecht +271177 +kristina12 +220279 +david02 +polochon +04061980 +kx250f +091988 +marie26 +hayden11 +raju123 +fisch +bobby21 +aladino +0p9o8i7u6y +mario01 +farmers +252 +thunderbir +sportster1 +usman123 +010780 +topography +shanda +elmo22 +napolean +05011993 +sidewalk +promise2 +valiente +marcel12 +steffie +sravani +shanker +d2xyw89sxj +bahamut0 +joker10 +swed420 +vagner +01111990 +miranda13 +caspar +honeyhoney +Denver +18081980 +16091994 +sonyericson +grocery +marimba +merlot1 +smalls1 +chris2007 +ohsnap1 +john19 +gamestop +redneck101 +like123 +kimberly13 +z1x2c3v4b5n6m7 +marinochka +160292 +05011983 +1yahoo +kolo +furious1 +13051977 +rosey +coondog +aman123 +04081982 +426426 +1248 +madsen +080792 +patrick09 +luansantana +552211 +lecturer +cindylou +kamel +antonio4 +gigi12 +joker420 +1animal +flash2 +stratton +jayjay10 +cardona +190192 +spiderman. +jumanji1 +coolme +30031981 +gemini5 +xiaoqiang +mickey101 +touch1 +reese123 +magistr +yesiam +151294 +jason06 +mama33 +LOST4815162342 +nasigoreng +bogey +katie16 +17051980 +december09 +sonic11 +annaliza +281194 +987654321p +161992 +kimberly7 +27101994 +781028 +329210b +kevin19 +sp0ngeb0b +adolfo1 +slipknot10 +300980 +jumeaux +mission2 +cardio +sebast +564564 +08031982 +pAss2244 +fuckstick +pumpkin8 +300879 +mark15 +missy10 +surinder +celebrity1 +samsung. +jackie21 +canadiens +kisses13 +070582 +240182 +hubby +jazzmine1 +comet123 +sexi +shadow66 +meatwad +190880 +hell12 +medvedeva +666aaa +25011995 +healing1 +starbucks2 +876543210 +lovinlife1 +12e456 +metallica666 +thunder22 +charmedp3 +fadila +785412 +290392 +08011993 +puppy9 +k1k2k3 +gouranga +griffey1 +serser +03111991 +xpr4Bf29uX +dima1987 +adela +padmaja +21071994 +150678 +a1z2e3 +29071982 +1924 +bear2327 +mamateamo +123451234 +31415 +swiss +02051993 +da1234 +a123789 +period +kamilek1 +justice3 +000000l +QWERTY1 +froggy3 +sss333 +montez1 +iloveboys! +jeremy07 +Ricardo +juliya +texas817 +newboyz +ghzybr +coracao +firewall1 +skate15 +medusa1 +12345678999 +jordie +katerine +sexygirl5 +Jenny +1029384756q +210594 +04111985 +28011981 +june2003 +RJGo7We138 +18121995 +calgary1 +801018 +uyqlvip773 +huy123 +joyous +valeria123 +nirvana13 +brooklyn10 +casper23 +lissa1 +30031994 +jeremy08 +shoe +020579 +mykids123 +01011967 +halfpint1 +261292 +max1992 +tomislav +sunglasses +cali22 +timelord +08061984 +sassy69 +naynay12 +toonarmy1 +270191 +nowayjose +guru1234 +1savage +housing +ilovejen1 +kickass123 +140297 +cocky1 +28011994 +kayla06 +balerina +081080 +gardening +killa21 +bigdave +hello08 +040882 +rebekka +DsmVssQ955 +life1234 +cuddles123 +elijah05 +computer0 +200978 +1234aaa +eeyore123 +brooklyn4 +moon13 +kristen123 +cubbie +gaysex +25081993 +loveyou69 +bunker1 +gunner01 +safiya +271986 +george08 +seba +renee11 +25632563 +burn +dnflwlq +kal-el +steelers13 +audiq7 +05121981 +25052005 +woshishei +250479 +271295 +smelly123 +handy +198313 +311079 +jess14 +yellow18 +19081980 +gordo12 +11111w +veronica13 +e6pz84qfCJ +pinoyako +playboy8 +bffl123 +061294 +cubanito +040983 +15031982 +fofinho +love74 +cameltoe1 +030306 +100177 +14041980 +198688 +azert123 +mur +31121994 +maximus2 +aen: +alpha12 +fucku666 +tomcat14 +star27 +070283 +440022 +steph11 +chelly +mandie1 +teleport +bluebear1 +bassbass +bluejeans +music16 +spaceship +pookiebear +sanchita +godblessus +1234567890. +link11 +02031978 +boricua12 +ranger13 +pachuca1 +070687 +240679 +cdexswzaq +08011985 +791028 +198308 +cutie06 +drummer7 +enzyme +sloneczko1 +12021995 +seashell1 +59595959 +nusrat +js123456 +maxwell11 +danielle09 +600006 +min123 +100377 +purple34 +nino123 +unfaithful +lalo12 +27121993 +040693 +shannon69 +killer56 +14785 +2525775 +crazyfrog1 +13121995 +neville1 +050186 +03111990 +zamboni +cunt12 +060392 +krasavchik +babymomma1 +CUTIE +041184 +vander +fatboy5 +hello89 +centrino1 +081182 +3stars +ss23081937 +dragonbal1 +beccaboo +amazing! +24252425 +angeline1 +dravid +310893 +12345678A +16041981 +jennifer08 +norfolk1 +candycandy +20071995 +mimi15 +hotmails +14031981 +130180 +251077 +11001001 +mathew123 +w1lliam +icanfly +tempus +colgate1 +ohyeah! +170979 +031080 +apple16 +17101980 +kamari +royal123 +asher +rodolphe +21061995 +23121996 +060386 +amylynn +130877 +aggie +scareface +babyblue3 +stillwater +15021981 +diamond16 +john88 +281990 +20121981 +louann +mememe! +16031982 +icecream10 +31101982 +scubadiver +baobei +patches3 +huckleberry +kbpfdtnf +happy18 +buster00 +meow11 +090384 +edward09 +aniya1 +270380 +mouse3 +111111prof_root3.sql.txt:, +monolith +qwerty000 +tattoo69 +markanthon +feefee1 +junior99 +habib +danny! +Phantom +leoncino +anarchia +amazing123 +laura21 +prieto77 +adelina1 +France +abcd11 +seychelles +redhead2 +270280 +emily99 +trustgod1 +guayaquil +firman +bulgaria1 +q8a74IppxD +23111981 +230878 +monster88 +1289 +coolchick +250495 +30111982 +cat111 +zxcvbbvcxz +lucerito +schwanz +kokoloko +pink03 +22111980 +02011993 +robert27 +hartford1 +robbie2 +rascal11 +gianmarco +price +fencing +130694 +what11 +cuban1 +fairfax +hortense +katie8 +112001 +straight1 +25362536 +brenda11 +squeeze +14091982 +vipera +cardiac +qawsedr +pass99 +28031981 +hellya +07081983 +virgola +411030 +toolbox1 +141094 +norcal14 +170395 +david007 +menthol1 +luscious1 +mansfield1 +040780 +secret4 +nikita01 +herminia +221295 +werthvfy +kubus1 +huhu +mallrats +020378 +jack2008 +300480 +emirhan +czarek +henry5 +theater1 +BqkTqqN844 +touchme +asdfghjkl;' +bitch05 +dragon32 +champ2 +09111986 +lilly07 +530016 +120474 +petrol +delano1 +1element +170181 +tamarindo +sur1313 +081187 +050980 +drumandbass +oskar123 +67chevelle +teresina +match1 +kokowawa +points +anna2008 +marhaba +devilboy +mylove10 +dirty69 +198213 +040608 +040387 +diamond15 +volvofh12 +2234 +kaligula +290393 +dylans +marvin2 +patrick18 +psycho666 +garret1 +budwiser +antonio8 +sasha1999 +110196 +HGxnewx11 +India@123 +matheus1 +jazzbass +david777 +13081980 +georgia7 +shoaib +june1992 +310194 +checking +rock21 +peugeot307 +amin +daddy24 +imfake1 +1runner +ivanko +number16 +godsgirl +070383 +199121 +31081993 +pizza4 +daydream1 +dillion +concert +270681 +tigger03 +23071980 +samvel +110295 +ast +19061980 +230896 +courtney4 +mai123 +trollface +veterok +xswzaq +tucker10 +310195 +chamber1 +227722 +04121983 +mcfly123 +brooke14 +665566 +100178 +yfnecz +gabby7 +Caroline1 +oilers1 +silk +isaac2 +gemini3 +323 +purple0 +diva10 +06121993 +seduction +400400 +dogdogdog +12041996 +Vincent1 +barbie09 +12071980 +06041993 +grad09 +wheelchair +0910 +jackson21 +12061996 +salvador13 +righton +miguel3 +09876543210 +amaral +orbita +mylove12345 +hottie33 +lucylou1 +katyakatya +040479 +damir +1211123a +varvar +mk1234 +13051305 +sandara +09031984 +law +080991 +fkkjxrf +anastasija3010 +ridley +samantha09 +pussy24 +nika135 +24051995 +doggydog1 +froggy! +21031981 +redsox18 +271094 +inmaculada +iloveu09 +061278 +mynameiskhan +pulsar150 +04051995 +09121982 +sunshine89 +Tyler +chase3 +pippi +alexis18 +sydney99 +mollymoo1 +200101 +23051982 +080489 +cancan1 +valent +130693 +vincent3 +selassie1 +SAKURA +kyle14 +poooop +281179 +sadie7 +matej +trewq +211179 +jeck23 +071083 +iloveshane +cannonball +MARVIN +gemma123 +18041993 +asdf1 +clare1 +julieta1 +freewilly +allstar7 +sucker123 +010680 +kaname +kaycee1 +19841012 +dcshoes +3e4r5t +ceramics +183183 +271985 +06061979 +150381 +brian10 +25101980 +tibia123 +goyj2010 +fff111 +salina1 +swamiji +���� +22051981 +meena +woof +tabaluga +beanhead +sexsex123 +bauer +persempre +elcamino1 +buddy24 +shadi +baxter11 +Yvonne +scoobie1 +130179 +070483 +janina1 +matrix22 +passwort123 +09091979 +super9 +ferfer +asdf22 +ppp111 +simple23 +jewell1 +cacaca1 +mychildren +spices +28031994 +janek +sleeping1 +040390 +savage123 +cassie14 +ichiban +madhavan +party! +fake22 +14111411 +sweetp1 +verde1 +louna +newme1 +rattler +sneaker1 +0609 +05021982 +bos +katrina123 +111174 +211295 +280579 +03031977 +monica21 +denise10 +mortis +dodge2500 +chivas19 +pinkstar +maggie33 +mybaby08 +jamaica12 +kaydence1 +alexis24 +domina +12011994 +icehouse1 +amor18 +sucka1 +timileyin +angelidis +241077 +buster55 +oliver23 +29031995 +joedirt1 +laura7 +jayden5 +stacey12 +fuckyou92 +keren +fishies +matrix99 +070882 +joseph06 +eazy-e +peace21 +bitches4 +21101980 +2910 +200908 +money32 +400070 +daniell +261178 +9009 +missyou2 +banana23 +jasmine99 +14071980 +227227 +g-money +jh1234 +a4s5d6 +08071989 +jennifer17 +kexifz +merveille +capricorn2 +jayden4 +10011995 +iiiii +guadalupe2 +�����123 +aishiteru1 +0407 +27041994 +220377 +joseangel +120375 +cupcake14 +juniors +lalelu +Paul +peanut16 +salimata +321789 +mother02 +bluesea +150505 +16031981 +omowunmi +obama2008 +llewellyn +hello666 +1472583691 +nikita13 +mariah3 +otter1 +gato12 +derrick12 +andrew101 +30091994 +joesph +chola13 +khmer1 +travis23 +nikita1996 +alisa123 +bratty1 +babeth +ac123456 +Larisa +rocket2 +gage +20121204 +bakekang +bringit +12345ta +woodchuck +15101994 +arsen +pepper07 +angelfish +28111980 +110807 +jordan92 +september21 +2loves +shenmue +cowman +nicholson +ellison +iwonka +ghbrjkbcn +2521 +270579 +07111985 +sizzla +01081995 +michael93 +nonlaso +dog4life +sorokin +seeker1 +trouble12 +marcin123 +15031981 +090292 +weed4me +numlock1 +ramzan +donomar +22021996 +16031994 +sexymama13 +boncuk +frenchfries +aigerim +eyecandy +120576 +meghna +tomate1 +atharva +08111986 +freak101 +cooool +reggie01 +01091982 +230179 +dumbass123 +natalina +ballin69 +rebecca13 +260579 +laura15 +batangas +lj +aurinko +belfast1 +yayaya1 +snoopy8 +samuelito +phoenix11 +lorene +rfvbkf +122100 +vikings11 +omari1 +candybar1 +argentum +orange25 +zebedee +hatter +skate. +dream7 +audrey12 +FrqNj0Zf5P +hawaii5 +deedee3 +ulysse31 +181093 +hector13 +naruto69 +lydia123 +180493 +610610 +111211 +070485 +babyboy06 +moonspell +hellbound +kayla69 +010809 +3825 +197410 +starshine1 +debby +taylor20 +dodgers2 +560070 +sprocket1 +booboo15 +tino +script +kikito +dragon05 +Dkflbvbh +albert11 +AAAAA +ed123456 +omshantiom +qqqaaa +matt101 +3Odi14ngxB +251195 +friendofEarning$1 +has +pickles7 +faggot2 +gracie06 +170380 +666666666666 +zucker +carlos08 +biskit +iloveme08 +matrix69 +peaches8 +imcool! +123231 +22081994 +orangutan +100994 +090385 +bulletproof +lucas11 +thirty30 +huang +pilar +booo +olimpia1 +sole +10091981 +trewq1 +allstar3 +7things +chaos2 +daisy21 +131992 +ALICIA +salamsalam +windows95 +blood59 +27101993 +filthy1 +schuyler +strela +stiffy +princesse1 +devon2 +parovoz +telemark +agriculture +31071982 +180480 +anamarie +chilango1 +peapod +party101 +210377 +anacarolina +casey13 +kolovrat +010894 +glory123 +God +shadow44 +monique13 +proute +queen11 +petrenko +jack12345 +asas12 +katie101 +cogito +micorazon +flower99 +travis69 +06111983 +29041980 +megan22 +369123 +fgntrf +total +02041979 +12gage +april02 +blackgirl +crjnbyf +barbie15 +mylove07 +iloveallman +281986 +buster33 +1345 +idon +080706 +bulldog10 +cradle666 +cashmoney3 +przemek1 +ernie123 +bluejays1 +280294 +co2006 +bree +novosibirsk +mike2008 +jason9 +bartok +Maggie1 +356356 +fucku8 +20011979 +ilovechad +kupa +14021996 +16031995 +michigan2 +ilovegod12 +i4IfBinFyu +10161016 +Beatrice +katrina2 +jennifer16 +tanmay +philip123 +deadspace +30081994 +170195 +surfer12 +iloveyou34 +chivas4 +a99999 +darkdark +sanmarcos +sadako +wipro@123 +Falcon +suzy +5times +vacaciones +19861120 +fuckaduck +wallace3 +ihatemylif +ethan04 +tigers8 +coolboy123 +blade3 +holaquetal +dimdim +ajnjuhfabz +137955 +scrapbook +FTrCVh5732 +06111992 +tirupati +interface +mina123 +june1984 +151988 +asad123 +pearls1 +09071989 +alyssa23 +ranger5 +tennis23 +pinkys +11121995 +aenima +paolina +pinklover1 +maggie02 +nafanya +sage123 +captain2 +goonsquad1 +pimp32 +apples13 +verona1 +44 +071281 +rostislav +cancro +nokiae63 +amos +mercedes3 +jesuslord +ksyusha +bermudez +123@abc +sundrop1 +misato +cdtnf +051292 +chris94 +ashok123 +january01 +jose12345 +071985 +wendy12 +granville +diana10 +леночка +281178 +dummies +11091981 +loveme89 +400610 +pilsner +holybible1 +domini +afdjhbn +arnie +biglove +Yaorqw12334 +m0ther +1930 +puppy4 +rainey +180782 +disturbed2 +tipsy1 +mosdef +likehouse +030809 +narkoman +gypsy123 +050809 +marcus07 +:lol +capri +27121981 +lelele +gibson2 +29101994 +Trevor +tracks +master24 +400026 +deathstar1 +171992 +lorikeet +darkdragon +papers1 +megan14 +storm12 +catracho1 +221077 +denis1998 +pacers31 +jazzer +wewewe1 +ohmygosh +forum1 +1adrian +23071981 +alemanha +coffeecup +12021979 +17031981 +lucia123 +qwer5678 +pinheiro +500017 +principe1 +greenday21 +zebra3 +neelima +brittany. +chelito19 +13061993 +14081981 +020380 +milford1 +ploplo +vlada1206 +181179 +gabriel9 +elrond +03071982 +whiteangel +01081978 +Exi +sprint01 +guitarist1 +svetochka +messier +cheer16 +Howard +stephanie6 +peace15 +220977 +mermer +monster24 +7777777d +151194 +250195 +30031980 +kasiunia +19111993 +getreal +aol1234 +151276 +091280 +fred13 +fish01 +yfl.irf +wiggins +star1 +12061995 +jimjam +maggie9 +Guinness +iloveme10 +yellowbird +booba +managua +130394 +miguel21 +12121997 +godsgift1 +13061980 +soccer56 +bitches7 +281177 +198915 +poolpool +mustang86 +qureshi +tooltime +chatty +411013 +010695 +perritos +loser0 +isabella7 +frankie11 +love213 +mickey77 +1hotmail +yelena +chile +lilmama14 +1q3e5t +cherry17 +rickross +shootingstar +1234567890abc +boomer22 +bintang1 +bubblegum! +220479 +330033 +rebirth1 +puschel +fortytwo +123123t +protected +cable1 +jetski1 +17101993 +arjun +brandonlee +tretre1 +colby123 +14101994 +kittens123 +pollard +giovanni123 +popo1234 +300391 +nikki101 +mirjana +000023 +initiald +viktory +24071983 +hailie +crawling +skater1234 +polaco +makarenko +sunny3 +ambers1 +myemail +061180 +24051980 +astaroth +ace1234 +03071980 +laughing1 +160894 +ghost666 +shovelhead +dirtbikes +nascar17 +steph3 +18071981 +jeffrey12 +21081980 +coolcat12 +thenewozer +gatubela +gladiolus +198517 +29121994 +munchies1 +borrego +anatol +chris91 +boondocks +$HEX[687474703a2f2f777777] +17111993 +070583 +computer6 +alex4ever +blinkme +whatnow1 +shotgun2 +konfetina-kis +meesha +nokia12345 +geujdrf +qazwsx3 +barracuda1 +fester1 +79641777070 +nothing7 +xavier10 +lulita +198001 +Ferrari1 +15041981 +musicislif +sillyme +110279 +dasher1 +cyecvevhbr +natala +060193 +love121 +killer94 +pus +ganesha1 +nintendo2 +chandler12 +duisburg +scott23 +hunter19 +v00d00 +01071977 +pukimak +sukabumi +bashiru +guitar23 +1a2345 +potato123 +anna1985 +february13 +barbie16 +tralala1 +010409 +pixies1 +juicey +010578 +jack77 +fannie1 +270794 +conner12 +151277 +omgomgomg +mullen1 +professor1 +22111979 +pollos +crowley +daddysgurl +26121980 +mikki1 +pepper101 +afbic +tafadzwa +afreen +050894 +iloveyou87 +madden11 +001971 +pigs +qweasdzxc12 +holdon +iloveashle +070993 +03011983 +wales1 +brandt +quan123 +elsie1 +crapule +birdy +17091981 +judyann +317317 +molly14 +iamsocool1 +washington1 +nnenna +himawari +money4life +surfer2 +654321r +izmir35 +murder187 +21091980 +manojkumar +nadroj +03121982 +mustang200 +mariana12 +230394 +mama1 +k654321 +radiology +com123 +mangos1 +3107 +loveyou +122017 +woaini1 +01011961 +qsefth +Thailand +Margarita +jimmyboy +221076 +flores123 +jealous1 +12041978 +dragon94 +victoria19 +leet1337 +120796 +pantat +javito +250179 +dannie1 +270693 +jordan28 +papoose +123eee +enrica +summer2012 +maverick2 +fam +desertrose +uruguay1 +121315 +amalie +laura23 +hammer01 +612612 +manuel21 +legaspi +maggie16 +torrance +proutprout +martel +orange20 +delicia +41563445 +sexton +120573 +grandchildren +spencer5 +delacruz1 +500060 +redlion +060583 +nika123 +theanswer +samantha69 +villanova +h4ck3r +killaz1 +21102110 +jesse10 +qwerty26 +fountain1 +130177 +!@#$%^&* +basketba +ru4real +skullcandy +110120130 +1sophie +humanoid +14725 +��������� +140277 +happy2day +unclesam +090891 +qwas +fresh13 +vatoloco13 +pookie5 +05101982 +lover19 +9xx7c8GseB +110699 +rangers01 +ibookg4 +angie01 +jessica27 +tiffany6 +198903 +candy24 +boutique +june2010 +qwerty2009 +tony08 +heccrbq +meerkat +triforce1 +efsane +321478965 +130878 +250478 +armyman +rockstar6 +fordfocus1 +2517 +lablab +070807 +070992 +duke3d +chips123 +122016 +kitty99 +junkmail1 +140878 +soccerboy +omsainath +820919 +hardcore88 +eulalia +26011980 +popov +1q3e5t7u9o +197211 +lakehouse +untitled +pimp89 +tawanda +199321 +spaceship1 +forfun1 +cherise +zxcvbn2m +191193 +bella24 +ghghghgh +whiterabbit +19021994 +orange1234 +21011980 +althea1 +14011982 +stuntman +baseball45 +qwedsa123 +driver8 +imposible +dance07 +180295 +dotdot +cobaka +ladybugs1 +Julia +pillar +mikey23 +gabbana +vfrcbv123 +longlegs +06091993 +140577 +mckayla1 +bouba +michael94 +160395 +3007 +ready123 +080187 +14011981 +smokey14 +bunny22 +pussy08 +sur +pouetpouet +rey +Assassin +boriska +babaloo +qwerty83 +astra123 +rushmore +01101980 +tranny +bandit600 +hea +161989 +241095 +09111989 +050283 +haynes +gotmilk? +adewale1 +auggie1 +010104 +myfriends1 +02091978 +regency +amitabh +buttplug +rastus +barret +mcintosh +354354 +28031982 +020877 +saphira1 +17011983 +sakura13 +chicklet +101100 +vyjujnjxbt +leoleoleo +112567 +needles +04031983 +ashley91 +211078 +johncena7 +260194 +candycane2 +sheltie +jupiter7 +27051980 +260281 +movement1 +1golfer +411045 +220877 +slapshot1 +angela23 +carinho +myhoney1 +Shadow123 +30081993 +petrovna +20051997 +roxy21 +mester +samsung23 +231983 +musa123 +koketka +198209 +scissors1 +surx13 +october09 +richboy +hammie +heaven! +amanda89 +lily01 +pete12 +applemac +taylor94 +giggity +lkjhgfd +cocopuffs1 +150881 +29031982 +rodman91 +dragon85 +supported +lax4life +bloodbath +dfymrf +233391 +tiffany23 +philips123 +123qwezxc +king123456 +jack2007 +fowler1 +manuel3 +yesican +198913 +balzac +babyboy8 +ratfink +remi +melanie3 +21081993 +fantastico +mes +zmodem +classof13 +shrooms +210396 +stars7 +boner69 +31101981 +iluvhim +230777 +hophop +q654321 +beatbox +joanna2 +yeayea +butter22 +march06 +fatjoe1 +blues123 +badgirls +calvin23 +maruja +fgtkmcbyrf +031986 +080487 +ashley96 +06051984 +123321r +17111994 +asdfghjkl3 +misia +scotty2 +trista1 +9000 +y3p32FtrqJ +0308 +shrestha +sarahi +ksenya +26101994 +190380 +170182 +starship1 +quinten +130994 +mommy02 +pookie21 +hipolito +supersexy1 +zhangjie +quatro +100277 +010893 +trailblazer +nastya1998 +1willie +19011995 +wee +kulot +mulligan1 +060384 +jeeves +massilia +bootymeat1 +robin2 +vvv +zapata1 +bubba15 +sarahj +1233215 +BROOKLYN +jman123 +13021996 +shorty06 +121268 +10111979 +30041980 +ggunit1 +justin28 +doherty +011987 +okmijnuhb +dickhead12 +200693 +selfish +2legit +fnaf +v1ctoria +mondeo1 +16061980 +rose18 +160181 +billabong7 +playboy07 +fyfrjylf +liverpool08 +!!!!!! +wicked2 +alvarado1 +testaccount +michelle27 +dell13 +azxcvbnm +234wer +iloveyou1234 +bigbig1 +darrin1 +sexymama3 +cole1234 +dctvghbdtn +337337 +ladybug01 +070692 +wannadupe +serega1 +myspace1! +28111992 +asterisk +somewhere +boubou1 +perpignan +241094 +28041982 +lovely17 +Fernando +belladog +killer92 +20052008 +thirty3 +fhntv +11021978 +fuckya +dan12345 +siesta +05081981 +katie23 +010995 +papa01 +bubble! +tina13 +041180 +dakota09 +smile6 +primavara +linkin123 +22031980 +5tgbnhy6 +burbank +ddd111 +loving12 +martin16 +sayank +uk7860loans +140695 +qazws1 +081985 +03081982 +maratik +fuck33 +abhi123 +070385 +06061994 +187211 +a1z2e3r4 +michelle33 +marsbar +Melanie1 +15101996 +katie07 +170394 +reanna +31081983 +110576 +qwertys +rjpkjdf +compton13 +fred69 +jazz13 +270395 +leprechaun +150377 +Power123 +tolik +lorrie +allalone1 +jumping1 +water! +skeleton1 +halcon +everquest2 +azert1 +hotboys +22061980 +123451234512345 +giorgio1 +08111984 +20051995 +27081983 +190493 +farah123 +111111prof_root2.sql.txt:, +26021983 +260793 +081281 +dewey +vorobey +182blink +plokij1 +22071981 +h0ttie +regret +kristen12 +07860786 +chardonnay +silencer +q12we3 +purple94 +cookies22 +cristhian +gotmoney1 +twister2 +Calvin +scoot1 +cabbage95 +32503250 +gemini01 +kobra +esperanca +sprite123 +passworld +dawidek1 +12101976 +16031980 +/.: +arrahman +cabral +isreal +500020 +rianne +05111982 +21041980 +stylist +legal1 +kenji +lauriane +030283 +21061981 +vanita +lemon2 +251096 +nathan69 +280293 +ma123123123 +014014 +payatot +Lucky123 +schoolsucks +821016 +021179 +youcef +widder +0607 +haohao +vacuum +muffie +05091994 +�+��+����� +123454321a +daniel91 +bluenote +buthead +theband +bogus +dthjybxrf +07111983 +mare +butchy +bigcat1 +teamo18 +shoot1 +mavs41 +mm12345 +071292 +afi123 +juan21 +lovelyn +conker1 +katie21 +jenny6 +terminal1 +angel56 +27071982 +kyle23 +fighting1 +ghblehrb +bsd +edward16 +russ +31071994 +powered +rooster2 +publicidad +chopper12 +k111111 +dfktyjr +080980 +bonilla +17091994 +adam1 +fuckyou +dooley1 +garrett12 +genoveva +770770 +011182 +redboy +121255 +rockyou1 +debbie2 +dany123 +happy55 +second1 +kazakov +Dolphin1 +Network +blue93 +bigdaddy7 +good11 +chaman +SPARKY +14411441 +mironov +07121982 +goldie12 +westham123 +240594 +123654z +26011981 +bunny10 +silverfish +01051978 +rehjxrf +punk69 +Buffalo +apolo13 +valerka +170280 +bianca13 +leszek +jiggy1 +22221111 +chris30 +hayley12 +ihateher1 +faith23 +19061983 +samhain +mahatma +101068 +cupidon +micky123 +blue2000 +19851120 +jasmine24 +gofuckyourself +ooicu812 +hg +andrea20 +howie +070292 +selfish1 +qwerty84 +200595 +joke123 +babyboy18 +200180 +05101993 +corn +tolani +pillows +sasuke7 +slava123 +minakshi +120908 +10111978 +MMMMMM +playboi1 +16081993 +051984 +170780 +iceman21 +351351 +fazer600 +nj9st4ye3f +fatma +robbin +swati +master33 +vega +JMFxL78phe +13011995 +198029 +cm1234 +denise21 +fukyou +hola123456 +carnell +snoopy101 +womanizer +110976 +elmo23 +naruto07 +chablis +yjdsq +aaliyah01 +14111980 +vodolei +1234567qq +gandakoh +alivia1 +concerto +151990 +micheal23 +201303 +joanna12 +rocky07 +20061993 +4shizzle +hershey123 +mp3mp3 +kiki09 +flute +cheer05 +14081982 +120296 +mamani +linda5 +060383 +andrea88 +matrix007 +hall +eastside02 +babykitty +19041981 +brooklyn71 +24041980 +15011980 +kevin12345 +240295 +andy69 +baby78 +bombay1 +envelope +comment +footie +year2008 +glaiza +130379 +tormoz +mariza +fagg0t +aprils +master. +290480 +kasturi +a111222 +dani11 +04061982 +master08 +fish23 +19091994 +shortys1 +28031992 +squad1 +parish +15101979 +february23 +flower24 +belgrano +miyaka +060284 +mullins +asssss +saviour1 +drizzt1 +30091980 +15161718 +suppandi +alegna +cmpunk1 +��+����������� +king4life +nbvehrf +butterfinger +edward18 +fan123 +rfnfcnhjaf +12041977 +applepie2 +cooldude2 +210994 +solidworks +popo00 +cassie5 +idk1234 +040186 +locomotive +rainbow. +1472583 +110119120 +CAMILA +darren12 +24692469 +peewee3 +joejoe2 +maria09 +020695 +anatomia +0000aaaa +printemps +06061995 +platypus1 +kingdom7 +peter13 +rooney123 +4forever +Barcelona1 +mediterraneo +090884 +frasier +07011992 +adam2326 +schlampe1 +esercito +rockstar09 +Daniel123 +eddie01 +30061980 +martin18 +deadwood +minimo +13011981 +sexy321 +0liver +bigger1 +bobbi1 +23012301 +1418 +kill1234 +shanny1 +marwin +javier10 +dylan22 +keyword +18081994 +11101980 +000000d +100202 +tty +heaven17 +10101970 +tribunal +gladis +schoolboy1 +14201420 +123kdd +123456789ABCDe +rafinha +135790a +dessert +ilovekelly +livewire1 +09021993 +sheep123 +08061993 +091984 +letmein. +banana99 +jadawera +monster09 +200994 +turtle10 +flavius +chicago11 +20091995 +fatboyslim +marifer +jarek1 +bonita2 +imabeast +1savannah +mybaby01 +bubbagump +cheetah2 +court123 +footloose +220808 +1internet +kitty77 +skank +policeman1 +commrades +bradley7 +nikka1 +life11 +erik12 +kaliman +change09 +19871010 +7thgrade +westbrook +liljohn1 +flashpoint +calderon1 +pornos +lauren88 +lilly7 +09041983 +13061994 +w2w2w2 +spacey +mark16 +boromir +group1 +trigger2 +280793 +keeley1 +talavera +london1234 +mylove. +1111117 +haddock +1um83z +011186 +javier01 +rachel6 +rundmc +12061994 +21021982 +buster77 +TIFFANY +restinpeace +vikas +cessna1 +doomdoom +197888 +kotopes +teamo16 +270479 +maryam1 +sevilla1 +ivonne1 +harry13 +shawshank +crystal23 +password100 +tarasov +michi123 +blackjack21 +091082 +noah01 +alice2 +latvia +toots +zoom123 +amber101 +wade123 +fuckoff21 +26061996 +forever07 +1932 +552200 +dancer18 +hallihallo +computer23 +kayla9 +briana123 +14091995 +pimenta +28061994 +trinket +eminem14 +hipopotamo +211079 +blacklight +7Fxf3Jaa7u +eggs +chocol8 +sonic7 +baller44 +coneja +dianadiana +karadeniz +familylove +takayuki +beaufort +tiger44 +livia +serbia +desirae1 +180781 +planta +Snickers1 +кирилл +qwerty1987 +ursula1 +vanness +james111 +Felix +leoncito +Killer123 +hayate +cnhfyybr +j55555 +518888 +see123 +bonnie10 +joesph1 +28051983 +guessit1 +adebayor +neopets10 +141200 +olarewaju +favourite +mama88 +broomfield +manuel14 +patrick08 +holden01 +04081981 +babydoll69 +daboss +babygirls +lampung +thespian +mecca1 +tami +Miguel +5633634 +islam123 +ja8xb7txr8 +brunito +28051982 +justme12 +malinda +050881 +bigtimerus +riverview +lizzy12 +champion2 +wisteria +bangla +lovesyou +lilacs +siddhartha +thechamp1 +superman32 +snook1 +master25 +qwerty7890 +essential +girl1234 +coconuts1 +erikas +zoezoe1 +12041979 +lucatoni +arwen +zaq147 +26121993 +may2000 +denise7 +coolie1 +ass666 +iphone4s +paris10 +22091995 +240880 +booboo08 +stiffler +rajinder +andrea99 +shell123 +jaykay +number88 +triplet +131991 +shamar +credit1 +MAGANDA +31011995 +farmall +frontline1 +balla12 +daffy +papercut1 +280479 +150279 +166166 +mondieu +vasanth +2bfree +15111994 +20041995 +180793 +sonumonu +password75 +olaide +31011981 +nomercy1 +25061980 +2night +scooter8 +24031982 +titanic1912 +mango2 +rayan +derrick123 +220278 +spider10 +nutter1 +241278 +11041979 +slimer +albertina +brenda10 +210893 +erica2 +040495 +plants1 +esteem +kittiwake +chula13 +jake24 +yogita +TINTIN +turtles2 +reinhard +okmnji +luda +wowowee +Victory +ncstate1 +03051980 +titititi +joojoo +198906 +coolkid2 +porsiempre +master8 +pink28 +xingxing +tucker13 +02031977 +100976 +dallas4 +lm292979 +butthead12 +080981 +210878 +jonathan9 +abc-123 +dorotka +totito +rusty7 +racecars +airmax95 +golfr32 +parkway +14051405 +johnwayne1 +05011992 +jessica87 +yakamoz +hope22 +09071983 +////// +hulkhogan +minister1 +leslie01 +ja123456 +obvious1 +compaq3 +18031994 +retype +canucks1 +080285 +696 +lambchop1 +291986 +natanael +080908 +tigger20 +sorcerer +3211 +leomessi10 +mike007 +redsky +matt08 +barclays +goaway! +emma2004 +080682 +lal +nana21 +daddie +600015 +thug12 +06031994 +silly12 +vishal123 +sunder +badboy08 +fillmore +chalet +paintball9 +josh06 +sabre +keneth +tiffany14 +longwood +12271227 +vaz2114 +longlive +210578 +versatile +bakabaka +superman89 +schnauzer +keith2 +gracie7 +010103 +sarahm +1horses +kelsey3 +grisette +blueman1 +biteme13 +mamka +cupcake8 +jackster +maldita1 +rick12 +31071981 +15021980 +jessica02 +301279 +123454321q +blood15 +waterman1 +197070 +LOVELOVE +filles +diggler +auto123 +nana16 +SCOOBY +squeak1 +05121982 +giovanny +cody17 +bridgett +fvcnthlfv +lalala5 +arsenal23 +31011982 +masterman +lacrosse7 +crf450r +celtic01 +18061982 +tigger44 +kostroma +14101996 +dutches1 +Elijah +doodle123 +15061980 +060580 +cancer12 +o0o0o0o0 +05091981 +090383 +nacional10 +cheese99 +200995 +270881 +church12 +19841024 +manson6 +roxy23 +joshua26 +olivia04 +sasiska +chris96 +fucklove7 +homer12 +dvd123 +21111982 +february21 +555aaa +renato1 +angel1994 +123698745a +060481 +q1a1z1 +jamest +jenya +whale1 +22061995 +february22 +scooter9 +n2deep +playa13 +snapshot +wer234 +LOVE123 +amigas1 +protector +hampster1 +makarena +tulane +237237 +protoss1 +danser +batman89 +airmax1 +loser07 +kendra12 +011001 +daisy08 +princy +speranta +031983 +lindalinda +carol12 +montero1 +29061982 +nar +yanis +bitches5 +06081993 +2134 +masakra +patr1ck +john55 +potter2 +stthomas +scammer +hunter95 +guest1 +kelly23 +pedro13 +09101992 +ben101 +march123 +qwerty79 +balbes +08071982 +150977 +july1989 +sasha21 +lacrimosa1 +08111985 +wqwqwq +intrigue +1597532 +street2 +oogabooga +nathan24 +icecream. +lakshmi1 +devastator +graveyard +chris007 +austin17 +55555m +23041994 +061193 +04011984 +010169 +09123456789 +giulia1 +travis10 +030284 +toggle +spooner1 +drumset +himitsu +bnm +071280 +16091993 +lookingforlove +nunu123 +abella +praisegod1 +christina9 +1080 +electrician +11041996 +gunit5 +yusuf123 +pussyy +socom1 +yesman +taytay3 +taylor25 +24061981 +1441 +gatt +martin15 +metal69 +30051980 +toymachine +pennies +Molly1 +cattle1 +founder +zulu +23021979 +1dipset +ou812ou812 +181985 +tigger19 +theking23 +goodie1 +30051994 +trezeguet +19021980 +sydney13 +marie94 +demond1 +gazeta +040684 +campion +08101993 +german123 +2481632 +121195 +kissy1 +mokong +panache +biscotto +perfume1 +bassam +U +storm2 +arnie1 +198905 +120976 +casey5 +snickers5 +08121983 +mima123 +123456: +08051983 +21081995 +caboverde +26121981 +1a1a1a1a1a +motorrad +dominga +hello100 +Bradley1 +ra66it +whiteman +oscar14 +maryana +220179 +stjude +123rty +123456asdfgh +capsule +ltybc +handbag +asdqwe12 +fresca +amistad1 +treble99 +cute21 +speedo1 +dave11 +28121981 +Thompson +master45 +251989 +271195 +170294 +langston +pwd +indiglo +cologne +050193 +love72 +pretty101 +codydog1 +queen5 +lastchance +360modena +22071980 +hockey29 +123you +keepit100 +sequoia1 +cnhjbntkm +manny2 +cs123456 +yumiko +vivemoi +mckinley1 +cracovia +110477 +070580 +murdock1 +12345678bj +cheerful +1199 +rohan123 +fuckme23 +50cent50 +06061993 +madisyn1 +people. +091281 +01041978 +kathie +fackyou +142 +evilone +connor08 +sassy22 +m00nlight +Viking +ginger77 +8484 +07021980 +080684 +������������� +��������� +pigdog +babybird +150594 +lowes48 +221002 +dolphin22 +30091981 +bumhole +jujitsu +empty +bobbyjoe +nigger23 +31071980 +dbnzyxbr +10041995 +lynn21 +131993 +saints2 +250977 +sanket +kristall +profit1 +kaczka +bigdad +zsxdcfvg +daniel86 +muhaha +married07 +251992 +zero0000 +02041994 +05051975 +190981 +karena +famous7 +realdeal1 +villamor +nigga9 +nyasha +tanner3 +blowjobs +babydoll3 +16041994 +1234500 +iloveyoufo +sakura11 +stupidbitc +molly8 +305miami +crunchy1 +090483 +bellydance +07101993 +04041979 +16081982 +190781 +1lovebug +goodguy1 +09031993 +1234567812345678 +20121207 +covenant1 +downunder +bball30 +03111985 +200594 +cashcash +dustin11 +truelove12 +breitling +kamini +221275 +brewer1 +monster15 +snickers11 +160180 +ximena1 +wonders +lkjhgf1 +411018 +e65r82mnj2 +111078 +toosweet +coco101 +snowfall +landon12 +bonzo1 +funtimes1 +327327 +21041995 +orlando! +123abc. +23051981 +render +chachou +chapter1 +cyprus1 +westside10 +07111989 +lakers#1 +13111980 +200396 +07081993 +123456789zxcvbnm +houria +james28 +bailarina +190595 +michelle05 +121212121212 +cr250r +060879 +151991 +golf01 +081108 +destiny05 +26031981 +16081980 +ilovemicha +nano123 +burak123 +chante1 +lun +198429 +dazzle1 +ghbjhbntn +zachary4 +sierra7 +annalyn +19121978 +baranova +19111982 +28041980 +isaiah06 +goomba +banana4 +1scorpio +RAFAEL +angel1996 +bukkake +junior! +09031981 +joker01 +panathinaikos +alouette +lupita123 +160595 +Domino +261984 +06062006 +chivas8 +orange18 +fkm +mesha1 +psalm119 +swaminarayan +jamesc +242242 +12191219 +600100 +obama2009 +chosenone +Vanessa1 +da1andonly +200193 +280695 +password80 +masood +julia10 +popcorn23 +molly9 +conair +saints09 +mylastfm +consuelo1 +k.ljxrf +wicked12 +nephew +mexico101 +18071982 +dixie12 +spoons1 +xt +misterx +241990 +joint +tamtam1 +knitter +koolaid2 +Evgeniy +rinoceronte +overtime +200877 +4554 +tamila +christ2 +fuckyou27 +marie03 +brice +ilove... +nfnmzyrf +abbydog +chester4 +dethklok +141994 +mastiff +star06 +071081 +198827 +sandy4 +desiderio +thunder10 +canibal +papasmurf1 +mahusay +140478 +CATHERINE +27081984 +wabbit +grad2008 +hommer +010395 +davide1 +onspeed +15091981 +11071980 +pandapanda +prajakta +omar11 +dr4g0n +happy17 +15081993 +slovenija +angel911 +привет +wumeiyun123 +jag123 +comanche1 +060184 +210778 +aliona +saltlake +210280 +xray +Asshole1 +fender5 +09051982 +levi123 +lilman13 +ritchie1 +playboy08 +akinto +purple92 +18071980 +ch1234 +daisy23 +fishing3 +jesse21 +0102030 +grace17 +brooke23 +141295 +261989 +bby123 +22041996 +15091994 +31071993 +ashes +3l3phant +18061981 +ginger88 +ujkjdf +220379 +ruslan009 +samantha07 +makavelli +neznam +biabia +bitch100 +72chevelle +muhtar +021093 +fuckyou55 +imafag1 +17081981 +231196 +mitchell2 +1american +bvb1909 +linette +farmboy1 +scrappy123 +jamajka +090186 +tiana +555151asd +ilove15 +passwd1 +Angelika +091989 +nightfire +martinha +ravi1234 +198806 +sasha15 +dennis10 +06081980 +taryn1 +wethebest1 +rollercoaster +260694 +danielle18 +super! +17041981 +tink21 +vaz2108 +poptart2 +playboi +muschi1 +promo1 +snowball11 +md2020 +elaine123 +131193 +040593 +anthrax1 +08011989 +tomtom12 +09041980 +private2 +sigaretta +LinkedIn1 +dharma1 +okiedokie +walter01 +cancer22 +wolfteam +090994 +culo +070907 +asdfghjkl5 +febuary +karencita +steve11 +turntable +16101995 +sexxi1 +040581 +andrew89 +011187 +16051995 +qazw21123 +isabella5 +19121981 +zahara +broncos07 +29021980 +stringer +080692 +1greenday +jake09 +guitar666 +zzxxccvv +290793 +victoria9 +mataji +iloveme9 +hifive +drums123 +091181 +scooter69 +raksha +30031979 +steelers06 +getpaid +hello777 +qwas123 +andrew28 +ferrari355 +BIGDADDY +ghjuhtcc +1437 +09041993 +300777 +playboy9 +myspace29 +xbox3600 +290595 +sab123 +leonhart +maiale +anna2002 +asdert +samba1 +algernon +pimp19 +27061982 +werty7 +bunny23 +260896 +5Bhc2V875z +flashy1 +pieisgood +saibaba123 +qwertytrewq +pilot123 +120399 +oldtimer +090995 +lochness +shanae1 +rea +veracruz1 +avanesov +spanky01 +69bitch +ASDF +cretino +scrumpy +weed22 +17011995 +dylan08 +24061994 +8x2h4Eddan +iloveporn +270595 +bulldog69 +28051993 +libellula +america08 +crystal22 +600002 +411015 +123456zxcvbn +Jupiter +johnny14 +240394 +gohabsgo +invu4uraqt +1thing +302017 +MARTINA +jamezerazz +murtaza +mary14 +27081982 +238238 +nixon +mustang5.0 +nightjar +lindsey123 +prowler1 +morgan16 +jacob04 +welcome8 +mommy33 +in2deep +xyz789 +rayray11 +beachboy +finest +michael98 +deuce +nerd123 +hershey12 +max2006 +newlife3 +160676 +jabba1 +underwood1 +palacio +20212021 +140794 +kubicek +19831010 +opeyemi1 +aa12345678 +see +ihatemylife +181986 +bay123 +garnett5 +GARCIA +juan18 +johncena23 +bobby1234 +140278 +monkey007 +philippa +cowgirl2 +lulubell +felton +qwertyz +linwood +654321c +karlson +vanessa9 +gabby3 +01111983 +14561456 +thornton1 +narcis +scotts +romantika +0174426 +080893 +palma +28101994 +sarajane +nurbek +alyssa6 +19888891 +super22 +69dude +selfmade +knuddel +linden1 +media123 +jogabonito +femme +bonny1 +130478 +carlinha +echoes +bubble5 +SyyRRqBe70 +cultura +15081995 +10081995 +300183 +jasonlee +lauren06 +arsenal07 +090285 +lindau +unicorn123 +defcon1 +julietta +savitri +myspace#1 +voodoo2 +150294 +juicebox1 +rajini +lindona +myspace199 +lockheed +liv +13551355 +abcdef. +198026 +vodka123 +dude21 +fuck-off +gulmira +240294 +tree1234 +639374 +airbus380 +0810 +damian2 +271294 +Gloria +masseffect +favoured +tigercat1 +pizza22 +sasha1992 +kursant +020594 +bagel1 +vixen1 +qwe058058a +ragini +sandeep123 +snake3 +fatboy7 +29061994 +111119 +raylewis52 +pokemon100 +003003 +jasper5 +babi12 +sexii123 +marinette +bonus +1234������ +140777 +3pointer +1470 +grandkids7 +masana +breana1 +fortunate +010895 +anusia +210795 +foxy12 +0321654987 +erikerik +111222333444555 +manga123 +ioana +fishing101 +rayban +perfect123 +akhtar +19091981 +celular1 +231096 +loveumom +15081994 +albacete +energystar +199797 +renee22 +28011982 +luvya2 +26071994 +070684 +26021981 +ilovejessi +sergio2 +lastborn +moritz1 +131292 +24091982 +stevenash1 +7142128 +cheeze1 +babygal +barbarossa +us4ever +23091980 +22132213 +rafael10 +GENIUS +alanalan +cody23 +blahkg321 +tyty123 +199417 +chris31 +cinque +26111993 +orwell1984 +g12345678 +zk.,k.nt,z +livelove +bdfyjdbx +babycute +281991 +babys1 +160694 +fuckbitch1 +tassadar +171094 +secret99 +250694 +klondike1 +MELANIE +psalm121 +09011983 +isabella01 +holly01 +zombie69 +11051980 +69pussy +mark08 +james04 +198020 +dulce123 +Diesel +bethann +myprincess +31101995 +berry12 +jojo16 +19111911 +monkey90 +020277 +noumea +140200 +080983 +pimp05 +letitia +missionary +madison21 +Summer1 +mets123 +toocute +olivia09 +12345678x +hannes1 +281078 +1phoenix +3579 +11101981 +machupichu +freetown +198788 +blue31 +eating +27091982 +alamierda +ivan2010 +goodwoman +bulldogs3 +13031995 +famous5 +kelly6 +gangstah +honey17 +23021996 +19861225 +voices +16101980 +anjelika +231094 +mickey88 +models1 +major123 +15261526 +kaila1 +kenzie11 +380006 +27021983 +molly23 +301001 +l1v3rp00l +boss23 +sydney7 +19841016 +19101995 +omg1234 +09051981 +080582 +seabass1 +susieq1 +softball06 +2r97xJ3xEX +connor04 +19051979 +sunshine66 +billybob12 +ajtajt +consulting +meme22 +25071982 +MUSIC +170180 +030580 +eoce59cL9U +dragon98 +brooke07 +111967 +834002 +190680 +2702 +broken! +thatsit +teacher123 +21011981 +usman +27031982 +3345678 +200279 +depression +25212521 +chancho +tecumseh +dance09 +jag +horse11 +DEKALB +cybernet +edu123 +250377 +carter10 +tracie1 +abs123 +sophie06 +bird12 +100696 +herbie53 +123jkl +03071981 +stephany1 +givenchy +bobsmith +naruto100 +khan786 +Sym_cskill1 +sydney2000 +hotpink2 +smiles12 +corazon123 +lilwayne11 +180001 +dakota02 +sue +hailey05 +melendez +samsung8 +vane123 +babilon +150895 +q1w2e3r4t5y6u7i8o9 +eduardo10 +cj123456 +devilman1 +bogdan1 +oralsex +serenity12 +thurman +raven5 +sex123456 +jordi +candygirl2 +computer21 +kosher +montana3 +23011983 +informatique +agent0 +magicaroma +1250 +jamari +vitamin1 +19011994 +bodyboard +06111989 +hailey07 +judson +hunter97 +2809 +ilovematt2 +dodgers99 +redouane +ilovejess +topnotch +hollywood6 +salmo91 +covert +usa1776 +grapeape +how +jak123 +qqqqq11111 +freddie2 +ricardo13 +alina2010 +121010 +grandmaster +tommy23 +1590753 +1986123 +qwerty888 +arcenciel +dance14 +yamaha7 +manuel15 +27041995 +23121995 +alexsandra +190792 +santiago2 +babygurl6 +Schatz +21051996 +dasha1998 +15051979 +пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ +flanagan +My +chance7 +cameron22 +elaine12 +909 +sasha1991 +oooo0000 +boyzone +28101980 +brandy69 +karkar +88888a +fluffy22 +219219 +411044 +198704 +170495 +198902 +sorry123 +240395 +stapler1 +miska +gr8one +ranran +moocow2 +Hello1234 +lakshya +time2play +chevy03 +chikis +sb1234 +4f51eijViF +hennie +claire01 +daddycool +evelyn12 +spade1 +iop123 +pakistan2 +stars11 +225577 +22081993 +05091993 +azkaban +aprilfool +victor14 +latasha +20121995 +andrea06 +WHATEVER +13051981 +layouts. +28071981 +article456 +11091979 +556556 +west23 +jenny4 +100800 +luv2sing +191080 +300780 +char +salade +charlie77 +hotline1 +Gandalf1 +kalani1 +sh1thead +080282 +080392 +090492 +snitch +26061994 +playball1 +zerkalo +dawgs +soloman +mario21 +270880 +browny1 +euamojesus +130477 +27101981 +Katharina +maharaj +freitas +FLATRON +kasey123 +mikes1 +ortiz +spooks +221171 +1brenda +123456po +lineman1 +vika1998 +061279 +lainey +147456 +090582 +16071981 +total1 +eclipse3 +2709 +020593 +spo +07081980 +200293 +teamo5 +thelord1 +sheree1 +silver4 +batman16 +gtivr6 +buzzy1 +030378 +leroy123 +shah +juanluis +strokes1 +1chopper +jamais +rudenko +barbie9 +limonade +19977991 +051278 +phones1 +21061980 +bennet +kaylee3 +kianna1 +030593 +1doggy +silver8 +rockstar08 +hotshots +190578 +20121978 +040580 +3113 +sarah09 +austin512 +lawliet +ranger21 +stratovarius +pappa1 +dindon +spania +asdewq123 +150179 +����������� +tambok +molly21 +010481 +tiger100 +bacolod +091986 +freya +moe +sweett +goodpussy1 +261078 +hellgate +reiner +121968 +logans +ruby01 +flyaway1 +030192 +turtle23 +perros1 +bella2008 +blacksun +17061994 +loveme19 +18111981 +roofing +baritone1 +jaycee1 +310894 +14091981 +partyof5 +srinivasan +videogame1 +kitty88 +222222222222 +030694 +justinlove +tia +123pink +gone +richard9 +antonio15 +Student +07071995 +070881 +086421 +love1god +zenith1 +03121980 +airbus320 +pax123 +sweater +love80 +140779 +hades +14041995 +654987321 +sticker +michiko +wii123 +BARNEY +Hallombn001 +1patches +01092007 +vergil +lbvekmrf +campana +idspispopd +231295 +candice123 +franklin12 +300793 +060881 +microlad +legend12 +minkia +charlie25 +meangirls1 +160979 +26071982 +18091983 +401105 +10081978 +denver123 +sierra10 +11111j +levent +littled1 +sarasa +1232580 +1bella +rossonero +230378 +ulises1 +1bigfish +4097870 +black45 +green12345 +india1947 +april03 +hannah19 +03051995 +rhtdtlrj +cjdthitycndj +goodmother +blackfoot +stocazzo +assmunch +bruno10 +cute09 +korolev +murano +0309 +fresh5 +251295 +4evermore +music24 +roslyn +191180 +090887 +grahm +dallas33 +bibiana +dfasnewa +bigboy09 +1natalie +andreyka +123211 +123045 +sunset123 +mary21 +joseph02 +kalle1 +04101982 +bikers1 +jessem +165432 +100402 +007james +michelle28 +141990 +asdfgh5 +keke13 +260893 +16081994 +sexy96 +takeda +under0ath +studly1 +sugar10 +1597532684 +capricho +biochem +ramesh123 +nicotine +cimbombom +302015 +121110 +brandy22 +obituary +segura +1821 +dragonheart +Gunner +jasper! +emmanuel2 +roxydog1 +reynaldo1 +power9 +30091993 +01111984 +takataka +010993 +sopranos1 +regis +schastie +02121994 +tiffany69 +julian07 +gabriel06 +mikes +neguinha +mvp123 +joshy +roadstar +spots +sarala +14031982 +proverka +scott01 +brittany69 +19841023 +12342234 +barrios +eagles14 +pollution +bleble +pete379 +IxrHx2Xc87 +quovadis +toomuch1 +151992 +gunner2 +5959 +ingenieria +10121997 +1234567qwerty +19851230 +500049 +wildlife1 +Vikings +03061981 +tilley +gthtcnhjqrf +wilcox +serdce +123312 +19841021 +pankaj123 +westpoint +windowsxp1 +nike15 +260578 +02061977 +07111990 +phone12 +20091980 +popcorn9 +stars3 +cb123456 +camilo123 +JUSTINE +surrey +oli123 +160380 +11081980 +taylor19 +060809 +awesome4 +21052105 +peterpeter +25091980 +twocats +jelly12 +levente +ronaldo11 +jamesh +airbusa380 +200478 +241194 +sat123 +casada +florentino +af123456 +13111311 +focus123 +superdog1 +280594 +sladkaya +cdj: +sexy!! +bolinhas +12081995 +elvislives +fukyou1 +devante +010980 +mason11 +swanlake +tootie2 +1knight +stuttgart1 +raymonde +jesse4 +tab123 +microsoft2 +icecream123 +charlie04 +lagrange +171980 +lisa21 +jollyroger +121100 +trompette +shaney +candy07 +290882 +dranzer +jamshedpur +kumar1989 +300781 +150578 +1525 +30091982 +phenom +windowsvista +annarella +slniecko +toothpick +grapevine +11081995 +kendall2 +wedding07 +cheng +pit +skate08 +pats12 +stefancelmare +sarah9 +240577 +bff4eva +280779 +zsxdcfv +browncow +dresden1 +fishfish1 +louise! +lauren9 +28021982 +alexsander +190593 +haihai +101003 +jaramillo +03051981 +sempron +230977 +200695 +winter13 +lexusis300 +kickboxer +makayla3 +122333444455555 +nenalinda +speedtouch +disney08 +71717171 +199021 +010879 +peter7 +stockings +corvette2 +blazing +carolina7 +flo123 +13121996 +ildiko +karen11 +1stclass +hehe12 +sossina +sharona +hay123 +robots1 +laruku +portocala +2babygirls +sparky! +cooki3 +girls5 +goodnight1 +tarnay1 +noah1234 +240193 +ahojky +tardis1 +trompete +210777 +SIMONE +gallegos +081986 +aa3030316 +sahil +130777 +gracie10 +lampara +06101993 +airedale +222www +140379 +rodel +offroad1 +mannie1 +04031994 +filbert +121245 +toratora +retard12 +Aa12345 +drachen +041985 +jerkin +loveme25 +natalie! +soufiane +25031981 +goon4life +chicken0 +pinkey1 +rangers94 +08011984 +09120912 +heroine +ford99 +t1ffany +11031995 +vijaykumar +pramila +srirama +1q2w3e4r5t6y7u8 +squash1 +marek123 +110276 +honeys1 +dreamer3 +puppyluv1 +241195 +nesakysiu +jenica +augustus1 +chevy06 +booboo99 +280382 +170980 +daisy1234 +230478 +040595 +goldsmith +rigoberto +warior +700020 +96impala +abricot +lorelai +iluvu4eva +04011983 +felicidad1 +kisses5 +borntowin +070778 +sexgod1 +100475 +manutd12 +andres10 +040981 +superdude1 +grandma8 +bitchez1 +00000000001 +06021983 +frankie01 +100575 +thrash +plover +cristina12 +dare123 +slippers1 +25232523 +ricochet +matthew20 +011293 +261990 +1122333 +slowpoke +rfvtgbyhn +oops +041982 +xYQ7Xcewqk +161983 +261988 +denver12 +10point +chunk1 +28041981 +nissan2 +1234567890o +25091995 +nikita2000 +blessed123 +jamilah +juancito +chronos +july1991 +bourbon1 +deuseamor +job314 +casa12 +cerf +030880 +211989 +iamsam +160593 +sammy06 +ilovelisa1 +marlou +hockey91 +masamasa +kuku +ilovemegan +sofie +freak13 +parisparis +251076 +061984 +orleans1 +michelle26 +08021982 +wasd +08101982 +bigdick123 +020879 +gramma1 +19441944 +06111991 +2520 +714714 +l0v3m3 +amiga1 +987654q +1ballin +nerd +110054 +lucretia +cocoloco1 +misty11 +shannon4 +pugsly +bubbie1 +raymon +071080 +flames12 +becky2 +xiaowei +baby30 +password74 +041080 +oneluv1 +hockey07 +colony +music000 +jb12345 +porsha +199615 +cockroach +400008 +140977 +121500 +klo123 +maggie03 +hassan12 +mysp@ce +chloe05 +30101981 +jackbauer +101007 +raven3 +volcom22 +cuteness +ariel12 +brethart +halcyon +171982 +03041981 +gabbiano +222233 +070683 +25111994 +merlin69 +tunde +isaac12 +jasonx +abc234 +loverman1 +120012 +1478963258 +gaby13 +apples23 +sweetie13 +truelove! +slonce +jessie4 +sweety11 +sweetie4 +290576 +vulcan1 +naufal +090792 +relationship +vfvecz +dope123 +whistle +18211821 +c0mput3r +yeayea1 +december06 +colours +ashly +tampan +jenny17 +020305 +301294 +july1993 +livelaughlove +newshoes +300678 +qwaszx11 +madlen +fizzle1 +100294 +veverka +m3xico +sammie11 +5555555tl +050678 +penny01 +110396 +290980 +motion1 +090883 +forget2 +basil123 +05091980 +pazeamor +bell12 +homesweethome +2442 +ray1234 +250894 +brittany08 +180979 +ds1234 +rhyzza +ferrara +recruitment +hooker2 +purple32 +ALYSSA +192837465a +gabby01 +daniel29 +Broncos +newlife12 +poypoy +gladbach +cagiva +cleo12 +190980 +09061993 +mateo123 +melly +gumdrop1 +oviedo +28041995 +090291 +Dublin16 +penthouse +04031984 +jacob101 +cortex +08071984 +wrestling3 +rachel4 +manmanman +liu123456 +lonely2 +ike02banaA +kamikazee +austin18 +thomson1 +080484 +social12 +020184 +senior2009 +omegas +lala09 +09121989 +sasuke14 +travon1 +140678 +18021981 +benjamin5 +12345678as +24021995 +mykids02 +041986 +cross123 +coquin +re-enter +picchio +bulldawg +YfDbUfNjH +Emily +arbeit +ginger15 +brandi123 +musa123456 +cshrc +school23 +redskins2 +100900 +roofer1 +818818 +10051979 +connie123 +lickit1 +tucker3 +118720 +lilmama10 +250494 +cheer21 +codycody +09071981 +poohbear22 +08081995 +11071979 +chelsea17 +junior04 +ltr450 +summer20 +jgordon24 +sourav +888444 +owned123 +21002100 +27071980 +MAHAL +Bushido +honda02 +caliban +uraura +400089 +fischer1 +128 +z1x2c3v4b5n6 +saprissa +wife +tennis5 +samm +danielle9 +liberal +090580 +buckethead +30041994 +010781 +google01 +londoner +21051979 +nose123 +tevin1 +slayer! +070184 +198414 +alyssa21 +blythe +05111989 +zsexdr +rocker13 +26061981 +dorine +ertyui +soloyo1 +annie01 +pimp34 +nikolaevna +15011981 +walther +palawan +112233s +98766789 +pooch +shadow95 +heather6 +17101979 +poopey1 +kayla8 +kanabis +hellogoodbye +animale +mama25 +tiger20 +tender1 +lovemenow +1victor +dragon56 +worthy +bradly +aiden07 +reaper12 +bilal123 +ilovehim08 +dorsey +sheraton +shaine +marlboro20 +16021980 +2wsx +giants12 +ventilador +Beautiful +michelle89 +ginger16 +goodgood1 +aim123 +felony +301277 +cruzazul10 +ivan1991 +252252 +db1234 +holla! +montella +callie2 +savannah11 +demeter +211200 +decembrie +ilove24 +perras +221175 +chinatown1 +a999999999 +pebbles3 +atelier +genius12 +michael95 +sonnyboy1 +peace08 +babyjay +050383 +gudrun +251991 +080791 +19821010 +monkey76 +rednaxela +roulette +tanzen +fam1ly +dennis13 +herring +MARSEILLE +travieso1 +fartman +06121992 +1spider +razorblade +kimora1 +18091980 +z23456 +ruby22 +m123098 +emma05 +marcus7 +03031978 +outdoors +greener +javi123 +shorty25 +ISABEL +31031994 +semsenha +teacup1 +sexybitch9 +holley1 +samiksha +Gateway1 +ktnj2010 +.kmxbr +123212321 +lakilaki +genesis01 +NEWYORK +neighbor +140395 +20021979 +ghislain +06091982 +140000 +125412 +211077 +100875 +samantha17 +Larded +callie01 +01031977 +kaya +monkmonk +gracie4 +gabriele1 +lucas22 +careful +k11111 +emiliana +alexito +amber09 +benedetto +02061994 +27121995 +travelpack1 +malakai1 +03110311 +111111p +tkachenko +score +brosb4hoes +gucci12 +gamboa +nocturne +teacher3 +759123asd +sing12 +andy10 +kinglove1 +jesica1 +cooler12 +ilovesara +vida +FupYuxTa66 +bailey03 +flint +blackops1 +aikman8 +joseph20 +carolina13 +redheads +cookies101 +mazatlan +complex1 +bunny! +13011994 +aaron08 +14011994 +tyler18 +teentitans +israel12 +simbad +meltem +301077 +maryellen +brittany09 +sandrina +loser24 +claudi +jesus99 +456852a +Santiago +16081981 +31101994 +05041994 +banjaluka +alessio1 +ovechkin +smalll +silver25 +freelife +hoosiers1 +matth3w +twilight23 +desi +nastya1996 +corrine1 +zniRpnL744 +080185 +adana01 +nissan01 +bun +monica14 +kattie +031279 +19011981 +25121978 +444111 +charles13 +02071977 +arshavin23 +130795 +ASDF1234 +zombie12 +hope13 +cr +jesaispas +amber1234 +rajan +240595 +lovely25 +080485 +Xavier +240179 +291987 +detroit2 +карина +dpetrucco2 +1qaz2WSX +roflrofl +star2000 +h12345678 +Daisy1 +rocky9 +1gemini +laureen +marcoantonio +500600 +single7 +sexy35 +loveyou09 +lol1 +aliya +girls101 +jeremiah3 +blackadder +kinshasa +abdoulaye +tuesday2 +1qaz2wsx3edc4rfv5tgb +flight23 +kleenex1 +asmodeus +123.456 +147963258 +020994 +280980 +120600 +iiiiiiii +10091009 +tecate +130395 +april2007 +310594 +160978 +briana2 +09071982 +maksat +britney123 +marcello1 +bubbles24 +simon01 +lucky06 +011291 +erenity +monster0 +villalobos +03111992 +28121995 +190181 +11091980 +141194 +0123698745 +2701 +vanitha +PHOENIX +morocco1 +ricky11 +animax +myschool +monkey321 +fedex1 +148814 +karina10 +120108 +babou +150794 +03041994 +18051995 +wiseman1 +crazylady +y6p68FtrqJ +pumpkin01 +samanta1 +blondie13 +trustingod +flowers11 +truffles1 +awesome. +apoorva +ff123456 +8933959 +natasha7 +123321as +weedhead +thumbs +troll123 +050577 +52xmax +ramayana +bailey15 +199015 +vision123 +amp123 +Marley +rosine +lucky111 +aikido1 +vulcano +1jacob +061986 +doug123 +08061982 +cinghiale +nickjonas2 +love214 +dipset7 +merlin2 +deonte1 +tunes +lolo99 +trader1 +random11 +holdem +jimmyd +170881 +600037 +arfarf +lesbian2 +RABBIT +korina +06061996 +fuerte +honest3 +johnnyboy1 +mozilla1 +annie11 +njhyflj +14051980 +101196 +0502 +hello!! +i98xb7sxr7 +jetbalance +snoopy88 +17121995 +nathen1 +boobs12 +lucylu1 +100496 +020809 +flavor1 +666666k +scooby6 +180580 +160780 +25282528 +x2x2x2 +volvoxc90 +kartoffel +slavia +thrice1 +19081994 +110695 +020793 +200977 +welcome10 +ping +beagles +jakey +e65r82mpj2 +delosreyes +doeboy1 +charlotte7 +chrystal1 +sean13 +docent +pink91 +moneybag +19811982 +chinonso +lokaloka +17121979 +topina +zxcvbnmasd +rugby15 +george07 +10711071 +180494 +lovekids +noahsark +babyblue7 +watup1 +maggie. +people22 +23061995 +lera123 +passward1 +botbot +lianna +1515151515 +19861025 +6feetunder +eeeee1 +4xebxR653D +121967 +newgame9 +isabella10 +arsenal13 +hahalol +pickwick +klimenko +pokemon15 +sla +james32 +correa +cheating +breton +bonzo +Tiger1 +deerslayer +skate666 +henson +money89 +animales +dicky +29111993 +zoology +260995 +americas +puto123 +joker4 +XPEYGeh934 +meme23 +hocuspocus +150479 +socute +summer66 +blubber1 +020479 +nigga101 +banana9 +1love4ever +flor123 +picaso +ancient +520521 +25081981 +катюша +13467982 +02041977 +joseph25 +lilweezy1 +bajs123 +john06 +softball. +molly! +redrum187 +deutschlan +shakuntala +karlie +ford11 +sedona1 +newyork09 +130894 +h87va5rtp6 +granat +cane +141983 +faith10 +34416912 +omar10 +alpha7 +slapnuts +010406 +tornade +emolover +nepal +stephen3 +300182 +spirit12 +aku +rebecca! +25081980 +170194 +pincopallino +gratis123 +rachel15 +fresh3 +chevy99 +english12 +gro +barbie. +hello007 +program1 +tingtong +kadence1 +070192 +090783 +beegees +23011995 +hellokitty123 +310379 +hansi +adorable1 +jasonm +prince99 +18071993 +ecko72 +dallas06 +sports22 +yh3hnr4869 +09051980 +britt11 +010594 +nonpayment +190594 +Anne +X +170678 +08011983 +sslazio1900 +retlaw +101103 +1322 +2238qwer +alejandra. +symantec +paul23 +same +231991 +19900991 +prospect1 +fatboy23 +villarreal +160678 +rbhgbx +astrology +sam007 +07091983 +311278 +200011 +daniel84 +katelyn2 +hj +love64 +pidoras +anime13 +guns +ns +safe +060980 +20071980 +arm +fraggle1 +teddybear9 +woodlawn +fripon +1qweasd +edward6 +David123 +300578 +sunnydays +scorpions1 +marcus14 +remember! +04111990 +27111981 +aviation1 +310179 +t654321 +dionis +15111993 +3182 +avignon +andrea8 +colt +1unicorn +raiders09 +sergio10 +leslie13 +icehockey +ladyinred +100675 +fernanda12 +kontol1 +tlc123 +010793 +grange +mama16 +lemieux66 +valami +rocky14 +one1one +160808 +woodie1 +190293 +church123 +beanbag +baksik +chevy22 +srisai +141003 +19431943 +brunomars +heather08 +563214789 +KytFy2xd98 +leelee2 +hood123 +pinky09 +220277 +jabari +110178 +jimmyb +gettysburg +hampster +haruna +dinozavr +eybdthcbntn +16candles +anna18 +joel1234 +060582 +loves123 +arcane +0000000001 +hawaii08 +12345QWERT +ayyappa +tight +050506 +lombardo +yulia +040182 +syafiq +util +abkbvjy +silverback +brentford +goeagles +24031995 +hollister. +090392 +pounce +04021993 +homeworld +456838 +bannana1 +iuytrewq +654321987 +dragonking +05071981 +564738 +qwerty94 +forsberg +230494 +emily69 +class2013 +buster05 +hood12 +militar +fifty5 +rainbow01 +iloveu17 +CHERRY +13456 +hichem +misty01 +211984 +550550 +petasse +akinom +panther13 +kittycat3 +askim1 +0608 +voitures +080191 +rajraj +030594 +09121981 +Pumpkin1 +papagal +boulevard +mickey28 +hairdresser +dothedew1 +lilwayne7 +250678 +kingofpop +14021975 +privs +280380 +dudinha +01021979 +060981 +antonio14 +210294 +aldo +iloveian +guinea +10101997 +291193 +141984 +250677 +twilight15 +raymond7 +2gether4ev +ypfu2vl856 +jenelyn +bill1989 +Roberto +haunted +199898 +dar123 +jellybaby +casper5 +dark11 +08021980 +chrisb2 +3141 +element9 +ashley0 +death11 +x7BktntLEz +marche +280495 +aliali1 +a012345 +james55 +1z2x3c4v5b6n +riverdale +291984 +salon1 +Babylon5 +201111 +margot1 +goodwife +homegirl +supertramp +kangourou +vAl353nxhC +serenella +patato +newyork07 +loser44 +199116 +penis7 +070191 +nnn +rayray3 +mariposita +gokussj4 +03081981 +3651118xun +English +sm1234 +zxc123456789 +31101980 +apaaja +123456789zz +aybaybay1 +321321q +metal2 +capetown1 +steelers3 +ybrjkftd +eliezer +darkangel2 +11991199 +25121979 +Cool +basket2 +bank +09041981 +hibees +otter +qazwsx23 +forgiveme +renton +chelsea99 +robaczek +bemine1 +football47 +07051982 +197819 +titova +22041995 +sistem +owahodarea +29011994 +27031983 +cooper09 +090192 +21081981 +bassguitar +newport69 +MIRANDA +sokol +19861021 +lovelife7 +vladimirovna +09111985 +281987 +goon12 +steven. +160036 +17051996 +260477 +250293 +master18 +xexeylhf +simsalabim +131295 +jennifer24 +srh420 +kswiss +callie123 +wordpass2 +edd +calais +090184 +yellow07 +12asdf +east1999 +kkkkkkkkk +7373 +simba01 +ilovelove +jennyt +server123 +connect2 +goonie +24031980 +alex66 +jujube +atlanta3 +22111995 +butchie1 +040184 +120597 +516888 +240978 +saufen +daniel85 +perola +poohbear07 +03210321 +trebla +141975 +wqer1314 +scoobydoo3 +bismillah123 +marie27 +toosexy +boomerang1 +happytime +angels23 +toobad +emilys +omsrisairam +oreo22 +allstar5 +091083 +spank1 +coolguy123 +paspas +elijah5 +14011980 +1qwaszx +mardigras +dogma1 +123joe +198805 +asdfgh! +bubbles17 +1234rfv +07051981 +01101979 +191279 +tiggy1 +changa1 +hung +suchitra +rhbcnb +life22 +jaimaa +a456456 +savannah10 +131994 +mojo12 +medellin1 +tunde123 +jeep4x4 +101995 +sis +wicked123 +water1234 +530017 +maver1ck +shalom123 +090680 +18021995 +mindgame +pdiddy1 +carter08 +matisse1 +olivares +ranjith +dancer24 +david03 +johnny8 +grendel1 +clarkson +josesito +product +beckham07 +jaden2 +423423 +image1 +tomdelonge +pepere +231275 +webber1 +19061981 +redriver +sonnensche +alex31 +carolina11 +angelfire1 +rasberry +alligator3 +karina11 +030291 +poppers +aleks1 +harding1 +impreza1 +070484 +alex30 +momanddad2 +blackrock +fuckof +mexico619 +123456er +class12 +Aa12345678 +tigger89 +290578 +050284 +198908 +12345656 +vit +charissa +DOLPHIN +240195 +198729 +toby22 +daniel007 +HIPHOP +001990 +megan69 +biochemistry +210293 +421202 +18121994 +nagesh +freddy01 +hippy +carajo1 +22111994 +angelz1 +kenny11 +joshua28 +asshat +marie. +talia +hayes1 +were123 +babacar +the1nonly +brittany23 +guyssuck +roxy69 +041983 +silly2 +dancer6 +lancers1 +pinky6 +elantra +159263487 +glassman +PINK90 +198208 +01012005 +dilshod +showme1 +brescia +290280 +ironman12 +280981 +88552200 +monica5 +21071995 +08051982 +3939 +emily1234 +spacejam +laska1 +Atlantis +Forever1 +f75s83nqk3 +necaxa +19861001 +duramax +floresta +luv2luv +19071979 +siddhant +190793 +13121978 +06091995 +parvati +lahore1 +rosie01 +140778 +honda93 +0709 +11041982 +lizard12 +250177 +bigd +goldy1 +gold44 +sports13 +texmex +qwas1234 +04111983 +200700 +frog22 +eiffel65 +dolphin6 +413413 +25071981 +130576 +suresh123 +rocky08 +hannah96 +wwd100 +trixie2 +jayant +freshman09 +guevarra +kidman +caitlin123 +liefie +kenny5 +04111984 +03021994 +beatka +alyssa8 +sagitaire +29091981 +elmo69 +erlan +morgan04 +jamesp +yukon +anthon +260179 +jamesbrown +ajtgjm +teabag1 +novanova +1camaro +logan05 +t-mac1 +guster +14031994 +021180 +251982 +antoxa +181079 +260260 +positano +987654321123456789 +Savannah1 +weener +27111994 +simo +matthew88 +27031981 +puppy01 +sakartvelo +stickman1 +151982 +chivas1234 +16061995 +08041993 +guessit22 +tima +tiger06 +oscar21 +sop +guimaraes +wulandari +annelies +blackwood +usher8701 +markus123 +chino12 +gideon1 +11121979 +pinetree1 +100606 +010679 +whoopwhoop +ponytail +piedmont +03081994 +allison7 +260979 +mayberry +desirae +texass +wicked69 +clumsy +hubbard1 +01121993 +josue123 +020895 +10171017 +jake2000 +753 +dylan6 +030366 +victoria6 +141992 +CAPA2008 +tellme1 +051095 +300579 +19941995 +231982 +christop +wocao5201314 +goldmember +kb1234 +jaylon1 +111296 +26061995 +ironfist +jellybean3 +02061978 +jack88 +hosanna +sophia07 +bledsoe +hjcnbckfd +manuel7 +sh1234 +260792 +bqLk8kx79U +159357000 +element69 +aguilas10 +poesia +201989 +champy +becky12 +17111980 +mayann +windsong +raisa +220177 +1winter +littleguy +zxcvbnmasdfghjkl +nasrat +kylee +shree +170281 +nugent +bananas3 +ElSalvador +11061994 +020296 +venugopal +punch1 +green777 +400606 +bangor +hotone1 +moneyboy1 +wtfwtf +polpolpol +huxley +dalton123 +101066 +getpaid1 +newborn1 +06081981 +peludo +last123 +careless +larina +funnyguy +mimi09 +021279 +files +07061992 +dragonballgt +swearer +753421 +mjmjmj +baker2 +090393 +harlow +marcy1 +pepperdog +cooper07 +18041995 +23091995 +an123456 +juliajulia +lynnie +zgmfx10a +xenogears +taytay13 +poohbear6 +hemi426 +250395 +knopo4ka +florida10 +gygypyfyyyposhy +Houston1 +goosebumps +yanira +ihave4kids +12ab34 +Stephen1 +podstava +mikail +2903 +jeffrey7 +28121980 +hejhejhej +28081980 +dalton2 +al1916w +618618 +omglol1 +28091981 +ph0enix +06101983 +munster1 +Ab7f23rSV +cavaliers1 +welcome12345 +caitlin12 +250794 +JAVIER +Sarah1 +08041982 +friendss +robert05 +yourmom4 +159635741 +love1982 +calvary1 +eminemd12 +stampy +60crip +black. +bigjohn1 +mike28 +prankster1 +qazqaz12 +bassey +gabriel. +muppets +florida! +caitlin2 +080393 +020509 +max100 +roisin +9512357 +tamara12 +firedog +bridie +84131421 +july1988 +limonada +121314a +030793 +111995 +27071995 +bigboy4 +coolkid12 +030282 +brownsuga1 +radish +230695 +1champ +chococat +dinmamma1 +12081996 +lucas3 +pattinson +120776 +2901 +lmnop123 +290180 +nederland1 +chance10 +co2007 +gestapo +041193 +goldleaf +150878 +08091981 +181177 +66chevy +100978 +emoney1 +lillian2 +02041978 +maddie08 +06111988 +barabashka +love1983 +14022008 +dogtown1 +chris2009 +andrew87 +katie17 +ppppppppp +300400 +passion69 +bundy +мамуля +thomas87 +Lizzie +pokesmot +strand +remont +brian07 +21051980 +vanessa. +cod +nancydrew +ilovemike2 +project86 +brown23 +031193 +rock14 +110202 +cooper21 +tangos +baxter2 +jenny8 +121175 +gjlfhjr +197328 +bebo12 +20091982 +egipto +maus +311077 +chevelle69 +121971 +farewell +02021974 +geetanjali +1000000000 +400103 +toottoot +199115 +senior12 +Mnbvcxz1 +happie +explode +kissarmy +200778 +teamo7 +86248624 +canvas +pimp77 +dragon02 +l0vey0u +clothes1 +adrian18 +sanjar +taylor88 +kobe12 +dawood +califas1 +starlite1 +141296 +21041979 +05121980 +gomez123 +morgan9 +shantell +forever25 +crip60 +01051995 +312 +011279 +angels6 +gracie05 +legioner +Q123456 +moiettoi +1888 +Scotty +Bella123 +050482 +braves11 +qwerty96 +1q3e5t7u +laputa +070491 +warrior13 +131982 +iloveu4eva +generale +angelia +padawan +25051979 +08111988 +130495 +boing747 +branca +Q1W2E3 +zzz333 +jesuisla +viva +willy2 +noidea +090481 +imabeast1 +itsover1 +15021979 +nicolette1 +Zz123456 +gnomes +kazakhstan +080584 +46466452 +socal1 +jake1 +pelicano +americo +asdfghj12 +sarinka +12041961 +daimler +serginho +jazzy5 +aznpride1 +superman06 +blackice1 +wanda123 +maddie! +element. +gandako1 +power99 +jimmy! +chaise +gtnheirf +opennow1 +03081980 +slim1970 +21091995 +mayra123 +phatty1 +nimitz +pepper00 +legrand +trasher +450450 +l111111 +romeo3 +05111983 +kerry123 +rfpfym +kalamata +27111980 +nascar11 +work4me +14051994 +crazy07 +mainstream +Windows7 +nelson11 +777771 +300677 +281984 +temper +gjujlf +24071993 +newmoon2 +dembel +madhu123 +mamana +1skate +inspire1 +080907 +micmac +thomas04 +z000000 +scott3 +01081979 +silverstone +05051979 +sunanda +jasmin13 +3700 +emperador +111111f +brooklyn08 +waikiki +danny8 +pimpin06 +LOVER +000000o +profesora +moonlite +ladyblue +18091981 +bholenath +awesome5 +170894 +pamela01 +aditya123 +lilchris +c1c2c3 +24011994 +elaina +Cherry +lucky#7 +sara10 +fish69 +310793 +football02 +bigmouth +laura3 +ruckus +schatten +robert55 +saraha +chouquette +atkbrc +andrea24 +youare1 +alexsandr +twinss +shay13 +shutter +19841001 +02091979 +jimmy4 +katze1 +panda22 +lovemybaby +skate6 +star05 +buzz123 +060186 +12345678qwe +kanyewest +maciek123 +021194 +money66 +allysa +lucifer6 +depressed1 +june1996 +188888 +katieb +werderbremen +wakacje +tigrotto +160879 +230895 +monkey42 +pipino +siouxsie +22101979 +2times +09071993 +insignia +taterbug1 +tabaco +mylove14 +bia123 +buford1 +1bubble +06011983 +murphy13 +public1 +babygirl87 +gengen +doremon +emmy +booby +19831985 +cintaku1 +420love +02121993 +fire23 +anna2001 +42684268 +150694 +aicha +joseph88 +freaky2 +joyride +03091981 +redhawk +1400 +carson12 +badgirl123 +090681 +031095 +CANTIK +zsxdcf +passw3rd +michael91 +12qazwsx +fleming1 +gaypride +300594 +02101979 +fuckher2 +likeyou +cbvjyf +yonkers +261261 +daybreak +texas69 +homeland +pink66 +Kathryn +cool88 +210281 +337799 +202010 +solar +bronwyn +BLACK +asasas12 +21042104 +jaydon1 +Cheryl +Rosebud +george9 +berkeley1 +may1996 +emily16 +112233112233 +Azerty123 +mallow +030894 +chris29 +moni123 +13051996 +600061 +demolay +teamo22 +canadien +24031994 +nicholas21 +mustang302 +ranger10 +happybirth +15011994 +vanya +pinklove1 +missy6 +jessi123 +29071981 +198824 +020395 +Patches1 +�+���+���� +frazer +09061994 +1nothing +211001 +issac1 +kaka11 +quidditch +bmw745 +z1x1c1v1 +keynbr +andrew92 +190479 +paragon1 +221991 +licorice1 +erasure +spartacus1 +0805 +03121994 +31031981 +melton +25800 +120675 +lifesucks! +carambar +07091994 +010807 +01021976 +fuckers! +150896 +040478 +ppppp0 +ford1234 +07091993 +hinder +narayanan +hk +16011993 +23011980 +jeremy18 +7753191a +cool16 +amar +tonito +100proof +FRANCISCO +031179 +sergik +050695 +8en3dwDXPI +201276 +abi123 +Serenity +17021980 +midway1 +sexyboo1 +191277 +jasmine19 +141002 +121073 +24111993 +1nirvana +littleangel +tavolo +slipknot4 +dopey +sanek +4everurs +vanessa18 +1jimmy +richierich +1flowers +dimple1 +RANGER +lipgloss2 +coral +050781 +r9e8w7q6 +Smith +c0nn0r +10inches +pypsik +chris666 +frenchfry +mine11 +damian13 +135711 +haitian1 +sashaa +fantasy2 +2nqW7A1517 +aitana +charmed12 +andrade1 +panthers08 +18051959 +iamcute +w1w1w1 +198103 +olddog +hotwater +stormy12 +rtyrty +dragonlance +brandy3 +babydaddy +sophie09 +barros +aldrich +ballin8 +300493 +europa1 +chibuike +250477 +nazaret +26031994 +240778 +198021 +nazira +hom +danielle69 +freddy11 +zacarias +4myfamily +diadora +radek1 +01091979 +18111994 +my2cats +1molly +521 +chello +09021983 +haha69 +alisha123 +b11111 +hehehaha +iloveluis1 +there +rosales1 +050484 +1love! +shamus1 +softball44 +altagracia +manofgod +sophia10 +holla2 +bball42 +001992 +19871026 +william05 +150995 +070895 +08081976 +spike22 +80000 +bozena +billy22 +030509 +michel123 +Reggie +100896 +198813 +sharada +ilovesex2 +Phoebe +purnama +kaylah1 +newengland +bikes1 +198304 +sevens7 +250378 +latina12 +19031996 +gtasanandreas +marie101 +100596 +ummagumma +221166 +nikki! +221094 +jacob02 +cozumel +karime +verochka +fussel +290693 +fktrcfylh1 +1955chevy +herpderp +123boo +ivan1996 +appaloosa +ciccino +noonie1 +001968 +09061980 +superm +010101a +jeremy4 +jenelle +05041980 +stuff123 +feet +24071982 +rockyroad +rutgers1 +hanspeter +mona12 +hoboken +060493 +upyours2 +butterflys +single15 +Valentine +chutney +020496 +qq11qq +martin1234 +savitha +12011978 +951 +lmao12 +xkhNmkI633 +selmer +police01 +dakotah +mountains1 +bitch26 +020103 +marley13 +goon123 +1590 +lover99 +MARINE +122015 +cacique +wiggle1 +16091980 +19841123 +marin1 +wawa123 +040509 +1sabrina +lam123 +22121979 +hawkwind +volunteer1 +money1000 +angellove1 +anghel +e12345678 +jackson05 +jomarie +midnight10 +ehlb3c18TW +julianne1 +foreplay +22022202 +winter7 +09061981 +04071993 +270679 +281079 +smile69 +221980 +1985123 +jillybean +ruby13 +english123 +030480 +hashem +babygurl06 +bergamo +willow13 +duece2 +25071995 +198927 +faith21 +tigger04 +aleluia +tomjones +020209 +jesus2011 +jesse22 +2327 +coumba +07111982 +291179 +sunny01 +d-money +attilio +purple420 +delta3 +espejo +090977 +urban +rjhjnrb1 +123rock +jeanine1 +paokara4 +aloalo +dogpound1 +beatit +rfgtkmrf +chris2006 +08071993 +atakan +buick1 +spinoza +margaritka +abidemi +kimbo +dragon84 +140895 +bobble +allin1 +crazygirl2 +carmen22 +2524 +losenord +yyy +101009 +clicker +googly +rangel +acm1pt +beyblade1 +22021978 +jeremy17 +cool25 +rangersfc1 +brandon04 +britt14 +minnie7 +sosa21 +12121976 +oaktree1 +marley7 +nomames +sadiegirl1 +scott22 +rocky99 +arinka +Q +17041994 +tiffanie +30051981 +ashley90 +torres10 +sm0key +gobble +anneanne +poprocks +fr1ends +elementary +gfhfpbn +10031978 +0120 +kartina +totoy +vegas702 +amarnath +socool1 +050194 +martynka +joepie +baboon1 +dillon01 +charlie19 +hacienda +dbrnjhjdbx +halo02 +greenday6 +anakaren +080979 +Uruguay +parris +love48 +princess78 +SjiecJ1A9X +оксана +classroom +sadie13 +jesus00 +19841018 +123443211 +455455 +panacea +juicebox +kissme4 +connor99 +calhoun +050192 +avrill +523698741 +thelegend +rooroo1 +brandon02 +bball31 +woofer1 +proline +sheyla +bosnia +karman +pirulito +merganser +27061994 +badboy14 +pwnage +boxing123 +Snowball +iluvgod +vfhbz +231276 +jimmy21 +antwon1 +muchlove +fergus1 +spammer +mygame +volcom! +clarke1 +tiffany4 +landon01 +cfdtkbq +fishing4 +1raymond +mommy03 +dexter13 +rosetta1 +060979 +mary69 +110975 +29051980 +shivji +silver9 +badboy6 +holliday +animefreak +1234567asd +trolls +obama +asdf23 +esoteric +paris01 +831005 +adesola +eat +210179 +family15 +totalwar +care +daddyyankee +music=life +cutiepie9 +laura69 +52hoover +goncalves +tribes +kimak1 +jumpstart +14101995 +annoying +101973 +batman20 +pothead2 +police11 +siempre1 +farter1 +070682 +tonight1 +katie15 +chica12 +lucario +senator1 +virgie +6cctbbk516 +myspace30 +wetpussy69 +bateman +simone2 +benny12 +dakota23 +29011980 +hideki +alba +daniel2008 +david2007 +bubba9 +1sparky +sorrow1 +070384 +olympus1 +nico1234 +1234567890qwer +vidanueva +dutches +kitsune1 +sweetie01 +ponderosa +michael90 +imcool12 +010405 +servant1 +graciela1 +trivial +08071983 +171278 +quackers +011280 +salma1 +230177 +myspace76 +chelsea18 +misamisa +200820082 +yamuna +porshe911 +1stplace +12111994 +marlon123 +blondie101 +sexylegs +gfhjkm777 +noodles2 +ghetto123 +22101996 +lazyboy +whistler1 +p0kem0n +misbah +gravedigger +brennen +madisyn +13324124 +vanna1 +polonia1 +sarina1 +waddle +eagleone +forgot2 +austin101 +dbrfdbrf +zrjdktdf +leelee12 +belle12 +24011983 +monsoon1 +killer93 +cindy13 +545545 +bowwow13 +harley101 +chanel05 +12051979 +huligan +198102 +rfhbyrf +artichoke +shannon8 +02101978 +golfer11 +deadend +amber8 +14111995 +241276 +faithfull +june2000 +sunshine26 +biboune +puta69 +sweeter +01121994 +benzin +busterbrown +angela5 +pirates3 +slipknot01 +nochance +transport1 +martyna1 +kissme7 +122412 +260894 +3tb9xM42xI +edward08 +09101983 +27021981 +maxou +franek +251276 +mark12345 +ktitymrf +mama2000 +tiffany10 +160877 +200576 +vanila +060486 +munnabhai +human1 +love1980 +10061978 +070893 +mutual +230794 +mychemicalromance +rf +flamengo10 +aerdna +ahfywbz +199423 +dalton01 +ambulance1 +patoche +white23 +jenny20 +freckle +melanie7 +odie +ginger06 +london20 +sunset12 +hai +150575 +iloveyou78 +021078 +boomer3 +renee5 +collector +rent +password71 +kimmer +astigako +380013 +vika1995 +lctstens +kakdela +thousand +infierno +121512 +yeswecan +honda6 +work1234 +03091994 +redrum666 +shitface2 +popcorn8 +gangster6 +22081982 +251990 +finnigan +07101981 +panthers3 +liljohn +05041993 +841025 +arihant +kacey1 +d123123 +sivas58 +120200 +gambino +5zgc2T764B +1qaz2wsX +cody101 +jimmy1234 +dance01 +mamatha +duran1 +spooky12 +08111991 +fucker9 +200910 +haywood +26051995 +gjitkyf +kate1234 +fulmine +zerocool1 +bagdad +mustang. +carrick +cats101 +bethesda +tiger! +161277 +181984 +walmart2 +shorty88 +gateway11 +bellsouth1 +morgan. +Fantasy +ballsdeep +62626262 +realest1 +040471 +secret101 +oyatayo +numero +rose99 +myspace96 +luiscarlos +sophie4 +125800 +telecom1 +jess01 +031194 +techno123 +screwed +12101995 +06031982 +pantufa +demonhunter +contest +45654565 +boilers +lila123 +bleeding1 +Annette +melissa18 +saadia +hartmann +aaron17 +badboyz1 +dancer. +nicole83 +newyear09 +crjhjcnm +19011982 +010577 +261277 +rizal +26101995 +bobert1 +vladislava +Teacher +muffin5 +fresh11 +19111980 +nandan +111113 +anja +orca +vergessen1 +djibouti +26121995 +25021978 +199317 +1christina +frederic1 +wwwwwwwww +jayden22 +198106 +fuck89 +vadim123 +anindita +11441144 +randi +iloveyou31 +abigail01 +steaua1 +tina22 +22love +kaliningrad +070392 +cayank +jesse! +120608 +fishhead1 +king06 +killa14 +silverfox1 +tonio +SHARON +BRENDA +wasser123 +santos13 +824553435ss +dildil +august03 +insane2 +100576 +ronald12 +melusine +arancione +riley11 +charliedog +blacky12 +precious11 +republic1 +laksjd +jojoba +tinashe +05011982 +1monica +c0ffee +mooooo +qwqw12 +lollip0p +ravioli +tigger45 +changer +user1234 +24041995 +ronnie3 +110876 +101175 +1donkey +giraffa +munson +shit13 +cvfqkbr +andypandy +160695 +16011981 +sexygal +290494 +6161 +jeremy16 +Sammy1 +161278 +1cracker +sunny5 +april1990 +theworld1 +hailey11 +s123456s +herald +stubbs +2131 +vortex1 +irock11 +ballbag +123-456 +polo99 +12101977 +dam123 +cc +capello +omalley +04021981 +1300 +greek +mexico24 +risc +jar +alfredo123 +nannan +water13 +781006 +mickey25 +personale +210195 +howareyou1 +alexandra3 +060676 +caiden +04021982 +050609 +brasileiro +070382 +steph69 +ziggy2 +30041981 +821026 +081980 +annecy +honda500 +jasper99 +hiking +deano +1551 +jesusmary +sweet25 +Hamilton +mari1234 +pablo12 +twilight6 +01081994 +proverbs35 +carmelina +allstar23 +7stars +yankees07 +yankees15 +pimp12345 +ionut +zhenyu2012 +06081982 +misericordia +icecream13 +floortje +05021980 +31011993 +123098q +wertyuio +anulka +198024 +fai +221196 +04071980 +unity +����������� +march05 +proverbs1 +240280 +abcdef7 +lovers07 +sabrina01 +19121979 +xavier06 +br00ke +pasuma12 +tillie1 +oceans1 +nenita1 +cheating1 +091983 +ashley86 +1234567123 +4488 +optout +dockers +britt08 +charles22 +LAKERS +shane11 +lordik +dwayne3 +chris2010 +NELSON +shakademous +romeos +300994 +festival1 +m696969 +music25 +love777321777 +vlad1999 +bingo12 +lfytxrf +neverever1 +020808 +hair123 +kicsim +katie08 +chevy11 +159753654 +samsung6 +tinker! +piupiu +ivan11 +2nipples +dick22 +4294967296 +213546 +blood21 +071193 +dangelo +defcon +jaymar +buttbutt1 +560097 +sunshine44 +valerie123 +27071981 +spooky123 +supermax +vfif123 +baby111 +22021979 +SUCCESS +England1 +general123 +419 +220895 +06121994 +cabana +sherbert1 +marmot +11091994 +feride51 +logan4 +4evermine +figure +fucker01 +michelle99 +181077 +060581 +blade12 +0804 +caldwell1 +012012012 +purple05 +elviss +qazwsx321 +poknat +123pormi +.... +pharaon +Georgia1 +zap +helga +18051978 +listen1 +shithole1 +07111988 +fififi +burnside +196767 +071989 +name123 +coolgirl12 +290593 +anakku +010377 +maggie88 +060182 +cancer123 +popcorn10 +krzysiek1 +qscwdv +laffytaffy +school14 +01041979 +210895 +honour +honey9 +03121981 +single14 +iceman3 +15301530 +nick06 +270778 +081278 +reece123 +0password +14061981 +161178 +karina01 +kakaka1 +motorolla +210178 +icecream8 +dancehall +saxofon +frankiero1 +homero1 +cool77 +sexyb1 +janiya1 +starkiller +ryan04 +12091979 +199001 +moustapha +cesar13 +gabriel21 +meli123 +ladyluck1 +cash11 +micro123 +campeon1 +pinky23 +sandrock +010494 +blah13 +blondin +ben123456 +blue04 +051093 +020494 +pinky01 +nokia5320 +sander1 +hahalol1 +masterpiece +ilovemysis +090603 +Ronald +vuitton +pisellino +sexygirl15 +ayurveda +rasputin1 +lemieux +d1d2d3d4 +24081981 +28031980 +30121994 +metalika +lilo123 +11111978 +3iverson +famous3 +orlando13 +ANGEL1 +junkjunk +elijah4 +creampuff +199016 +watson831 +Frankie1 +monkey85 +yjdbrjd +fH1hM1wL +sidorova +kamryn1 +090286 +191992 +dina123 +05061994 +lady23 +cashman +doll +bignose1 +gorodok +dowitcher +051293 +rangers10 +450000 +nataxa +evaristo +music17 +snowey +smiles! +17041978 +281077 +overkill1 +sexonthebeach +07021994 +baklan +Australia1 +Michigan +08061981 +masterblaster +link4me +vivek123 +joel13 +foodie +silverio +281985 +080877 +shakira123 +omegared +fltkbyf +robert89 +221990 +198216 +ar123456 +turbine +241982 +040385 +sandesh +bettyboop7 +110897 +241296 +07041982 +fdfd +homie13 +lupetto +011281 +polkovnik +divagirl +ghjcnjkjk +pentium2 +9111 +redgreen +osorio +ed +saunders1 +1compaq +demarcus1 +marlboro2 +scooter23 +cachorra +Chris123 +rajeshwari +naruto20 +archimedes +icequeen +lover44 +gayfag1 +duke10 +titanium1 +zul123 +nelson01 +ghostrecon +wanwan +nicholas123 +eastside14 +041094 +hightimes1 +booking +hamtaro1 +1yamaha +Asd123 +Hayden +51525354 +20031979 +scrooge +mcguire +dale08 +gustav1 +031276 +1234ABCD +september12 +triple1 +sundae +andre3 +randymoss1 +qwertyasdfg +william20 +thisismypassword +040382 +chloe22 +31051980 +a252525 +shawty2 +07011983 +frank3 +council +030779 +grad07 +110035 +jenny101 +10081980 +hariharan +tiger86 +14101979 +girl14 +jeremy6 +02051977 +ass111 +marinel +sugar22 +gisella +241093 +963321 +cemetery +autism +intouch +isabella08 +dietrich +110476 +gates +aiman123 +ronnie01 +missme +upiter +01091995 +300394 +papasito1 +courtney8 +pok +hockey31 +gibbon +180578 +cadbury1 +tiger777 +oriyomi +xiaoxin +fifa2005 +milka1 +neopets22 +hitler666 +carlos27 +Satan666 +elvis01 +adios +brooklyn21 +0710 +cutiepie09 +20111994 +branko +11121978 +7539510 +1aaron +edwards99 +110177 +lovegirl1 +hihihi12 +120797 +galatea +borracho +ignazio +gsxr1300 +porche911 +180281 +12101979 +Camille +19841015 +030493 +fluffy5 +cornflake +manwhore +ccc333 +1916 +dillinger +ISABELLE +rose17 +07121993 +bhatti +localoca +159357z +holidaysecure123 +qwer13 +ihatey0u +220596 +buddylee +mono123 +1maxwell +181277 +220496 +ghandi +140378 +ability +mcfly +gbjyth +dude10 +07051993 +madeinchina +fuckyou66 +04091983 +31415927 +pelotudo +Brittany1 +abcdef6 +scarface5 +arsenio +evgeni +olaolaola +bobsaget +270879 +mazinger +akasha1 +whitecat +korsar +baby100 +bubbly1 +price1 +mariem +301193 +pussy15 +8point +camacho1 +stas123 +lk123456 +sd1234 +access01 +Winnie +babe21 +engelchen1 +gogiants +oldspice1 +somebody1 +malmal +welcome1234 +babygurl9 +pas123 +miley15 +slingshot +marie77 +army1234 +020301 +bigdave1 +ricardo7 +annalee +becker1 +210576 +faheem +omoyah1 +hawaii01 +felicidades +fuckthemall +p@ssword1 +birthday12 +elite123 +gutter1 +fuckyou78 +12345699 +volvic +onelove420 +pink45 +drugs1 +12071979 +17011982 +198926 +pirates! +password666 +starts +fumanchu +011183 +shithead69 +moonshadow +080284 +fokker +lachen +qwertya +Lol123 +gerard123 +redrock1 +220795 +fermat +toyplanet +couture1 +apfelbaum +newlife2010 +buddy17 +A1b2c3d4 +25202520 +mutley1 +crazy17 +mariajose1 +130778 +fake69 +23081995 +250576 +trouble! +21111994 +26021994 +honeygirl +kontol123 +geometry +beauregard +24051981 +secret1234 +reveal +hallo! +jasmin2 +02061976 +231456 +13051995 +23262326 +luismi +vikings2 +020678 +24071981 +09111982 +90 +120397 +22101995 +scarface11 +juicy12 +teddie1 +kazakova +fluff +coffee! +199113 +280494 +shawn11 +asakapa123 +kinga1 +breakers +number27 +iloveryan! +10021978 +99009900 +118811 +MM744m1 +mittens2 +jkl789 +811010 +amy1234 +anna2007 +300494 +nichols1 +monkeyball +paradise2 +hole +05091982 +hockey28 +miller30 +280993 +pointe +akon12 +zaynmalik +FUCK +volvo123 +melody12 +120276 +poopdick1 +250777 +faramir +198815 +07011993 +julia01 +120975 +angelino +dusty12 +bones2 +stella13 +rebenok +120606 +03011993 +hannah77 +1legend +peaches23 +valdivia +tulipa +14081994 +12345678y +pepper24 +reject +kor +sexymom +voldemort1 +25cent +suriname +elbarto +Philipp +russia11 +chicken44 +estela1 +199226 +pintura +otis123 +chanel12 +torcida +lucky4me +allstar11 +manuel. +dragon67 +11111r +shine123 +151076 +nikita99 +31101996 +lastpass +dukedog +danielle6 +flower08 +cristofer +capri1 +myself2 +pathology +1234567890w +manny13 +kayak +02021975 +23032303 +269269 +charlotte3 +michael85 +luvya1 +golddigger +gabriel14 +pitbull5 +mixtape +tochukwu +300381 +hailey04 +lesbo1 +elijah09 +voland +120674 +blume +sucks1 +natnat1 +kaulitz89 +taller +jason19 +gohogs +ciara12 +thomas92 +451451 +evelyn123 +whales1 +fergis +041093 +montauk +05111984 +yomama3 +iloverob1 +161991 +stonehenge +05051977 +22081995 +booboobear +ne +nemo11 +02081995 +13111994 +110220 +mememe12 +read +friend11 +99889988 +KEVIN +goodwill1 +kravchenko +sonika +glorytogod +lynn14 +dmitrij +allison11 +2p76xG2yHV +210977 +arena +LzuDz2xe98 +230974 +19021981 +794613258 +altec1 +dedmoroz +fuckoff01 +maracuja +becca12 +superman55 +600092 +cheese24 +789551 +shanon +aprilia1 +1315 +16071994 +symmetry +zzz000 +houston7 +tabbycat1 +fibonacci +puppy8 +morbid1 +tanner13 +60606060 +dottore +toby10 +130776 +warfreak +welding1 +dance8 +imperia +19841212 +swallow1 +victoria22 +Beauty +111965 +dogtown +140795 +21121995 +lifesgood +cookie19 +30121980 +josema +srbija1 +moody +123456й +160994 +jeff22 +a212121 +eng +manson69 +280979 +lad +russia123 +pimp55 +drake12 +grad2009 +scarface10 +07041980 +3322 +fastback +spongebob12 +�+�������� +400602 +espana1 +getrdone1 +hate2love +trever +christine0 +060483 +woopwoop +babyjames +1loved +cenicienta +mygod1 +caronte +6uldv8 +201175 +30061995 +youaregay1 +mickey05 +220641 +ashley26 +jazzy7 +jamie14 +iloveyu +softball99 +chingching +filudskou +qpalzm123 +hate13 +wesley2 +monae1 +fdfyufhl +230178 +123456789qwert +25061994 +28021980 +02071996 +wilmington +06091994 +111095 +18101981 +333444555 +stupid6 +magdalene +140994 +221222 +13011982 +18061994 +qazplm123 +230196 +12031996 +imsorry +economic +nelinka +dingbat1 +bombon1 +cazzoduro +steroids +carlisle1 +lazy +shake +senior2008 +17071995 +050677 +miller21 +alexzander +akunamatata +faustina +artem1994 +one2three4 +020309 +londonboy +music99 +72nova +jacob16 +barbie18 +saladin +021980 +bubbles18 +pepper77 +favre04 +joshua27 +pantera69 +playboy. +skittles5 +slaughter1 +angel82 +777vlad +20041996 +lindaa +091985 +alex84 +Natasha1 +616616 +922i4Ddebm +glen +adrian17 +cheer23 +gujunpyo +08111983 +katarzyna1 +damien12 +maggie1234 +purple96 +yellow45 +040192 +yunusemre +braeden +urmine +2807 +15511551 +honden +italia06 +311078 +070183 +chevys1 +kjhgfdsa +jordan55 +mengmeng +ranger7 +vaquero +trent123 +22031981 +02101993 +darko +coral1 +plague +241983 +19861011 +mikola +100995 +honda10 +rapala +babyboy17 +balderdash +myhero +milamila +KR6sjhs412 +lolsmileyf +toad +010609 +kokolo +101005 +gtnhjczy +01041977 +03021981 +258036 +rem +drinks +baller9 +brandon0 +19932009 +1zachary +seventy +051989 +mamipapi +ca1234 +Christopher1 +lettuce1 +fatbastard +1q2w3e4r5t6z +fuckaduck1 +20111995 +@123456 +selassie +24061980 +1toyota +fishface1 +sasha14 +111111g +31081994 +qaz123456789 +cheerio1 +Scotland1 +pass_Rrewq +christ777 +13091981 +carmen10 +23252325 +17081995 +piter +GODISGOOD +300881 +agness +bandit! +010379 +Monique +13041980 +mackdaddy1 +karen01 +superpippo +121264 +emily03 +shane13 +maggie77 +2loveyou +emery1 +12291229 +dannielle +heaven08 +220896 +Daniel12 +gotcha! +10041996 +pangitka +trinity6 +chocobo1 +catdaddy1 +babygurl8 +13061978 +180194 +blessme1 +20081981 +buttercup9 +282001 +200395 +peanut88 +SANTOS +GENESIS +290679 +moskau +123456Z +hardware1 +latrell1 +petanque +lacrosse11 +musica2 +sofresh1 +tokunbo +197719 +170779 +hghghg +sabiha +snacks +sasha111 +198318 +winslow1 +hf: +sophie14 +youtube2 +19011980 +louise7 +1bullet +hiphop23 +27071994 +isaiah08 +pf: +sammy17 +happy2011 +powerranger +25051975 +halo21 +tbird1 +larenga +etienne1 +2blueeyes +ronald2 +2hdq6c9aZV +Pandora +asdf;lkj +jesusrules +fidel +10091994 +hubble +08031981 +dorky1 +vlad1234 +010777 +240878 +031277 +bushman +akeem1 +120203 +pituca +20031994 +penguin8 +abbeyroad +aracely1 +wazup +140495 +maria07 +hotspot +charlie27 +success09 +dinadina +POOHBEAR +isabella11 +perez123 +smiley14 +tolits +florcita +1frankie +satguru +esenin +lollipop13 +pepper06 +aubree +jonson +22101978 +lugnut +zachary13 +050596 +nectar2011 +beyonce12 +barbie6 +david111 +soukaina +050708 +santi1 +love000 +26081980 +cameron99 +4040782as +placement +mexico2010 +vavava +010294 +420high +little11 +2213 +dorita +natalja +toothpick1 +cms123 +Sternchen +fire01 +VALERIA +patou +kerberos +15111978 +skittles4 +michigan12 +nbalive +reddwarf1 +shane3 +29101981 +bubba08 +king666 +06021993 +131983 +pimpin24 +farmgirl +rawr13 +JULIAN +rf: +230278 +asdfghjkl12345 +01121981 +1carmen +olivia03 +reaper2 +1918 +180680 +pupetta +robert26 +adidas21 +dimmuborgir +olympique +pimp100 +boater +090509 +gosling +retsam +annita +gravy1 +mollie01 +sexboy +joe101 +jkmxbr +nexus1 +290396 +mojehaslo +130178 +august02 +botas76 +shipra +23101996 +spencer01 +catdog5 +123456789101 +satan123 +macondo +agostina +starmoon +blackandwhite +ewan +evolve +omega12 +junior00 +elephant5 +18101995 +ilovesos +02081978 +pipetka +brookside +simple11 +matt09 +warrior11 +khattak +011079 +19851012 +drevil +foghorn +gerard2 +ferdinando +master0 +faisal123 +12wq12wq +301195 +1fuckme +rediffmail +appaamma +swampy +gangsta10 +pop101 +cassey1 +redboy1 +snowdog +pinky10 +unloved1 +richard14 +east +26091982 +salami1 +password420 +loader +sadies +miahamm9 +200999 +080384 +260695 +poppop123 +pintoo +19861210 +copeland1 +1A2B3C +26021980 +24081980 +h1h1h1 +1913 +kinjal +ibiza1 +наташа +06041994 +19851025 +idonthave1 +08111992 +emma04 +210176 +iloveboobs +brooklyn22 +htlbcrf +mancini +140296 +mexican7 +shawn3 +gohome1 +560084 +heyyou2 +myboo2 +160101 +290381 +destiny14 +urthe1 +taktak +billiejean +94mustang +saints11 +Liberty1 +setsuna +121212s +yanayana +hakima +blinky1 +21011995 +gunner11 +shelby500 +solovey +jasper21 +Terminator +michelle77 +shiner1 +15951 +03121993 +jaded1 +02041996 +sister5 +JesusChrist +ariana12 +7children +firecracker +sdsadEE23 +gman +93mustang +lincoln2 +aiden08 +1234zx +godhelpme1 +jessica77 +q1w2e3r4t +northeast1 +09041994 +dubois +kluivert +wrong1 +m0nst3r +eatshit! +090809 +79ford +132132132 +789012 +jazzy10 +anneliese +14021979 +amin123 +pink86 +daniela13 +naruto55 +honeycoh +silvina +04011982 +dancer88 +ba +chelita +197510 +0109 +limelight +sukanya +coolio! +elfriede +fatman12 +Honda +131996 +140594 +angel555 +1miguel +26091995 +Molly123 +red222 +1234545 +dolphin! +gjyjxrf +rene12 +13501350 +karatekid1 +040283 +123456787 +sativa1 +love68 +12061979 +freerider +231076 +tubgtn +parazit +jamie22 +krokus +Paladin +allgood1 +17031980 +030182 +kelsey10 +Frank +25081995 +morgana1 +1326 +player16 +29051982 +ela +powwow +gamers1 +bas123 +manuelita +coondog1 +ulyana +ghghgh1 +jessie23 +krysta +wer138 +alina1995 +RAYMOND +squires +ellabella1 +freedom. +bubbadog +steph22 +010396 +150295 +fresh101 +136479 +bradley3 +071180 +buckie +sandra3 +nemonemo +31101978 +frostbite +donjuan1 +13021994 +thuglove1 +sharkey +success01 +lola10 +dreams12 +��+����+��� +fall2008 +baloch +29061995 +cooldog +cocobean +pussy666 +bassline +blastoff +patsy +andra +wasalak +281295 +200694 +billy6 +25302530 +12481248 +chloedog +230778 +777777q +sunnyd1 +caffeine +steve0 +220294 +taitai +lagata +liverpool01 +nokia8210 +0409 +31122009 +010678 +puppies4 +30071982 +06021980 +djtiesto +rivendell +mark09 +198699 +10021996 +PnUfSci218 +laura14 +dodgers123 +floricienta +515051 +136900 +wildwest +02061975 +210995 +severina +angel1992 +gogreen1 +tristan3 +nicky12 +family03 +thunder21 +princesa2 +284655 +201986 +jawa350 +300695 +basketball22 +glenn123 +NOAdmin +n.kmgfy +ashly1 +bosna1 +bitchass2 +29031994 +050509 +hackme +nermin +30051995 +4201 +pass00 +vicky12 +151295 +demonyo +justin97 +babebabe +megaman12 +112007 +ole +sosweet +indya123D +anteater +star100 +234589 +queen7 +gtnhjdyf +vinny123 +sunburst +784533 +cool33 +will23 +housewife +illegal +carson123 +rhfcyjzhcr +grandslam +maxito +killie +sreedevi +dallas14 +md1234 +breakfast1 +threegirls +janela +Phillip +jacob03 +tacobell12 +puppup +boonie +gor +04081979 +lewis12 +13111993 +030980 +nympho +201308 +gwadada +password41 +123456789asdf +3q2w3e4r3t +102288 +purple29 +stratocast +ichbin +anal69 +jason05 +2016 +account123 +dani3l +061079 +walkitout1 +tango2 +waterlily +milla +corona2 +diesel2 +gangster11 +amoree +3Odi55ngxB +carolina5 +twins08 +kaden +111275 +2gangsta +hannan +29101980 +adam07 +06031993 +lavidaloca +sniper2 +riley7 +16111981 +money007 +yukiko +odysseus +frankenstein +harsh +g123098 +fitter +ninja101 +bubbl3s +parade +minty1 +noah11 +myzoosk +alec +hotmail3 +KytFy2xd97 +19031995 +libra10 +021989 +spiderweb +suleiman +12031997 +waiting4u +deusex +repent +alabama3 +110496 +tennis4 +iceicebaby +alyssia +27041981 +lizeth1 +123456jk +150577 +08061994 +Konstantin +rose69 +1outlaw +amelia12 +callan +luk +lee1993 +buttons123 +jack2006 +110999 +happy. +111076 +darvin +189189 +lotus7 +kovaleva +25121994 +chevron +120775 +google9 +kenzie123 +marina22 +180993 +bitch27 +mama07 +badass23 +pumpum +merced209 +green28 +160679 +dogstar +04051994 +123qwe4 +emmie1 +02111981 +gena +bhabycoh +montez +20051977 +123456rr +111111A +loveyou143 +wwe4life +pornporn +13151315 +dane +benedict1 +martin07 +sweetpie +bunny4 +nene15 +6grandkids +princess85 +123456am +19821984 +discreet +pink96 +cholo +carter4 +Sidney +sender +villeneuve +applejacks +zoedog +3355 +niclas +bigdick9 +030495 +eugene2 +mahaveer +11081978 +14061980 +shisha +23111979 +brandon88 +click123 +brianna! +050281 +crabby1 +jelly2 +davenport1 +chocolate11 +arc +martins1 +ram2500 +221993 +kelvin123 +1snowman +grace4 +bananarama +florida01 +everlastin +blakey +020192 +wol +jayasree +oliver14 +11341134 +hermes1 +pavlenko +010277 +lovesexy +to +19841011 +lovehurts3 +peanut03 +31081981 +payaso13 +joseph03 +SPONGEBOB +angely +renesmee +aaron09 +loser00 +16051996 +aristo +volley12 +montydog +thierry1 +Monkey12 +Bulldog +101298 +1358 +ashu +ayushi +norman123 +theone12 +201007 +priceless1 +loco22 +030595 +ceres +20021978 +090493 +1bigpimp +tijger3417 +banana6 +dream5 +punk01 +rachel9 +giants123 +120673 +dbrf +180195 +bighead2 +280898 +1qw21qw2 +halfmoon +taylor33 +130296 +badoo.com +richard. +double7 +yay123 +laketahoe +cookie55 +29031981 +mayotte +vivivi +woodward1 +2bananas +northwood +gemgem +suzuki1000 +4yfb2S753D +19051977 +ayman2008 +121201 +hecfkrf +lotusnotes +abril +czz000000 +hazard1 +198002 +mightymouse +010173 +05111981 +10021977 +playstation1 +jedidiah +simone11 +199614 +soufeliz +georgiy +mooney1 +jumpstyle +kerri1 +darknes +fylhttdf +layouts123 +g76u94prm4 +13031996 +surfboard1 +270379 +12121974 +230396 +silva123 +balla3 +qq112233 +katinas +16061978 +260496 +cowboy5 +pinklover +19021996 +ch123456 +ghgh +wicca1 +Friend +18031995 +martin88 +deedeedee1 +01031976 +07101982 +ricky7 +trustno2 +poop55 +notime +gg1234 +25111978 +secret10 +18101980 +malia1 +shinedown +10051978 +11081976 +13541354 +123258789 +king360 +knight2 +darius12 +love2sing +15041978 +3password +Houston +preston123 +vball11 +assass2 +25041981 +02041995 +daniel0 +funkymonkey +kaylynn1 +salamon +Kelsey +55555d +ghjcnjqgfhjkm +14111993 +bungee +04081994 +jebise +outcast1 +1cheyenne +killed +shadow87 +03101993 +payroll +Zxcv1234 +hppavilion +bongos +2907 +gigino +gohard1 +november05 +coyotes +5monkeys +qwertyuio9 +barrie +Brooklyn1 +qq000000 +fantasy12 +flint1 +1momma +hotboy5 +t4_Us3r +fordham +290894 +dean12 +12inches +07061982 +chakkara +1010110 +23091981 +adivina +gamess +fishbone1 +angel1990 +lovebug22 +a1sauce +king007 +090880 +lokote13 +153045 +genie +wapwap +bloemen +12345ss +suzuki125 +260794 +PRINCESA +sandgrouse +joints +jeremy15 +isabella4 +010607 +warface +2babyboys +bipolar +alltel1 +yellow44 +041178 +141196 +twilight16 +love1999 +socorro1 +fktdnbyf +viktori +trinity07 +yogurt1 +cupcake9 +linda3 +paris3 +sisi +19861012 +america6 +motita +porcodio1 +100876 +a12344321 +stgeorge +haterz +tetete +seba123 +1fireman +trinity11 +sony11 +mama2008 +889977 +cody16 +music77 +rodney2 +101205 +12891289 +vollyball1 +brown11 +elemental1 +afridi +110057 +zodiak +eleazar +noodles123 +1s2s3s +daili123com +effect +regina12 +victoria14 +red007 +keshia1 +trying +polymer +virtus +milind +jewel123 +poohbear8 +brianna07 +paramore! +amani1 +dani10 +16101994 +wolfenstein +jenny18 +bernardino +anarchist +13021978 +270894 +solitaria +kanye1 +britt09 +martin4 +bubbles88 +literature +wizkhalifa +aceraspire +sherin +ginger00 +insomnia1 +23011994 +pieface +081093 +ghetto12 +freeuser +198107 +brett4 +14111978 +nosoup4u +12e3E456 +andrew97 +monsieur +treeman +larrys +cool18 +sunshine28 +chewy2 +love831 +guero1 +an +ciara2 +evgenij +crips6 +45124512 +inform +disciple1 +kelly14 +112111 +15161516 +04091981 +112911 +olubunmi +yukiyuki +523 +180894 +sexyboy13 +11111977 +antara +babajaga +elvin +nokian80 +honda04 +120598 +261194 +09041982 +popeye123 +31011980 +hutchins +palestina +kikou +jin123 +791010 +gal220 +sunnys +w2e3r4 +19841026 +hammy123 +marsh1 +theonlyone +sexual69 +rosanna1 +030895 +soleil12 +kingarthur +andyouone +19031979 +coolcats +wanjiku +macey1 +lloyd123 +16111980 +600053 +19841986 +bobby! +skate01 +gagoako +210877 +13041995 +hector2 +teller +samsung4 +anna17 +niger1 +strikers +�������+�� +564321 +daddyyanke +tinamarie +azalia +260779 +bonaparte +resident4 +nascar01 +110026 +ukulele +lost4ever +green321 +jeff13 +17041995 +texaco +norcal +jukebox1 +gfhjkmrf +richard6 +kisses7 +thumper123 +sussex +dirty30 +181194 +01111982 +400012 +polilla +199105 +mineonly +maintenance +star87 +hardcore. +3bears +ty123456 +24021980 +so +jayden02 +hanako +volimte1 +partridge +cloud99 +ball1n +141982 +starlet1 +bulldog22 +dylan03 +nhoemnhieu +micha3l +051277 +tennis09 +Apples +cynthia12 +120699 +290978 +26041980 +iluvyou! +muaythai1 +dupadupa1 +huracan +yummie +01011964 +jonathan08 +polska2 +911007 +05071994 +buknoy +urchin +oconnor +Peaches1 +11112011 +janiyah1 +birdbird +bigshot +takishima +vlasov +xuanxuan +interiors +truelove7 +raven6 +anshuman +000021 +knight11 +faith06 +qwe123rty456 +marita1 +promotion1 +life13 +bible123 +thundercats +megan21 +bigtits69 +1235689 +rubicon1 +trudy1 +14121978 +shadmoss1 +bundeswehr +040579 +sarah8 +crazygurl1 +pussycat2 +141095 +cantona07 +08111989 +clones +SARAH +oliver07 +conflict +thales +luna01 +danyelle +george. +prudence1 +samuel21 +lilmama11 +050293 +bonneville +260895 +usharani +barrington +668668 +28081981 +131177 +michelle30 +woohoo! +thisisgay +alexis1234 +13666 +28071994 +c0urtney +R5GNqyRr +wembley +peanut17 +dreamworld +01091978 +change08 +123king +260279 +sarah88 +saralee +18121996 +kelantan +beerme +sexii12 +dogboy1 +horace1 +christine8 +acmilan1899 +sandy10 +harley24 +xk45xDxCYR +danny09 +patrick07 +master07 +braceface1 +boylover1 +28051994 +mistydog +krish +27011982 +douglas12 +091081 +cupcakes12 +fucku21 +amanda101 +killer98 +july1985 +16121979 +08121981 +kitkat11 +flor +studentka +dennys +myspace85 +zayzay +sherzod +appelsap +pooping1 +bentley2 +7001850 +200220 +031195 +yahoo12345 +riley07 +hakkinen +braves12 +Love1234 +green32 +singer2 +lovelove3 +wildcats14 +diva23 +17071977 +080895 +struppi +ALEJANDRA +12081979 +sister4 +dustin3 +ihateyou22 +thomas98 +freitag +010172 +g86u94psn5 +159753159 +021295 +lupita13 +fun4all +carlos! +11101978 +werock! +1236987450 +mo +kondom +0902 +prince14 +fevral +blackveilb +1422 +nadiya +�+���������� +19881010 +cycling +lovehurt +6323463 +hacked123 +hunting123 +230808 +bella9 +1wifey +trieste +angel1993 +galindo +220194 +lissette1 +baseball04 +redneck7 +ilove18 +sca +080380 +111197 +tom12345 +ilovelee +qazwsx! +justice4 +raccoon1 +gunot1 +010208 +gfhjkm11 +notengo +cacaboudin +rke: +vika1997 +teddybear! +hip +kel123 +lynn10 +ginger17 +minnie10 +flavour +ferarri +millie11 +lala16 +mmmmmmm1 +snoopy77 +vampire! +sundrop +loveme77 +7896 +punkrock10 +alternativa +democrat +xxx007 +13071995 +1212345 +allen13 +people7 +bear1 +july1983 +marco13 +cessna152 +clarkkent1 +x100pre +18081981 +samuel100 +truskawka +ysabel +hardhead +190893 +heather. +2527 +10002000 +260577 +corona69 +161177 +barfield13 +ashlee12 +12111979 +slainte +check12 +vallejo1 +troubled1 +adam06 +09051993 +fosho1 +199310 +misiu1 +nursery +boyz +butter01 +harimau +kabuto +pepper15 +lmao +basketball123 +zardoz +beast13 +060293 +23031980 +TRUSTNO1 +alekseev +pepite +140978 +july1984 +iseeyou2 +stanger +080283 +rachel99 +dr1234 +february20 +marvellous +vitor +victoria123 +12wqasxz +12101978 +121224 +18011980 +space1999 +ninja6 +sinsin +fakename +castanha1 +kancil +111096 +martinez2 +benjamin4 +akamaru +1tattoo +leeroy1 +mario6 +dreams. +170595 +papino +mexican14 +sundaram +trustno +atljhjdf +rosso +meetme +221095 +jackass22 +victor15 +finn +poilkjmnb +matamata +19861028 +hello18 +160578 +ferris1 +tony88 +04021994 +15101978 +16021996 +missy69 +homegrown +eatpussy69 +15081977 +evildead1 +acb123 +diogenes +talented +nirvana69 +cheeko +gotenks1 +chapin1 +aaliyah5 +deagle +121212m +dragon34 +cracker123 +sugarpie1 +greenday14 +brooklyn07 +QWEASD +commerce1 +pastry +dobber +cows123 +06091980 +chihiro +tati123 +brillo +gary1234 +huanhuan +aaron18 +bronx718 +southside0 +flower88 +naynay123 +hawaii7 +jasmine02 +12071996 +2325 +tuwo4u9 +1piece +143iloveyo +280794 +cabrones +monkey31 +jhonny1 +mondragon +unicorn12 +sunflower5 +123456789zzz +chunchun +sj811212 +bananna +0402 +sexisfun +allaha +aikman08 +segura88 +101108 +hanifa +magelang +cena619 +jess23 +050493 +08051993 +190695 +eltoro +joking1 +tampon +tecnologia +winkle +6666666666EMPULGARA +180495 +mario9 +alo123 +anime4ever +smriti +Wow12345 +fuckoff23 +Aurelie +mikesch +alive +25121977 +bmxbmx +280194 +199710 +150277 +japorms +07091981 +kasper123 +faye +010295 +qweqwe11 +brayan1 +1234567897 +space3 +���+������� +119 +xiaoyao +19911992 +sassafras +nurudeen +26111994 +valeron +2bon2b +160279 +redsox! +baby98 +camera12 +diosteama +Blink1234 +brianna14 +garth +1christmas +maricon1 +skins1 +welcome@123 +27021982 +101972 +chivas22 +0704 +player! +sallie1 +kool1234 +carolina3 +172737 +eminem6 +chan123 +memememe1 +angels. +fakepage1 +lineup1 +farkas +walid +25101978 +angel83 +kapoor +himani +26081994 +170895 +surfer123 +swordfis +aksaray +freewill +Dancer +120303 +cool00 +0077 +GRACE +varela +keparat +trade +rtyuio +fisioterapia +bullets1 +smile8 +elshadai +vika1994 +gameboy2 +hundred +poop77 +gas +my4babies +slayer11 +liver1 +win2000 +goodluck123 +301278 +parkside1 +abdulaziz +balaton +comandante +loveme99 +11031996 +lucio +trompeta +19851218 +stefania1 +sasuke23 +071987 +����������� +198809 +friend7 +magnet1 +mikey22 +161294 +29071980 +playful +15121978 +arthur01 +garry1 +tester12 +changa +020208 +badboy9 +banana8 +ind +bluered +homosexual +garcia2 +05091979 +alihan +giveme +rebelde6 +klasse +shannon10 +n00dles +02081974 +carbone +WINNER +198826 +slick123 +22022002 +canada10 +Little +bigsister1 +maybach +hunter28 +guera1 +mandar +midnight4 +010677 +sandra21 +19899891 +singer12 +joven +britty1 +mikolaj1 +fifa2007 +orange09 +laurab +sierra3 +clo +ybyjxrf +fuckme21 +bagong +judy123 +jason101 +blake01 +freefree1 +mahalkita2 +corsa1 +230373 +mike32 +Love123 +14081980 +16021981 +husain +190579 +19861111 +canada99 +12monkey +stupidgirl +010495 +cooper4 +jojo09 +coochie +katydid +cupcake01 +qwertzu1 +301093 +dallastx +andrea19 +cateyes +bubba16 +maremare +beauty11 +432432 +630630 +frusciante +w2e3r4t5 +sailaja +20011978 +augsburg +1213456 +atenea +sacha1 +lama +rootbeer2 +blackmoon +football38 +1234321a +427cobra +diva22 +030409 +271988 +020595 +angels8 +moomoo3 +nichole3 +1428 +miramira +19081981 +bball9 +prometeo +958506 +sandra15 +metal13 +dolphine +sumner +riddhi +dash +ytrhjvfyn +kisses11 +0509 +rip123 +amc123 +174174 +HOTMAIL +qwert55 +kitten10 +ashley33 +lizard123 +kisses22 +26031996 +mudkip +040293 +280780 +130277 +mobila +mylife3 +y0mama +suka +chucky123 +alleniverson +joker18 +steve-o +23021978 +09061995 +trippy +pussy07 +06061978 +nova123 +lfplhfgthvf +snowflakes +19101980 +towanda +s000000 +diva14 +tw1l1ght +050995 +24021981 +chuy123 +170478 +260178 +alex100 +lancome +maribeth +2monkey +happy2be +srilanka1 +eybdth +patrick24 +3ZibUVmRx6 +finch +grace777 +wwe1234 +abracadabr +230377 +fauzan +131275 +240379 +07121981 +Cristina +081179 +oleg1995 +watermelon1 +ellamae +rellik +littlebit2 +mateuszek +bitchnigga +connor5 +multipla +asdflkj +anarquia +190577 +michael96 +04111980 +18061979 +checker1 +teddy22 +fuckthissh +suburban1 +rocknroll2 +iloveanna1 +casper14 +hardy123 +poohbear9 +100700 +841023 +catchme +gonoles +tou +vote4pedro +backoff1 +osman123 +1goodgirl +vencedor +311095 +131176 +ashford +06101994 +gatonegro +pookie14 +salvaje +avelino +orchard1 +paterson1 +cholo123 +bodyshop +11111l +willi1 +redbull2 +terorist +07081981 +july1994 +181295 +10121977 +15061979 +������-�����������-+���� +magic01 +171178 +199102 +040806 +emily18 +burton12 +280279 +trell1 +missy23 +boopie +gznybwf +harddick +080596 +monique5 +1234678 +102103 +261295 +12340000 +2simple +spawn666 +Johnson1 +headstrong +cuppycake1 +21111993 +reborn1 +algebra2 +080193 +icecream22 +cowboys4 +maluca +chris98 +12345665 +010204 +vulkan +888889 +lia123 +grind1 +16121612 +cathie +пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ +parrotlet +dinosaurs +HarryPotter +271989 +slickrick +010595 +liu123 +hunnie1 +animals12 +maples +16041980 +determined +ранетки +dokken +020379 +7550055 +lkj123 +superbike +katie1234 +password52 +05031980 +258123 +ichbincool +jesse23 +buffy12 +240478 +Sonnenblume +flaquito +searcher +mahindra +dupa666 +lol123456789 +deep123 +sophie21 +26031980 +angrybirds +lesbo +cobras1 +angela15 +200805 +kimberly10 +skate21 +dan1elle +darkshadow +drago1 +Allison1 +123456789lol +steinway +07011982 +271079 +simba7 +100908 +25061981 +carolina01 +bianca11 +ryan25 +261293 +impression +170707 +rose08 +060992 +4123 +lll123 +lovestar +miguel18 +400094 +malditah +16051981 +180694 +daddio +crazy24 +dakota03 +maxie123 +250396 +nancy2 +sofija +19861214 +qwerty95 +ihateme +19221922 +carrie123 +titanic123 +13091995 +010795 +070878 +qwertasd +aq1234 +jeff23 +08021995 +airwalk1 +Adidas +jgthfnjh +tyler98 +1californi +damian01 +krysta1 +13245 +199505 +kraftwerk +291194 +vissen +fatdog1 +basbas +pascua +2bFiy28byL +uzbekistan +���������� +disney! +houston5 +tigger68 +mizpah +dmband +4horses +nok +pixiedust1 +246855 +bears12 +draken +golosa +020507 +iceman7 +199323 +brandon03 +orange08 +charlie33 +CORVETTE +zzz777 +lesbiana +230496 +89chevy +16111994 +santana2 +olinda +mama77 +pepsi01 +07041994 +shotta1 +15041979 +12589 +drift +190505 +12071977 +raiders07 +lolote +25082508 +jazzy08 +120707 +andrew95 +0301 +paxton1 +password.. +bigcountry +skull123 +270695 +lehman +rjrfrjkf +modern1 +19861026 +seetha +2580123 +kelly21 +24112411 +13thirteen +Tristan1 +Captain +harleyd1 +dolphin69 +MICHAEL1 +kitten6 +281277 +shaner +tristan12 +renee01 +puttputt +parker09 +FUCKOFF +baller! +tampico +260394 +cpt310 +alisia +anil123 +05041982 +Celine +230677 +nagasaki +carl0s +legoman1 +prince08 +aleksik +hernando +07021995 +roddick +murena +motorsport +gogetter +germany2 +0906 +google21 +120404 +mygirl2 +montego +anthony33 +10101976 +tenchu +jackandjill +25071993 +babygirls2 +1rocky +alexis. +karavan +2a2a2a +persian1 +!qazzaq1 +harpoon +27061980 +amonra +zadrot +270194 +zipzip +hfccdtn +190180 +German +230876 +angels77 +131276 +mark24 +198877 +crazylady1 +chinwe +020577 +01031979 +salvador12 +080480 +yankee123 +peppy +221174 +Taylor1 +remrem +04091982 +09071994 +thomas95 +23051996 +198719871987 +gabe12 +balou +muffdiver +lilita +731731 +batmonh +198217 +aiden2 +smokey08 +bhuvana +peanut02 +ahjkjdf +cheyenne7 +1strawberr +10011979 +040594 +damage1 +airborne82 +tgtgtg +29071994 +poop88 +romo09 +10102008 +toystory2 +i<:3you +Shirley +password35 +14041977 +24011981 +23071979 +вероника +09061982 +irule123 +chris44 +260595 +maya1234 +alex1976 +aquinas +130697 +shorty. +america17 +saved +regan1 +chuchi1 +nedved11 +tinka +nathan. +elizabeth12 +trabajo1 +silvana1 +mailme +292513 +jill123 +lz110110 +ilovejen +natalie10 +160606 +963741852 +delta7 +569874123 +money56 +walhalla +020180 +250277 +solecito +mambo1 +1kayla +asdfjkl123 +interdit +abbaabba +polkadots +calvin11 +Flowers +enfermagem +160478 +esponja +markov +pikmin +kikiki1 +500011 +12021977 +fullerton +rebel9 +621621 +safrane +Airforce1 +dontae1 +morgan00 +04031980 +231075 +habitat1 +spencer11 +mnbmnb +vincent5 +emi123 +horse5 +tree11 +shadow03 +mati123 +andrew96 +steph01 +juvenile1 +lemonlime1 +fifty +20062009 +181193 +23212321 +loveyou01 +sammi123 +02091977 +olivia23 +2500hd +idon'tknow +daniela. +missy4 +shawn13 +180576 +bryan11 +fucker23 +maverick7 +love411 +lynn23 +obi4amte +langer +04091980 +andy14 +override +brittany20 +angeldevil +19831120 +170295 +susie123 +24011993 +kristen7 +dancers1 +relation +abby07 +ajedrez +david30 +26051980 +pavlina +cherry07 +bucks +bunny8 +clutch1 +040496 +Default05 +andy15 +fanatik +toohot1 +Elephant +ilovejim +salma123 +increase +260993 +theron +newyork6 +brooke09 +23041979 +Paradise +Cricket +turkish1 +b43n6whifd +alejandro5 +tahira +sweety3 +21121979 +essendon1 +sydney3 +snowman3 +t111111 +193755 +tiny13 +hpotter +198914 +200666 +31133113 +carton +sexygirl7 +akira123 +shitass +macca1 +badtrip +kevin25 +13021981 +270195 +play4fun +6flags +gendarme +whatitdo +offthewall +motherfucker1 +iloveme15 +vegetable +500007 +paracetamol +cutie4life +bobbi +jovan1 +redblood +14081996 +krishnaa +h00ters +140578 +powermax +sammie3 +010306 +nevergiveu +hoping +shitter +babycakes! +charles23 +vixen +120809 +biteme22 +chicago13 +dave01 +grace10 +tits69 +toogood +hack123 +peanut18 +pagan1 +polkaudio1 +2125 +270478 +scorpian +ilovejimmy +qwe098 +bigears +karen10 +yes90125 +karito +fight123 +fever +nanny123 +�������� +derbeder +creature1 +vinay +131619 +1234546 +ujkjdjkjvrf +brian1234 +dodgers5 +connie12 +161990 +557733 +mykonos +crocodile1 +200794 +280995 +gordie +01071979 +167349 +theking12 +qwerty1989 +hamza1 +darkwing +ferrum +pookie4 +ladybug10 +aj12345 +flyers88 +191179 +ricky3 +ilovewill1 +marie87 +salocin +200495 +cutey +ruffus +sniper13 +garcia10 +sabiduria +oscar15 +austin1234 +quarter1 +bullock +joana1 +sarahg +000000aa +21121977 +naruto45 +mariposa7 +success08 +600088 +marcos13 +pussy18 +mcleod +151994 +fuckem1 +samuel99 +123asdfg +chacha2 +lilly11 +boston21 +fashion7 +lulu10 +rainbow14 +lunatik +040782 +16011980 +051294 +chitti +fuck24 +hazmat +meinschatz +ds123456 +lovely101 +020794 +fatboi1 +player8 +marshmello +coco07 +131981 +alannah1 +01200120 +nutcracker +112006 +lplplp +shelbie1 +150696 +matrix21 +010981 +loser4life +912912 +13091996 +ilovemycat +031079 +fashionista +mybabies1 +301293 +kar123 +080186 +100676 +power6 +vanessa8 +bbc123 +katie9 +mexican5 +tupac96 +19861988 +tiger111 +actor1 +03041978 +23love +120297 +801122 +h1xp2z2duk +010205 +emma99 +kyle15 +moonflower +monkeyballs +qazokm +betsie +ktrcec +ybhdfyf +qaywsx123 +latinking5 +cars1234 +terrell2 +k.,bvsq +prapor +iluvmom1 +030181 +isaiah11 +zeratul +199422 +aaron4 +coocoo1 +renee14 +220779 +sandra69 +contender +300893 +ivory +251259a +1vincent +240795 +hadoken +10041997 +samia +honey06 +astro123 +abbas +190780 +lateralus1 +bobbyboy +heart7 +sissie +rossoneri +881122 +puto +demarco +04021980 +asdfzxcv1 +bitch34 +Max +zane +seedsnipe +meadows1 +peanut77 +ryan02 +myword +mike2009 +5324 +worldwar +260495 +manchester123 +03071994 +nrfxtyrj +dublin22 +college08 +brownbear +cbr1100xx +lilwayne10 +land +babyb1 +29051995 +monaco1 +sabian1 +12string +257257 +rawhide +muthoni +bocman +MERLIN +darjeeling +deception +inspired +wakeup1 +01031996 +220196 +hendrix69 +ska123 +111196 +sasha23 +251001 +riley06 +stamper +ranma1 +afganistan +071093 +kaydee +09021994 +30101993 +ytrewq321 +e5FhxkqIBw +heather14 +1234567890l +goldilocks +nokia6610 +110111 +dylan! +digimon123 +BONNIE +teddybear0 +mister123 +bebop +molly06 +040879 +ironhead +kimi +300181 +sikander +badgirl12 +passwordko +hirsch +jackfrost +dontworry +peterpan2 +sunstar +vladka +30081980 +sos +marie28 +monkey111 +curling +dgaf420 +parola33 +googie +2princess +111299 +badboy4 +phish420 +yo123456 +160577 +budda +erikson +honda96 +19851024 +sherry123 +jackman1 +mybabyboy1 +peggy123 +snow1234 +160278 +boss01 +16011995 +teddyboy +king1 +idontknow3 +120500 +242 +31121978 +got +051177 +050180 +coco99 +08051980 +elijah10 +tramp +courier +cthuttdf +lovers9 +123125 +23011982 +1597532468 +13611361 +chidera +iKAa4Kr257 +02071978 +sanju123 +olive123 +081984 +140204 +08111993 +narutofan1 +k1k2k3k4 +kooldude +qwerty1995 +020203 +starbright +samone +hero12 +121966 +shithappen +joejoe123 +fuckbitches +qqqqwwww +disney3 +chevyman1 +yakubu +myspace79 +tupelo +yhj34: +polopo +bailey00 +165165 +hidayat +paper2 +azimut +26071981 +30041979 +0201 +03021995 +pongpong +08031994 +xavier5 +103185 +sonic13 +240496 +maharashtra +decatur +lindsey7 +ethan11 +dolphin01 +barbara12 +nirvana6 +Rascal +Thomas01 +winniethep +junkfood +rambo3 +amigo123 +110497 +otrebor +pato123 +08041980 +01031972 +freemoney +tractors +recycle1 +zachary10 +11031979 +lady10 +wewewewe +jalapeno +renee21 +BABY +230194 +iceman13 +ballen1 +4ever21 +lovespell +WILSON +rockybalboa +coke11 +planner1 +nine11 +28021981 +141193 +73jaGtk4q +061095 +repair +nascar18 +200277 +ramjet +cuteness1 +abc12345678 +thomas26 +onetwo1 +sassy4 +1520 +emelia +sexyback2 +antwerpen +cookies. +warrior5 +cute17 +peligro +henry3 +boogieman1 +19111981 +bigdaddy5 +fafa +samuel23 +0676135313 +angel2011 +lacrosse5 +edhardy1 +abacab +cassanova +abcdefg5 +ashash1 +assmaster +sugarlips +andres2 +040578 +istvan +04081978 +bandit08 +irfan123 +SIMPLE +201200 +rohan1 +25031995 +27101995 +gracie5 +forces +physical +Creative1 +rebus13 +270270 +flash12 +1drpepper +drew13 +grandtheft +kandy +29051979 +kikakika +48151623 +theman69 +iluvsum1 +560002 +557755 +ascension +lilika +011986 +chata1 +lovers6 +cool09 +dalmatian +voldemar +390007 +martin09 +aaliyah4 +10021979 +ittybitty +171294 +sav +cf: +chaching +liver +hannah25 +aaryan +sharpei +eddie11 +velocity1 +28111982 +annabella1 +club +красотка +romeo11 +070594 +3e4r5t6y +10061995 +kikinou +30121981 +ihateschool +07031980 +igromania +090109 +legalize +shannon22 +ilovesteph +crapaud +twotwo +saulito +821126 +dakota00 +11131113 +scooby4 +williams3 +synyster +wow101 +shinoda1 +300593 +andrea77 +sonia12 +thanku +55555b +j3r3my +31081980 +estupida +1cricket +197310 +punyeta +lebronjames23 +16011983 +mikomiko +heloisa +dashawn +anaisabel +lokoporti +bmw530 +sunshine55 +lilac +270795 +gracie! +841010 +��� +supersport +sex111 +america18 +bubu123 +mossyoak +221276 +strawberri +kahlua1 +godblessu +onelove. +jesus05 +chick12 +yoruba +chris86 +ward +westminster +4000 +hester1 +eggroll1 +ktyfktyf +19931994 +janis +phoebe123 +shiver +241241 +123468 +22011980 +myindia +dmitriev +14111994 +050381 +zxcvbnm3 +gnaget +golf72 +18081995 +lfiflfif +omnislash +cartman2 +liyana +4gotten +счастье +lanier +cacat123 +seedorf +28081995 +findjob +iro4ka +gothic13 +2wWerty1 +bigdicks +781007 +badboy09 +brasov +28091994 +rfpzdrf +Hailey +cnhfcnm +19861016 +pikolo +alexandra9 +mistero +04101994 +021294 +nomoney +brooklyn13 +P4ssword +scruffy2 +sammy99 +14061994 +disney07 +030877 +0108 +070770 +sammy18 +player07 +060109 +07081994 +14041404 +medrano +cheese33 +33333a +starbaby +gabriel09 +lame123 +11051978 +mechelle +aekara +347347 +lisbon +Inuyasha1 +aa1234567 +michelle00 +pogime +daddy33 +youth +devious +balmoral +yuki +ciclismo +glitter2 +Matilda +170778 +kessler +07071997 +mama24 +stripped +kenney +sub +brandy10 +flores13 +051295 +highwind +misty7 +justin94 +havefaith1 +socc3r +061295 +lubasha +14031996 +missy21 +saba +17061995 +brooke21 +jackass9 +ineedlove +marinamarina +vinvin +fluffy10 +171077 +northeast +danette +020276 +vball10 +sushant +shadow45 +herohero +carebear3 +ally12 +isabella07 +emma2003 +15021502 +123.abc +millionair +scroll1 +181208q +lionking2 +1234hi +lumber1 +cycle +1doggie +kevinm +unlucky +unlucky1 +baumhaus +abcde5 +baseball35 +tati +meisha +alices +apple88 +wanted123 +thering +scott5 +kaylynn +motorola12 +fishie +heartbeat1 +innovision +280295 +unodostres +281276 +paciencia +2inlove +gang +999990 +ssj4goku +02011979 +050480 +sphere +forzaitalia +dingo123 +kelsea +eminem4 +250877 +direction +09111984 +hayleigh +coaster1 +zacefron14 +thecool1 +macchia +danielle20 +jaguar123 +080793 +miracle2 +24091981 +guevara1 +italia2006 +james2008 +arsenal09 +02041976 +712712 +raine +cagney +080287 +bulldogs7 +x1234567 +Kinder +������+�� +313 +07021993 +73737373 +knopochka +acdc1234 +26111979 +5841314521 +azulazul +west11 +noneya1 +takoyaki +liana1 +welkom1 +killer911 +ipod13 +666425 +pino +Chance +051983 +babybash1 +greyson +adaada +rahul1 +audio +sex247 +blockbuster +sb123456 +permanent +redarmy +djembe +metal12 +jasmine69 +spicey1 +sasha1988 +263263 +kongkong +lexis1 +smeghead1 +kissme13 +master16 +12d8a377 +dragonlady +anastasya +luckyduck +pass4word +321654a +ashton01 +ganjubas +lovebug11 +141995 +southend1 +purple93 +20041976 +razors +clayton2 +loverlover +ewelinka +campioni +hannie +dnangel +25091979 +lasvegas12 +boston08 +120574 +slifer +redzone +butterfing +estrella7 +wolf22 +rfrfrf +789456m +nessa12 +red789 +gourmet +290478 +mason07 +sergant +1236951 +eloelo +210595 +fireandice +03101980 +paris7 +ionel23 +benjie1 +mellon1 +malboro1 +telaviv +jess69 +nobiles +buster. +fiamma +12021997 +happyman1 +21121996 +sonics1 +freedom101 +miami23 +Bethany +sairam1 +hermana +nick1 +johndavid +110066 +busted! +che123 +dolphin23 +summer44 +150779 +2fine4u +14051979 +223456789 +stonecold3 +63impala +babigurl +cintasejat +DEXTER +what1234 +jessica26 +1rocker +260994 +joker1234 +zoosk.com +dome +brianna08 +rosinha +vir +jackjill +010477 +pennylane1 +190394 +shitbag +281989 +hunter27 +omega5 +02011978 +maggie101 +shay11 +babyboo7 +sonnie +miguel5 +dakota69 +clyde123 +gizmo10 +nyknicks +11021997 +macario +glock21 +220395 +jonas15 +cubanita +01011963 +???????????? +saipan670 +050979 +mynigga +norman12 +gangsta15 +niners49 +slammer1 +sveto4ka +171093 +tink69 +310196 +bubba8 +15081978 +element0 +inchallah +quilmes +oficina +pimboli +peaches09 +dakota8 +fuck123456 +ptktysq +isidore +mobius +gman123 +mirabella +goosey +pimps +joshua97 +52105210 +dhtlbyf +noodle2 +zhanghao +marika1 +poopy6 +k7777777 +andersson +lovers101 +270694 +070493 +matilde1 +14091980 +mizzou1 +qazzaq123 +401202 +21031978 +12031979 +kayla05 +scarface21 +bingoo +123ewqasdcxz +goodsex +dragons7 +loveandhate +cutey1 +13101979 +ass123456 +dallas31 +farrah1 +Willie +081193 +mystuff1 +17011994 +091080 +marcus09 +1931 +steve3 +joseph1234 +sanosuke +diandra +30111994 +toucan +walking1 +gabriel05 +stink +sabinka +apple45 +diarra +mike1985 +timtam +119955 +kitten4 +031177 +puppy! +dolemite +reyna +crazyme +171276 +040982 +anduril +GABRIELA +131978 +ricardo10 +fashionist +mahalakshmi +july1992 +rocky15 +poohbaby1 +nigga15 +17101996 +joey16 +cock12 +drywall1 +31031980 +damnit! +vannessa +muzik1 +pressure1 +banana21 +010308 +28081978 +zola25 +surfing123 +1winston +yourself +zakopane +kimberly01 +insider +aust1n +13031979 +mathew12 +william25 +112011 +qweiop +07091995 +205gti +AVMPWD +199125 +outsiders +hollis1 +ktm450 +ecgt +24011982 +straw1 +weyfvb +2kisses +suka123 +marmara +589589 +polonez +061277 +jaishreeram +buddy05 +blacksabbath +goodbye2 +27031994 +emmylou +yinyang1 +777778 +987654321r +1promise +danika1 +angelitos +omg +160294 +law123 +080595 +200111 +a741852963 +mustang24 +softball03 +18051981 +nameless1 +hitachi1 +pisellone +cameron03 +03071978 +0803 +bratty +sparkle123 +arsch1 +pensacola1 +123monkey +230495 +happy33 +redick4 +290881 +030978 +firewood +280694 +lover12345 +151200 +BRITTANY +2224 +stevenash +teamo11 +pirate13 +aruba1 +ziggy12 +121999 +dollbaby +304304 +QDxzC43gba +vanguard1 +200394 +linwood1 +09021981 +vilnius +291077 +barrio13 +01021977 +hogehoge +yannick1 +18071995 +arsenal3 +james44 +14181418 +gg123456 +tagheuer +25272527 +199229 +crystal6 +nikita1995 +gwapo123 +mymyspace +smile99 +170379 +muffin4 +dauphins +pinklove +yahoo0 +gfhfdjp +snoopy15 +fivestar1 +raiden1 +081987 +25041979 +wilfredo1 +tyler00 +620620 +tyson01 +trumpet2 +warhammer4 +dixiedog1 +danielle17 +ilovemax1 +nono12 +racquel +purpose1 +r00tbeer +bandit21 +asphalt +warhol +2314 +prince69 +555555q +cliffy +zz +demetra +popcorn6 +colton12 +09031982 +newmexico1 +diamond. +amanda02 +kiss1947 +199810 +suvarna +msnmsn +happyhour +rayne1 +gitara1 +killacam +krazy +15091979 +200506 +010281 +07011984 +samuel07 +november09 +romans116 +jason77 +bigdog5 +barbapapa +carmen3 +cap123 +eagles15 +3kids +josh1 +parfait +megan23 +cassidy123 +05121993 +26091980 +gators11 +199525 +denise08 +11081977 +tetley +winter3 +lucas1234 +duane +carnegie +xavier05 +220476 +browndog1 +214dallas +wordpass12 +123apple +14111981 +andrea25 +radhakrishna +viper69 +23041977 +joeblack +federer1 +nikka +smilee +spelling +redskins26 +rad123 +abc123# +beats1 +071207 +christo1 +12081977 +24111980 +13145200 +jazmyn1 +online2 +laika1 +demo123 +jesusmeama +hayden06 +15031979 +armando123 +ioanna +carmen7 +smith2 +mariana2 +19841029 +Nightmare +bulldogs09 +27091995 +folletto +tinkerbell12 +w1954a +120697 +grad2007 +keroro +5432 +stephanie. +hopewell +lizardking +lynnette1 +piggy3 +hoodrich1 +loveindia +06021981 +thirdeye +tuntun +100years +benson123 +11081979 +potenza +papier +ryslan +pooper12 +nene14 +ilovehim22 +flaka1 +010196 +120874 +holdenv8 +010478 +needwork +jack666 +love102 +22002200 +satanic666 +lildude +m987654321 +reunion1 +paula12 +swamphen +01011999 +seriously +azul13 +2qefx7T3sY +alina12 +9900 +mickey19 +ramchandra +playgirl69 +think456 +09091995 +vienna1 +не +jawbreaker +crayons +197319 +w9998999 +3452 +smiley101 +nikita2010 +bringiton1 +kiara12 +1vampire +dragonfly3 +selfmade1 +hawaii05 +cookies23 +280478 +12348878 +iloveme01 +runescape3 +190478 +guess2 +sexybaby2 +m1m2m3m4m5 +latin +chaos13 +17071994 +82airborne +memito +kiki00 +tiffany18 +311001 +ducky2 +babyboys +james30 +gail +LOLITA +10071978 +qianqian +verizon2 +lily13 +bandaid +ayodeji1 +290379 +031178 +ilikepie! +drift1 +pom +myspace31 +margareth +medeiros +nbanba +machoman1 +mahnoor +shadow98 +20091996 +divx +01092008 +nikola123 +amirkhan +cal123 +cubbie1 +maggie17 +william88 +141294 +stefan12 +851010 +abdula +django1 +beauty3 +aurelie1 +selena13 +ltz400 +1alabama +sexythang +1011111 +morgan03 +clover123 +ohshit! +chemicals +poohbear18 +garrett123 +rockwell1 +ringostar +vehvfycr +cradleoffilth +jane1234 +0802 +gameplay +star26 +sexygirl01 +needletail +wewe123 +eric07 +1234!@#$ +kailyn +140207 +miranda7 +arnold123 +rover123 +fuzzball1 +hildegard +winter04 +23111978 +pacman2 +restore +815815 +10041978 +shakal +120907 +justme! +maddog12 +bigdog7 +061982 +vfhvtkflrf +novgorod +jesse. +romance! +mylife08 +alejandra7 +limabean +198529 +queen01 +incognito1 +peyton01 +ihateyou5 +lovespell1 +pharrell +battleship +leolion +freya1 +rafita +keineahnung +beatles2 +florzinha +budapest1 +marilynmanson +joaovitor +04071981 +generals1 +08111982 +ngocanh +244001 +alex83 +shooters +loirinha +zif1313 +sweet88 +29111992 +bluetooth1 +12061978 +1atlanta +fulcrum +tigers69 +lildaddy1 +friends15 +sieben7 +231993 +jason20 +11061995 +franchise1 +r26nnxJx7N +single101 +alana123 +121303 +28061981 +tupac7 +bambucha +current1 +bobbyb +16011994 +t1gg3r +2black +chance22 +wave125 +310180 +jesus27 +goofy13 +ruth123 +291989 +110796 +hola22 +ashland1 +SILVIA +rrr123 +lizette1 +360001 +dreamon1 +papaya1 +brille +greenway +156324 +malena1 +farthead1 +archuleta +bamaboy1 +jhkjdf +jopajopa +11031978 +doremifa +250876 +INDIAN +090581 +momof6 +yahoo6 +1april +childcare +marlee1 +f00bar +jacqui1 +billard +sin666 +adr +deleon1 +1903bjk +edge +ZXC123 +clairebear +ursulet +lkjh +11071996 +loquillo +africa123 +sanchez13 +hyperlite1 +buddy77 +27072007 +20042006 +sneha +301095 +fierce +042108 +epa650 +oscar69 +eumesma +55555t +sorciere +pizzapie1 +chichi11 +24071994 +fkg7h4f3v6 +170878 +julieanne +spider4 +zero000 +crackerjack +skully +jyoti +ludhiana +gabriel23 +hannah95 +rtyfghvbn +nose +bighouse +vader123 +packers123 +blessedbe +shonda +obelisk +booger69 +696969j +qwerty28 +monica15 +271278 +holidaysecure123$ +27021980 +14021977 +145353 +simpleman +divina1 +megan15 +sicherheit +s0ftball +49494949 +skittles14 +vertex +failure +charmin1 +shinedown1 +04041978 +slayer7 +031984 +postoffice +notyou +longfellow +310395 +03071995 +112005 +mike666 +05071980 +jemoeder1 +198588 +gomets +mercury7 +oreo10 +casado +600087 +Madonna +Jehovah +kandi1 +197922 +campos1 +catherine3 +lilmama01 +bert123 +scream123 +siciliano +smokepot +25061978 +killa22 +090482 +224 +fuckem +081181 +ABC123456 +homestead1 +winston3 +weevil +314 +tomlinson +030183 +healthcare +julinha +18091994 +allie12 +emre123 +philly2 +gangsta22 +pumper +hay +bearshare1 +rakesh123 +1veronica +dat123 +parrish +123456al +pegleg +backpack1 +cherry24 +adriana13 +1peewee +lachula1 +awsome12 +101111 +steves +giants08 +080382 +ladyred +11091996 +aero123 +bigdaddy23 +bang123 +window123 +eastcoast1 +reggie11 +310378 +eiffel +friday11 +10031979 +padisco +03021980 +tina15 +123456jr +25121996 +19841028 +dauphine +hanhphuc +lolliepop +110505 +m1cha3l +elmo01 +130278 +password777 +jose09 +along +zxcvbn7 +19851123 +bajsbajs +morgan17 +150576 +jamuna +310779 +adam15 +27021995 +ilovecake +198316 +ytyfdb;e +hybrid1 +northside4 +di +chevy57 +0703 +maddux +funnyman1 +viper7 +Dominique +lovely1234 +logan22 +gemini77 +friend4 +smiley5 +sluts1 +0503 +dc123456 +om +kitty18 +backlash +indya123d +gayman +280895 +cytujdbr +jimmy8 +ashley77 +zachary6 +dgkallday1 +robert03 +10081979 +11111b +08061995 +chelsea06 +forevermor +Password0 +lala69 +colombia10 +roland7859 +slava1 +russell123 +cassie21 +blazeit +gwendolyn1 +volcom5 +Valera +5525 +irock101 +putanginamo +220378 +levi12 +nathen +lukeluke +199101 +susanna1 +420stoner +seahawk1 +darkness0 +jobelle +pizza9 +hagakure +iloveme6 +201014 +iloveshawn +cena +brave +00000m +rabbit13 +rocky09 +titania +168168168 +roland123 +Spongebob +10111977 +1danny +roosje +mama99 +jessjess +united10 +gbrfxe +soccer2010 +666420 +cocker1 +hailey08 +061194 +romanroman +greeny1 +tippmann98 +magnifico +shimmy1 +akusayangkamu +quake4 +lilboy +zhimakaimen +linde +heffer +chicago10 +rain12 +december01 +abby10 +68charger +jeremi +021982 +diana5 +arkangel +cutegurl +741085209630 +sadiemae1 +19841022 +bailey9 +sk8terboi +146146 +dirtbike7 +ladygaga12 +15031996 +heather18 +366366 +angelboy +asterlam +dadsgirl +050380 +baby79 +imtheone +AUGUST +drumset1 +betrayed1 +b696969 +yohana +04081980 +ala123 +lucozade +mymama +1montana +maximus123 +tippy123 +stupid69 +p@55word +siddhu +moose13 +jeremy09 +05051996 +cooling +lover88 +backstreetboys +dun +miley11 +carhartt +bluem00n +091278 +lizards +fritzy +ryan03 +kitties2 +198814 +emily04 +crip66 +16031978 +197930 +jaimataki +wsadwsad +159487263 +best1234 +bigsky +kool13 +club2030 +roxy15 +ringring +jamming +fear +12435687 +reaper69 +caught1 +excal007 +yasmin12 +natacion +ilovedave1 +josh88 +1397 +borat1 +thanh +srisairam +bakura +griffen +bk.irf +no1cares +2519 +211002 +wjsswj +lotte +scooty +chacha12 +hookem1 +102100 +Vladislav +060794 +010508 +apple. +purple30 +15201520 +chucky13 +0125 +travis16 +lovemedo +jarell1 +church2 +kashyap +600032 +poisonivy +republica +300976 +bushido7 +dalmata +23081996 +mitali +130876 +march2009 +notyours1 +sean22 +piss +p1mpin +231175 +crime1 +676869 +271194 +mmmnnn +nausicaa +biondo +20111978 +inventor +yearbook +timmy7 +21314151 +dell22 +lemon12 +060183 +21121978 +linking +din123 +17746052 +210794 +bubba07 +20031978 +17011981 +elmoelmo +baylor1 +kfc123 +151195 +amanda87 +jeff01 +zxcvbnmm +bball08 +perempuan +iceice1 +loli +16091981 +120473 +monster17 +040809 +08111990 +sabrina10 +paintball4 +weedweed1 +BLCKD_SA_UNPAIDFEE_OCT06 +kittens3 +�������� +lucette +060893 +27041980 +lenora +170479 +22051979 +4r5t6y7u +smile14 +justin87 +5Ahc2V875z +Rocky123 +bryony +juan16 +ewqewq +lion1234 +xavier7 +larryboy +mercedes01 +palangga +09031995 +1mouse +melissa09 +massacre1 +baseball42 +bronzewing +foxmulder +pesciolino +maddog123 +sadiya +hebrew +nuttertool +amanda77 +rottie +bugatti1 +violet123 +drumnbass1 +art131313 +050501 +311094 +30303 +batman19 +198220 +asdasd2 +brown5 +030979 +10051977 +simcity4 +27081980 +deshaun1 +touche +sabato +lilbear +06051980 +izabel +february18 +happy2007 +bluebaby +iverson23 +coco24 +chipchip +black33 +031294 +raider13 +pappy +carlos26 +emilien +300379 +0604 +201195 +volleybal1 +bijou1 +crystal14 +booooo +fuck16 +panda01 +daman +kellogg +194 +bogosse +titans12 +trouble7 +freakazoid +pimp44 +super1234 +shanghai1 +astoria1 +140595 +cello1 +morgan24 +111111111q +pretty17 +miamor2 +byyjxrf +american12 +171079 +hellyea1 +daniel55 +tennyson +27031995 +1sexyboy +felipe01 +marcus08 +20091979 +delight1 +27031980 +Italia +adidas5 +figvam +inline +smith89 +shane01 +latrell +14021976 +101203 +duffbeer +090691 +james34 +kazumi +Windows1 +parabellum +198105 +t55555 +1spencer +515000 +sexy777 +theory +terminator2 +25021980 +midtown +050696 +06011994 +040383 +primavera1 +271078 +laboratorio +joedirt +261195 +400088 +zdenek +gangsters +urmom12 +alfaalfa +wapiti +06101982 +mad1son +14011995 +honey101 +football03 +february12 +Maurice +evropa +tucker5 +bigd123 +blaziken +110798 +silver17 +savannah5 +05061979 +poodles1 +mark1 +31121979 +jasm1ne +sunflower4 +linda22 +mama111 +flower33 +29041995 +851212 +kingman1 +catriona +galactica +dang +fenway1 +cab +gerome +lilnigga1 +bennyboy1 +02051975 +abstract1 +chicago21 +280177 +star92 +kilgore +blumentopf +sweetthang +199418 +nonudity! +nuo0725nuo +poppins +11061996 +291079 +mitchy +manman3 +03120312 +maddy2 +020979 +101174 +yfcn. +spider99 +getbent +AcTlG728 +pedro2 +armitage +15995123 +pebbles01 +getcrunk1 +821028 +putra +dewdrop +minnette +santeria +20051979 +tower +kostia +cherif +sprite12 +angpogiko +811025 +love7777 +depeche101 +scott7 +wass123 +110708 +power23 +kassy1 +240977 +141993 +hat +wahoo1 +natalie07 +maddog2 +dtown214 +martin! +bankai1 +200376 +virgo123 +pachuca +redwarbike +400060 +031093 +7e9lNk3fc01 +211095 +18121979 +160295 +09091999 +sylvania +deimos +24071995 +moksha +nagendra +angel1997 +armand1 +121300 +28101977 +radiance +k3ZeDhmExs +badman123 +cowboy23 +sadgirl1 +181095 +adrian09 +tyler95 +wsxwsx +198214 +pljhjdmt +monkeys4 +irish13 +20081977 +aradhana +aaron16 +sameena +nagamani +ricardo07 +july1986 +drilling +findlove +pho +air123 +04051980 +120909 +30121978 +shoot +qazwsxed1 +111111aaa +napoli10 +chris0 +louise21 +jack2010 +11121997 +10061006 +700006 +zach13 +nikol +devin7 +170578 +230596 +yx12345678 +ishaan +evette +may1986 +Robinson +superman26 +sus +lakers4 +macho123 +151196 +friends0 +050805 +xxx12345 +priya1 +missydog +suc +hottie0 +billy1234 +123green +sashadog +kiska +ibarra +hapiness +expresso +sexy456 +06121980 +28111981 +181078 +5element +cenation +TFzwF44idb +tommy21 +aqwzsx123 +bc1234 +101060 +0504 +ohmnamah23 +playplay +Alaska +maggie04 +1593572468 +cubby +jasmin01 +husan0890 +wethepeople +vardan +panocha +bigdad1 +atkins +210177 +canelita +16081995 +pinki +zarazara +laila123 +15101977 +gabrielito +jabberwocky +trapstar +12421242 +QWERT +bigsister +123123p +swagg123 +blood9 +babyjoker1 +henry7 +pearce +poseinfopass +learning1 +jasmine04 +happyness1 +b00mb00m +daddy06 +vania +alpha01 +mercurial +82828282 +100400 +sereno +191194 +solidus +singleton +sonny2 +1carolina +jasonjason +jamesw +ska +c44n6vijfc +farheen +slayer01 +duck11 +haunted1 +myspace56 +ladysman1 +javier23 +pedro10 +iluvu13 +spanky11 +teresa01 +david04 +joel11 +03011982 +198329 +mateus123 +bandit23 +290394 +rererere +nate11 +04101980 +ella12 +applepie12 +brayden08 +bellezza +shakila +catdog22 +trujillo1 +27091980 +visa +1mariah +1hockey +impalass +Jerome +ArlingtonP +novartis +mohan123 +03111981 +jeshua +080508 +251275 +loudog +pokemon69 +5qwerty67890 +291985 +qazxcvb +801010 +3boys1girl +Administrator +shaylee +paige13 +blue87 +821021 +210976 +swimming! +azerty11 +castel +ilovedogs2 +chopper69 +shelby8 +cheat1 +tension +hotrod123 +pacsun1 +godchild +peaches08 +1qazxsw23e +madelaine +kala +rayden +minotaur +scouser +indie1 +010296 +140377 +beachbabe +jackass. +dragon42 +251980 +piscina +ziomek1 +lisette1 +peregrine +mortimer1 +001991 +inuyasha5 +yahoo4 +dont +eleven1 +sanpedro1 +22011994 +caleb01 +050877 +Katrin +25011981 +110797 +hostel +lamont2 +zitrone +blood11 +brooklyn6 +jacks0n +eclipse99 +blue90 +kangaroos +150777 +0501 +bigdog22 +pra +merry1 +boobs! +libran +rebecca5 +darla +jack2005 +unbreakable +250279 +goldy +Spanky +anuoluwapo +getmein +261095 +fuckyou06 +alicia7 +markova +richgirl +24422442 +chris100 +Amelia +Brutus +pele +osipova +lexicon +23061979 +tommy1234 +stason +170577 +waqas123 +010979 +051990 +071178 +030879 +beaumont1 +19851987 +icebox1 +mhine1 +adam18 +skeet +olivia6 +greenday123 +rockrock1 +290678 +phoenix9 +debtfree +hitman23 +romanson +db +pharaoh +ELEPHANT +magic22 +jesusloveme +george6 +26041978 +290194 +booger01 +171177 +030679 +argentina2 +110676 +danil123 +Password5 +jackie15 +uzumakinaruto +021178 +20041977 +launch +yellow20 +que-veux-tu +4u2nvme +playa23 +jarda +50505 +anna2011 +batista619 +thi +engenharia +dukenukem +amojesus +judaspriest +music4u +bballer +steven19 +fresh09 +troy14 +moon22 +louie2 +hooker69 +fortuna95 +801212 +007008009 +krystal2 +101107 +081294 +sexyman2 +23101994 +050608 +160179 +dong +rams28 +1manarmy +030496 +tanner22 +zhang +money26 +carman1 +Hardcore +EquityDev +lolo13 +260879 +14themoney +1inuyasha +theone11 +oldlady +BIANCA +estella1 +andover +black12345 +2589 +rachel17 +bulldogs08 +250778 +brazil123 +bigballer +22061996 +boucher +ryan2007 +yankee7 +16121995 +mrmagoo +florida13 +anchor1 +10101972 +overcome +96mustang +196363 +sims2 +bubble11 +220696 +taylor92 +200876 +friday01 +quercus +19851126 +movingon1 +hullcity1 +speeds +123qwe1 +kaitlyn12 +minimax +16061977 +zuzia1 +190195 +rabbit7 +foothill +741456963 +f246865h +09051979 +kamelia +beechwood +halloduda +pathan +blasco +sangria +snitch1 +lost12 +bigdaddy10 +francheska +godman +crappie +231992 +nicole32 +0107 +201076 +january08 +198829 +marypoppins +barcelon +17101978 +blessed07 +chaz +ovation1 +0901 +rangga +booga1 +newlife201 +120671 +18101979 +abbydog1 +boy123456 +lynn69 +pocket12 +13071980 +neuken +tinker23 +190794 +05041981 +stars! +t-money +sniper01 +paul21 +010779 +lindy1 +chase10 +JEFFREY +cuteboy1 +blue222 +100999 +leopards +paints +ghjrehjh +171095 +070282 +ss12345 +viernes13 +moimoi1 +mambo5 +050895 +changepass +checkitout +notmine +23071994 +hello34 +deviljin +goodfella1 +baronn +gocards1 +bailey16 +28081994 +19072007 +13011301 +050282 +bella04 +15051978 +coconut2 +malcolmx +allen23 +300193 +smo +zyltrc +02120212 +killer321 +demain +melanie13 +keebler1 +25121975 +asshole14 +100808 +070981 +bethany2 +iloveluke1 +inlove4 +amouna +tequiero12 +070581 +NASCAR +dolphins7 +963852741a +girl22 +legolas2 +jeep123 +haseena +c654321 +221096 +murphy3 +travis5 +02101977 +rats +e-mail +yamaha46 +blowfish1 +1721k1721 +aphrodite1 +ameera +jerry13 +140202 +justme3 +123690 +monkeys101 +080994 +Enterprise +teddybear8 +kenny01 +balloons1 +geroin +busted2 +maria88 +blackmore +browne +ridebmx +hisgrace +country12 +dogma +FLORIDA +lukino +anhhung +noobnoob +fairfield1 +130996 +adam08 +021077 +bambam69 +1isabella +lauram +fuck17 +130294 +kizzie +291295 +minato +katia1 +821023 +20111979 +davidka +19861121 +cotton12 +dziubek +titimi +27091981 +27061981 +120607 +teen +miamibeach +marina2010 +Happiness +chevy09 +katty +sweety13 +scooby14 +space11 +ferrarif40 +basketbal2 +090976 +ilovealex! +250294 +281195 +WILLIAMS +lightimes +781022 +210197 +roger2 +start12 +wallflower +happy00 +23011996 +LOVERBOY +suffer +ghjrehfnehf +alex34 +structure +scotia +141010 +MURPHY +android1 +120898 +310193 +qazwsx7 +20121977 +tigers6 +16081978 +francis3 +302012 +triplet3 +hottie34 +789456123z +000999888 +amrutha +anthony89 +jessee +punkista +corinna1 +farhan123 +mascot +pokemon00 +lust +advanced1 +vlasta +tootles +jane22 +michael31 +25071994 +radharani +04041977 +amaretto +03101978 +salut123 +valkiria +nightcrawler +word12 +erin11 +maxamillion +herbalife1 +qaz4532 +anatole +henrys +10091979 +superman87 +achiever +101172 +11011979 +carter5 +kippen +fritzi +lover34 +fuckyou32 +emma21 +puggy1 +marley3 +cardenas1 +persimmon +lizzy2 +141075 +rachel. +161993 +dumbdumb +twinkletoes +reallife +janedoe +rootbeer12 +pendragon1 +nicholas14 +scimitar +001905 +533533 +50cent123 +cammy1 +plumeria +schach +panther4 +lebron6 +harley66 +trotter1 +dick101 +bakker +11223366 +fyz +pieman1 +november06 +okcomputer +sebastian9 +blockhead +trythis +1234567890r +elaine2 +01100110 +020495 +pennydog +qwe123zxc +636234 +local1 +lanalana +artem1996 +mason08 +11091995 +shumaila +purple02 +dallas! +osama +fdcnhfkbz +1QAZ2wsx +coco09 +coolhand +narutokun +jobros1 +asas123 +19871120 +jessica92 +hello20 +hotbox +080483 +1emily +bass1234 +flyhigh1 +191079 +anjani +experiment +leg +misia1 +mark17 +lasher +killme666 +shagufta +892892 +jazzy09 +1255 +amande +peanuts2 +football49 +sa12345 +020607 +landser +universita +raven01 +2908 +claret +carter23 +linkedinlinkedin +14021997 +giangi +200575 +star94 +100796 +goddey +bb12345 +isaiah05 +251274 +transform1 +08021994 +02101976 +781024 +dossantos +dupablada +gabriel15 +down +13111978 +pimaout +телефон +aaa111aaa +monkey777 +060897 +30111981 +19861023 +20041978 +greentree1 +29111980 +marialuiza +14061979 +justin31 +198218 +26011995 +jupiter5 +poczta +spider8 +199322 +maman123 +nov1988 +181278 +05011980 +miguel17 +22882288 +pink04 +rickross1 +08011982 +monkeys13 +cat666 +gallo +1cooldude +daniel101 +itachi123 +jakubko +1688 +inuyasha10 +not4me +sandy22 +aaron! +anhyeu +boston07 +jarjar1 +JESUSCHRIST +080783 +310895 +gwapo1 +190679 +rose101 +coolkids +070481 +200178 +302016 +maverick12 +sg +rainbow24 +angel79 +jason99 +151993 +271277 +pogi123 +bach +jasons1 +dickinson +mommy69 +06021982 +maitre +figueroa1 +libertas +220594 +ballball +nautical +502502 +30051993 +gizmo5 +lovergurl +buster16 +jamrock1 +modeling +PEACHES +luchino +boricua123 +haha23 +riccardo1 +blue78 +051079 +jamesa +600014 +beanbean +modified +keane16 +scorpio21 +jesus2000 +angelyn +palmier +diplomats1 +redrider +theblock +passwort! +sarinha +medic +mydog +redneck! +090283 +tab +brennen1 +ichich +billions +15021978 +babygirl78 +zanzibar1 +diana14 +sorella +pooh06 +202030 +190707 +lightyear +sanchez12 +280577 +begonia +bloodrayne +playhard +pointer1 +george15 +noknok +sexxx +cyrielle +121518 +30111980 +Carrie +211193 +disney10 +199225 +17051981 +maddy12 +darragh +meninblack +271990 +261982 +Kelly +killer87 +291983 +twoboys2 +13041978 +theflash +alejandro8 +95959595 +buttcrack1 +shawn23 +sambuka +Pikachu +blume1 +wilson3 +mathews1 +hoilamgi +multipass +04011981 +lolo90 +nodrog +1kisses +musico +smokey09 +jason88 +01121995 +penang +matr1x +johnston1 +correia +161094 +muckel +lurdes +191177 +03101994 +theman23 +4eternity +porkypig +hi123 +ali110 +jenny08 +jasmine03 +1278 +xxxpass +poochy +mommy30 +n1n2n3 +180676 +11011995 +sn1ckers +armada1 +newport123 +28071995 +wwweee +pratiksha +6699 +harry1234 +191294 +joshua96 +sofly1 +336336 +peaches9 +luzifer +211194 +dotty1 +sixflags1 +sebastia +2q2q2q +desiree2 +0403 +bebita1 +117 +shelby67 +cuoricino +duality +kyokushin +austin20 +marco2 +ronin1 +niggaplz1 +201985 +flower09 +anna99 +201009 +101204 +220178 +surenox3 +fuckth1s +040282 +09091978 +aur +170994 +ilovegreen +outlaw2 +230976 +loveangel1 +tommy4 +daddygurl1 +12021978 +asd1234567 +111276 +lavigne1 +dancingqueen +cassie16 +1lovemusic +nappy1 +eltigre +mrkitty +baller4lif +esther12 +mc9Ad9w2ux +CANCER +23051978 +mark07 +blazed1 +ballin01 +04071995 +monique11 +� +swag123 +june1983 +258963147 +mohana +portfolio +ghjcnjz +160878 +newport12 +hardcore13 +miniman1 +Chris1 +bigben07 +lfc4life +thebigboss +831010 +alenushka +SAMSON +pocoloco +beck +kopretina +heart13 +juster +ivana1 +machina +20061979 +olawunmi +17081980 +jabalpur +040284 +040281 +golden7 +ladiesman2 +ilovemywif +140178 +nick12345 +gohawks +220576 +07061994 +05011981 +15031978 +CLAIRE +1boston +music18 +alukard +anushree +bluewater1 +nurse2 +helloma +jessie16 +staticx +200177 +1bigman +jojo08 +gldfzPY +peckerwood +22051978 +rewq1234 +1fluffy +zz1234 +dizzy123 +asusasus +moron +0721 +matthew98 +melkor +111077 +wZQ8Xcfxqm +shukla +itsover +dick23 +saumya +susann +ryangiggs +tebogo +0209 +dolphin21 +javier11 +241176 +39393939 +230101 +sexy420 +pothead69 +rusty5 +babyblue13 +buffys +magodeoz1 +180777 +040384 +ikbengek +kasandra1 +020878 +cool100 +zandra +mercedes7 +matlock +poopy11 +pooop +murphy10 +steven06 +renee16 +harmonica +dustydog1 +20111996 +jake2008 +Kristen +Sammie +080784 +micha1 +woshishen +kodak +200278 +vans13 +160895 +colorado2 +nicole31 +rangers1873 +nich0las +XBOX360 +claudia7 +alastair +777555333 +wildcat2 +googles +sassari +lucius +bufalo +angel67 +florida4 +19861216 +angel81 +040895 +warren123 +crazychick +11021996 +internet. +fate +mario69 +�+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+���� +praktikum +28111993 +jessie15 +joseph04 +ptybnxtvgbjy +211276 +12011996 +laflaca +screwu +david29 +koolsavas +imogen1 +analsex69 +lilboosie +aaron69 +driftwood +sami12 +hearts7 +single4 +asad +hotwings +erwin1 +warped +jack55 +prince1999 +federation +bulacan +Muhammad +198514 +19942009 +aquario +09051995 +06071981 +00123456789 +angers +sarah06 +xh248zHHTM +matt00 +batman45 +20121979 +29091979 +sunset2 +euronics +171194 +120506 +170494 +sydnee +17121977 +lilflip1 +ruchika +sparky99 +eragon123 +cameron21 +babyko1 +!q +riley5 +guarana +170694 +dragon96 +aaaddd +bulldog9 +passrett222 +getsilly1 +29121980 +courtney6 +201275 +forever0 +scholes18 +informatika +197822 +youngbuck +199120 +panthers7 +fukoff +promote1 +redbull12 +230675 +tapper +ganondorf +nutsack1 +coco16 +19401940 +Wolverine +grove1 +steven24 +blbjnrf +joshua95 +02031976 +12101996 +olivia02 +pepsis +211983 +panthera +kennedy123 +turtle6 +minnow +romanenko +pfqwtdf +111108 +aga +sabita +petewentz +Arizona +Whatever1 +14031995 +1cooper +aiden06 +ivan1994 +031094 +lovelife3 +clover12 +snoopy24 +dominos1 +2229 +wwwooo1234 +martell +01071978 +4vdaxP542G +freshmen +22021981 +coolchick1 +27011994 +olimpo +toocute1 +bennington +santa12 +autumn13 +68chevy +deus +050382 +amanda27 +jimmypage +jettavr6 +1eastside +midnight6 +Qwert12345 +cooper23 +116 +sandy1234 +06041995 +1beast +km1234 +23021977 +badass21 +konnichiwa +1jesus1 +kuning +allegro1 +bmw328i +toro +20061996 +1blondie +261991 +kisses01 +honda300 +junito +nickjonas! +pimpc1 +cody69 +jonas14 +cpPzfRC933 +���+����� +250795 +291294 +toyota11 +fifa2002 +drumstick +mariah7 +julie13 +connor03 +25051976 +giggles123 +shorts +101208 +omnamahshivay +mila123 +kitkat13 +dance23 +rambo12 +terenaam +barrow +240876 +cali14 +snipes +060281 +hamradio +020676 +halo10 +23091979 +240994 +sexmeup +110776 +flaming +liline +letmein0 +vangelis +100975 +mrs.brown +vjzgjxnf +chava1 +southsid3 +030377 +dustin! +njdevils +1miller +coco08 +dimabilan +123456go +accenture +171195 +111997 +080583 +30111995 +050182 +27011995 +191278 +250196 +travel2 +miller23 +lorna1 +verbal +pinnacle1 +barbora +241075 +james92 +linkedinpw +noodle123 +Business +mystikal +skyler2 +kucingku +june1981 +100497 +wezzy1 +george27 +cooldog1 +tiger2000 +zozozo +victory2 +yonkers1 +sanson +220894 +king00 +natty +kofola +akril2442 +gfccdjhl +intimate +alwaysandf +ecureuil +and125 +nnanna +55555z +judge1 +partha +devera +rikki1 +111966 +01111992 +prasanth +skyking +x123456x +03011980 +bcrich +4422 +123iloveu +evenflow +24091980 +anna07 +jianjian +batteries +080993 +28021978 +Qwertyu1 +teagan1 +161980 +gg +02071994 +carolina. +16011982 +nichelle1 +171078 +melissa07 +112004 +210999 +jun123 +ololade +kaleb123 +vlad1994 +120897 +110043 +omarion21 +001967 +anna1983 +hansen1 +a7CkuntLDy +denis1997 +berserk1 +arizona123 +regal1 +134 +china13 +angel1991 +411019 +123789852 +mike02 +181992 +MARCUS +28031979 +emma2009 +lazyboy1 +201202 +dx1234 +billygoat1 +parekoy +Giovanni +ESTRELLA +crickett +all123 +sargento +peace1234 +canguro +mr1234 +jayne +mimi08 +rockon11 +20081979 +chijioke123 +miracle7 +wy1000000 +supercar +blind123 +sparhawk +torben +casting +ancient1 +ruicosta +pumba1 +mapleleaf +mybaby09 +susmita +lilj123 +britain +25031996 +121071 +molly09 +ilovejosh2 +21101995 +serfeliz +claire2 +johnnycash +PORTUGAL +james45 +gerard12 +020977 +marajade +blocked +268268 +�+����+������ +nfyznfyz +271077 +13579135 +vojta +dfcz +02011975 +pdbDfby2xx +180379 +isaiah7 +phuket +800008 +anna08 +buttonquail +20101997 +marietta1 +000webhost.com +lawnmower1 +july1982 +stooges +151176 +preety1 +charli3 +111295 +qwerty82 +furby1 +333777333 +argentine +bigbad +emmagrace1 +160494 +maxwell5 +101006 +220475 +l0veyou +rocksteady +lop123 +florida8 +19861123 +suzette1 +dima1999 +котенок +110297 +311093 +casper4 +021409 +sactown916 +peter22 +budala +rollie1 +19871988 +060494 +28031995 +31101993 +timbaland +candy25 +lisa10 +babe15 +oscar4 +bai +max2005 +paintball5 +13101978 +audrey123 +katherine3 +01011997 +repytxbr +nishizhu +110299 +10051996 +bobrik +july1997 +packman +falcon69 +10091995 +billy4 +28121978 +monkey30 +tmac01 +291094 +gem +tigers9 +123123g +cvbn +123456www +101206 +121097 +gavroche +martha2 +olivera +imkool1 +q1234q +821025 +199128 +bastille +makemyday +denpasar +12356790 +03101982 +goduke +25051978 +masaka +blue96 +peluso +rebecca10 +euzinha +ANDREI +197801 +laura16 +sparrows +Abc123456! +5588 +pendeja1 +gfh +20022004 +190280 +cuatro +03071979 +bhabyq +muttley1 +ricardito +latitude1 +sayang90 +schoolbus1 +01041995 +oakridge +07031995 +gay4life +zero666 +alanya +justintime +foosball +musica. +okay12 +forzatoro +cooler123 +18121978 +jenny1234 +hazzard +raiders99 +section1 +matthew0 +honeydip1 +chiquito1 +300479 +board1 +prince4 +learn +deadmeat +061179 +eueueu +23081979 +ancona +06091981 +dragonman +TGzvF55idb +19841027 +austin94 +marissa3 +sakamoto +speeder +malvern +pierluigi +vallejo707 +payment +2708 +hiroko +lunanueva +sdfg +070593 +momsgirl1 +gfhjkm2 +fuckface2 +olayinka1 +asas1212 +RAIDERS +pimpman1 +xfhkbr +blossoms +catty +done +wobble +aurevoir +fuckmyass +ptcruiser +19850101 +gracie22 +karnataka +panda101 +05031994 +chowchow1 +cvbnm +crying +anatoli +133001 +victory123 +24091994 +girly123 +yfcmrf +music2010 +antonio18 +melon123 +karate2 +alex1977 +05011994 +mokona +coaching +tomwelling +reddy123 +dishant +mikey69 +apolon +140479 +momndad +17051995 +powerman1 +Alabama +firedog1 +jeremy06 +sonu1234 +290378 +270995 +121108 +tekken1 +jazzmin +secret77 +natureza +030577 +London123 +executor +bulldog23 +nokia1600 +22031978 +04041996 +081194 +ar1234 +ca123456 +zxzxzx1 +kurczak +putas +smiling1 +061988 +2514 +angel1987 +asdf00 +bella2007 +rotterdam1 +miguelange +jimmy9 +trouble13 +gators2 +hugoboss1 +samone1 +mybusiness +17151715 +121198 +23051979 +freedoms +ilham +puma12 +satchel +april2006 +burgess1 +yellow00 +veronica7 +080293 +livelife2 +spartak1922 +lilly13 +petruska +steven9 +caca13 +assman69 +365214 +@@@@@@@@@@ +chr1st1an +donald01 +ap1234 +1239875 +1234567889 +cookies8 +cece12 +juanpablo1 +Asdfghjkl1 +gabriel6 +tiger34 +redshoes +rodnik +deloitte +bandit6 +bahadur +macias +holly5 +walker01 +�����+������ +140995 +victoria. +4649 +14081979 +skank123 +qwerewq +stasia +soloman1 +angels02 +baranov +780504 +luver1 +zzzzzzz1 +alicia10 +vasilina +number99 +bananas7 +mariahcarey +graduate08 +clear1 +samir21 +neronero +stocking +boylover +vikas123 +franklyn +951951951 +kazuma +nephilim +clements +peaceman +thatha +friskie +den1ska +lynn15 +030578 +lesego +kisulya +dakota15 +26091993 +peanut33 +aaron6 +123456zxcv +sereda +jayden7 +weight +goldflake +black0 +220976 +angela! +wigger1 +bluegill +14031978 +12121973 +a134679 +1bobby +london44 +diablo6 +kenny23 +boggle +puffdaddy +sharkboy +robertina +imaloser +nini12 +scamp +cleaning1 +180279 +58565254 +ranma +hottest1 +jhane +ivan1989 +25222522 +colchester +barborka +jamie10 +12122008 +jewelry1 +tammy12 +727727 +090782 +tyshawn1 +nessie1 +130575 +25101995 +pollen +25011980 +jay-jay +`````` +20041979 +shianne1 +nate23 +madden12 +cocodog +chimchim +forreal1 +phillies08 +gfdkeif +jackson. +bigdaddy13 +kaskad +123654789q +CRISTIAN +110475 +loco69 +andre11 +papapa1 +ashley97 +161295 +bonsai1 +nana06 +lj: +pretty07 +cheer8 +master89 +enomis +010608 +2mylove +lindsey3 +al1716 +alicia22 +stomper +mummy2 +0213 +savana1 +250994 +pakistan47 +totoybato +george8 +toyota99 +29081994 +12345654 +8686 +rom828 +clover4 +allyssa1 +24685 +hottie25 +scout2 +loveit2 +charlie03 +nokiax2 +stank1 +singsong +tiger321 +julius123 +miriana +30011982 +inlove07 +RED123 +minotauro +19101979 +luis123456 +robert93 +eatshit69 +pirata1 +shaddy +290694 +01051976 +19001570 +allthat +0106 +dima1986 +anything2 +Ryan +oioioi1 +1469 +йцукенг +Horses +131195 +100375 +ненавижу +poiu1234 +1235678 +27091994 +memorial1 +ads123 +honda03 +pavel123 +15091978 +140394 +mala +jack16 +270278 +silentium +121199 +710710 +fuckyou111 +adrian06 +davidr +flower77 +badass11 +felino +221978 +primary +211075 +3310 +060994 +bulldog4 +210296 +qwe123! +678900 +dollie1 +197619 +0921 +newyear08 +molly99 +dios777 +musicrocks +timoshka +askim123 +dunamis +15051975 +guillaume1 +general2 +payton12 +diva21 +25101979 +rawalpindi +ihateyou4 +300694 +458458 +mikey6 +03061979 +king19 +dartagnan +240277 +jessica03 +sebastian5 +dodge2 +forlife1 +199419 +flower18 +2662 +benjamin! +ariana123 +beemer1 +12051996 +791127 +jamesr +behappy2 +Winter2011 +150476 +south12 +24051996 +vika1996 +2244668800 +2people +jolly123 +051982 +barmaley +basketcase +060282 +myspace86 +comp +hottie19 +pusssy +madison200 +holly13 +198007 +cocacola7 +skyline12 +1q2w3 +guyver1 +doorbell + +040794 +cayman1 +ernestine +gerber1 +150495 +bunny14 +211991 +jelena1 +tink16 +imsohood1 +560103 +030396 +softball32 +dudu123 +redneck21 +03061995 +180478 +poopoo0 +balla123 +golfer69 +yeller +bailey98 +karim1 +logan6 +200596 +21062106 +mnbv +02081976 +21021996 +lidia1 +amour100 +sasha007 +deliver +danecook1 +call +kitty55 +snoopy07 +roxas1 +00990099 +red234 +georgy +rfybreks +Smiley +whitefang +may1985 +sniffy +yilmaz +19851011 +diamond24 +charles21 +09121993 +xfk3bxEZQJ +mickey1234 +newyourk +honda89 +011980 +loser12345 +18021978 +JOHNSON +ares +chris85 +phoenix01 +sarasota1 +181994 +lulu01 +2906 +malachi2 +gold11 +floripa +casetta +winnie11 +oguzhan +mama1970 +04061994 +number34 +beograd1 +fuller1 +michele2 +creatine +p000000 +nimisha +weymouth +polo00 +granger1 +27091979 +03031996 +qweewq1 +201983 +all4god +sooty123 +120772 +eagles9 +amor16 +hotbaby1 +jack007 +040894 +lilly3 +abbygirl1 +superstars +oliver09 +samboy +joinme +qazxdr +041177 +15041995 +lev +donna12 +cagnolino +polita +1police +frank69 +22081996 +040877 +redder +bball6 +gangster4 +8123 +1967gto +19861218 +240178 +12081978 +011094 +bigworm1 +1hotrod +ted123 +2hot4tv +blood69 +falcao +mustang92 +jordan29 +37217086 +070393 +beto13 +ball22 +thumper12 +3377 +soccer35 +08081996 +07081978 +foofighter +jeff69 +yummy69 +wilderness +1indian +cfkfdfn +iceage1 +100775 +rhbcnz +henry11 +pineapple! +080896 +michael55 +2333 +barca123 +hotpants1 +pequena +lasvegas2 +bro123 +brody123 +rooter +bradipo +silversurfer +kiki99 +loveyou15 +lilman23 +miamore +meandme +1819 +celery +rofl +sizzle1 +280195 +diciembre2 +1inlove +1138 +crafter +killer91 +rayados +hawaii! +cestlavie +alyssa16 +maddie5 +jacque1 +surrender1 +hugo1234 +james2010 +280379 +06031981 +brutus123 +bella88 +austin88 +1357911q +rfkbybyf +fcbayern1 +longhorns3 +cherrys1 +03091980 +romel +070494 +haselko +serpent1 +mama1960 +myspace* +11111975 +789789a +confused2 +babs +wonderful2 +Charmed +icecream9 +stadium +redstorm +51535759 +180179 +29061980 +03111980 +j666666 +vazquez1 +zahira +dear +140896 +compaq13 +sys64738 +baby86 +robert02 +venkata +24041979 +saraba +pickle7 +120873 +ladybug9 +ellehcim +197555 +malta +28071980 +richard07 +delta4 +mattman1 +andruha +lilolilo +bonefish +23071996 +babygirl44 +balthazar +blood101 +marvin11 +franks1 +callas +080493 +claudia13 +george24 +imahoe1 +3ub9xM53xI +super14 +27081981 +megryan +ataris +sir +haha101 +iloveu18 +02031974 +erika13 +dhananjay +internet11 +grande1 +peace9 +15121977 +confirmed +singlelife +smetana +250496 +a246810 +1718 +septembe +joejoejoe +jujujuju +mamaypapa +091979 +cedar1 +bandit4 +dollhouse +197830 +ilovemom! +pepper16 +jonasbros1 +jacklyn +yamaha69 +senhasenha +22031979 +perroloco +skyline7 +lilwayne4 +pokemon98 +vincenzo1 +17021977 +101273 +sophie23 +27011981 +golfman +197212 +1424 +maurice3 +precious5 +15021996 +hellboy666 +acevedo +frufru +dickhead69 +steven20 +Mario +GHBDTN +199129 +asesino +26091981 +fynjyjdf +eric09 +mama1964 +zhangyu +06021994 +daddy#1 +iloved1 +steelers#1 +111075 +kisumu +291278 +triada +iamtheone1 +thesun +17011980 +inuyasha15 +199911 +ploppy +412 +cneltynrf +dakota98 +cancer2 +27111978 +neger123 +x1x1x1 +mostaganem +040609 +757757 +jake00 +iloveblue +141176 +01234561 +chubby123 +splender +jayboy +maveric +adg123 +Redskins +luxeon +3horses +050777 +10101968 +1lovechris +christina! +WIBsH56kec +letras +asdfvcxz +jesse15 +dayang +wildcats11 +petroleum +lilmamma1 +solaris1 +11101995 +tony25 +071984 +010207 +lawton +robert28 +scorpio123 +abdellah +MAXWELL +letmein9 +15935728 +adebayo1 +super15 +tragedy +askimbenim +anneso +1771 +14121977 +sarah99 +rand0m +bumhole1 +jkjk +surbhi +shoes2 +070980 +chinedu1 +juggal0 +elijah04 +110875 +greggy +nissan300 +Holiday +ibadan +holiday123 +qwerty1993 +pinkness +carter22 +diddlina +24011980 +loserface +matrix10 +821015 +aldana +masloboinikova1987 +1november +jellybean7 +hahaha5 +guitar15 +tina69 +remilekun +sammyjo +741230 +31011979 +princess81 +Godzilla +050694 +ilove1234 +100398 +19871024 +bashful +gregory3 +twins3 +cats22 +serenity3 +zxc098 +120300 +spike1234 +epsilon1 +iloveu88 +00000000000000000000 +tailor +18031996 +1asdfghj +woodbine +aaa888 +gonzalez12 +36912 +100396 +220195 +33443344 +aaprintbb +santaclara +maggy1 +customs +patapouf +dread1 +samual +22111978 +predator2 +dcltabih01 +060894 +cricket7 +4rfvbgt5 +jaja12 +tooth1 +MAMAPAPA +888111 +cupoftea +250295 +anthony00 +319319 +0602 +humans +mara123 +jess10 +sanchez2 +nenene +310877 +1turkey +coach123 +010696 +wolves2 +bellatrix +092 +classof99 +mooses1 +030478 +poepen +chimera1 +kleine +51286700 +160779 +123123123123123 +25051977 +mylove15 +badboy15 +westside11 +liverpool05 +1Q2w3e +goodwin1 +billy23 +tropicana1 +lovecats +rosewood1 +suave1 +tyrone79 +24061978 +sarafina +nicholas. +alitalia +431001 +cookie06 +ueptkm +020409 +anais1 +aslan123 +camp +stairway +rowley +scoobyd00 +071293 +19851030 +161982 +05081994 +tvinktvink +kyle16 +diva08 +06011993 +heybabe +ziomek123 +monument +portugal17 +191980 +17121996 +queeny1 +050878 +culinary1 +alison12 +bassie +jumpman1 +manola +020206 +21101979 +pierre123 +bailey77 +sensesfail +faith77 +rio123 +kartal1903 +kimora +wood123 +140396 +falcons07 +03051979 +781003 +sixkids +panino +worms +121102 +fallen3 +kevins1 +referee1 +barry20 +pw1234 +ginger101 +rko123 +password47 +runner2 +audis3 +shanae +codyboy +priyaa +trek +210295 +nicklas +master12345 +passion3 +babi1234 +password_1 +bailey17 +whittier +19051978 +150877 +barrel +blood22 +240377 +asd123321 +shadow04 +south3 +france2 +kissable +athlete +navyseals +snuggles2 +24101978 +noviembre2 +peugeot406 +deadeye +080580 +bmwe30 +light12 +bitchbitch +submit123 +cdtnkzxjr +chelsea88 +RONALD +killroy +bronze1 +18111980 +jesse69 +sqdwfe +050492 +tha +90107142a +danielle07 +drugs +john05 +zagadka +zxc123123 +seniors06 +svoloch +norwegen +twin12 +gallo1 +billy10 +shemale1 +010408 +loser16 +080807 +show +dementor +kobena +ballard1 +jea +qqqaaazzz +kollol +231981 +pa44word +surgery1 +dixon +college09 +heaven22 +kirstie1 +02051995 +bigpun1 +1cassie +qwest123 +Sammy +counter123 +benbenben +140575 +maryj420 +frances2 +25352535 +manner +020608 +02041974 +blazed +101270 +blubb +lbyjpfdh +061989 +coolbaby +denise14 +Jacob +200894 +midnight22 +060283 +121197 +5678dance +260294 +180477 +bas3ball +lolnoob +shorty20 +06121981 +231978 +gazprom +nupe1911 +violet12 +bigworm +051094 +vivian123 +pussy6969 +will22 +final123 +bear07 +bloodgang +1rooster +999999999999 +110376 +19061979 +julia7 +hottie94 +panther10 +151094 +Money +sassy14 +solutions1 +600005 +abcdef5 +5starbitch +chois777 +mike123456 +preppy +deuce22 +puccini +02051976 +19021995 +jeffrey3 +sylwia1 +12091978 +199025 +kukuruku +livinglife +morenita1 +14081995 +oneshot +271991 +rocker101 +10011978 +120305 +skate9 +californication +plant1 +iloveu0 +cody21 +tribe1 +Freddie +samuel5 +07041981 +spagna +wedding09 +19081978 +dima1989 +mittal +player17 +3128 +26111980 +felony1 +badcat +leon13 +chipper2 +shelby07 +godisgood! +michael86 +goodboy123 +cat123456 +victoria08 +18011995 +Vqz6QyO294 +duhduh +171277 +Britney +august123 +domain123 +ak1234 +whatsup123 +5522 +vfuflfy +rockstar. +jon101 +dragon30 +american2 +abcdefgh12 +040193 +camila01 +waldorf +milani +cassie23 +spit +mementomori +280678 +solitario1 +soup +qwerty112233 +hadiza +thissucks2 +213546879 +abarth +080482 +071179 +15091995 +bondar +tobeornottobe +9090909090 +r654321 +dayday2 +elijah03 +michelle03 +qweasd11 +22091996 +zak +laney1 +011295 +deidre +chris90 +rollingstones +crochet +asdfzxc +27071977 +crap12 +rekbrjdf +25021977 +05091978 +jacquie +29081993 +musicbox +bigdogs +261076 +eyeliner1 +watitdo1 +09101981 +polo13 +lady21 +asians +qqqqqqqqqqqq +050181 +bubba101 +blueline +password43 +cocacola! +24111994 +lagbaja +treytrey +werwer1 +billy! +k.,k. +architetto +090595 +pershing +drunk +gshock +31051979 +djibril +Brandi +kalifornia +coffee22 +ain123 +10041977 +jongjong +tears +friendofYOUCANMAKE$200- +kevin99 +whitley1 +paige11 +198929 +Marines1 +sexymama10 +paloalto +gustavo12 +honda00 +olivia21 +bills +brentwood1 +piccione +sk8mafia +eltonjohn +071983 +rowan +christiano +050900 +malyshka +dakota6 +alfa123 +jazz01 +diplomat1 +sunshine05 +150396 +jazmine2 +olivia8 +14371437 +lovebites +123132 +020709 +february16 +bigballs2 +qqq123456 +paulwall1 +ash101 +marykate1 +codigo +yellow08 +10121975 +jeancarlos +matt06 +qwerfv +1q21q2 +jade23 +bulldog6 +pivoine +grzesiek +estudio +666667 +kagandahan +060382 +tbs13 +09111992 +bachata +kk12345 +pfhbyf +25412541 +loverz1 +kayaking +010479 +panthers! +121210 +zachary8 +rothmans +spicy +honor +21081979 +muskie +vikingo +22041978 +19881212 +Bobby +pelusita +14031403 +sandals +14071407 +26051994 +doggy11 +ithaca +04101993 +30041978 +271982 +catsmeow +oyindamola +121262 +castellano +ipodtouch1 +12345zzz +twingirls +newlove12 +lp123456 +loco11 +closer1 +gemini06 +miami12 +boulet +031995 +surfing2 +190693 +shivan +cgtwyfp +2528 +mpc2000 +zinzin +kiley1 +allochka +c123123 +morgan98 +555566 +308308 +dookie2 +joycee +overcomer +199023 +paige01 +megan4 +010307 +sexygirl23 +harley55 +peyton12 +jdq4j8Lu3A +iloveanna +06051982 +141070 +7891011 +vickey +jordin +iheartu2 +dragonage +Champion +rowena1 +live12 +monkeyman2 +201194 +2515 +25021995 +Susanne +thecrew1 +metropol +cosmo2 +chloe09 +180577 +shines +160178 +120499 +rocket01 +caiden1 +gandaako +sebastian8 +chrissy123 +filip123 +22021997 +240378 +171994 +c111111 +bobby14 +elloco1 +dfktynbyrf +25081979 +lovesloves +childofgod +180476 +luis69 +nfhfcjdf +hoopla +cameron23 +11011978 +teddybear6 +29081980 +49ersrule +bitch02 +110275 +2q3w4e5r +moonriver +0523213511 +220676 +payne1 +1288 +sexygirl9 +gucci2 +2518 +readme +ser123456 +reymond +shantell1 +310578 +postal2 +jessica93 +15061978 +untouchable +caden +zx12cv34 +galileo1 +along1 +maulwurf +andrea1234 +that +edward8 +456abc +110675 +funkytown1 +jayden21 +09021995 +771177 +21061978 +vaches +080982 +alegria1 +noname123 +sdsdsdsd +chester22 +callum01 +howard2 +scared +armenia1 +mireia +532532 +120400 +mark25 +clarinette +kokotko +ghostface1 +060677 +isaiah5 +fatouma +palmtrees +happening +200878 +anna2003 +iloveu07 +1524 +teejay1 +cdjkjxb +showbiz +124589 +subwoofer1 +diaper +sweets12 +3219993xx +040696 +21061996 +redfire +iamme +Leonie +200608 +myspace001 +iloveme101 +1two3four +purity1 +valleyforge +06071995 +250793 +bigbob1 +cac +23142314 +191095 +16121976 +030293 +lovehina1 +antonio6 +sexycani +051383 +shelby08 +chicago6 +carey1 +tweety19 +197929 +drummer12 +lovie1 +17091995 +68chevelle +espinoza1 +betmen +drink7up +kurdistan1 +getmoney11 +chidinma +196464 +bianca10 +201208 +MUFFIN +jorge10 +jamieson +funk +hater2 +octave +kangen +webbie1 +carlee1 +haribo1 +katika +dolphin10 +ily101 +08071980 +etoiles +record10 +love1010 +schnecke1 +420420a +dominic7 +taliesin +PASSION +martin99 +georg +qazplm1 +davinchi +28101995 +06101980 +79camaro +hometown1 +walter11 +23041978 +20021997 +cora +olaolu +ender1 +marocain +010279 +vj +eleonor +kiki21 +jabbar +ilovenick2 +winter2009 +firewater +cin +tony19 +040381 +iniesta +hgf4h3fhf +13271327 +gamer12 +granny12 +fisher2 +robroy +silverwolf +master66 +5544 +07061981 +ilovejorda +jd123456 +rosebud123 +o1234567 +123_123 +999998 +Antoine +831013 +allison5 +co2008 +lipton1 +cabelo +coolkids1 +13051978 +fuckoff88 +30101995 +hitler123 +110028 +karina15 +17012003 +vanessa6 +020575 +dagmara +Jiang520 +colima1 +24kobe +nepal1 +jhajha +kiesha +grumpy13 +20101977 +cristiane +devin3 +260195 +dasdasdas +fahbrf +09111991 +vigilante +pontus +030307 +edw +11aa22bb +harrydog +unlucky13 +mgoblue +gillespie +barcode +778866 +abdullahi +olga2010 +24021996 +study +19951996 +Montana1 +geoff1 +musashi1 +restart1 +didi123 +boomer10 +worksucks +sandra5 +160977 +gloves +dork12 +04071979 +ktyecmrf +amamam +270293 +frankreich +my1stlove +1905gs +040474 +chick3n +SEX +090893 +ladybug6 +sinead1 +ujhjljr +pokemon88 +tinker9 +141096 +kirstin1 +fiftycent +hardcore7 +reserved +redneck08 +robert30 +�+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+�����+���� +ye123456 +hotie1 +1530 +oct +moose3 +151515a +samsung69 +michelle02 +ihateyou11 +brian08 +juggalo123 +060698 +pierpaolo +nick92 +040294 +babykitty1 +q000000 +maryna +240895 +erica13 +8marta +dakota9 +150808 +CHOUCHOU +n2XcFgjCvr +sexybitch7 +meomeo +bro3886 +genesis3 +apple17 +johncena! +hantu123 +mygodisgood +ninja69 +flblfc +2manykids +lakers88 +wingwing +rocket22 +countdown +babiigurl1 +271196 +123456R +Dan +charger06 +01081977 +cheese44 +27101979 +ensenada +p8ntball +gertie1 +steve22 +papyrus +300577 +muffin10 +270179 +01021997 +schoolgirl +041195 +ddd333 +olajumoke +wondergirl +altec +27121979 +brooklyn09 +Josephine +pontiacg6 +camile +bono +skippy11 +diable +stoffel +hitokiri +neopet +wichita +marten +nikitosik +dancer17 +capitaine +chrischris +antwerp +123e123e +raiders9 +juggalo6 +040695 +1421 +theman22 +EXCITE +password64 +martin24 +ameena +judas +linkedpass +lovinit +vanessa16 +jonathan17 +silmaril +55255525 +741852963q +bailey69 +shelby4 +blessed! +tropic +custodio +198928 +usg242 +240279 +150676 +ballin6 +1toomany +123456pa +motherwell +antigua1 +winter2008 +lovemonkey +19851015 +201075 +marruecos +myspace84 +always123 +311294 +ghjcnjghjcnj +1359 +akucintakamu +64chevy +acrobat +rayray7 +gaara12 +5262499 +171295 +a123654789 +jujubean +reynald +poop111 +Kristin +gamlet +kamari1 +666666g +melissa24 +justin95 +viridiana1 +juggalo13 +27051994 +heybabe1 +yahoo99 +27111979 +asdasda +molly69 +blinker +chokolate +berry2 +littlered1 +vasili +snoop2 +Tdutybq +ilovebryan +lucifero +johnson4 +dinner1 +xiaozhu +myjobs +08081977 +88488848 +841028 +network123 +martin17 +samdog1 +villas +bronte1 +pauljohn +12041976 +february17 +phelps +bobby9 +123killer +mabait +020795 +sucker2 +19831020 +ginagina +rancher +qwerty987 +65impala +blake3 +ghostman +0331 +chicano13 +bandit77 +laptop12 +allister +021079 +daddy16 +200496 +jack04 +vfhbyf123 +loveu! +abi +mexico06 +adrian4 +buggie1 +wiktor1 +090193 +eddie23 +Beckham +privet123 +198803 +spalding1 +melanie! +29121979 +allblacks1 +tdubdub05 +mexico25 +040679 +helena123 +111106 +ass101 +whyme? +05021994 +boys2men +yeahboy1 +smoke12 +cagada +555666a +harlie +gratis1 +deadlock +smokey99 +olivia14 +precious13 +redsox8 +tutifruti +esmeralda2 +lightfoot +199228 +Buddha +magic6 +lola23 +cinthya +081279 +170795 +201102 +marybeth1 +120100 +kim12345 +lol100 +26061978 +3bitches +panda23 +creole +07101994 +sundin +happyfeet2 +dragon52 +091193 +142434 +secret00 +091293 +3foZaqb33Q +bigbang123 +180778 +radmila +djerba +rajawali +oran31 +lfieyz +escapethef +gavilan +hannah88 +wolfy1 +cousins1 +loveisgod +jennifer07 +mafalda1 +hotaru +2dragons +121069 +19861015 +04091979 +iamlucky +ksenija +kayla17 +alucard666 +street123 +welcome22 +280394 +qwerty1986 +easyeasy +srivastava +strongbad +rotciv +ulster +school07 +xavier21 +babylove3 +charmer +jr1234567 +p0k3m0n +dimo4ka +dylan04 +noel12 +daisy15 +w8aGc47klA +may1988 +05061978 +hummerh1 +040576 +heather07 +animal11 +della1 +diana22 +mollygirl1 +oracle123 +kevinb +270994 +04111982 +79137913 +021983 +kirsche +bhabyqoh +ema +130396 +220272 +040180 +smi +tanja1 +elena12 +mariac +19851020 +toshiba2 +sexydiva +ana123456 +webkinz12 +gotrice +yunita +280707 +pizza6 +jayjay01 +170278 +123456ff +zebra2 +system2 +035690 +number55 +Pookie +cameron14 +jade10 +bebop1 +nastusha +051980 +toughguy +denis1994 +omonoia +chris82 +jeopardy +198586 +portugal12 +partyhard1 +110974 +08031979 +1loveher +121265 +toyosi +maha +jovan +qqqqqq11 +landon123 +210175 +shawty123 +black55 +071277 +fuckit7 +mkvdari +littleman3 +Madeline +surround +0903 +fabric1 +alltheway +doom12 +chargers13 +scouting +gay1234 +bandit99 +1stoner +tennis21 +specnaz +13031978 +1xxxxxx +hanka +bart12 +jorge2 +poop45 +16121978 +scooter6 +britany +dome69 +travis199 +katelin +flocke +Holland +@yahoo +1lovebaby +forty2 +biggay1 +212224236 +ammaamma +redman2 +fktrcf +lilly5 +trousers +allegria +strongbow1 +mamuka +tenor1 +matt633 +estudante +calilove1 +06051994 +citroen1 +estrella10 +brenda14 +jade08 +27081994 +tay-tay +sea123 +jiji +210575 +122123 +r1r2r3 +stuffy +sunshine32 +08011981 +damian11 +soldier2 +Honey +disney5 +def +191981 +28081996 +ticotico +leighann1 +cjhjrf +webcode1 +angle12 +icp666 +wwe.com +111007 +smurfy +katy12 +nitram1 +action123 +andre23 +jenn5366 +qwerasdf1234 +makimaki +monkey68 +mirka +mackdaddy +store +olalekan1 +nasrin +200001 +190379 +chechen +rugbyman +salvacion +180695 +123741 +031077 +erica11 +mylove24 +13771377 +sandra14 +031078 +120974 +24111979 +rockstar16 +vegeta2 +beauty! +andre10 +virgen +magda123 +elenaelena +penny7 +momo10 +calender +drumming +gago +tope123 +hobiecat +doggies2 +310178 +masons +pickle! +dodgers11 +fyfnjkbq777 +overseas +skittles10 +bocephus1 +katyusha +28972323 +rocky12345 +quinto +denise09 +22031996 +120603 +226622 +chevy98 +bombom1 +ismail1 +pietra +furniture1 +lolcats +rollins1 +sunday7 +poplar +meatman +factory1 +211195 +30071980 +fishing7 +281076 +b1teme +jazmin123 +password65 +metoo +300977 +ilovenikki +23071977 +emma2000 +jimmorrison +030677 +pageup +sexybeast! +suhasini +redlight1 +�������+����+����� +goldengate +010896 +dates +290479 +kalbo +dude15 +tomasz1 +902860 +6shooter +rishi +rebel4life +lolada +pakalolo +chivas16 +youngluwe +02031975 +pes2010 +dreday +fyyf +balling +evette1 +29041981 +raver1 +425425 +rankin +alluser +morris123 +lolek11 +nd4spd +jobert +siopao +ryan2006 +nanna +devilz +212121q +rapstar1 +oluseun +jktu +lilmama15 +sarah19 +young23 +113114 +84728472 +ezequiel1 +gromit1 +yahooid +lollie1 +iloveu101 +nate1234 +18041996 +1618 +28061980 +aelita +212321 +adithya +prezident +143000 +mitchie +1kelly +disney7 +babubabu +hawker +sodomie +grandpa2 +Fuck +p3anut +ronaldo77 +buster25 +06071994 +08041981 +060993 +kailua +ivan1992 +marijo +jay101 +poopey +cherep +rusty3 +shutup12 +iloveu24 +snoopy17 +asdf13 +240177 +115 +nicky2 +portman +230708 +rockstar123 +june2002 +textile +goobers +pimpette +nokia6020 +myspace03 +sunlight1 +imsexy2 +darkn3ss +sorina +19861024 +290895 +shona +pippy1 +martin08 +november01 +montano +allahhoo +myl0ve +041984 +13061306 +30011978 +helenka +Loveyou +motdepasse1 +25051996 +140876 +duran +shakthi +monica. +ilovealex2 +lauren05 +taxidriver +666665 +password001 +12121313 +08021981 +22121977 +queensland +bratz9 +lov3ly +youyouyou +killer100 +classof2011 +Ashu1992 +13121977 +corey11 +shelia +swisher1 +camaro2 +houston23 +chicken24 +100275 +anastas +prince07 +vb[fbk +251294 +carranza +loverboy7 +maddog69 +god101 +loris +vojykGi959 +145623 +281983 +07101980 +seo123 +070193 +lovelove123 +bigguns +snoopy16 +willow3 +19861226 +02111993 +fresco +whitesox05 +061983 +bball09 +harry10 +hotmail11 +buddy18 +1jasper +bambam01 +Aragorn +angelheart +stryper +04061996 +31121995 +ambre +titties2 +foxglove +phobos +bogie +1234tt +hartnett +777777s +1fucku +tallman +Greatday1 +teamoo +100176 +chevy04 +tiffany15 +1fender +1coolguy +miyavi +sashimi +6655321 +220975 +pass55 +batman666 +computer20 +guthrie +19851111 +josh20 +saxaphone +pitbull69 +dolphins3 +19851125 +sweettea +lamalama +hailey5 +angie11 +patty12 +krystel +19871023 +1balla +elisa123 +19011996 +aga123 +sharma123 +scorpion12 +gabby5 +221075 +080408 +310878 +08091980 +001007 +jamie21 +gonefishin +sandman2 +shrooms1 +ilove16 +pakkness +fredom +onion +110400 +cleaner1 +100776 +sanjay1 +becool1 +280894 +060309 +barchetta +1q23456 +h0llyw00d +17111979 +malade +041293 +tobacco +cdbymz +180895 +gisselle +ida123 +080494 +cerveja +pepsi69 +misty13 +05071979 +281176 +197710 +14101978 +qwerty1994 +shahnaz +michael97 +kayla18 +flatland +Warrior +05111993 +kiki15 +swat +grace22 +olga1987 +lips +720720 +1xavier +230303 +tosca +refillmotives +ruslan123 +lovely19 +stiletto +anjaneya +index +06111982 +angel999 +kissme5 +growth +19841017 +qwerty1988 +emily02 +eeyore12 +nigga10 +210894 +masala +LORENA +Apple +animal69 +011294 +111274 +spirits +friendofEveryEmailyouproc +booda1 +021981 +slipper1 +yodayoda +peugeot106 +armin +danny9 +311276 +famous11 +janganlupa +snowstorm +31071995 +qw1212 +mistake1 +deano1 +alberto13 +google6 +luna22 +underpants +pouncer +m121212 +26071995 +joshua89 +kikumaru +grigri +kaikai1 +loveyou08 +sexy36 +highbury1 +snooper +18081977 +Sephiroth +Ashley1 +brandon98 +henry01 +cancer13 +hottness1 +angel1989 +free4ever +fakespace1 +131413 +090282 +powerfull +16041978 +821018 +password57 +march2008 +app +180278 +cubs1908 +444455 +private123 +141981 +stupid101 +lovebug13 +david00 +Julie +dukedog1 +4561 +celebration +dukester +furman +hunter96 +peekab00 +sparky5 +forsberg21 +741852963z +stressed1 +1239 +1lilman +andrusha +ficken666 +03041979 +28111994 +milady +pickle11 +cinco +606606 +tugboat1 +120507 +dick13 +player09 +Qwerty11 +simpsons2 +pooping +260877 +07031993 +dementia +1boomer +hellhound +blowme! +iloveyoujo +needmoney +xavier09 +southport +babygirl56 +labirint +615615 +07081979 +version +marley22 +nando123 +cd1234 +turandot +creep +200809 +oso123 +alexandra0 +1236987456 +jayjay22 +practical +lalala22 +30111979 +mommy16 +tennis07 +iloveyou42 +fuck07 +fucker8 +tito13 +qqqqqqqqq1 +legal +spiderma +unhappy1 +welkom123 +290879 +ilovehim5 +sonicx1 +010908 +221074 +master20 +naynay2 +orange19 +jab123 +lucas23 +111169 +choose1 +playgurl +wesley01 +kimmy12 +guapa +room101 +dukes1 +tete +chantell +23011997 +rebound +ssssssssssss +15061977 +fullerton1 +morris12 +060594 +komodo1 +17011996 +luiza +cookie00 +110896 +parent1 +0421 +sac123 +iloveliz1 +cowgirlup +050993 +pietje +college123 +cipollina +martin. +paintball0 +massari +fenerli +suck1t +Compaq +30101979 +vtx1800 +guitar9 +croatia1 +11061979 +12121970 +159357258456 +dragonfable +sunshine02 +gonzo123 +031988 +yggdrasil +melimelo +kmdtyjr +morgan18 +p1ssword +preview1 +cocacola3 +lyts123 +19021979 +051981 +141312 +horse7 +matt88 +anna09 +159874123 +colocolo1 +momo22 +MNBVCXZ +carota +bharat123 +346100 +02121979 +sunflower8 +shafiq +1jayden +03011981 +21091979 +fuckit420 +290395 +080780 +angler +jasond +07071979 +camara1 +sara23 +tyty12 +400020 +funny5 +mexico88 +muse +051179 +tomoyo +bac +artem1995 +lilmama5 +lichking +11061106 +100874 +sean23 +northside2 +akbar +naruto19 +rinrin +bethany123 +keisuke +deedee11 +25091996 +townsend1 +0908 +gillou +123466 +sowjanya +198315 +laural +stakan +stayaway +29091978 +lazaro1 +linked1n +07051994 +ficken69 +160995 +sana123 +valeria2 +741456 +243243 +shadow28 +krayzie +sandra18 +pussycat69 +ontheroad +hoover74 +1234432 +hellohi1 +colten +fucknut1 +qpwoeiru +adaaja +wilson23 +shawn22 +wilbert1 +denise5 +ट: +masato +gershwin +heartland +03051994 +equilibrium +lonley +23031978 +loo +adam16 +sasha1987 +george06 +camille2 +nargis +JAGUAR +ride +wu-tang +jessica94 +123music +07011981 +199523 +mutter1 +apa123 +kundan +wZR8Ycfxrm +virginia2 +darion1 +Eugene +7732844 +francis12 +december05 +pot123 +fishbowl +chivas07 +rwanda +24121979 +307307 +310778 +159258 +soleil123 +bellavista +florentin +0024657 +29111981 +cupcake15 +andrew94 +5555566666 +sara7272 +19952009 +friends06 +bigmoney2 +wyatt123 +radhekrishna +orion2 +fas +04011993 +153 +0987612345 +198006 +1qweqwe +warriors2 +07031982 +marlen1 +080782 +kurt123 +jamie4 +rostov8888 +james29 +101199 +cello +spicer +geordie1 +harley96 +rbceyz +g-unit1 +060194 +ololo123 +james00 +210676 +041988 +radiant +tiffy +paparazi +196200 +david2000 +tayla1 +spawn123 +july1980 +billups1 +03101995 +thetwins +oioi00 +kyle69 +florida22 +nitro123 +nofx +tweetie1 +broken3 +020596 +bass11 +781020 +7777777c +1949101 +231994 +030803 +Panther1 +chrono1 +frank5 +jh5thrwgefsdfs +talleres +pacman12 +Jayden +hulagirl +1change +123kkk +tata11 +emmajean +bootleg1 +darkone1 +qwerty02 +COCACOLA +scales +020609 +window2 +megan16 +february15 +260777 +agatha1 +keira +beowulf1 +100dollars +wenyin12 +19851228 +drugfree +victoria23 +dancer9 +prieto +07021981 +05041995 +Monkey123 +fifa2011 +shahrukhkhan +fireball2 +orochi +01061977 +christ11 +kingdomhearts2 +maryjan3 +198008 +020477 +sugarfoot +heaven13 +nbibyf +87chevy +travis15 +anatomy1 +05051997 +george77 +peaches6 +julio10 +h0ller +lashae +trusting +vitinho +080593 +boondock +football101 +single16 +motoko +edmonton1 +sexybitch4 +reaper123 +wanderers +taruna +bmwe36 +951753852456 +curry +ryanjames +20051976 +24041996 +skeletor +anna2005 +131400 +alaska11 +Maximus1 +legend2 +loco1234 +29051994 +chucky12 +saracen +blond1 +vball7 +081277 +shanda1 +imsohot1 +link123456 +yousuck3 +000000k +lala101 +198104 +291991 +richie123 +aotearoa +ianuarie +Cleopatra +vagina12 +bonita13 +mish777 +asd654 +gemini88 +mycats +30031977 +incorrect1 +rustik +flower17 +250776 +travis09 +stroker1 +smudge123 +clock123 +oddworld +oxygen1 +010506 +brian4 +04031981 +2bitch +k55555 +ms +100299 +rosendo +240896 +r00tb33r +26101996 +july1995 +badcompany +cbhtym +teach +123asdzxc +271095 +brandy23 +mypassphrase +26041995 +szymon1 +1q1a1z +shetland +renren15 +713houston +reload1 +eatmyshorts +boragud02 +nanay +lynn16 +ste123 +zwinky1 +14061996 +13511351 +allen11 +imcute1 +abcd2244 +tassie +0124 +chulita +muff1n +160000 +dynomite +07041993 +rabbit3 +mex123 +ccc111 +monkey79 +gearhead +texas06 +inferno666 +forzalecce +Potter +��+������� +nikki06 +2gether4ever +zaqwert +nascar38 +arista +040694 +livelove1 +alyssa9 +no1234 +010909 +woody12 +waverly +lover56 +aaron8 +13795 +iluv +raducu +291988 +01041996 +jasper23 +junker +fdsfds +181993 +305001 +valeria12 +jaredleto1 +15011995 +sexygirl09 +jimmy14 +0702 +04051979 +guilty1 +21011997 +freedom2010 +qwertasdf +jessica28 +aranha +261983 +030878 +nastya1995 +mamula +janita +ryder +sandberg +hotdog01 +maguire +bobmarley2 +Andrew01 +michael32 +pelon123 +iamlegend1 +mee123 +123kat +dvddvd +fender3 +co2010 +smashing1 +azizbek +theone123 +280778 +shadmoss +concept1 +200194 +General +bahalana +tyutyu +parsons1 +lolliepop1 +02011977 +shorty#1 +241076 +slimthug1 +199223 +guitar14 +money05 +embassy1 +tal +sniper11 +lcv7bry1cf +starwars9 +laura18 +fernand0 +Fallout3 +hottie99 +GIOVANNI +panther21 +17031978 +carolina22 +jaguar12 +159159a +Stacey +ilovechad1 +маруся +gala +lucy07 +poopoo3 +151096 +radford +19851215 +071278 +z1z2z3z4z5 +maddie7 +201984 +lilmama07 +coronado1 +darlin1 +teamo23 +jazzy101 +mascota +ninja250 +motorola2 +simplegirl +kitty06 +elise123 +zakzak +julian7 +tazz123 +wilson10 +1793 +dino1234 +bogdanova +fluturas +mother03 +buttercup0 +piggie1 +0603 +billiards +ven +sadie5 +acdcrocks1 +bastion +valentinorossi +idriss +Redskins1 +linda15 +nene16 +madison14 +zhangyan +compusa +soso123 +kotova +821212 +400701 +mavipies +180978 +skylark1 +moneyy1 +abigail4 +fybcbvjdf +jonny12 +paris2010 +bgt56yhn +400095 +010978 +westend1 +jordan0 +31121977 +mata +delta12 +monique23 +petula +mohit +006900 +fuck55 +brains1 +tomi +skipper123 +191979 +young5 +brianna23 +10401040 +zonnebloem +joey15 +godislove2 +ford2000 +anchorage +pussylips +girlss +23071995 +santo1 +Jeremiah +Antonio1 +sunshine29 +pimp2006 +slickrick1 +lucilla +star777 +izzit +nikki4 +dsa123 +audirs6 +righteous1 +limegreen2 +191078 +45678910 +Avatar +sims123 +mimi16 +justine123 +paprika1 +05101994 +bebe21 +112003 +12011979 +gay101 +16071979 +eric16 +carlos05 +280877 +billy27 +casio123 +05081995 +logan09 +lihenan +jhgfdsa +nettie1 +Deborah +roanne +september23 +gocards +pumapuma +mustang77 +22061978 +110374 +jamie! +mama1995 +oceans12 +tits123 +babby +summerland +heather09 +352352 +carlene +011235813 +040109 +february10 +fredperry +199106 +oreste +0330 +mimi07 +beto12 +hello2me +291279 +dollar123 +1ilove +290495 +bailey33 +elephant11 +dexter10 +horse4 +05071995 +gizmo22 +prenses +iceage2 +myloveone +1blessing +mybaby07 +recife +tarragon +1elijah +22091978 +amylou +180377 +bethel1 +ghost5 +poesje +mareike +02071976 +rover75 +logos +barbi +hotchicks +07051995 +01092009 +archie12 +ecaterina +inmortal +sexy007 +darrius1 +121263 +seb123 +forest12 +manuel18 +hotcakes +01092006 +yasmeen1 +voronin +eagles33 +desi123 +080977 +allblack +pumpkin4 +blue75 +cowboys14 +fresh08 +071988 +lokita13 +16081979 +balbina +thenewme +123ddd +201296 +junior28 +zoosk2010 +���+�+��� +20031996 +ghjcnjrdfif +180378 +121174 +troyboy1 +spacer +199713 +boone +monkey84 +mandy13 +1mountain +rachel8 +melissa08 +ethan5 +kalambur +patryk123 +paper12 +spruce +sandler +alan11 +sparten117 +flemming +kawasaki7 +4569 +230296 +290377 +197909 +120374 +shakeit1 +08121980 +jackson06 +kbkbxrf +020193 +rose09 +diabetes1 +formation +velazquez +280477 +merda1 +751001 +0401 +troll0 +mysp4ce +071294 +malenka +максим +20081995 +120997 +04121980 +sassy08 +cole11 +nath +konvict +mama2011 +nia123 +diana1998 +23041997 +winston7 +sprite2 +sep +trinity08 +three33 +112233d +rabbit5 +55558888 +54565456 +dedede1 +antone +princess84 +haley01 +blackknight +christine9 +181294 +only +1620 +59blood +231123 +kamenrider +jeanna +ch3ls3a +charlie20 +123456mn +jonathan09 +197825 +270578 +wishing +13021979 +follar +abundance1 +24101977 +vikings12 +061177 +0522 +liferocks +220470 +199109 +090293 +sixty +05071977 +malaria +30071981 +iloveausti +080694 +060280 +08041994 +ad1das +yahoo21 +181276 +bigred123 +peace77 +16101978 +ellie12 +benton1 +newme09 +1430 +weed01 +Oliver1 +purple03 +ternopil +shawn01 +19851022 +230676 +brutus01 +08121995 +foxyroxy1 +blonde123 +nicko +dragon82 +500005 +steamer +timmer +89631139 +radmir +chennai123 +131979 +anabelen +newguy +151214 +carlos06 +extrem +safety1st +thatguy1 +metatron +ironman3 +hitsugaya +03041976 +steven1234 +spirit2 +sergent +13801380 +jennifer88 +track123 +197011 +davila +suzuki123 +150778 +suhani +elgordo +smokeyjoe +27061995 +jack02 +baby31 +1215225 +gangrel +martin8 +dick01 +fedcba +animal6 +rojo123 +021278 +laredo1 +iluvu22 +playgames +dragon100 +patanahi +poke +lollipop69 +hellhell +angelica13 +coeur +10061976 +280896 +oliver06 +ghj123 +mommy#1 +sebastian. +sexymama! +1hotstuff +dead13 +austen1 +604604 +khalid123 +walgreens1 +160477 +sk8r4life +990990 +771122 +23101978 +jojo24 +lacrosse13 +220575 +lifeless +finster +dylan8 +batman55 +soda +damien2 +bmw750 +pepete +shitter1 +28091979 +redneck09 +loaded1 +junior27 +ikickass +cieloazul +12071976 +smooches1 +gateway5 +hayden05 +78910 +birba +rockstar24 +07061995 +whitman +jose07 +26071980 +091101 +jess15 +rahrah +hotstuff10 +crazy666 +mauro1 +soumia +cicciolina +mine4ever +natsume +12071978 +030407 +temppass1 +forlove +love2013 +spuddy +ihateboys1 +mo123456 +Joshua01 +puffpuff +parvathy +bernard2 +natasha11 +jannis +rachell +mchammer +thesame +kiki88 +hockey. +blacktiger +charles10 +104 +monkey80 +honey1234 +conner2 +lamina +181096 +121267 +qazpl +martello +16051979 +280178 +knulla +weed666 +hiromi +858877108aop +asadasad +pooooo +headphones +102300 +kottayam +bebe16 +fishing69 +mydad1 +alexa2 +matt1 +29101979 +retina +stella22 +sydney07 +160696 +hershey3 +jayden13 +iron666 +yjwfn73j +corporal +estrela1 +shadow90 +ekbnrf +191093 +300377 +gbemisola +231297 +vball13 +wakaflocka +250995 +sangohan +31011996 +mikie1 +nikki17 +133333 +cisneros +saregama +august89 +tackle +260395 +BESTFRIEND +freinds +lover77 +gophers +13041979 +821012 +011181 +quan12 +travis07 +16041997 +albert13 +cbr929 +softball05 +301276 +221981 +101400 +kundera +lovin1 +hapkido +28091995 +doggie3 +roxy07 +dkflbckfdf +fuckyouass +legia1916 +neversaydie +saints10 +lovely77 +lucky05 +dolphins! +tiffany16 +gundamseed +bumblebee2 +432100 +membership +chevy89 +sunny6 +jinx +flower0 +010596 +123453 +piratas +surfergirl +PIONEER +goody2shoe +gfghbrf +ronnie10 +starchild1 +199516 +maria27 +ultraviolet +1nikki +sesshoumaru +donotenter +loriann +25061977 +godjesus +orange07 +tramonto +abramova +skyler12 +conner123 +pika +rach123 +stephon +1norte4 +victim +sunnyboy1 +130378 +1vision +111008 +gizzie +anuska +escalante +antioch +lulubelle +ginger24 +tristan7 +1kittycat +steven88 +jaylynn1 +1472580369 +notrust1 +cinthia1 +mike2000 +crunk +09081994 +kelly4 +fucklove21 +palani +william19 +198005 +Sandy +thewall1 +123456789789 +sentry +catgirl1 +raman +suckmyass69 +solito +foreman1 +b123098 +ifiksr +abab1122 +ace12345 +210975 +220376 +001964 +veronica3 +dig +seventeen17 +trans +teflon +aspen123 +tutu123 +fender. +cece +carlinhos +batman0 +nene10 +081096 +310596 +schweini +123aaa123 +tapioca +yamaha13 +1040 +dumpster +04051978 +19091978 +joey666 +july2004 +angelina3 +CINTA +rooney08 +12031978 +natalie08 +sheila123 +blackie123 +1hotmom +backyard1 +crosby1 +madman123 +horizons +mamasgirl1 +damian666 +160194 +greenfrog1 +mommy77 +george1234 +171981 +000010 +crhbgrf +bartbart +denis1995 +02101994 +stacks1 +anniedog +159000 +cricketer +teamomuxo +hope4me +sk123456 +mb123456 +poli +ricola +february11 +nena14 +0315 +skizzo +300779 +bullet13 +fiction1 +masquerade +nene11 +yoselin +leticia123 +1324354657687980 +20032006 +marissa7 +jeanie1 +z00sk +stang1 +020178 +david89 +230776 +31101977 +look12 +smokey77 +initialD09 +lkjhg1 +iwashere +20042007 +serg123 +311200 +asbestos +climber1 +danyel +080502 +smokey07 +q55555 +lethal1 +mike04 +Playstation3 +sabrina5 +tpxerxjmp +110206 +11234 +paleta +sing123 +31101979 +741023 +requiem1 +john101 +miranda9 +1brooke +180879 +dg123456 +moh +edward1234 +alive1 +taylor77 +lala24 +19831212 +moron1 +26102610 +flappy +king32 +section +jennifer25 +born2die +bycnbnen +vbif +YeGbpltw2012LOl +louise14 +marijuana420 +danielle123 +moeder +cheyenne11 +marine13 +06051995 +vikusya +19861018 +ghj100 +suckit. +16071980 +oliver88 +thanksgod +fen +evolution7 +nothing3 +main +310577 +Sascha +jaqueline1 +edward9 +marcus4 +makati +Predator +20032005 +asshol3 +shrink +78951230 +11051977 +amo-te +rclens +giratina +14061406 +gavin2 +210279 +987654321c +300395 +wanksta +0415 +ninja666 +cabowabo +Tanjiang999 +blue97 +63256632 +geogeo +3223 +mam123 +27011980 +foresight +benson12 +rayallen +1starwars +kenzie12 +emmarose1 +140404 +shoebox +Justice +TIGERS +xlf65b6666 +010378 +polgara +myplace +mw0720 +starwars22 +blitzen +elpaso1 +aaron1234 +rancho1 +makeit +clocks1 +barbie17 +high123 +1234567890qwert +boloto +chicago9 +rrrrr1 +melissa17 +trecool1 +05071996 +bigpenis +prettyinpink +821125 +tigger26 +pappa123 +chevy05 +maxwell01 +260177 +030778 +13061979 +ranger3 +19861220 +199221 +mah +golden01 +Eric +040980 +rooney9 +actarus +120698 +jemma1 +angel1985 +leslie11 +08071981 +prima +lthmvj +crosscountry +071279 +azteca13 +07111980 +santosh123 +justicia +freund +28121979 +199108 +perfect12 +passover +andrea9 +tiger74 +br5490 +FBi11213 +bassin +gopal +goofy12 +keke14 +kendra2 +converse12 +usa777 +mandarino +YKDpJ67mgd +muffin21 +112233m +fulham1 +olateju +nina22 +090381 +squish +yildiz +09121980 +qwertz1234 +ruthann +banjo123 +crapper1 +jade22 +aus +1364 +yamaha85 +aggarwal +114455 +UzBJNEi451 +starlight2 +plumbing1 +21041978 +pinky! +flamme +09101982 +17081977 +brooke15 +feelmylove +boobooboo +willows +nikita10 +page +130896 +070380 +sadman +5blood +1artist +staff +luckylucky +marcos10 +julie01 +austin. +mama17 +081988 +samuel14 +22071995 +phialpha +maddie07 +suhail +09011982 +disorder +161194 +190909 +marijke +bib +dana1234 +290995 +traxxas1 +lena11 +sargodha +andris +assfucker +55555k +kevin05 +010507 +!@#$%^&*( +dennis22 +19121977 +10021976 +everclear1 +221173 +kswiss1 +just12 +fk +hotmom +400019 +Amanda1 +mumu +justynka +a33333 +090579 +teamo17 +cityhunter +22011979 +20121996 +11101976 +leon11 +mm123123 +green100 +star95 +docdoc +bay +evasion +14001400 +camaro95 +290777 +sweety23 +estonia +06051981 +19841124 +19061996 +fkmabz +alpaca +nicholas16 +elyssa +the1ilove +270979 +powerball +heynow1 +ohiostate2 +beautifulg +vfyxtcnth +alpha5 +sublime69 +kacper123 +mangesh +jeric +aaasss1 +blondie69 +monique21 +13061996 +hello999 +dingus +Herbal +matthardy +marisela1 +blazer12 +181275 +simon3 +icp420 +10071979 +ryan88 +030995 +05101980 +maneater1 +kulet +the2ofus +option1 +141888 +alexandrea +0801 +010878 +likeme1 +bambam7 +201204 +princess66 +wolfdog +darkness5 +shithead3 +domino2 +kenyan +denis12 +15love +yourmom8 +fishing5 +hunter66 +hummingbir +jorgito1 +caddy +K. +dance21 +170794 +vitamine +`12345 +nicodemus +daxter1 +Monday +hotmail7 +candy77 +reb +melodi +lovesit1 +haley11 +36903690 +monaghan +111111v +280595 +dickey +nikky1 +brownie3 +johnny18 +HESOYAM +Kerstin +HPG2N89qif +herve +19861022 +aaaa123 +huguito +steve7 +anjelik +081208 +april69 +150795 +jehovah7 +16041995 +jenny09 +cookie0 +kaydenlee +2232 +billyb +102589 +179324865 +mrkitty1 +amazing2 +bluesky2 +abhimanyu +2124 +randomness +kos +sebastiao +21051995 +eagle11 +andrew91 +matt99 +baker4 +sexy2006 +bradly1 +z123321 +inteligente +tocool +12345az +missingu +230000 +peace8 +stasstas +Newlife1 +kakashi12 +montre +harbour +whitney12 +xanadu1 +terrific +ehlbcTW +070709 +02021970 +69lover +pbyfblf +06061976 +brenner +0701 +lovely88 +Shadow01 +rajneesh +misio +qwezxcasd +rose88 +planete +10111975 +italia10 +edgardo1 +dak0ta +tranny1 +dressup +milanello +helpme11 +znt: +190378 +rubydog +adnan123 +frontech +havoc1 +.adgjmpt +funnygirl1 +tobias12 +13751375 +godfrey1 +destiny15 +lastchaos +lovestruck +020478 +tiffany09 +arjona +tambov +dewitt +hornet01 +sierra5 +worm +wilson22 +youkofa569 +090882 +guerra1 +1122330 +197901 +max1997 +rukhsana +estrella5 +poop44 +Grace +cirilo +197803 +horst +saturn01 +regiment +sexesexe +03121979 +clark123 +811028 +darion +110046 +woodside1 +p2WcFfjCvr +2muchlove +project123 +kris1234 +mike2010 +contrasea +kelsey14 +14211421 +02031996 +abcde3 +green26 +12061977 +21092109 +martas +carlson1 +jeremiah7 +hase +sixpack1 +miller13 +jasmin11 +30051979 +mike2007 +angcuteko +billkaulit +199126 +123qwe456asd +021979 +pitchou +xt97794xt +saints01 +55555l +ayamgoreng +07031981 +grace07 +voltron1 +warlords +buick +silver00 +eclipse7 +jason26 +office123 +sassy21 +la123456 +nena11 +ashwani +buterfly1 +marcie1 +bedtime +harry22 +otilia +125478963 +joanne123 +travis4 +02121978 +santillan +mama45 +30101994 +fordf100 +qayxsw +010709 +adegoke +santi123 +pintail +maggie18 +iloveyou30 +dripik +affection +nate13 +cj12345 +987654321n +1alicia +31051981 +anything12 +sarah101 +faggot6 +xterra +24011995 +jamaica7 +123321b +212325 +osipov +220874 +skater24 +jaquan +vampiro1 +firstlove1 +sycamore1 +rjhjyf +090900 +YAgjecc816 +300477 +texas254 +phantoms +akademia +djkxbwf +h4HgAipGzu +reanimator +Angelica +shrikrishna +mifamilia1 +lobo123 +joiner +spaces1 +overit1 +holyshit! +170377 +134625 +reyes7 +19801981 +jason27 +lilli1 +041294 +exotic1 +24011996 +16101979 +hardhead1 +Darkness1 +Danny +baruch +170797 +30101978 +pup +bilabong +witchy1 +june2004 +020978 +lilbear1 +041095 +whysoserious +loveisreal +qwerty777888 +talula +sexyman123 +firstlady +amber9 +09101993 +mskitty +petra123 +enjoy1 +23091978 +far123 +001200 +021978 +brenda3 +schatz123 +dogeatdog +vjhjpjd +oneblood1 +jew123 +241294 +123as123 +191993 +iluvu3 +512 +050978 +truelove3 +QWERTY123456 +jurassic5 +102800 +mother69 +bullhead +davidp +band101 +159753s +ika123 +tinker21 +february24 +vegeta11 +abcde6 +korn1234 +070293 +12345qwertasdfg +getjob +jg1234 +111964 +30061978 +1478963a +internet7 +mybaby13 +Winner +linkedin69 +alexis25 +kimikimi +popstar123 +zhangqiang +pinky8 +030180 +tyskie +jjjjj5 +penny11 +billyray +laurens +jordan91 +shana123 +fatpussy +bigdog10 +anna1 +19861223 +bluenose1 +wsky0o0o0o +man2man +20102007 +assassinscreed +mhaldita +11113333 +20121976 +selma1 +nick25 +cowboy! +chris1990 +654321123456 +gondon +hanicka +folashade +xtkjdtrgfer +bradley01 +rollsroyce +Manchester1 +pipers +romawka +bumfluff +qwerty333 +steph14 +everytime +poodie +saw7139 +1317 +pedrito1 +rana123 +costa1 +7inches +anna2006 +311296 +MONIQUE +mustang14 +rj1234 +anywhere +280393 +ilovesocce +warrock +789456qwe +0316 +123god +01081996 +travis14 +karla13 +reymysteri +firestar1 +ingenieur +christina5 +stepashka +120275 +lukinhas +hellion +bulldozer1 +080910 +blacklab1 +chickie1 +240196 +j123098 +abc123@ +110077 +daisygirl +canton1 +petronas +satchmo1 +sexyboi1 +radius +yahoo01 +199227 +19841014 +220796 +lilwayne09 +302019 +namnam +huyhuy +flamenco1 +19821212 +jimi +lime +147258963 +golftdi +andrea05 +120899 +susannah +wolf1 +varitek33 +ticket1 +sexytime69 +power01 +angusyoung +psycho69 +110575 +angela14 +Hilary +cjxb2014 +Golfer +22061979 +qwerty12345678 +future12 +22021977 +19871212 +james2007 +saucisse +amina123 +chevy24 +notagain1 +stupidass +charlie02 +hepburn +07041995 +sexymama69 +010877 +barb +cheater123 +torres12 +myking +hanshans +jessica04 +MAHALKO +alex1974 +bloodred +jenalyn +ducados +310575 +gaia +LOL +Ou171423 +verite +3puppies +daisy9 +lenicka +chandler2 +250996 +barbie08 +24051978 +ADRIANA +33663366 +emilly +newyork14 +21081994 +spencer4 +marley10 +casper99 +zzzzxxxx +aretha +havingfun +crystal18 +thekiller1 +rjdfkmxer +realtime +500045 +mono +adeshina +knicks33 +camelo +190477 +nimbus2000 +germany123 +pleaseme +19381938 +pissant +timo +slippy +maksim123 +drummers +091981 +12021976 +power22 +andrew93 +goodtime1 +300676 +xxxxx6 +240576 +021177 +goahead +mushka +19871012 +191293 +cocktail1 +caserta +марина +diva1234 +kiss23 +20071977 +030795 +mainstreet +sasha99 +20021976 +leigha +665665 +stooge +cb +ambition1 +blueprint1 +dennis23 +swimmer2 +erick12 +july1996 +280576 +february27 +09101980 +podarok +order +17021978 +140194 +lynn1234 +arbonne +asshole24 +24111995 +puck +falcons12 +venganza +jordan89 +02091974 +Walker +devina +chickenbutt +199009 +cable +riverrat1 +lopez2 +benjamin13 +babyboo3 +131075 +loveisblin +Qw123456 +neophyte +romina1 +mommy25 +tommy9 +marilin +gloucester +destiny. +101272 +jetlee +h3llokitty +198924 +kyle18 +bloger01 +0564335 +buttsex69 +elpapi1 +rugged +sunfish +ondine +teddy23 +cabbages +127 +060393 +17711771 +171993 +locker1 +pseudo +feliz +dog100 +calendar1 +251978 +1bambam +22012201 +10061979 +babygurl24 +pinina +d7777777 +winnipeg2612 +05041977 +700075 +cableguy +030294 +tribute +Simon +dayanara +waheguruji +secretaria +schwimmen +marlies +jerry01 +24101979 +010203q +lapierre +boricua7 +nan123 +steak1 +natalie9 +23111995 +yahoo8 +millencolin +moorea +anaheim714 +1love4life +pompino +brindisi +adrianita +locutus +sommer07 +bitch87 +261096 +zxcvbnm5 +miguel. +100599 +070181 +paris07 +bestmom1 +22032203 +calibra1 +london05 +tiffany08 +knight01 +03061996 +maryjean +owned +nirvana9 +yojimbo +.kbz123 +february28 +njhnbr +common123 +23061978 +010778 +carebears2 +lilith1 +supremo +hiphop4 +takeme +always12 +balboa1 +runescape! +18101977 +20052009 +linda7 +240474 +002233 +apples6 +dustin69 +290179 +stjoseph +dima007 +160495 +sweety01 +101002 +jason143 +pinky21 +theanswer3 +ffffffffffff +kaycie1 +lolli +winters1 +2022 +����������� +27021994 +29011981 +surf12 +grazie +180395 +cornelio +19101977 +13101977 +cthuttd +ftw666 +lhbjkjubz2957704 +usmarines +290676 +fatass13 +synyster1 +200795 +192 +july2009 +tape +friends16 +daddygirl2 +class04 +005005 +catcat123 +u2u2u2 +yoyo22 +malice1 +muchacha +06021996 +gee123 +raqdc4ml +Tigger1 +babu123 +rats12 +3388 +scorpion2 +davidk +19870111 +iamgood +415 +buster02 +831004 +19881989 +piscine +raiders34 +cowbell +14071979 +gregory7 +sammy77 +shannon9 +pimpollo +eiknon11 +7777777j +bigdogg +passenger +boy12345 +augustine1 +bread123 +qaz789 +freeport1 +manoka +overlook +blaze13 +polina1 +walters1 +srinivasa +rocket3 +010994 +aderonke +synapse +yv3bcdaq +giveit2me +tyrone12 +theresa2 +270377 +mybaby7 +01011998 +081982 +1rosebud +laracroft1 +STEPHEN +21031977 +friends4me +asdfghjkl456 +mayhem666 +CONNOR +jerry3 +shianne +ray-ray +harmony7 +mythreesons +bayarea510 +1williams +02101996 +hidalgo1 +chibuzor +april92 +10071977 +screwed1 +bienvenu +lorenzo123 +24081979 +jasmyn +111998 +19871029 +luv4me +everton11 +produce +6453 +patches7 +riley13 +iamme1 +pinkpig +horse13 +335335 +cowpie +freebee +895 +bunga +27061993 +neumann +l00ser +monsta +tigger66 +011989 +020896 +godswill1 +residentevil4 +riyadh +happiness! +thisis +vjcrdbx +speedy7 +7414 +thereds +liljoe +ilovemyspa +666666z +playa5 +180994 +031982 +811118 +cammie1 +061178 +pokemon09 +michael44 +ededed +oleg1992 +frdfvfhby +mavrick1 +manuel5 +1001wdst +05081980 +200179 +fresh21 +wilmar +wrinkle1 +lovemy +140696 +03041975 +indianajones +decent +cocopuffs +230975 +fidel1 +23022302 +svetasveta +bibou +still +11021979 +goodwood +tucker7 +nutsack +isabel13 +belmar +sportsmen +nastya12 +10031977 +rascal13 +250278 +bandung1 +281196 +31081995 +tamia1 +labebe +w123456789w +32113211 +drunken +larson1 +Valeria +21031979 +redbirds +faith6 +011982 +zumzum +dum +kerwin +841226 +varghese +141618 +shalom7 +palencia +Stephanie1 +���������� +anna24 +brian6 +02021972 +rs2000 +phoenix! +animals3 +newport7 +moviestar +leverkusen +florida9 +mistic +twojastara +summoner +wisdom12 +29071995 +4sunshine +060380 +dantist +zaqxswcdevfr +olvido +azerbaijan +blowme123 +squeek +elena2010 +mille +cokecoke +ghjuhfvvbcn +230897 +fireball12 +11111c +lisbon67 +akash123 +123123zz +m123456m +d41d8cd98f00b204e980 +blackbear1 +cartoon123 +samsung! +lwxlwx +811811 +97979797 +lala18 +poolshark +chumchum +rouges +198003 +beatiful +bitch2009 +vondutch +coldwater +bouddha +090382 +paulina123 +theIigE4x2 +preston3 +luckyone1 +baptist1 +barunka +frytol +atleti +1jehovah +555550 +051077 +bruins77 +grasshoppe +170193 +08011994 +ruffryders +holly3 +shaker1 +05021995 +160296 +april1991 +english3 +20051978 +leafar +Jeffrey1 +brandy5 +250696 +090182 +minidisc +GLORIA +011984 +fluffy69 +gotribe +0.0.0. +black00 +pinkflower +tromba +mariann +withyou +ciao1234 +starwars01 +raptor350 +adaeze +041079 +NUL +imsosexy +scorpio9 +giadina +assass123 +shadow32 +blue4u +19861224 +000789 +19861017 +bigfoot2 +oigres +letmein22 +getmoney21 +shanta1 +imalone +ilovebobby +anna1982 +beijing2008 +ewankosayo +swetik +BqkTrqN844 +carl12 +mistie +magic9 +bacchus1 +270177 +091982 +cupcake6 +nylons +#1stunner +love1004 +love112 +bear99 +renee7 +131196 +boobies12 +bull123 +carmen23 +may1984 +200896 +williams11 +lover20 +santiago123 +2fuckyou +bedrock1 +2qwerty +snoopy99 +mimamima +240695 +catcat12 +babies123 +spokane +juice2 +greeneggs +yz450f +superman34 +142356 +GOLDEN +timmy3 +summerfun +popokatepetl +10121976 +anastacia1 +what2do +fener1 +dylan99 +junkyard1 +tony77 +chadreed22 +emmanuella +17091979 +jodeci +plummer +vasco1 +majeczka +071295 +li +speedy3 +23051997 +andreea1 +angela18 +buheirf +ninja! +dudule +1manuel +death3 +30011981 +19861013 +060381 +horosho +251208 +davidl +08031978 +sinful +samsung0 +ashley85 +corona123 +52013140 +alejandro123 +mahina +jessie69 +enterme +bonner1 +unique123 +090693 +minniemous +boomer5 +possible1 +moonman1 +Bentley1 +462016 +120472 +bhagya +artemida +diana01 +20051996 +maraton +caregiver +kristina2 +560072 +heaven5 +12345zz +charcoal1 +rambutan +vandread +superman28 +020677 +Nikola +24041978 +03101979 +lynnlynn +lamar2 +army11 +taipei +150496 +fake13 +a123123a +arsenal5 +notnot +samsung09 +14051977 +elijah13 +samogon +mango5 +210874 +bornfree +twostep +210876 +bookitty +getrdone +091294 +270678 +april2010 +sammy111 +12051977 +cookie44 +09111993 +super21 +nicole82 +101299 +vasilenko +miraflores +34563456 +nagano +rjgtqrf +zachary9 +ankit123 +krish123 +lovemebaby +kasabian +freedom0 +doris123 +nike01 +177777 +rachel08 +underscore +revenge! +19861126 +040795 +amooti +iamthebest1 +classof2012 +mizuki +270396 +111963 +courtney9 +19851220 +travis08 +enrique123 +65stang +waltdisney +denise69 +fktyf +timon1 +03061978 +251196 +hank123 +reference +manolete +rere12 +pokers +holsten +schmidt1 +1356 +post +london00 +FQI3P8arjg +vonvon +841020 +17051979 +21AINIYAN +COURTNEY +super007 +philippe1 +tbird +a9999999 +nasdaq +pinuccio +gangster14 +jackass01 +babygril +ladykiller +brooklyn01 +Liverp00l +gangsta8 +lori123 +myman1 +cubs12 +moriarty +fattie +nicolas10 +280795 +pikachu25 +faraday +841012 +myspace83 +katie18 +qwaszx1234 +jayjay5 +bubble7 +anna2004 +love2me +roses12 +pfqxtyjr +bloodgang5 +guo150 +260677 +basspro +19861124 +110375 +austin25 +zenit +jamil +pumas12 +davina1 +pumpk1n +mimita +gigant +niceboy +28031996 +400003 +25091994 +marriott1 +poohbear20 +leothelion +lollypop! +120398 +140275 +toriamos1 +45874587 +luisa123 +sherlyn +ghjcgtrn +passw0rd! +gogetit +march01 +350chevy +ina123 +11021977 +smiles4u +04121981 +summer19 +Fuckoff +birthvillage +240477 +1azerty +suleman +uekmyfp +olympic1 +fff123 +cancerian +redblack +missy1234 +151981 +190994 +som +1cheer +jakester1 +extremo +mypassw0rd +sofia12 +razvod +morientes +jordan34 +diana7 +music2008 +uyjvbr +sexlover +rock77 +26101978 +krishana +realman +baller45 +aggro1 +13701370 +getlow +170477 +29111994 +654321p +100996 +quicksilve +paolo123 +153486 +lolo22 +kopytko +198531 +david2006 +ricky01 +cooper14 +checho +140505 +24121978 +june1997 +diebitch1 +practice1 +passion4 +royston +pierina +bowwow11 +aud +30003000 +eurogunz +utvols +ANDRES +activa +15051505 +rangers7 +my_komp_777 +j00000 +breebree1 +elvis11 +faktor +seductive +chiquitin +09071980 +ag1234 +basket10 +houghton +hottie44 +cheese15 +daddy'sgir +bibibibi +211096 +akinsanmi +gorman +my3dogs +creator1 +deadman8 +bmw325is +23031977 +saulute +jessica00 +55554444 +vball3 +ghostdog +zbyszek +230276 +concorde1 +2113 +bookbook +evybwf +198904 +getmoney22 +551976MS +tony06 +050794 +carlos28 +841024 +diedie1 +bowers +polo90 +02081975 +vincent13 +Olivier +199302 +christiaan +t11111 +mg1234 +jambon +150296 +raul12 +mylove18 +anhmaiyeuem +1september +nou +theduke1 +please11 +stefy +shippuden1 +240575 +197928 +462001 +sasha17 +money2007 +cosmos0901 +kolejorz +dearmama +valerian +020796 +chameau +dashing +01121979 +20081975 +moejoe +maddie09 +reyes123 +2530 +dylan09 +oneway1 +bonghits +lilies +01051977 +laspalmas +khongnho +mendel +enrico1 +cameron02 +19733791 +james666 +xuliang +philly123 +leyla +breanna123 +123dima +bomba1 +10081976 +camera123 +02091994 +kleiner +cutie95 +jeff21 +nyuszi +nick19 +rhodes1 +Scott +excaliber +minimum1 +destiny99 +fang2008 +lewis2 +19734682 +bignasty +lovekills1 +downhill1 +030994 +shannon6 +821020 +110707 +hottie93 +26121979 +lakers15 +00000q +tiff12 +qazqaz11 +251995 +anna25 +06081994 +thatbitch1 +zxasqw123 +allsaints +chuleta +angelo2 +22101997 +fish10 +1buttercup +101201 +punkie1 +truckin +battlefield2 +qqq333 +reddog123 +tinkabell1 +anarkia +rafter +181982 +hiphop10 +pillow123 +7891235 +hotmama123 +110775 +fartman1 +080695 +samuel12345 +23121997 +791111 +tiktok +zara123 +28021996 +bengal1 +emreemre +gerbil1 +melchior +011111 +bolleke +050795 +180779 +gabriel17 +26041981 +moomoo! +attorney1 +markjoseph +lollipop. +25292529 +blake11 +198229 +mallari +19791980 +donavan +28071976 +anagha +Logitech1 +Blizzard +winter98 +water21 +kyle07 +smiley69 +linkedin8 +sarahjane1 +amberlynn +fatkid +shabby +200296 +628628 +jean1234 +guitar77 +onelove4 +171977 +24081996 +eyeshield +aguacate +12345610 +math12 +14041979 +willy12 +wolfy +1tennis +310777 +driftking1 +Babygirl1 +victor69 +findme1 +norcal1 +darkness66 +199421 +ramrod1 +nicolle1 +egshm1 +barcelona8 +duckhunter +groupd1 +megadeath +steelman +test99 +567567567 +flyer1 +Gabrielle +v3URIAh1 +Dreams +twat +karan123 +wildcats10 +love209 +198109 +ledzeppeli +panda14 +krizia +lalala4 +22081979 +realsim07 +killer96 +flower45 +020578 +darkorbit +vanessa17 +torana +Autumn +lefthand +oliver8 +america16 +sarmat +joejoe12 +130875 +suckit3 +adc123 +ahovbipw +95civic +matthew77 +1436 +1052 +cobra12 +qwerty911 +102500 +the1andonly +mewtwo1 +warcraft4 +060878 +femi +30011979 +2321 +mainman +198129 +united2 +rahima +halo3rules +26081995 +color123 +shifty1 +888888881 +daddad1 +pelle +boulou +123123123z +homey1 +05051976 +sasha2011 +manika +charl0tte +vlad12345 +yahoos1 +bubba99 +7nc4lqW7tO +03031998 +80959002443 +asdfqwer123 +aqualung +asd098 +dirty12 +myfamily5 +mikey10 +s696969 +shelly2 +duran2 +jamboree +tony101 +anillo +041179 +Julien +13111979 +contra1 +vaseline1 +123456ru +06011981 +wi11iam +chantilly +assmunch1 +130676 +52255225 +skater88 +tuan123 +140576 +scorpion7 +210496 +chloe6 +197210 +linton +dell10 +Fktrcfylhf +240596 +duke33 +iiiiiii +21love +06071980 +041078 +copain +kailee1 +alabaster +charlotte0 +kornelia +270976 +agapito +savannah4 +czz224466 +po +heyhey11 +fidelio1 +phoenix8 +alyssa15 +1adgjmptw +21061979 +andrik +granny5 +forsale +tippie +landon05 +16051978 +borland +dorota1 +1minnie +addison2 +nuages +jaymie +13081979 +peanut101 +111156 +qwerty0987 +fuckyou321 +040779 +1jamaica +RAND +heaven4 +020696 +boobie2 +fuckyou187 +chickboy +blue54 +vt +rammstein6 +jekjek +090679 +shane69 +surfer69 +02041973 +beaner2 +sorpresa +lions123 +nji90okm +klingon1 +emotion1 +borderline +121070 +060479 +mexican4li +annarose +sarah24 +mommy34 +040777 +23121978 +111111n +strawb3rry +dfy.if +wsxcde +kitty. +limestone +kuuipo +fefefe +victoria20 +ninjaman +23042304 +1google +rol +280578 +earth123 +red911 +7jokx7b9DU +oliver77 +jersey2 +jhjhjh +hailey03 +gokil +butter13 +marina23 +matveev +righton1 +shade45 +slobodan +fatal1 +niewiem1 +bigjake +199519 +ipod11 +199224 +asking +251296 +coolcat2 +abby08 +chimie +12111978 +jessica90 +rajababu +2426 +onelove69 +katrina12 +shambala +482001 +fgh123 +mobius1 +jodie123 +����������+����+�� +single2010 +igetmoney2 +disney13 +Kennedy +buster44 +jjjjjj6 +jellytots +20091977 +s1mple +cheezy +120304 +NISSAN +05061995 +26121977 +979899 +azerty10 +486255 +weezy12 +09081981 +ilove9 +050576 +Alessandro +199555 +45544554 +14061977 +d55555 +08101980 +fuckyou100 +110597 +banda1 +811225 +lauren02 +tristian +zero01 +frenchkiss +nownow +filemon +sierra117 +gilbert2 +DEBBIE +bansal +01101994 +rayman1 +831024 +paresh +abhi1234 +24121996 +chris97 +eduardito +180396 +198317 +123321qaz +06021979 +08061980 +peanut00 +pinky4 +24081977 +eagles8 +ASDFG +ybrjkm +florida06 +bayview +sexylexy +23121979 +spotlight1 +lagnaf +WINSTON +yfl.if +madhumita +orange27 +dancing123 +pudge +jaelyn +naruto91 +101968 +lindsay123 +160195 +mine69 +delbert1 +230376 +baller16 +x870624X +170596 +05061996 +xxxxxxxxxxxx +inglewood +123568 +paperboy1 +rebelde3 +monster08 +19861030 +shelbie +rikardo +lordvader +amor25 +Tatiana +2money +bhopal +mafille +jesusito +hope01 +iubireamea +beast3 +13071307 +smokey15 +frends +nokia3200 +woodman1 +amanda05 +weezyfbaby +random13 +xthysq +55555j +musa +060697 +spongecola +nasaud +alliyah +dru +thomas55 +060181 +122221 +10011975 +snowball7 +chloes +gateway200 +112800 +mko0nji9 +leandro123 +peace4all +ufptkm +finale +9191 +eagles69 +bowwow5 +140877 +drugsty +time12 +780405 +teddy101 +mckayla +wildcats7 +65432 +pimpin15 +model123 +fuckme420 +ihatemyself +lorella +familia10 +sharkbait +jacinta1 +star34 +freedom88 +010200 +bypass +callie11 +music2009 +meeeee +bobo22 +gators123 +lalala6 +jackblack1 +barney13 +basketball10 +realbetis +house3 +airline +0069 +yomom1 +StarWars +malathi +191094 +asshat1 +21101978 +781025 +cheezit1 +anton1996 +allmeu112 +pas100 +angel2004 +pink100 +a951753 +penguin4 +jenn12 +1poopoo +132639 +zxcvb6 +mommie2 +copper22 +cool17 +melodie1 +elbert +dingle1 +02041975 +19871225 +ANGELINA +danielito1 +webmaster123 +southside8 +44gatti +cristin +snails +amenamen +hjcnjd +deathcore +ghost7 +290178 +sophia08 +tygferrfddss +lakers33 +success4me +socialwork +10011997 +244 +chances +palesa +111166 +simply1 +megamega +capella +17091980 +internet! +mike66 +iloveemma +apple55 +131977 +valentinka +happiness7 +290878 +booty5 +114 +1477 +rockstar18 +chaplain +nirvana11 +rekha +ana12345 +poop15 +richy1 +harsh123 +puss +blackhole1 +ddzj49nb3 +pur +katie09 +01011962 +avengedsevenfold +trouble69 +12081976 +drinking1 +whiskas +jaimie1 +password37 +rjycnbnewbz +creat1ve +soundwave +junior26 +daftpunk1 +roxas13 +02111980 +bella99 +brainiac +evermore +aline123 +stormy123 +javier3 +time2die +wiener +0905 +nayarit1 +sanandres +bruder +chase13 +broke1 +yasin +199303 +geppetto +midas1 +nicole44 +reymisteri +130496 +0904 +catherin +kaitlyn123 +Nikolay +crystalsaga +291078 +081178 +freccia +muggsy +bryan01 +jackson14 +honda85 +snoopy25 +costantino +kimura +rockstar17 +balazs +theghost +fatboy21 +icewater +theway +jade07 +artem1997 +freunde1 +0425 +sakura7 +11031977 +justincase +30041996 +preston12 +dragon83 +lokillo +freak! +bloomfield +hhhhhh7 +diddy +westside! +bunty +1truck +judgement +aleksandra1 +rushhour +tomino +patrizio +elvis69 +watchout +yxcvbnm123 +kritika +billings +SHORTY +shea +akuganteng +gerald123 +260795 +raymart +2p76xH2xHV +p1p2p3 +123a +lollipop10 +1350 +mixmaster +puffin1 +mcnabb +nad123 +yeuemnhieu +intan +beata1 +fatboy10 +tara1234 +hubertus +contractor +moliere +Gordon24 +18031979 +sammyd +marino4ka +cheese88 +sodium +lindsay7 +lib +porfavor +nichol +gigglez1 +lunette +1593572486 +210476 +mainz05 +greenlantern +ilove17 +vbnvbn +jamielynn +15081996 +redsox4 +Kitty +9797183185 +giggsy +purelove +junior420 +hazeleyes +manman11 +ragdoll1 +19216801 +flowers22 +irish12 +ponorogo +dalia +newport01 +denis1991 +charles! +bella25 +barby +9788960 +gfyt63gd +tigereye +021195 +sunset7 +190300 +30103010 +bekasi +harleydog +chico11 +Nick +zxcvbasdfg +love1981 +anorexia +dima1988 +ryan20 +tink3rb3ll +amor17 +westfield1 +0525 +zuzia +celeste2 +uglybitch1 +oscardog1 +james87 +sasuke01 +liuyang +jenny07 +account2 +dragon79 +007911 +ponce +d1bd6bc58c1d74df41a957489c9942f5 +memphis2 +030373 +dmx123 +yousuck. +22081978 +1360 +plenty +cachorro1 +joker88 +123haha +emporio +fucker21 +kocicka +11111974 +thu +chinois +01101978 +cfvfzkexifz +bitchplz1 +phillip123 +lilla +iloveyouf +bitch111 +james2009 +rocky24 +sweetpea7 +farmhouse +edmund1 +290677 +261993 +sanluis1 +gingerale +roma1927 +199005 +2120 +010199 +1281 +151095 +Password99 +sparkplug +772324 +grace23 +schoko +rosie11 +themis +afghan1 +140474 +HOCKEY +easier +55555555555 +montesa +7546 +4545454545 +yellow27 +boogie01 +15051977 +davidt +Alison +chyna +kayla1234 +chicago22 +dirty123 +21111995 +124365 +2357 +vance1 +armine +nastya2010 +giorgina +ilikepie123 +skater09 +massi +121214 +potapova +amanda92 +cassie69 +lesbians1 +kelly17 +ravenna +050494 +190993 +babyg123 +17111995 +19851023 +25081978 +chi-town +26061979 +dumbfuck1 +pooh24 +newport20 +thaddeus1 +2536 +hulk12 +paska123 +oluwadare +others +misty5 +beautifu +071177 +nallepuh +261276 +586586 +virendra +cellphone3 +dad101 +126 +intruder1 +dvorak +youbye1231 +donkey7 +samsam12 +19051996 +228228228 +colorado12 +thistle1 +murat123 +sketch1 +12101974 +showdown +19851217 +s0mething +090280 +ashton3 +197926 +199420 +86026403 +honda80 +calvert +ranger75 +060978 +220474 +17071996 +13041304 +tanning +polniypizdec0211 +123abc123abc +krystian1 +280677 +biker123 +cholito +volcom23 +beauty21 +bigdogg1 +gang123 +elmo15 +puspita +110674 +rock15 +7v8bv5TeoW +pebbles7 +kiki07 +1business +jamie08 +19971998 +adrian05 +nutcase +1344 +rfrfitxrf +imani +30121996 +w0rdpass +1237 +denis1996 +rfn +naiara +20021977 +jason28 +pandita +66chevelle +07061993 +molley +131072 +paris5 +andrea89 +sebastian12 +06041981 +040408 +12091996 +kaylee06 +14121996 +diva07 +050280 +chris1991 +15101975 +1teddy +lele12 +vlad777 +120199 +eclair +falcon5 +mjordan +Alexandra1 +horsepower +301094 +02071995 +concours +number1son +ping123 +080183 +jessie08 +211296 +24021976 +chhaya +12781278 +gabriela2 +210277 +cassiopea +26031979 +shanky +coolbuddy +winthrop +domino11 +170378 +boxerdog +turtle8 +spence1 +123456gh +1hotbitch +160378 +elieli +1�����2������ +sugar69 +030695 +homegirl1 +amoeba +savage23 +conard +pekmabz +1oscar +angelo01 +crapola +madness7 +kondrat +260396 +050508 +111222333q +linsey +ABIGAIL +carrie2 +110200 +wowowo +jana123 +190194 +bilgisayar +toby13 +uuuuu +mistycat +Barbara1 +11122 +221108 +angry1 +03031976 +nhf +sloeber +13577531 +rockwood +rihana +penny3 +011077 +mister2 +080294 +11071978 +oliver15 +Diamonds +sexy86 +25021979 +ordinary +h0td0g +199626 +1234567896 +22052205 +helado +160794 +tiago123 +wedding65 +19861125 +06031978 +sureno1 +whatever09 +pumbaa +coastal1 +osasuna +wildhorses +wahyu +24111978 +devon11 +19861213 +sc1234 +howhigh +ammulu +pantera12 +FISHING +Bailey01 +joeboy +147159 +tomwaits +pueblo +stupido +dragon75 +poroto +denzil +bubblegum9 +38253825 +290893 +080281 +081983 +presto1 +here +chicony +connolly +newport3 +azules +12345�������� +carita +ilovejenny +ladida +pow +salah +ivy123 +champa +leonardo2 +sugarbabe +ff +bracelet +shannon21 +160022 +do +olawale1 +10061996 +if6was9 +fairy123 +07021982 +15101995 +savannah13 +cebucity +dragon31 +19091995 +quijote +04081995 +020272 +blissful +19851016 +17011977 +0313 +hello98 +miriam123 +horton1 +browser +060180 +juancamilo +delapan +a12345b +petro +030308 +suckers1 +oranges2 +antonio17 +adekunle1 +eyecandy1 +xavier04 +pokora +arthur2 +wifey +20101996 +ashton11 +austin19 +compac +453 +beatle1 +pizzeria +logan21 +01091977 +FLORENCE +141977 +16021978 +020377 +cass +kyla +751010 +bea123 +123456dj +linkedin77 +jamie15 +090181 +amanda26 +241992 +271980 +hope23 +050977 +170296 +Ac3SG728 +bestie +dalibor +casey10 +carlos88 +04061995 +bartosz +519519 +pokemon1234 +beegee +151275 +13101976 +qwe12qwe +vampire11 +24101996 +tomaszek +freedom200 +myfamily4 +lilbro1 +199305 +airjordan23 +1bigcock +tee +melvin123 +tamara2 +25041977 +boulanger +amanaman +000099 +130796 +hitchcock +060709 +19021977 +lacrosse9 +skippy01 +dct: +�������+�������� +hardcore4 +psp71835 +cangrejo +woofie +silver16 +nokiae65 +mike31 +c7777777 +peter69 +ilovegreg +tangerang +clown123 +260377 +cth +chen +boyz123 +200195 +02061974 +130895 +dalmation1 +idontknow. +monterey1 +adm +.. +123012301230 +lauren24 +161077 +mylove16 +theman3 +xh247AHGUM +getmoney24 +xxxxxxx1 +isabella09 +doraemon1 +travis. +busterdog +mari15 +trixie01 +iso9001 +schmoo +700084 +snake13 +backbone +07121980 +test2 +nowitzki41 +winxp +jambo +thequeen1 +fucklove23 +nascar6 +123dan +vanish +michelino +happy321 +120274 +13011977 +letmeout +handle +qwe987 +15081976 +080280 +silvia123 +;tytxrf +egitto +17041977 +091277 +latinos +SIERRA +bulilit +illusions +steph23 +babyboom +MOHAMED +perdana +hellosimon +091179 +bruce2 +daniel2007 +alternate +mis3amores +mike2006 +5string +jerkface +200895 +twins07 +casale +050409 +timbuktu +santoshi +M123456 +kevina +1brown +salut1 +doctor12 +700059 +vaz2112 +vanilla123 +Hannibal +hutchinson +invent +dus +mirana +gotti +ladybug08 +jonathan07 +sk +lucky26 +aceshigh +cntgfyjd +tytyty1 +080680 +elephant123 +case +Jamaica +300808 +31337 +emmalouise +scorpio12 +bdfyeirf +030295 +revenge2 +atienza +krusty1 +happylove +velosiped +приветик +031275 +wayne13 +gxtkrf +27021996 +081989 +ghtdtl123 +goducks1 +samaya +tanner7 +patates +rjhjdf777 +brutus11 +azsxdcf +puppies5 +beastly1 +1sabella +jasper08 +doit +24091979 +iloveme16 +katica +microwave1 +jackel +120906 +shields +52545658 +221272 +199319 +babyboo! +hansol1 +loyal1 +04091993 +yyyyy6 +thunder23 +hawthorn1 +30091995 +bobby101 +lucious1 +dragons3 +2loveu +joker9 +1122qq +lilliput +karolcia +nazar +qwaszxqwaszx +canuto +liverpoolf +061296 +maddie22 +maggy +swisher +hohohoho +mysterio619 +08091979 +jessie07 +a420420 +qavcx411 +������+��� +zxcv12345 +dimples2 +men123 +a753951 +green34 +erika2 +det313 +131194 +kobold +pepsi22 +sdf123 +19851210 +07061980 +102088 +aeiou12345 +sophia13 +shelia1 +mini14 +dashit1 +rina +0121 +brian! +duval1 +farrell1 +konakona +halibut +wigwam +oscars1 +251993 +140596 +nutty +270294 +841026 +danzig666 +eee333 +jonas10 +03111993 +010496 +Motorola +vacance +basketball13 +smolensk +gn9gu44s +incase322 +slovan +cocacola11 +201030 +kolton +della +flyleaf +cbvcbv +richbitch1 +oneday1 +marie02 +bitchass12 +789456123b +241980 +Q12345 +limoges +myface +blue47 +23111977 +dangermouse +111297 +08051981 +brice1 +Chloe +13671367 +denise07 +sasuke15 +sinaloa13 +plastik +zeenat +alex82 +profissional +bikini1 +13081308 +jack33 +dj4life +divagirl1 +y3llow +300378 +291992 +iminlove2 +love38 +nounoune +anime2 +12123456 +milkshake2 +dungeon1 +miley10 +dododo1 +boys101 +23091977 +1915 +tweety20 +melvin12 +regan +charlo +tarelka +sk8tergirl +rocket21 +yyyyyyyyyy +minous +kthfkthf +Ingrid +26111978 +2kids4me +killall1 +poohbear69 +190779 +17081978 +20061978 +lvbnhbtdf +eastpak +marduk666 +Athena +121072 +istina +grad2006 +muffin23 +cesarin +danny06 +Vikings1 +runescape9 +mammas +tahlia +sunshine87 +23031979 +150177 +ahmed12345 +wicked! +topspin +softail1 +samoan +335533 +duluth +nogueira +Skyline +tootall +19861119 +guild +movado +krypto +backhoe +zukunft +blake13 +gregory123 +11011996 +786allah +110599 +caledonia +0325 +green66 +helikopter +import1 +17101710 +secret0 +stokecity1 +mercedez1 +callofduty2 +macho01 +lana123 +sixsix1 +wassa12345 +sallad +elo +56 +philly3 +weldon +muratti +280475 +11071977 +18041978 +hannah20 +060977 +espanha +Esther +00114477 +manda123 +821011 +jerryg +perico1 +tweety25 +29081995 +081990 +201176 +21072107 +poohbear17 +choucroute +ASDFGHJ +friends33 +october05 +godwin1 +pimpim +240995 +annieb +fengfeng +1299 +01101995 +sexyangel1 +traci1 +pimp02 +kharen +06061975 +588588 +kayley1 +19831015 +02081996 +mama1963 +lilbitch +15111979 +boston69 +honda8 +bonanza1 +wakana +queen4life +270496 +extasy +petardo +010601 +16021979 +babypink1 +cameron15 +040993 +pi31415 +cute07 +freemind +110274 +rose25 +120872 +987654321g +mark06 +raider11 +spanky13 +ismail123 +111555999 +bunnyhop +themoon +19851121 +jamie6 +mommy18 +hezekiah +lisaann +uuuuuuuu +monkeyass1 +13579246810 +Mary +promise123 +louis12 +rose77 +060395 +030678 +vallarta +winfixer +18041979 +julian22 +241096 +051194 +281175 +sudarshan +propel1 +aswang +haley3 +death2u +smile09 +08090809 +thepassword +rinat +patriots2 +19271927 +elunico +fluff1 +nikita98 +jembut +roar +ryan19 +spider! +yellow19 +snipper +sm123456 +longhair1 +051078 +721721 +micron1 +Ronnie +eddies +loh123 +090281 +lilboo1 +29121978 +spider6 +091279 +1marley +020201 +thankful1 +4beatles +11041976 +shorty1234 +minka +amazinggrace +040807 +10021997 +236589 +199406 +123456789ma +rosa1234 +dron +karina14 +mivida1 +bye123 +kiler +spike10 +03091979 +badboi1 +emily2005 +willie22 +robertito +150875 +199006 +natalie8 +2121321e +kennys +102489 +swordsman +eazye1 +p0pcorn +13071978 +14151617 +repmvbyf +besiktas1903 +letmesee +honeycomb +hihihi3 +pinecone1 +rocky111 +ilusion +yousmell +latina123 +marine11 +25091978 +iamcool! +focused +123156 +10toes +edward24 +jabari1 +kingsway +258456a +11041978 +isabel11 +hellboy123 +precious! +elizabeth123 +shubha +drexel +iris123 +cezar +trustme2 +lady14 +purple78 +jeep95 +sunshine45 +tintin123 +09091977 +renaldo +crazy8s +070596 +atlas123 +dfg123 +120805 +200008 +Moneyme56 +060778 +citroenc4 +linkin12 +17041979 +cassie09 +daniel2000 +skater18 +sasha1990 +723723 +barata +toast123 +purple04 +271296 +angel4u +71chevelle +grace05 +danelle +123456ABC +23132313 +19061978 +aaa444 +yuiyui +sweethart +magic69 +636332 +Broncos1 +djhvbrc +09031994 +25071978 +01031975 +patria +the1man +02091976 +251075 +mindanao +kaylyn1 +minoucha +hotchicks1 +april1994 +brianna06 +pooper123 +a22j5Bffci +540000 +tarifa +has202020 +mama18 +211174 +barreto +jaydog +lacrosse21 +whitley +10081975 +19021902 +cereza +198631 +babar +losers2 +240278 +fucklove10 +cali11 +091177 +vrushali +654321w +vanilla12 +wildcats3 +zverev +chelsy +redskins12 +191178 +victoria07 +14111979 +03081977 +roach +hotmamma1 +diana3 +aniani +100499 +igot5onit +maddie06 +clover7 +company123 +muzaffar +opus +girly12 +20032008 +indianer +ethan03 +1wilson +1godisgood +gentle1 +barnaby1 +cassie08 +jl1234 +killer27 +meriam +charles69 +minime123 +wayne11 +echelon +4everluv +smoky +wehttam +031278 +211994 +1december +06081979 +123spill +07011980 +loller +durham1 +loko12 +supercross +riogrande +hotboi1 +blue2222 +250676 +1qwerty2 +moose11 +asshole420 +221296 +denisov +pelota1 +airbag +energy123 +110105 +fatbitch +25101977 +magic10 +myprince +berlusconi +aaaaaaaaaaaaaaaa +acinom +professionaltools +hanover1 +slime +glover1 +putaputa +emily101 +100397 +101067 +jor23dan +123456mama +help4me +gracie09 +misael1 +ashokkumar +226012 +free2beme +faggot12 +poop24 +sweeti +biblioteka +kok +fizika +midnight9 +021102 +condorito +neha123 +sandpiper +babycakes7 +987654321t +sunilkumar +response +mercedes11 +jaydee1 +qwerty123321 +123321v +sprinter1 +luckyluke +hottstuff +skyline3 +bella77 +140676 +ariel2 +thegreatone +bubamara +208208 +slalom +taugammaph +albino1 +123210 +ilovejuan1 +fotograf +corey8 +ilovedj +brigida +reynold +fuckemall +Joanna +123456�� +07071978 +crypto +bandits1 +bigboy8 +811024 +assumption +1wayne +mehran +123mike +x8AxspuMEz +mayfield1 +vinicio +lovers14 +macy +100175 +1340 +01092000 +05091995 +linda23 +577191 +suman123 +london4 +ineedu +joeboxer +mysterio61 +chode1 +adam12345 +sophia3 +encounter +14051995 +23052305 +07051980 +flameboy1 +brazzers +tophat1 +rodney123 +alicia23 +01111980 +monique4 +batch +123103 +rossie +11051996 +solange1 +olivia15 +david55 +playboy17 +meshmesh +edwardo +baby2004 +dst1913 +marmelade +heat32 +66996699 +outsider1 +mischa1 +darkmanx +180977 +july2005 +VALERIE +�����+�� +cupcake09 +lynn09 +sydney22 +hemanth +jojo101 +Lj352d1ib31 +celtic12 +14221422 +daryll +xi345BIFVN +hanna12 +600089 +asdfg11 +20041889 +kittens12 +051178 +xyxy159753 +сашенька +amherst +badmus +encarta +troopers +руслан +elliemae1 +julian14 +4weaxQ642E +1adgjm +step +10011977 +basket5 +betterdays +311275 +single18 +buba +15091977 +Kenzie14 +aA123456 +22011995 +300878 +nolase +kadence +11121976 +loulou22 +testme +130276 +ha1234 +tennisball +rudi +26021979 +32143214 +debbie69 +jenner +cindy01 +jairus +puntacana +eqes606898 +3e3e3e +password73 +year2007 +customer1 +singapur +mary18 +natasha13 +dillon2 +190279 +woodbury +876876 +desdes +1katie +19091977 +sd1904 +bubba09 +comander +140195 +tasnim +880505 +admin2 +ginger33 +water10 +828828 +porridge +bigmama2 +ford88 +Sam +snoopy. +09011993 +awesome8 +asscrack1 +Alenka +abby22 +gerlinde +moto123 +6435 +03kids +mary16 +fairydust1 +andre13 +0919 +kotik +bubba24 +dipika +lastfmpass +sheba2 +beerbeer1 +nina10 +pointbreak +rjktcj +ashlee123 +bloodbath1 +misbebes +hawaii09 +Skorpion +deathwish1 +venividivici +orlando5 +houston281 +121171 +4454708 +barber24 +jessica91 +090907 +06101981 +03051996 +hahaha6 +420024 +100109 +sandra. +lauris +trystan +theboys3 +198030 +twiglet +jakeman +19871989 +Damien +crazy4life +mater1 +dodge99 +sloane +steve5 +massena00 +30041997 +freaky12 +robby123 +maravilhosa +viking123 +megusta +teardrop1 +211275 +west49 +eddie7 +hallow +greenday9 +dispatch1 +achraf +130775 +sayang87 +allinone +buster17 +06071996 +monkey83 +sexybabe12 +1sugar +monster33 +ciera1 +p1p2p3p4 +emopunk1 +irland +friendz1 +jndfkb +dorotea +dhiraj +blacklist +tiffany9 +211076 +28051995 +01041975 +zxcv0987 +marshall3 +smallboy +673kobby +bosshogg +0314 +prince09 +100296 +120102 +toma +morado1 +886688 +schultz1 +Martinez +bubbagump1 +never2 +twinturbo +171296 +19841013 +yuri +slayer66 +sms123 +alpha3 +impretty +ernest97 +antihero +w1ll1ams +coolwhip +touch +355355 +saliva +diablo01 +julian5 +789512357 +nognog +nicolas01 +goodfriend +monkey911 +132313 +redred12 +18121977 +130303 +ivan1993 +norma123 +sasusaku +Voyager +120471 +kalafior +mommy15 +161195 +21071978 +les123 +nomads +weasley +time2fly +chikis1 +diamond06 +justinbibe +roofing1 +03081995 +mexican10 +panganiban +270677 +560052 +hummer69 +jake2006 +16181618 +moonlight7 +SHOES +221994 +nora123 +composer +060196 +28121976 +troy11 +17051978 +1gracie +kosmos1 +axe123 +mommygirl1 +sammie13 +rhtfnbd +21021978 +050478 +duke08 +15061995 +150196 +l33tsupah4x0r +basketball3 +20081996 +300778 +ittybitty1 +1433 +19841019 +02121977 +20031976 +Kayla +pinky14 +faisal1 +pampers1 +sasha2001 +redzone1 +cooper! +piper2 +shawn21 +asdfg456 +trees123 +angel1988 +11101979 +1sebastian +GvqZvxUb76 +kiki16 +bunda +thedark1 +101271 +Ybrbnf +100574 +tiger98 +bella03 +jetson +cherry25 +18811938 +05121994 +122005 +reserve +ashely +080181 +290794 +albachiara +free4life +nehemiah1 +kader +opium +pierrick +25452545 +lorie +198677 +524524 +pepper02 +1password2 +rachel88 +allstar13 +meghan12 +sosososo +130897 +party5 +mc +axel123 +shay14 +greats +sabastian +0705 +hand +heatwave +mama00 +chase5 +a123321a +wrestling7 +mentiras +daisy06 +youness +serena12 +��+������� +030676 +10011996 +softball02 +199522 +rosie3 +weener1 +tinktink +1linda +elrey1 +gabgab +04051977 +rossi1 +staple +monkey82 +chopper3 +younger +05111980 +poopoo9 +ilovethisgame +dctdjkjl +kickass! +230176 +samtheman +Morris +renan123 +snowshoe +jasper09 +040793 +334433 +motorka +golf22 +23101977 +dime10 +04011994 +mangala +labas123 +lasvegas7 +1434 +artemisia +mummum +getoff +myspace81 +160596 +born2kill +821228 +teresa11 +opelastra123 +mandee +telefonino +denden1 +wetwilly +himom1 +marcus99 +hamdan +lol1lol +xoxo12 +14031979 +gorillas +pengpeng +joejonas2 +414414 +jackie08 +brooklin +malgorzata +bowbow +life21 +nigga01 +tonitoni +29031980 +mahimahi +brad1234 +303132 +gopnik +flatout +solara +lukaszek +angie3 +superbee +abigail5 +micione +mwangi +Henry +vasara +canaan +197519 +jaejoong +sone4ko +hokej +tpain1 +jktctymrf +i1234567 +020779 +108 +aa5201314 +sister11 +sexii +rtyuiop +7grandkids +271992 +dodges +TAURUS +shelby15 +lincon +07071998 +iloveumummy +xdl65b6666 +13121976 +lemondrop1 +feranmi +pazzainter +779977 +tosha1 +crazyass1 +crazykid1 +ashley28 +mimi21 +lynn08 +06121979 +daniel2009 +noble +heygirl +guacamole +1dennis +bmw540 +hayden09 +31081979 +thegame12 +golgo13 +biscuit2 +12347 +auction1 +24061995 +im2cute +tatianna +bizzle1 +booboo07 +fucku9 +autumn08 +Tommy +morena13 +cxzcxz +bobbys1 +040577 +fister +120208 +gwiazda +crumpet +qwerty1981 +30051978 +iwantyou1 +21082108 +linked01 +ginger02 +15011996 +louis14 +andres01 +lovebug! +flamengo1 +MANCHESTER +minnie4 +carter13 +291990 +ellarose +190678 +12031977 +freak666 +hjlbntkb +heroes5 +divadiva +pumpkin9 +secretos +zzzzzzzzzx +starr123 +13011979 +1257 +minhamae +070994 +madrid10 +r111111 +torchwood1 +cookies10 +eric18 +tucker! +01071995 +iamrich +precious10 +zinnia +love73 +tess123 +firenze1 +JASON +capricorni +tupac12 +gunshot +babyblu3 +crownvic1 +takedown +charmed! +inuyasha. +milligan +l654321 +piggies1 +suckmyballs +558855 +26031995 +qingqing +22031976 +fishing! +��������� +downloads +gatogato +goodpussy +12qw34as +missy14 +14071977 +300979 +1234! +soccerman1 +19912009 +westside69 +kaylee07 +molly15 +fattie1 +fruitbat +120672 +19871028 +102345 +hotchick12 +brazilia +cricket11 +jackie09 +10121972 +cerveza1 +xxxx1234 +bambam23 +zoey11 +gage123 +bear08 +wizard01 +streetfighter +060295 +1122aa +callista +anglais +041992 +blackness +jasmine29 +teddy14 +fatamorgana +bente6 +rubberband +neviem +050481 +nathan19 +grammar +yoyoyoyo1 +isaiah4 +181178 +tipperary +moocow123 +postit +210375 +200377 +kurnia +cali1234 +melissa19 +luke13 +ainara +lsu123 +c11111 +lynda1 +liyah1 +u8u8 +7008 +renee15 +29041996 +super01 +bear101 +020405 +niyah1 +alysia +tennis08 +hotpocket1 +erzurum +19071978 +WIZARD +261173 +aaa147 +dean11 +anika1 +4mygirls +220876 +QOXRzwfr +070381 +texas4 +gypsie +230996 +300476 +2grandkids +nay123 +dylan02 +211176 +21081978 +notforyou +prettyme1 +gammaray +22071977 +291195 +baby420 +4pussy +lilrob +trusty +maria26 +king44 +flowerpot1 +121965 +111171 +080995 +lesedi +uiop +london2009 +harley33 +180794 +loveme0 +plombier +tracer1 +esp +180795 +longview1 +05121995 +cheeseman +lovelyday +seguro +greatday +sofie1 +dima2009 +211990 +wwwwwww1 +darkness3 +cheri +stone5 +christmas3 +babe16 +06111981 +bitch93 +angel72 +kfx400 +blb +piston1 +yellow66 +110899 +hunterx +21101976 +elgato1 +tinchen +super17 +27031978 +brooke06 +emerald7 +garfield7 +Infinity +durand +doolittle +jacob17 +baseline +31071979 +01111981 +nikita2001 +george18 +chiqui1 +boricua21 +lovelyboy +colorful +jafjkshf7y6w34rjd +bluemonkey +smiley22 +scouse +catrina1 +fishboy +volcom8 +def123 +nathan1234 +badass! +irenka +avondale1 +cookie20 +anupriya +ghjcnj123 +pword +1029384756a +aj +fairlady +260977 +jellybean! +blue789 +connor4 +ilove$ +brooklyn! +banking1 +tumble1 +pashtet +yahoo.com1 +alexx +marines12 +oldies +020995 +Kimberly1 +peeps +040678 +tiggers +marie90 +opanka +music12345 +manju123 +kaelyn +199013 +markjohn +19111979 +smiley23 +140476 +mmm333 +sandbox +kenjie +fuckthis12 +260778 +st1234 +eman +india321 +spliff1 +skills12 +harley9 +sub-zero +brianna09 +09021980 +acosta1 +schatzie +kaley1 +keshawn1 +5angels +rip2pac +sex777 +210278 +122805 +alumni +11061978 +tony1 +11051976 +20011977 +cellular +CASSIE +13451345 +m1space +qazwer +twilight8 +dance15 +alexis97 +ivor631996 +leafs +105 +270895 +cheer6 +icecream6 +raymond5 +email123 +greendog +YANKEES +grandma! +highheels +101064 +futsal +vbkkbjyth +sucette +monkeyz +070608 +fiatuno +29101995 +15101976 +vfktymrbq +08091995 +girafa +homie3 +aaron24 +babyboss +malik2 +romani +380008 +crystal08 +paradise7 +honey19 +sierra99 +stiven +scranton +rachel07 +001970 +adidass +besiktas1 +kittygirl +busola +20071979 +poiuy123 +goats +wan +sprinkle +albita +123987a +copyright1 +blessed11 +james31 +poetic1 +336688 +flip12 +11121975 +njqjnf +alexis20 +vJS9Zdgyrn +playb0y +marvin13 +sammy24 +blackeye +goal +01041976 +junebug2 +30011994 +friend! +hahahehe +159630 +331133 +shrek3 +omolade +xxx123xxx +kenneth7 +199107 +numbers123 +diapers +enteng +199424 +veleno +19052005 +hayden3 +seasea +220674 +889889 +integer +160597 +weapons +luvme +britt16 +thuglife3 +12345hi +nkechi12 +px6gcr51 +burns +fernie +1water +fatcow1 +110697 +love4him +05081979 +sanasana +1linkedin +wade23 +beast11 +nothing11 +tierney +1x2x3x +rockers123 +harrison12 +stupid22 +18111995 +annamaria1 +razorbacks +winter23 +021196 +miller7 +leslie3 +puerta +quita1 +cheena +170576 +w1952a +cookies9 +08041978 +Aaron +bball07 +imapimp +celestin +matrix00 +futbol7 +18091979 +ownage123 +sugarcane +wooden +inception +siemens123 +iphone123 +corrie1 +16899168 +010901 +london24 +1albert +101269 +Torres +fritz123 +13011980 +diamonds12 +salford +summer67 +player18 +280277 +120508 +yfgjktjy +lunch +donvito1 +innov8510 +mascotte +loner1 +migrationsandeep +Titanic +great8 +27111993 +hdfcbank +1boricua +31031978 +thunderstorm +rodzina +skylight +FRANCE +boriss +18081978 +oliver69 +erwann +vagarsh +11061976 +210101 +stephane1 +kathleen12 +torrey +sonyvaio1 +hershey7 +89 +3323 +simple01 +tulpan +dalailama +towtruck +schranz +jaxson1 +nefertari +teddy4 +allme1 +1qweasdzxc +vegemite +kucing123 +schizzo +fenwick +vainilla +whatthehel +rayray23 +fiddle1 +gonoles1 +jazzmin1 +102400 +youaremine +house11 +luis19 +inspector1 +sexi101 +sexygirl16 +spencer! +sublime7 +reptiles +nagato +170977 +leblanc +12061997 +jimmyjimmy +britt07 +dylan15 +30063006 +beba12 +pink321 +patrik1 +khushbu +03031997 +bambam! +270978 +busterboy +160377 +elmwood +madi +whatever14 +ilove! +101173 +090793 +seabreeze +P455w0rd +slyfox +chigger +110806 +matt77 +ftbfrvlg17 +422422 +ernestina +burnout3 +mercy123 +kyle08 +moxie1 +REGINA +2n6ezl7XhP +200295 +ikke +1q1q1q1 +torment +eminem313 +carrillo1 +snickers13 +panico +william03 +241275 +abucanda +130196 +??????????????? +lee12345 +schuster +vfvfif +hardman +250375 +babyboy24 +24061979 +yahoo69 +fuckme6 +080108 +Shelly +cangri1 +belmonte +allie2 +autobots +hottie55 +110872 +as0000 +210674 +ranger6 +caca22 +s39jWbw5iA +kaczor +sora123 +anggun +566556 +9021090210 +141996 +space5 +luisalberto +newbie1 +Daniil +CHEESE +badass22 +1824 +blessing123 +augusto1 +crusade +beetlejuice +raiders15 +tiger2010 +chopin1 +cirillo +300600 +123789abc +hardwork1 +yummy12 +summer96 +sideshow +090678 +1cor13 +maimaiyeuem +runner11 +28051979 +viki +asswhole +duncan12 +zoey1234 +27051977 +boriqua +a42904290 +christmas7 +nopasaran +ivan1995 +batman27 +joker007 +teamoamor +041194 +eminem15 +301176 +grade6 +caddie +marie86 +donita +romnick +frank21 +cintaq +25011979 +bs1234 +fernando. +coolguy2 +27011978 +125001 +juicy69 +whitewater +buddycat +231072 +medion123 +madoka +lovedetoi +toshka +fernande +sureboy +strawberr1 +young3 +091194 +rach86 +password40 +zxcv123456 +amb123 +satriani1 +150375 +555555555555555 +London12 +1388 +patient +270295 +niania +19871025 +collect1 +123951 +85207410 +love1313 +funny3 +090309 +fresh14 +booboo18 +usuck123 +fred1994 +felix13 +ronnie11 +iloveyou98 +rmz250 +04101981 +abel +clubber +colombiano +arun123 +pawelek1 +vicenza +fairplay +menmenmen +milkbone +18061996 +200378 +carter09 +wkgMmjH623 +myhumps1 +noah06 +cheese0 +alamo1 +011278 +kelly1234 +poopstain +santodomingo +tara11 +lop1346781 +kepompong +loveu7 +perro12 +19081977 +21021979 +15051996 +bonnie3 +bettis +Garfield1 +treats +090694 +030608 +peanut1234 +cassidy12 +210376 +killa4 +london! +erection +69camero +melanie01 +lollipop8 +07091980 +kikelomo +cheer9 +Penguin1 +loneliness +casper! +dorothy2 +28121977 +132456789 +darklight1 +lakers! +2266 +nichole123 +bunnies2 +hillview +john27 +yourgay2 +kiakia +841022 +password1. +24031979 +loveyu +blanchard +sexybum +april89 +110303 +mattew +zebras1 +150876 +198488 +chargers2 +03021977 +twenty5 +nostress +joelito +dirtbiker1 +timothy5 +golfer2 +198731 +foshizzle1 +11111995 +09041977 +love1love +score1 +renee09 +johnny16 +covergirl +195900 +studman +Raymond1 +gothic12 +john26 +qeadzc +STEELERS +getatme1 +26091994 +gfhjkm12345 +samana +callum12 +bullshit3 +sportage +16111978 +daniel2010 +johnmayer +ora +southside9 +Romans828 +manu4eva +blonde12 +5demayo +onemoretime +chicago8 +adrian16 +bubbles99 +250695 +sona +pink32 +delvalle +plato1 +fuckuall1 +mamie +Hunter01 +ABCDEFGH +snoopy08 +priest1 +070194 +football04 +minty +acqwah +crystal09 +walker11 +bluerose1 +cheater! +иришка +mario4 +13071979 +j121212 +jeep99 +sexyblack2 +anycall123 +bella19 +greygoose +11091978 +corkey +Justin1 +ranger88 +newlife2011 +scooby08 +hash +Soccer10 +rose07 +bodensee +spaceballs +london55 +020777 +801225 +children7 +happines +afghan123 +230874 +New +dude77 +diksha +babyt1 +submarine1 +Hevhk43n9J +a7758521 +070694 +crazy111 +180596 +20021975 +120272 +15031503 +gampang +emma09 +tyler. +1234567890A +01121978 +beirut +chicken99 +magic21 +george17 +20031997 +1234567891234 +chopper7 +maddi1 +149149 +06121995 +13051979 +19061994 +821210 +filippo1 +phantom7 +potters +spellbound +mama1961 +frosty12 +bruno01 +neymar11 +w1953a +justin91 +ellie2 +hokuto +alquimia +pallas +922j5Cefcj +040498 +tyler97 +india12 +peaches10 +costas +macduff +greshnik +raiders20 +140298 +414200 +9119 +091295 +gege +523252 +lolman123 +thebible +1brian +oleg1998 +zxcvb1234 +doughnut1 +amoah2010 +65 +qwertyuiop789 +jamesy +mykids04 +swab123 +ladybug22 +magdalo +angel1998 +Hannah1 +shanes +kaylee11 +howard123 +minger +alexander11 +32 +orgazm +KRISTINA +14121976 +801123 +Caitlin +George1 +303 +dawkins +balanar +12345678963 +admin01 +messy1 +sagopakajmer +imissyou! +mmouse +sadness1 +231296 +cavaliere +261275 +12051976 +toasty1 +saintseiya +fairytale1 +090409 +grissom +129 +nigger420 +belgarion +phalanx +20011996 +lac +061979 +Vegeta +hunter666 +lafrance +240996 +thuylinh +tem +fishfood1 +azerazer +flowers. +bruxinha +030503 +05021978 +mattmatt1 +123abc1 +babybash +1potato +nikki24 +bookmark1 +hedimaptfcorp +8x2h4Fccap +karen15 +penguin22 +19111996 +lucy08 +marley08 +wmtmufc1 +catseye +fall2007 +skater99 +v123098 +16021977 +19841121 +06071979 +camry1 +01051996 +29101978 +234649 +ferndale +bubububu +21212 +grunge1 +louise23 +muffin14 +bk4life +09021978 +cowboyz1 +021296 +dalila1 +mandy11 +BOOMER +codybear1 +viking12 +orange66 +130377 +ha123456 +181983 +boredom +cowboy9 +hunter94 +suplada +buxton +21051997 +anthony29 +20081978 +massey1 +kmdbwf +oreo01 +boss22 +02071975 +281095 +djkrjd +dragrace +tema +hamster3 +atown1 +backdraft +elzbieta +deltas +babyfat1 +patricio1 +210505 +house5 +05021996 +automotive +noworries +thatguy +kenny69 +sexygirl! +fireboy +250476 +0923 +donkey3 +memere +camisa +hotmama12 +kenz4u +fuckyou90 +198013 +hotmail5 +music06 +jackie6 +oreo14 +pimpette1 +riding +zaira +fourier +160376 +cookie02 +britt15 +bigboy08 +Lucas +toni12 +galatasara +28082008 +fire10 +210574 +pirates12 +atlanta123 +iloveyou.. +lovebug10 +27051995 +sumeet +notme1 +2bhappy +26101979 +kkk999 +murphy7 +211006 +1alejandro +sarahann +reject1 +longhorns7 +140299 +06061977 +030477 +snow22 +kissme23 +masha1998 +carrera4 +timmy01 +102001 +eros +buttercup5 +falcon13 +homeslice1 +bunny21 +rimbaud +mickey27 +redtruck1 +badazz2 +polinochka +sssaaa +cuddle1 +k1mberly +Katie +useruser +19861110 +ilovehim10 +steph21 +cutiepie23 +fishing01 +panthers5 +spike69 +crayons1 +ps2ps2 +damien123 +olga12 +deaddog +snowman7 +smartone +ghjcnbvtyz +brunswick1 +pepsi23 +PRINCESS1 +gazebo +thorpe +asd147 +2513 +source1 +25111995 +kekette +thommy +andrey1996 +latifah +faithy +linger +mason5 +redsox14 +awesome101 +booya +gonavy1 +manomano +23031996 +orlando11 +pejsek +ohmygod! +jackson24 +antiflag1 +080681 +jenny24 +dr.dre +ingegnere +cowboys33 +11121977 +161994 +ego +slipknot22 +ricardo22 +kroger +hulkhogan1 +25031978 +kisskiss2 +11031975 +getit +killer777 +maddux31 +bettylou +400091 +green00 +31051977 +boarding +fire21 +welcome0 +30081995 +260278 +atenas +Digger +daddy25 +dreads +kobra11 +310794 +potter13 +jess16 +turnip1 +19851223 +mushrooms1 +abcdefg3 +7399 +Kingdom +jamie07 +monkey81 +bf1942 +slipknot14 +powerplay +snowbird1 +07111992 +markovka +alex76 +caleb3 +Janine +stormers +170496 +ramboo +19860214 +2joints +sharron +bidadari +mari10 +liberate +281980 +fhbyjxrf +010166 +honda1234 +dascha +spike5 +2q2w3e +ilovesoccer +pw123 +200609 +1barbara +030281 +nadine123 +tommyg +scrappy13 +251175 +beverley1 +17091976 +101510 +jameslee +2jab4x2c +jbaby1 +institute +yygjmy333 +sss777 +080182 +heinz +28101978 +victoria15 +29121995 +larissa123 +zenobia +sodiq1 +1313131 +keanu +c0c0nut +harvey2 +02091975 +tete123 +emma14 +whi +poligon +confident1 +16081977 +dub +freefood +123car +hug +money888 +1234567ab +beast5 +scoobydoo7 +mike92 +050572 +110573 +backflip1 +120700 +qaz147 +diamond18 +1617 +kandi +1christine +10101973 +joselyn1 +linkedin23 +pragati +protege +mentira1 +america07 +517501 +fuck1 +wacker +savannah08 +samuel09 +george16 +warrington +jesse18 +gipper +line +ch1ck3n +kakka1 +helloall +fatass3 +jordan90 +carmen69 +jessie09 +080394 +longdick +310576 +fuckyoutoo +der123 +hola12345 +eliza123 +power8 +p00000 +chevy2500 +1orlando +brn521 +truffle1 +diversion +jayme1 +070309 +1qazxsw23 +kurgan +Dmedcn23sd +manunited7 +hunter89 +hodges +innainna +bab123 +smile4ever +natalee +raj12345 +kolesnik +berkshire +fandango1 +computer69 +200275 +131296 +diletta +simon13 +aaliyah08 +7412 +quiero +193746 +08081973 +barney10 +serafino +Xhh787qpcD +7117 +foxxy1 +hopscotch +ketrin +Password7 +3tb8xL42BJ +poekie +marissa13 +abcdef4 +821024 +cheetah12 +poiuyt123 +headbanger +102578 +fuck66 +913913 +c6DjvmsKCx +jalaram +lilly08 +kobayashi +marco11 +fender! +xochitl +130373 +joker45 +goldie2 +001966 +090593 +Lwf1681688 +koalabear +polinesia +lambo +11223345 +john0316 +spaceball1 +p1assword1 +dallas05 +#1nigga +hockey89 +417417 +10071996 +daughters3 +alicia21 +19032003 +corrina +329329 +angie23 +bilal1 +stpaul +111198 +021992 +theone01 +nanner +kissm3 +gummy +20032007 +19831022 +jourdan +jc12345 +System +prince! +rebecca4 +ramada +whitegirl +15041996 +11121996 +3311 +821225 +uhbujhmtdf +7355608 +kelly15 +superman30 +whoami1 +matt25 +micael +mistyblue +190895 +27071978 +kupa123 +brandy21 +g00dluck +11041997 +150475 +110574 +04071996 +2214 +crusaders1 +ras123 +remember7 +soccermom1 +0601 +Dylan +raider2 +bovine +roxyroxy +16011996 +1244 +cream123 +werewere +jonathan69 +abcde2 +charlyn +andrew86 +life09 +hadassah +ricky4 +Jake +wo123456 +blue91 +find1234 +Alejandro +luis20 +821022 +munkey1 +alejandra3 +lovesex69 +hjlbjy +poirot +061078 +1cocacola +333aaa +120107 +n00dle +1patricia +hossam +panda! +repeat +gemelas +brenda15 +66 +south2 +melo +att123 +myspace.1 +11794591 +sadie07 +idinahui +010597 +dandan123 +genuine1 +parker13 +ilovebritt +things1 +toto22 +310775 +QWASZX +tipsy +muzica +sliders +emmanuel123 +marge1 +autumn3 +Angelo +emily17 +070280 +prince33 +october01 +crazyone +awdrgy +120569 +85chevy +poke123 +mojo69 +sunray +kahuna1 +123456sd +silver18 +skripka +rock88 +fucknut +gegege +hap +280377 +wasdqe +metall1ca +25011978 +daisy09 +071982 +guru123 +princess82 +locos1 +tigers84 +terter +504boyz +september22 +airplanes +jilipollas +valval +rocks123 +19870101 +199124 +norita +jirafa +allison13 +fuckl0v3 +january09 +deadfish +alex32 +faisalabad +090183 +verynice +gurl123 +asdfasdf2 +krasava +wilson5 +barabas +neisha +121261 +jigglypuff +setting +qazxswed +300877 +201100 +landon3 +fuckyou45 +froggies1 +thing +110197 +emoney +sommer123 +2345678z +warthog1 +tigger67 +13121975 +z7895123 +sharon11 +sereja +demented +rocknroll! +papang +bogdana +cvbcvb +new-york +sofias +pooh69 +hotdamn +paradigma +almita +198630 +natasha3 +tiger27 +eddie5 +ferrari01 +lafamilia1 +27051978 +eddie4 +phoebe01 +alejo +selvam +nidhi +123m456 +mirabel +biking1 +19051997 +5point +shahida +monster16 +justice01 +garrett3 +fire101 +sampson2 +tanktank +smokey8 +310197 +junior33 +33221100 +inlovewith +пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ +yelhsa +babydoll7 +041296 +february26 +09081980 +lounge +22041997 +pragya +14241424 +tysons +boomer4 +120774 +vanpersie +allen21 +cocacola13 +080581 +athena12 +espero +smile24 +ripped +galahad +behemoth1 +guntur +rafferty +1corona +cfdxtyrj +brijesh +02091995 +270279 +7777777n +15031977 +120198 +chronic2 +emachines2 +kenny6 +myspace82 +desiree12 +20111976 +twilight9 +green111 +010165 +robert44 +190694 +15092007 +frank7 +115533 +alican +ams123 +230796 +motherhood +crystal16 +2020202020 +index0088 +angela. +1147 +khan12 +040979 +031990 +golf4fun +jackaroo +nikki1234 +hallodu1 +lovelove! +050403 +00123 +alley +halo12345 +samuel4 +omar23 +22071979 +bookert +coop +nichola +milo11 +4thofjuly +asshole99 +lala07 +trippin +zafiro +z19721226 +parkur +25071977 +silas +19011977 +28041979 +500 +fourfour +cooper06 +sliver1 +25132513 +denizli +qwaszxqw +poczta1 +monika11 +09051994 +amiramir +kisame +detroit7 +021202 +money321 +montel +apolonia +190179 +muggle +Money1 +joker8 +bella02 +kandice1 +mason06 +sunny1234 +zachary! +ybrbnby +pinarello +damon123 +coco1 +821013 +091093 +197219 +sweety22 +pollo12 +190278 +241994 +zizou10 +bitch56 +makeme1 +pollop +nokian81 +nigger8 +200696 +Deniska +mundial +gate13 +piglet01 +bulaklak +ilovewill +hello456 +honey27 +110474 +jDnazp972X +munchen +��������� +tobby1 +loverboy3 +210275 +22031975 +peyton08 +parker10 +Special1 +13111995 +rosebud7 +sercan +lindsay12 +mooo +pickle13 +descent +041278 +09111981 +300596 +myhope +dabulls +jake18 +julio11 +23082308 +westbrook1 +connie2 +332 +tequiero2 +finestra +cntkkf +shammi +chancey +loveme4ever +twilight123 +teamomiamor +yosemite1 +marcus15 +vfvfvbz +lover06 +java123 +pirate12 +120497 +ryan2005 +sanyika +summer45 +140276 +sports21 +c54p7uikgb +nivram +sandydog1 +boo1boo +25142514 +heaven10 +bobs +0000aa +redsoxs1 +21041996 +231074 +sonson1 +98chevy +christine5 +04121994 +brandon00 +attila1 +bask3tball +tyler12345 +deadman2 +bikerboy1 +simon7 +money2011 +Doctor +pebDfcz3yx +delatorre +lillies +acid +maryjane. +opopopop +30101996 +813813 +luvya +athletics1 +tinker8 +fuckyou44 +hs16Andi3Z +19851203 +golden22 +ilovemike! +20101975 +brittney2 +camaleonte +kulikova +15935789 +mayito +adele1 +020476 +password51 +chad1234 +benji12 +maksmaks +01101977 +hotels +qq123000 +fucku. +warhead +16041977 +FRANCESCO +cr125r +rebelde10 +acc123 +110100 +namaskar +homestar1 +29061996 +lapine +excel +chuck2 +kingme1 +david87 +121068 +waterwater +aziza +Emma +flipper2 +abigael +197722 +ballen +brigadeiro +brandee +lamar123 +1kenneth +blondie01 +salad +circuit +were12 +180898 +29081981 +454 +lambretta1 +pink!! +199325 +tallyho +indian12 +sarkis +julian23 +kirankumar +horse10 +uranium +marcus06 +bigboy! +sheckler +team123 +21252125 +deepsea +apple08 +sun2shine +iloveyou56 +200009 +goons1 +macie1 +199405 +kari123 +urmomma1 +pa88word +sarvesh +eee123 +fcinter +funkytown +Bernie +unitedkingdom +141979 +19101978 +fishy2 +malaguti +7777777k +onlyyou1 +1213141516171819 +Nemesis +watch1 +16121977 +22051996 +doublej +dic +nancy13 +cruz123 +madremia +goggles +811020 +ravshan +lilmama4 +199014 +klaus1 +19932008 +house4 +keyshawn +glenwood1 +27121978 +040709 +190879 +pacute +henry13 +010168 +5550666 +nicki123 +mohitb123 +020307 +135qet +fredy1 +connor02 +icefire +beepbeep1 +95camaro +superman45 +angel2001 +sammy05 +jack25 +drifting +absinthe +teeth1 +16121996 +maggiedog +061980 +canarino +ghjgecr +pasta123 +17071978 +18031978 +suck123 +bitch321 +558899 +love63 +minime2 +kesha +14jesus +mexico90 +newfoundland +q2w3e4r5t +justus3 +ou812345 +blessings7 +karibu +b-ball1 +yo12345 +010278 +garance +nunu12 +oleg1996 +arbiter +200406 +lerolero +bicth1 +loveydovey +diva4life +lisa15 +16101610 +sexybitch5 +dfhtybr +wunderbar +19861215 +ilovezac1 +bitch90 +bljS2v85pT +Nirvana1 +mima +hjvfyjd +dontask +Master12 +saturn12 +lovebug69 +alberto10 +kirill1998 +cheyenne13 +21031996 +cheyenne01 +myself123 +kristo +ch3cooh +papucho +07111981 +dallas15 +deion21 +140675 +198018 +girl69 +luluzinha +0807 +tampa813 +ADGJMPTW +851125 +star93 +claremont +131980 +joseph00 +kocka +killa9 +lammas +instructor +phatboy1 +cars11 +Kenneth1 +ncaBeax2vx +schaefer +290779 +petshop +sudha +19841224 +angels69 +midnight69 +568568 +290477 +star28 +amor20 +outlaw69 +rodney12 +123david +braeden1 +princess83 +hmfan1 +heavy +singleagain +articuno +sylvan +mantis1 +290695 +78917891 +031076 +sixtynine6 +rocky25 +seronoser +gamaliel +500076 +tylerd +insect +olivia16 +storm11 +���+��� +12101975 +carson2 +wolf01 +maremma +franka +eyeballs +stupid0 +donnelly +chester8 +241097 +alexie +veczhec +rattle +Diana +170696 +надежда +alone4ever +742617000027 +harold123 +mariapaula +251981 +170976 +slippery1 +29091977 +2turtles +231200 +100374 +1corazon +dantdm +1sexygurl +robert66 +hellyea +gallito +internet3 +05051971 +miranda11 +dildo69 +wilson13 +lolomg +alf123 +27121977 +1tucker +04041974 +dibble +famous21 +lemons123 +240675 +britton1 +02061972 +zaneta +steelseries +0246813579 +hfcgbplzq +swami +11121974 +julia3 +superduty +08101981 +stming4 +ghazal +making +COMPAQ +mexican15 +fred20 +21081996 +elektra1 +edward25 +vincent01 +060195 +2letmein +919919 +DlNVHvu492 +chem +coolblue +pebEfcz3yx +ethan09 +19111994 +limanlly +hunting12 +froggy01 +121600 +vin123 +navara +�+����+��+� +panther9 +trener +28101979 +roby +251979 +renee23 +eastside23 +imbecil +willwill +omarbravo9 +level +rebelle +10091978 +tweetypie +jack17 +bulldogs13 +slim12 +nokia5 +winter02 +Louis12345 +Wolves +hardbody1 +221022 +cortland +albano +bunny9 +sumit +mathers +ahmedahmed +mali +060506 +camaro01 +matrixx +educate +f76t94prm4 +ricky5 +wendy2 +irock13 +trouducul +singlemom +ethan10 +suzuki250 +821017 +030494 +woainia +fishlips +ransom1 +chris84 +chitchat +250397 +27041977 +rdfhnfk1 +darya +bobster +bebep2x +bobcat12 +bubulle +m123321 +leopard2 +121256 +silver14 +COOPER +monchi +nirvana5 +jujubee1 +l123123 +Pegasus +411 +modeling1 +cirebon +brayden3 +pizzaboy +elton1 +kelly! +allegra1 +030696 +rayallen20 +24081978 +87651234 +tHTaJehzsp +199991 +sabrine +010708 +anniversary +grandma11 +qwsxzas +21011979 +teepee +croquette +escargot +cartoon10 +nikkisixx +bear15 +mikala +eljefe +1peter +ireland3 +jeremy8 +gosiaczek +huntress +wizard13 +jkz123 +shadow26 +nigg3r +03011995 +billou +prasad123 +bombshell1 +felix11 +chris1993 +711 +090594 +lalla +nuncamas +JysGy2Yd87 +gig +132123 +toosexy1 +satheesh +512345 +thong +jess18 +denis1992 +babicka +121388 +ट +westwind +toothfairy +datuna +julian05 +asskicker1 +iamcrazy +02011995 +lfc1892 +tiger66 +kentavr +lifestyle1 +bluecat1 +linux1 +makanan +cracker12 +tkfkdgo0 +231274 +12051997 +flexible1 +angel76 +teamare +cipher +hunter26 +jyotsna +Sahhas1221 +chris4life +1sucker +ruby10 +dare +cheerbabe1 +chula12 +burton123 +sasuke101 +boateng +ermakova +thomas44 +barnyard +sonusonu +outdoor +18011981 +oakcliff1 +joseph77 +pamela11 +03121996 +sidorenko +vagina. +09081993 +guitare1 +horseshit +sweetman +nata12 +mcr666 +jordan44 +3369 +twentysix +02051972 +ALESSANDRO +christine! +pingu +19391939 +silver24 +marmeladka +only14me +balto1 +renee08 +pilchard +hello2u2 +redneck5 +16051997 +ninenine +desiree123 +blarney +nugget12 +19871020 +sudden +retriever +821226 +282002 +jackass101 +skate420 +fred10 +equity +johana1 +1316 +heart14 +tinker15 +rusty13 +12111995 +verdao +yodude +12091977 +landon09 +stormy2 +sweet90 +Jesusis1 +Indian +alyanna +191295 +199007 +teamomama +lucy23 +19801982 +horny4u +sumsung +eddy12 +gennadiy +jhonjhon +papermate +tippmann1 +stepup1 +juli123 +june1979 +d0023500 +omg12345 +werken +170196 +michelle29 +england10 +Arnold +Linked1 +BUL5Tacumi +flipside1 +199621 +bibigon +chris83 +bayarea +loka12 +18021996 +corgan +sherwin1 +123.com +grinder1 +balla2 +06041979 +foxracing2 +hiphop! +chato +le_den_ec +aron +fashion! +yourmom6 +carolin1 +bitch92 +230476 +ihatemen1 +apples10 +meme10 +wanker123 +120871 +try123 +Mathilde +220776 +meloman +861229 +19901991 +lolazo +matthew26 +hanger18 +colts21 +fallou +smores +195000 +SZGd4eY287 +weeds1 +taburetka +bachir +cashmoney5 +19021978 +79transam +teacher5 +lilflip +superdave +eminem1234 +cleocat +060995 +handel +06041980 +22091979 +flatline +amber06 +oleg1997 +300478 +liljoe1 +icecream23 +mamimami +tiwari +18081979 +14041978 +300500 +18071979 +maddie05 +cry +chica13 +october03 +redneck16 +0806 +dhillon +michaels1 +hello56 +alessandro1 +963123 +400009 +fhtylf +000022 +01011910 +198118 +mistico +incoming +michal12 +merrick1 +310795 +18031997 +owner@hr.com +rocket69 +cordova1 +campanile +максимка +marist +1366 +biggie2 +hotdog23 +bestbuds +az123456789 +hashish +32615948worms +multik +loveisall +663366 +1remember +joselito1 +thomas97 +layne1 +mailliw +marijuana2 +simple7 +forza +shaniqua +s987654321 +2222ww +AmerikanBlend +r11111 +211003 +20091975 +20012003 +fuck50 +janet12 +natalie06 +john5646 +Techno2009 +vaughan1 +22101977 +rafael01 +secret08 +Naruto123 +chelly1 +ash12345 +04120412 +z223856 +bananas11 +simon11 +jablko +artem2010 +daniyar +june1998 +perkele1 +indore +karpova +210896 +P@55word +kool23 +sweetie8 +12521252 +17021997 +281978 +andreu +arabian1 +141276 +310377 +augie1 +2300 +29091976 +ivanovich +xavier4 +25011996 +samuel15 +donkeys +1738 +kyllian +ha +dimepiece1 +fishpond +purple87 +k.,bvfz +iloveluis +qecEgdA3zx +bluesman1 +280378 +agency +hailey7 +hotmale +26021996 +breanna3 +jack2009 +robertpatt +zaqxswcde123 +nfvthkfy +19021975 +student12 +21011977 +070680 +danville +24121995 +tinydancer +doggy4 +261980 +swastik +moosey1 +west14 +chuck12 +zxcv4321 +castor1 +wer123456 +251994 +roma2010 +Damian +ws123456 +hellya1 +141000 +batman44 +ninochka +bluegirl1 +loveu13 +pontianak +kamogelo +london2008 +281992 +bryan5 +24031977 +peach12 +statistics +miranda5 +earnest +nick05 +19861115 +felix01 +pelayo +050909 +110102 +vova1997 +ihateu12 +heather17 +racecar2 +logic1 +thomas28 +tidbit +789523 +gamestop1 +zimmerman1 +qazxcdews +pink143 +juan17 +vtkmybr +galvez +doggy6 +842655 +120469 +qwerty1985 +abc123def456 +maadurga +pp +division1 +bitch!! +b1b1b1 +jeanlouis +dcba4321 +redbul +tegan1 +mantha +gateway2000 +kj1234 +freedom55 +totenkopf +201212 +7thward +mandy01 +ranchero +uloveme +kisses69 +richard18 +rasta420 +thomas91 +martes +19041978 +felixthecat +197925 +monster18 +timothy01 +sephiroth7 +bepositive +fatcow +yXP7Wbewpk +050778 +destiny69 +sepatu +minnie5 +angga +godsson1 +no1butme +medtech +yomomma! +nitrous1 +oceanic +smile9 +harris123 +megaman3 +qazwsx13 +mayo +harley. +chinenye +tyler2000 +beaner13 +mona1234 +05101978 +tatita +georgia01 +darkdevil +socom +berto +19041979 +lotto +lord1234 +bloodymary +cole13 +Daisy123 +freddy! +reymark +stalin1 +devin13 +rebell +1cowgirl +l11111 +060675 +stayout! +ytrewq123 +elijah23 +toontown1 +hardaway +melvin2 +lawlaw +MOTOROLA +S123456 +197419 +azerty77 +fuck111 +dominator1 +sean14 +asdzxcqwe +seanjohn1 +kissit +11021998 +life23 +3three +noah07 +aubree1 +070195 +amoremiotiamo +28091980 +murphy22 +dedication +jayjay6 +littlelady +r1r2r3r4 +singel +lacrosse4 +259758 +brown22 +scrappy12 +roro123 +train123 +���������� +130013 +hiphop5 +jumpoff1 +new2me +payton01 +imsofly1 +fucklove09 +loveable2 +171995 +silver! +1surfer +hotboy7 +jannet +Bulldog1 +thug13 +pinky69 +trabzonspor +dune2000 +kzktxrf +cameron04 +16081996 +klausi +tantan1 +1jenny +21011978 +801020 +Aa111111 +29041979 +195700 +fancypants +stella! +fellini +300575 +rencontres +100871 +malhotra +mauri +oneman +fresh10 +120498 +peanut04 +mj12345 +merino +chester10 +charles8 +Big +XAVIER +097531 +mickey00 +booger13 +difficult +22061977 +0zero0 +19851001 +27061979 +bigdick7 +oliver9 +special123 +arusha +12sexy +1louise +funny7 +rdfpbvjlj +asdfgh3 +110506 +badalona +peppone +menmen +dasha1996 +gillingham +pirates123 +831022 +yendor +girl15 +mitsou +13091309 +ladonna +19861103 +fuckyou02 +emma23 +mama19 +110309 +200675 +purplelove +oliver6 +dinesh123 +black26 +140894 +revathy +brenda69 +jackie18 +ctvtyjd +241098 +cutie69 +sweetstuff +tinotenda +march1993 +040280 +punjab1 +cuddles12 +malala +duhast +kittycat! +cby +bossss +antonio69 +france12 +kathy2 +chiquis1 +mama1997 +theused2 +hailie1 +bojana +surfin +voltage1 +CELINE +gurunanak +juana +pieface1 +romano1 +ethan4 +mackay +hustlin1 +panocha1 +14011401 +16101977 +bluelight +fractal +hello66 +xiaobai +7890uiop +Manuela +0912345678 +18041977 +112369 +lilone13 +papako +lynn07 +gil123 +joel23 +0xzryx +260196 +kitty25 +melena +janay1 +southgate +230795 +811228 +tobi123 +kisses23 +diamond17 +05101979 +iloveyouja +dragonballz1 +belen1 +texasmade1 +pussy. +downey +soulfood +hotbabes +Tootsie +181995 +steph15 +dylan23 +nathan98 +811018 +sara15 +grandma01 +olioli +deanna12 +track12 +bigal +skittlez1 +04011980 +whatif +cyt +midnight8 +30061979 +luisteamo +kriska +209209 +150276 +taniya +jax123 +duhduh1 +dachshund +eeyore2 +stella10 +wanderlust +loveworld +stayoff1 +1277 +261174 +scrapper1 +carlotta1 +porcinet +271172 +th +mexico00 +080194 +fatty5 +nabilah +asilas +wonder123 +12381238 +surfen +terriers +ginger18 +hitman11 +fuckit5 +jason420 +zombie2 +sensation1 +daniel83 +matylda +Sophie1 +coconut12 +851123 +teeth +crissangel +s112233 +dinamita +231000 +debora1 +15121975 +12457896 +tomahawk1 +hearts11 +sugarsugar +bobbyd +getdown +liza12 +bandit14 +sn0wball +patman +poet +mysoul +gallant +hardcore3 +7895123z +kingss +sabertooth +beauty101 +ilovezack1 +relax1 +dalia1 +bribri123 +rjhjkmbien +mildseven +twins06 +love210 +gizmo69 +08121994 +shotta +omg999 +180196 +torpedo1 +rubyrose +lincoln8187 +joker99 +newlook +larisa1 +iggy +sawsaw1212 +reminder +0521 +digger12 +anna06 +parrish1 +frenchfrie +aqq997 +shanell1 +26061977 +andrey1997 +sassydog +YtQ9bkR +deicide666 +thesame1 +banana14 +ballas +shayshay12 +bassfish +margarette +faygo1 +henkie +190495 +anatolii +benoit1 +22121996 +ra1ders +jalisco13 +andrew55 +senior04 +christ3 +cocacola10 +myspace999 +1580@welca +200404 +sidekick08 +sergserg +Frosty +phat +priyanka1 +199428 +meeka1 +bengbeng +13031977 +johncena8 +zermatt +251975 +000911 +balla22 +surface +041989 +go49ers +jenna3 +stephen11 +lamar12 +eric08 +maxmax123 +muggins +buffalo2 +dianaa +221172 +mia1234 +lisa25 +azerty78 +842001 +101970 +jeetkunedo +624624 +justin92 +suspect +7samurai +volley11 +jepoy +safety123 +060480 +2882 +javier7 +jeanny +yourgay! +0423 +natalie23 +110298 +testes +pavlin +04061977 +01021974 +katena +sparticus +pulguita +11111118 +130574 +olumide1 +kolakola +pekanbaru +24021978 +judge +karebear1 +apple111 +220775 +151175 +ratona +alfa33 +12081975 +cocomero +together2 +ich123 +jamesl +jmc123 +viruss +married06 +26071979 +wlafica +cowboy8 +hobie1 +070894 +gabriela7 +tecate1 +yousuck69 +050109 +ryan2000 +abuela1 +nokia3120 +dragster1 +240000 +23081978 +300179 +karim123 +alejandra9 +jake77 +0822 +myband1 +qxVbGfiBuq +frank1234 +antonanton +wales +916916 +chess123 +boxter +16041979 +reset12345 +nicolas7 +beth11 +perlas +guesswhat1 +030197 +3630000 +woogie1 +17121978 +sonofabitch +mousetrap +alarcon +dakoda1 +011095 +tester! +sydney! +kissa123 +291175 +brown7 +tanner5 +ronja +station3 +wroclaw +031296 +jairam +bigboi2 +Christine1 +070693 +gator12 +197906 +280978 +hendrix2 +666666j +571632 +011983 +pointjor +551155 +darkness11 +potter11 +pheobe1 +cowgirlup1 +ilovemary1 +charles9 +270178 +060795 +borntorun +011078 +dora11 +080309 +loveandpeace +anna19 +lavelle +se +q1w1e1 +25041996 +rockland +21121976 +1babylove +17071979 +cc12345 +witcher +020306 +170000 +r00ster +281274 +ginger1234 +luis24 +status1 +khanna +aubergine +444422 +snickers4 +meteora1 +nikita2 +tink1234 +246789 +12121972 +duncan123 +marinho +sabrina! +0000000000o +gretta1 +152436 +dancing2 +cass123 +fou +bebe18 +rachel09 +oluwa +relientk1 +harley95 +17021996 +fiat +martina123 +sevenseven +chicago08 +skynyrd +112511 +14071997 +chumley +wet +mustang500 +cody07 +hottie05 +1wordpass +1derrick +rocky17 +astonvilla1 +akinsola +cro +freddurst +281296 +159753m +080876 +eagle01 +delphine1 +puppy22 +maimuna +03cobra +luv2fish +chabela +netwerk +malibu2 +Douglas1 +18wheeler +30111978 +199619 +victor4 +lauren19 +drpepper7 +teamo100 +Lightning +kilo123 +chipmunks +ihatehim +nirvana8 +ferrarif430 +twinkie2 +icross +whorebag1 +246891 +gangster23 +rock99 +rocky007 +021977 +wilfred1 +gaspare +homo12 +131096 +reset1 +brigade +hatelife +160677 +jerry11 +chaochao +srilatha +kevin27 +daniel82 +21222122 +karenina +snake7 +mygirls4 +120599 +091276 +lajolla +horny2 +sable123 +081275 +240976 +kjkszpj1 +creations +myspace121 +primetime2 +gungrave +19841125 +454545a +k3ZeChmExt +dance16 +231995 +220675 +09031980 +lasttime +465465 +pingouin +18101810 +78 +hailey13 +121588 +harvick +varshini +goodrich +mario18 +iluvmymom1 +thegr81 +highspeed +angels07 +hd764nw5d7e1vb1 +toohot4u +frog69 +adgjmptw0 +09111980 +sugarfree +happy06 +useless1 +evelyn2 +nikita2002 +xavier22 +654321abc +manuelito1 +bodega +marsmars +26121996 +hottie88 +kimberly5 +redman123 +1721 +lollipop5 +060179 +snowangel +usmarine +mahmoud1 +rebel3 +pinkrose1 +yamazaki +hottie95 +jared2 +241993 +startup +turntable1 +3.141592654 +sk1234 +jefferson2 +poepie +270797 +suki +110698 +260675 +199425 +080897 +chaitu +070480 +010381 +carlos99 +03041996 +051176 +04121993 +13531353 +collie1 +missthang +budweiser2 +______ +22031977 +011192 +melnikova +punk1234 +andre5 +Lorenzo +566566 +fatime +romeo01 +06111980 +spokane1 +gfyfcjybr +0605 +91919191 +bratwurst +noregrets1 +luckys1 +dandandan +fernandotorres +Avalon +success8 +kevinn +outreach +lowlife +01061975 +eminem17 +al3xand3r +921921 +busted123 +timber2 +020207 +sehnsucht +jennjenn +imanuel +staycool +26091979 +lollipop00 +021096 +250976 +stars4 +prairie +290976 +ceylan +satsuma +041295 +123qwe,./ +dream13 +199114 +myyolo +16091995 +honey20 +12011977 +derfderf +110472 +23692369 +primrose1 +mohanlal +teenie +2heaven +ilovemary +cordero1 +rhino123 +brittany07 +cvbn123 +dreamweaver +peeps1 +whitney7 +23081977 +ilovebrad1 +mapache +Archie +jiushiaini +stern1 +shahbaz +hj: +mike87 +titty1 +guitar8 +200211 +felipe13 +24121977 +kingston12 +aurelia1 +231979 +27021978 +tisha +berta1 +23041995 +sutter +shellie1 +cody08 +produce1 +198804 +klubnichka +0987654321z +shesthe1 +040977 +ghbdtngjrf +meriva +ilovelaura +jessica95 +london88 +280977 +m1i2k3e4 +roxy08 +adrian28 +cityboy1 +070495 +090695 +metal! +snoopy9 +naples1 +050396 +killers2 +101198 +220597 +star2006 +alcatraz1 +kwame1 +coffee4me +boston4 +e7yvsskj +123_abc +killer78 +yvonne123 +m1911a1 +soraya1 +197826 +tampon1 +110673 +Fall2011 +pohoda +23121977 +vishakha +redapple1 +1sexy1 +darius123 +zoidberg +settle +samuel08 +retard! +buddy88 +robrob +19821028 +connecting +boss13 +poprocks1 +sibelius +chenjian +patricia3 +nokia6210 +325 +kleber +hubba1 +goodtogo +mylife11 +220497 +195800 +jesusislove +qwqwqwqwqw +elenas +121800 +hotdog6 +grandmom1 +lupe13 +passwordd1 +bradley4 +beaner123 +chubby2 +capitol +memphis901 +teacher12 +entrada +3321 +jake88 +viv +profeta +kimera +leandra1 +lovebunny +31011997 +rock24 +49erss +19860101 +ronan +thelaw +fastball1 +190778 +beauty08 +blessyou +hoppy1 +br123456 +05071978 +21051978 +monsta1 +northshore +xavier14 +laoboi. +window12 +31051996 +panda4 +sukisuki +220673 +pr1nce +an1234 +oakdale +kakka123 +09041979 +skate88 +iheartyou2 +destiny04 +oliwka +06011995 +herbst +110372 +Harris +holden123 +410000 +19821209 +smartest1 +190277 +amanda03 +black89 +sk8ter1 +ma12345 +71310615 +231977 +253253 +hiphop01 +30123012 +r0b3rt +pepper1234 +thesecret1 +110973 +karpenko +rainbow15 +05121978 +merve +honeybabe +12122000 +18051979 +elmatador +anwar +ndubuisi +tyrone123 +Teddy +mireya1 +watchtower +210996 +26121978 +package +060996 +tester2 +numero10 +martin25 +hottie00 +honey88 +passerotto +vitamina +vonnie1 +spookie1 +flutes +241175 +vesna +johnny55 +anoushka +iluvgod1 +candela1 +sexyt1 +qweasdqweasd +thisis1 +280196 +02051974 +connect123 +7cr2guBVMG +unnamed +qtpie1 +trademark +20071996 +mike29 +carmen5 +SPARTAK +17101975 +1missy +pimpin16 +emmalou1 +14101976 +061981 +10051976 +tendai +abc666 +boavista +matarani +hermann1 +lilman11 +mike4ever +skaterboy2 +pusspuss1 +aaronc +cdflm: +kurenai +stage1 +136913 +11011977 +emerica2 +2qaz2wsx +Ginger1 +Voting +vbitkm +iloveny1 +280696 +frogs2 +21111978 +isiah1 +23011978 +02081973 +darkness! +11551155 +6thgrade +0323 +maryanne1 +hrenota1 +15041977 +wankers +locksmith +hockey35 +william02 +181176 +zzzaaa +ervin +alma12 +play69 +nbuhbwf +l00000 +vtufgjkbc +ilikeeggs +bratva +012589 +idlewild +a520520 +recipe +chaney +zack13 +16051977 +071194 +ariella +yorktown +kakaska +03091977 +holyholy +010906 +jesus89 +god111 +akindele +21051977 +banana88 +daniel31 +lindsey! +08051994 +19851211 +mermaid2 +jaya +bitch32 +aline1 +07051979 +100203 +Alice +lonley1 +hockey00 +food1234 +aramis1 +smoochie1 +robert101 +porker +blessing2 +chevy10 +roflmao123 +theo123 +diego11 +alfred123 +3333331 +kendra123 +bryan22 +ananth +5963 +louis2 +dave22 +ambrosio +02041971 +bytheway +jchrist +15011979 +joebob1 +nicegirl1 +papusa +19851018 +gemini17 +poznan +kamil12 +tiatia +elie3173 +199103 +gordon123 +drummer3 +saddle1 +czekolada1 +bosox1 +missy08 +hotmamma +hawaii06 +70000 +max1994 +bobbin +flavien +p2ssword +lucky44 +b43m6xhife +trytry +selvaggia +Iverson3 +deathnote2 +swamisamarth +getsmart +sexyma +22081977 +123456789ok +sangha +semaj +freddie123 +Courtney1 +5005 +panthers23 +20061997 +150178 +daisy69 +Madrid +americanpie +wayne5 +ded +nur +10121974 +mamasha +daquan +johnny. +dajana +koko11 +riccio +020876 +cagayan +swanny +kaitlyn3 +jake02 +ohio123 +azul12 +usausa1 +fedor +sunshine30 +adam88 +teddy6 +scooby8 +turtle14 +hochzeit +hotrod12 +26021995 +pulsar180 +mariquita +chanel11 +sanika +freeman2 +adelle +shavon1 +guatemala2 +nastasia +flash5 +friendship1 +oliver16 +Francisco +details +disney22 +2516 +070180 +april1987 +instant1 +230575 +291979 +bonnie13 +lucycat +02030203 +broncos12 +280596 +bobbob12 +ringer1 +211981 +tinker09 +17071997 +candide +xandra +summer2005 +skopje +ricorico +197333 +pumas13 +matthew95 +allison! +tool123 +mattingly +ribena +4wdaxP642F +bogota1 +nazanin +grad06 +waynerooney +fregna +sidharth +dillon11 +g0ldfish +ilovey +O67l2xzfvN +66667777 +sophie05 +sweeet +jorge23 +560050 +pokemon12345 +CORAZON +100272 +sanfran49 +45214521 +whitehead +janeth1 +mike03 +starz123 +14131413 +mickey20 +211112 +shane22 +chito1 +777777777777 +chiamaka +federica1 +william77 +jess08 +cochise1 +alianza1 +fucku09 +moumita +chocha1 +myspace67 +pakistan12345 +fuckyou86 +monisia +basketbol +120369 +09121994 +020802 +george25 +jammers +sheepy +javi +1stephen +kiss100 +shameless1 +lineika +suganya +frodon +james143 +roma12 +marie99 +endlesslove +risingsun +12021974 +08061977 +peter10 +shakeit +giacomo1 +442244 +110397 +chibi +jealous +jacoba +regulator +101004 +drowssap12 +1raider +090295 +septembrie +031989 +single5 +020708 +ratata +19841002 +lester123 +131200 +jesse1234 +andrew29 +audrey01 +trecool +lame12 +toto90 +sweet92 +musiclove1 +sdfsdfsd +denver2 +firewire +08081974 +ciaociaociao +mybitch +soda123 +lfybkjdf +dragon97 +mazsola +130675 +19902000ttt +loser99 +vball14 +121172 +123344 +123... +Asdfgh1234 +shawty13 +florida6 +pokerstar +leelou +london66 +kennedi1 +lacie1 +150976 +251174 +April +Xchange +pooo +killers123 +140179 +kelly16 +kookai +jesus2006 +linkedin2012 +kiran1 +car0line +Lorraine +sora12 +123123n +njkmrjz +kickball +fairbanks +vwjetta +GIUSEPPE +lora +hernan1 +aksaray68 +loco23 +blaze3 +bubuka +oriente +825825 +diesel69 +angels9 +10091977 +phoenix69 +beibei +060595 +29111978 +camaro123 +hfvd3425f +3rdeye +veronica10 +boggie1 +aerial +momndad1 +conan123 +020968 +capitan1 +sara14 +jazmin12 +musica10 +tanglewood +20101976 +enter7 +abababab +lowlife1 +callofduty1 +rockon7 +thought1 +jussi69 +kuningan +050779 +cracka1 +savithri +tigerboy +55225522 +nicole34 +julia5 +guilherme1 +ajalaa +God12345 +ottoman +badlands +011193 +041978 +gorams +laura! +mickey02 +bowwow4 +bobbob123 +poiuyt12 +29011996 +penshoppe +haha12345 +harrison2 +zdenka +fuckbuddy +danang +Bulldogs +Adgjmp +blister +benni +32123212 +dasha2010 +byakugan +rassvet +fuckall1 +lenina +may1998 +30051996 +knockknock +talented1 +golfer123 +rayray14 +d00kie +281982 +020308 +Dominic1 +whatever08 +06101979 +vflbyf +121964 +06091979 +29101996 +azsxdcfv1 +africa12 +085213 +abramov +120298 +MADONNA +102008 +salad1 +facial +03011994 +tigger87 +pepsi21 +kashmoney1 +realist1 +lutheran +1natasha +cardigan +andre22 +salim123 +howdy123 +monkie +vincent11 +noddy1 +cassidy3 +booty3 +v12345678 +fusion12 +longboard1 +781012 +ema123 +chasseur +david45 +pollack1 +elinor +jumpjump +19041977 +0531 +241981 +01091976 +abkbgg +camer0n +its +zapatero +drowssap2 +261196 +110031 +stickers +Isaiah +jaylee +mariaisabel +ihave2kids +1435 +jasmine20 +mysons +cherrys +doodah +sydney08 +j1j2j3 +991199 +21041977 +15061996 +charlotte9 +hackthis1 +mnbvc1 +adrian24 +200976 +necro666 +apple09 +hulaanmo +slurpee1 +bball! +1233321 +myplace1 +daffodil1 +04091994 +martin20 +204204 +LALALA +catarina1 +030375 +821014 +ihateyou6 +eTravelmoleOptin +serega777 +jersey12 +555555s +mikey21 +04051996 +suhana +barbarita +lynda +breonna1 +#1chick +Bella1 +130874 +mexico77 +1238 +octagon +030596 +none12 +gavgav +wayne22 +nikos +10101998 +vivalafica +dgkallday +4079 +18021977 +bursaspor +051978 +225500 +01071976 +romeo22 +brian15 +allens +nanito +241196 +140776 +julio2 +lavern +froggy101 +char123 +tanuja +johnny15 +cambria1 +bienvenido +20012007 +player08 +janjanjan +999123 +amor2009 +130476 +batman66 +max1998 +minority +corvette69 +2813308004 +angles1 +HAHAHA +penis666 +marge +suffolk +queen10 +innamorata +245678 +grindcore +10011976 +april88 +dcwdcw +07121979 +mohamed12 +ViewSonic +121223 +karolinka1 +charles. +murdoch +realty +dude55 +201206 +arjun123 +emma03 +160496 +Campbell +Charlie123 +mamapapa123 +nagaraju +lovepussy1 +2221 +justblaze1 +101055 +120470 +marla1 +06031996 +skincare +auburn12 +brook123 +butter8 +mast3r +sasha16 +290877 +david666 +201196 +darius2 +241295 +greg11 +27041978 +robbie11 +frank10 +nbvjityrj +bushido123 +lastname +internet5 +jmjmjm +animal13 +kmg365 +avantika +cupcake. +iiiiiiiiii +asdfghjk12 +frijolito +naruto33 +WILLOW +propane +martin77 +logan23 +1georgia +alskdjfhg1 +Maureen +������+���� +bryan3 +bryan23 +phoebe12 +killa69 +blahblah123 +waterh20 +kristen3 +120670 +gamble1 +snowflake3 +13091979 +321654987a +blinkblink +andras +j3ss1ca +19121996 +nurses1 +112002 +mariah10 +playful1 +notreal +koala123 +111170 +charlie200 +jakeyboy +forum123 +12091976 +skunk2 +03101996 +25312531 +gringa +seashells +estrella13 +3u7wrkaA8J +12111977 +reddog12 +505 +daylight1 +eman123 +fake08 +anna777 +star2010 +make +meli +sports101 +ilovejc +pumpkin22 +realmadrid7 +0099887766 +aminlove +lintang +iscool +20031975 +boots12 +535535 +bitches01 +madhukar +booboo1234 +fagboy1 +120998 +30011995 +280179 +wolverine7 +baby777 +logan04 +khuljasimsim +mariarita +signup1 +zsazsa1 +frannie1 +stmarys +powerslave +smile07 +hottness +thor123 +zw5A1u5eVw +yousuf +whale +01061976 +229229 +19871021 +071195 +demarcus +allen20 +2mndonaaa +748748 +game11 +7777777v +13021977 +fatboy99 +retraite +rolland +facebook11 +accident +prince1234 +15021977 +super100 +mouse11 +quatre +Sniper +scruffy123 +001965 +454454 +sassy07 +qazxswe +richa +jadensmith +canabis1 +meow1234 +tigers33 +nastik +pipi1000 +sweetpea! +redsun +lovesu +treats1 +dctulf +mybaby4 +joelmadden +310876 +pr +billy21 +roseann1 +161276 +peachie +kenzie2 +lover89 +tamilan +autobot +050479 +20091978 +sergio01 +trevor13 +filsdepute +270878 +number1dad +001995 +privet1 +birdies +1monday +pazyamor +pup123 +190294 +cool56 +91mustang +hamsters1 +rockstar19 +1860 +karelia +nikito +sirocco +plovdiv +19821020 +alexdelpiero +091298 +mammam +zabuza +hearts5 +jess5377 +antonio16 +pagani +maddie4 +anhthu +grafton +grunt1 +010161 +man111 +soltera +baller17 +campari +483483 +deyanira +ewqdsacxz +hanakimi +sassy09 +291277 +1foryou +ble +ljxehrf +320000 +hawaii99 +Lucifer +gavrik +ilovecheese +rosebud12 +villareal +140274 +gizmos1 +llama2 +mommy32 +varun +asiamarketing +leon01 +bertone +chris1989 +redsox05 +wardog +dozer123 +raven69 +ert +guerreiro +jayde1 +misspriss1 +rocky06 +brandon27 +Jimmy +marsha11 +farcry2 +gonzaga1 +jos123 +doremi123 +dimon1 +pwisdiwhs +little5 +09051978 +matt19 +081200 +morenike +bluearmy +pulsar1 +tommygirl1 +dumbshit1 +runfast +2225 +21101977 +kisslove +BULLDOG +30031978 +karlee1 +abigail11 +katter +pusinka +kokanee +mistica +loveme4eva +221200 +people9 +060777 +sivasiva +mercer1 +maslo123 +janajana +04121977 +dianita1 +560058 +wingzero1 +121316 +2539 +28061979 +jenni123 +06121978 +marlboro12 +connor7 +farted +tanika +derf +manofsteel +090881 +marie91 +020274 +100102 +jacob18 +unilever +1jellybean +marius123 +trickster1 +crocus +12021975 +18031977 +sarah. +sidney12 +justin0 +081991 +cubs123 +051991 +tasha01 +peter23 +1johncena +5254 +1327 +vtkmybrjdf +j54321 +masini +5566778899 +shorty77 +270378 +barcelona5 +iloveaj +amanda95 +220574 +monkeypoo +gaurav123 +claudie +brasilien +kingmaker +marina88 +islander1 +duckduck1 +0159753 +185185 +daniel1994 +vitoria1 +appels +denise15 +helmet1 +123wert +potential +iloveyouu1 +zgmfx20a +18191819 +nanda123 +danny20 +ilovebeer1 +coffee7 +Patriots +16071978 +124680 +depressed +melanie11 +1froggy +manita +123asdqwe +chicken15 +foobar1 +casey21 +jamal2 +kaylas +luvu4eva +inuyasha6 +aseret +20061977 +311208 +sammyjo1 +02051996 +scoala +223300 +jkz +190295 +antibes +021990 +antifa +katrinka +solana +15071977 +16011978 +catdog13 +flipmode1 +abacabb +401101 +penny5 +littled +archie01 +noodle12 +cinta123 +smokey101 +08031977 +dominic5 +kayla03 +08031996 +kylekyle +123456** +nick88 +kill11 +101207 +23061996 +bashful1 +200276 +topless +bulldog21 +kisskiss12 +please3 +materia +allison4 +enamorada1 +chrisc +hotlove +432 +Howareyou123 +schecter1 +ford2001 +0813 +26011979 +oskarek +neopets13 +milan22 +ensemble +eugene12 +tuncay +akucinta +sureshot +sucram +noobie +mylove6 +cl +crippin1 +nokia3650 +motocros +111105 +sancarlos +lalala13 +lovers8 +19851122 +041980 +120900 +motown1 +nick33 +warhawk +wayne21 +15071996 +bitch2008 +wtf +drpepper3 +popop +gumbo1 +watergate +cicciona +janice123 +cashmere1 +buttercup! +110176 +120807 +100276 +sevillafc +charger2 +disco123 +ryan12345 +bonghit +ramsay +primo +chico3 +8383 +bubluk +endeavour +richard08 +1bradley +don12345 +june88 +Miriam +schaap +123321e +gd4life +30071994 +black27 +lilmoney1 +myparents +258012 +lxgiwyl +lovers10 +161096 +3dognight +scott10 +laur3n +sexyangel +ilusha +franz1 +guwahati +project8 +blake10 +qwedcxz +dixie3 +15081508 +pimp92 +bol +kaylan +makaroni +johncena01 +wassila +harshini +kool101 +181981 +edgard +nada123 +kathrina +robvandam +rantanplan +NN +valmont +izumrud +hola10 +luke22 +lucy14 +dogfight +eddie69 +110300 +noah2007 +22041976 +blue4ever +11235 +britt5 +gofuckyour +hulkster1 +1725 +affinity +barnaul +nastygirl +maslova +armyof2 +11111976 +25111979 +14301430 +florencio +missy8 +22051977 +azerty59 +kiesha1 +takamine1 +jaffa1 +chaka +seller +1retard +chelsea05 +armando2 +i5sTWf1rCX +yamaha135 +joeyboy +05041979 +22041979 +makana +robert00 +060896 +dm1234 +06081977 +140603 +250596 +orthodox +isabella13 +spiegel +mika12 +123456jb +lilly09 +230576 +197505 +chance5 +95279527 +sie +londyn +aa456852 +09021977 +darth +Joanne +viking11 +cougar12 +bhabyko +pleasant1 +appleseed1 +180995 +5200 +meiling +johnny77 +lilypad1 +bouvier +hadouken +13041996 +sonyericss +alan13 +Warcraft1 +piknik +berkley1 +brother4 +hotbitch +sansiro +060908 +bebe17 +marissa5 +skyliner +chander +designs +1light +fatass69 +28051978 +16111979 +HELLOKITTY +04061978 +reena +annie13 +eric24 +asda123 +cognita +Aurora +marvelous1 +fiorello +199527 +bubba! +zoegirl +cindys +czarna +p2XcFgjCvr +meonly1 +5455 +1bighead +090480 +060279 +nastygirl1 +javier15 +170177 +ranger23 +fisher12 +0111 +georgia11 +santas +narusegawa +banana77 +Garcia +FLUFFY +freaky123 +pepsie +bigwill1 +amorino +katherine0 +19871111 +lixiang +260876 +201274 +mario8 +25032503 +turtle9 +йфяцычувс +azbest777 +madonna2 +220011 +vivera +wolverine3 +shabbir +cassie15 +andrey1995 +madura +vorobei +t090571 +95chevy +marylin +braves95 +michael50 +chatter1 +eagles25 +luzmaria +sensei1 +bizzle +collin12 +pepsi10 +gasparin +ultimatum +magdeburg +kopilka +lovers4eve +hottie27 +laura1234 +board +Sunflower +rally +5577 +301987 +811029 +10111976 +m2g7U6O397 +anima +pendeja +25002500 +frosty123 +700040 +lolitas +20012005 +jerkface1 +benji2 +1192296 +texas14 +lovesick1 +clemente21 +kismat +7344555 +36987 +1q2w3easd +kopernik +28061977 +21031997 +120372 +jojo18 +savage3 +blondie11 +yannou +haley6 +vfvfxrf +snickers22 +william0 +morenito +tranquil +lovebug101 +happyfamily +heriberto +taco11 +pastorius +chase4 +waynes +hggih +qweewq123 +trans1 +pearl2 +dreday1 +PANGET +050994 +milkdud1 +faithingod +dude33 +rafael13 +bunnyrabbit +sasuke1234 +lucky02 +kenny10 +181175 +1212qq +charlieb +cookies6 +robert87 +munchy1 +tanner4 +threesome3 +shepard1 +821224 +micheal3 +future123 +22011996 +windows2000 +3830182 +tristan01 +964123 +chrisp +0825 +445566a +witchy +thickness +020181 +polk +sexyback12 +ihateyou9 +nate01 +vivayo +alex1972 +mimi88 +JENNY +01071975 +235 +akoako +zztop +courtney22 +01011959 +punk14 +loser17 +applejack1 +18111976 +spencer13 +841015 +meeko +becca2 +rockhopper +skyliner33 +amanda86 +071198 +iloveyou97 +bullshit7 +homie12 +djeter +chick2 +gupta +cowboy88 +22041977 +mxyzptlk +arsch123 +dsadsadsa +11111p +chinaman1 +sparky101 +holly22 +panthers13 +michael84 +arcticcat +mcbride +poopdick +200375 +170876 +richman1 +acuario1 +jayann +30091978 +nguyen4 +COWBOYS +ttt111 +milan7 +bigbutts +loveday +TINKERBELL +utythfk +15011977 +kieran123 +bike4life +3690 +lisa14 +nicolina +duke07 +199308 +internet01 +851210 +usher2 +burnley1 +170376 +akmaral +811023 +charing +nene23 +jesus03 +252526 +parker22 +nirankar +saving +hawaii3 +dhanya +evolution2 +maksimov +a741852 +verdun +uiuiui +000321 +miley16 +shrek123 +motivated +felisa +bulgakov +muthafucka +christina4 +160277 +fireman12 +bigdaddy11 +kristyn +pokemon90 +mossberg +03081979 +panther6 +foshizzle +momma12 +leonardo10 +shay16 +131313q +rfhlbyfk +koller +061196 +merlin7 +boss74 +louisvuitton +james94 +honey05 +fierce1 +240777 +qwert67 +199205 +anisoara +misiek123 +modernwarfare +20022007 +poodie1 +18021979 +shock +0blivion +trtrtr +Alex123 +diana23 +capricorn7 +lili1234 +newsletter +business123 +puff +lilcutie1 +071421 +541788 +luna10 +070605 +060906 +angel2003 +cool20 +australia0 +beatbox1 +lover#1 +ricky23 +sexymama11 +shoelace1 +nininini +13081996 +artem1998 +control2 +snickers01 +kyuubi +logical1 +iforgot! +FATHER +Chrissy +200676 +rosegarden +heather15 +horseshoe1 +willyou +andi123 +zavala +cegthvty +diva16 +yeager +pantera3 +080874 +adidas777 +19851127 +hondacr +070701 +victor16 +210875 +ab12345678 +amazonia +fuckyou26 +nena23 +123aye +301070 +1lesbian +calhoun1 +851023 +biggdogg +marley09 +BITCH +haze420 +kulkarni +7000 +millsberry +3l3m3nt +leyton +paintball8 +bassoon1 +smiley10 +looser123 +Sergei +�+������ +aka +kaila +czarny +kiss01 +angeldog +chicago4 +8657 +22011997 +04111993 +tomtom11 +hairball1 +samsung14 +ocean13 +monique01 +kenyatta1 +goddamn1 +culture1 +flowers8 +020302 +amaya +463395727 +piotrus +april1988 +letmein99 +bandit07 +woaimama +170277 +jkl456 +mickey33 +petey123 +monomono +volcom9 +121170 +19851224 +070979 +denver07 +22051997 +Soccer11 +omgomg123 +88chevy +gothika +fifafifa +dupeczka +831018 +cowgirls +bellisima +milonga +pritam +rocky! +070775 +jhon +14061976 +20031977 +sasha98 +north123 +naima +passer1 +buddy12345 +1pebbles +laura17 +300894 +fraud +naruhina +blacky2 +firestone1 +750750 +perumal +100772 +richelle1 +040677 +purple76 +patata1 +pappas +gfhjk123 +leafs1 +casey22 +01091996 +hafida +lily07 +britneys +cupcake69 +14theroad +queen14 +regenboog +102030q +21111977 +James007 +12401240 +julian09 +overflow +bitch2010 +track2 +hihihihi1 +purple90 +arriba +tiddles1 +fhutynbyf +bernie01 +shadow420 +14051996 +khadija1 +shakey1 +imortal +ctht:f +11031997 +julian15 +200206 +bonethug1 +maddog11 +20011975 +bear16 +gundam123 +sarrah +ski123 +bootylicious +19861002 +210775 +aviator1 +marquette1 +miller10 +cyberman +may1980 +0.123456 +froglegs1 +143256 +thomas0 +shane7 +121314z +shravani +040475 +15051976 +bubblegum5 +lawless1 +family#1 +delmar1 +kozlik +thomas30 +giggity1 +sweetie22 +wildcats! +121009 +june1999 +197805 +bellsouth +taylor27 +781021 +20022006 +0908070605 +wilkinson1 +686686 +fatfuck1 +cubs23 +Green123 +falcon10 +1bigred +160476 +pointers +vendredi13 +green42 +EAGLES +snoopy09 +q3538004 +imgay12 +aluminum +pepsi24 +draper +ITALIA +Jesus4me +madison. +viernes +80baby +1234rr +pigman +4always +yyyyyy1 +qwewq +MONEY1 +infante +forget12 +bulldog8 +google8 +sabrina22 +nonnie1 +zolushka +spy123 +rjn`yjr +killer12345 +recruiter1 +27041979 +freddy7 +heidi2 +suckit5 +harekrsna +qazwsxedc2 +PA +170679 +jjjjjjjjj +johnny07 +barcelona3 +dragon81 +sword123 +201003 +30121979 +ivancito +afshan +dugong +melodia +tadashi +emanon +onelove13 +loco10 +cappy1 +madalyn +jackie16 +abrikos +isolde +romaine +east12 +blonde! +109 +edmond1 +hottie20 +dexter22 +25121976 +energizer1 +190894 +poppop12 +quake1 +ric123 +culiacan1 +cascada1 +AA3030316 +19851028 +841027 +23071978 +21342134 +space01 +christian12 +16101976 +lilsaint +spider21 +Cracker12 +taufik +lucky100 +jumpin +#1diva +tigger28 +detroit3 +barbie1234 +q1q1q1q1q1 +london9 +wipro +moomoo7 +chinchin1 +escondido +joey07 +elettra +15071979 +p0rnstar +21011996 +sealteam6 +banned +161275 +03071996 +Tinker +brasil12 +gohard +2215 +zsolti +goldcoast +mrbear +anna89 +197806 +12345sex +0000oooo +justice11 +xfactor1 +trevor10 +fitch1 +1234567890f +1theman +lady08 +1lilwayne +gemini18 +5609867 +trinity8 +milan4ever +mccormick +sassy1234 +29081979 +football46 +bodie1 +120609 +eritrea +power12345 +trindade +king34 +211995 +qwedcxza +aldwin +a7xrocks +cossie +hickey +siegheil88 +king420 +APPLES +mateusz12 +vova1998 +qwerty31 +fulvio +199622 +24262426 +qwerty06 +123695 +happy2bme +lizard2 +thumper3 +suntan +07041978 +080395 +260296 +yourmom22 +brucewayne +tyler2006 +lexy123 +megan6 +adidas01 +13021997 +stang +sonny12 +198283 +jai123 +rebel10 +101171 +bigtits2 +cookies01 +anadolu +rose19 +monster77 +newyork. +hemi +barbie07 +poppoppop +190178 +philip12 +dc +famous! +Q1w2e3 +06011980 +2n76xG2yIU +kenmore +199427 +papermate1 +choosen1 +071077 +freeland +100674 +shaniya1 +haller +komarov +equinox1 +sophie15 +diego01 +raiders6 +jeremy24 +canada13 +will11 +patches11 +080184 +saibot +lilmama7 +123401 +12steps +21091977 +mangusta +noranora +sanguine +*star* +andre01 +playas1 +devilish1 +dexter5 +badger123 +chipster +120572 +sara21 +pirate123 +2ofakind +a88888 +hassen +chico01 +flyer +skidrow1 +150796 +31031979 +001996 +carlino +13171317 +ficker +180575 +popcorn. +giresun28 +succeed +darkangel6 +kappa1911 +1.2.3. +davidbeckham +28071977 +murder666 +mafiawars +maria05 +cutes +madhura +toot +john44 +nounette +w3lc0m3 +THE +18101996 +timurka +sixteen1 +21011974 +sugarlips1 +truelove13 +echoecho +55555lvl +kamron +sachiko +dragons5 +25071979 +04041997 +yellow02 +g00gl3 +050309 +agrawal +ewunia +dipali +capcom1 +jayar +9595 +122800 +pitagoras +peddler +orellana +icarly1 +hehehe123 +adeoye +020906 +Aa1234567 +12345678qwertyui +061077 +tyler25 +080781 +ahmed12 +granny3 +meanie1 +buthole1 +lalito1 +nfyz123 +sadie! +dima2002 +pantera6 +perseus +lynwood1 +marysia1 +yankee11 +AAAA +14051997 +musick +190377 +02061996 +mom4life +fargo1 +sixela +noshit +270996 +elvis13 +FUCKER +chatnoir +cupcake24 +dragons13 +s123321 +1ninja +zniQpnK733 +detroit12 +durant35 +steelhead1 +wilhelmina +pies +26041979 +muffin6 +gfhjkmm +lovelove7 +grandmom +��+���� +rawrrawr +twisted2 +element14 +float +734001 +myspace98 +didou +1187 +juanmiguel +ilovericky +angeleyes2 +boomboom2 +30081981 +september13 +minnie22 +guardians +yfdctulf +minh123 +papaye +22312231 +7770777 +monkfish +shailendra +alex1973 +tyrone3 +kociak +glo +manboy +olga1234 +grinding +millard +black92 +asd159 +google69 +12play +29031979 +03121976 +29111979 +grady +mayita +amanda0 +voodoo13 +31081977 +ALEXANDRE +yamaha6 +kodabear +expensive +121345 +silverado2 +cena11 +joseph89 +del123 +19841120 +maloney +may1982 +241074 +piggy5 +5million +priyam +15031975 +snoppy1 +sideways +urbano +dominion1 +apple44 +24081995 +dante12 +johnnyb +redred2 +chappy1 +Buster01 +20111977 +150376 +ayomide1 +verdade +joaopaulo +07061978 +202002 +asd777 +cowboy24 +memyselfi +trevor3 +801124 +1lollipop +nudist +shay15 +apple18 +iloveyou4ever +say +dog123456 +jacksonville +diogo123 +imran1 +19861211 +nikita1999 +13051976 +08121979 +top100 +cutie19 +werule1 +shadowman1 +zxcasd1 +gatsby1 +buenos +26061997 +666beast +3698 +bitches13 +290496 +taylor56 +charles6 +solveig +102102102 +glass123 +141076 +music45 +green89 +07101995 +dave23 +239239 +dadang +heyjude1 +trinity05 +jose27 +11223344556677889900 +sunnepa1 +impulse101 +princess56 +anton1995 +kings2 +batgirl1 +master777 +munna +chloe23 +ricky10 +1907fener +lilman07 +851120 +koston +pluisje +520999 +katie06 +jerbear +mybabyboy +emma02 +donavan1 +tamagotchi +14041997 +polki +200776 +20102000 +tatung +kata +fylhttdyf +borabora1 +adidas88 +piesek1 +broucek +nodnarb1 +bobo13 +selena11 +123456qa +opossum +260378 +ceilidh +peniss +1417 +royalflush +carol2 +awesome22 +110898 +19851213 +dumbbitch +chamois +03071977 +cuttiepie1 +valdes +201203 +kaylee08 +froggy22 +c9p5au8naa +tonkpils +amilcar +kayla101 +redrover1 +buddyholly +starsky1 +920920 +simbacat +asdfqwer1 +200796 +mafia13 +punkrock! +1234mm +100199 +210774 +2bigballs +Maxime +warranty +cowboy09 +shanika +waffles2 +3663 +maria2010 +galaxia +kangaroo2 +LAURA +zzr1100 +060895 +28071979 +honey28 +cbcmrf +abc777 +manu11 +751002 +ferien +jamestown +spanky7 +morenaza +kittyy +400098 +linda69 +nomorerack +go4itnow +roses2 +pakistani1 +2q87xI3wGW +destiny02 +ford351 +bassboat +05021979 +intuition +samuel1234 +toybox +197828 +roxy18 +floyd123 +saxena +jesse16 +123698547 +vball2 +freight +kehinde1 +Kennwort +belka +dfg +purple97 +falcon3 +babe10 +1truluv +samadhi +dolly12 +2dollars +kakka +951753654 +mz.sexy +corner1 +77779999 +speed12 +vishwa +1mnbvcxz +zxcxz +08091977 +050305 +novice +nisse +moustic +110598 +tyson11 +266266 +babyoneone +trinacria +261296 +encule +harley17 +hunting101 +volcom14 +plumes +15021976 +31031977 +eatadick +1dance +matt20 +1w2e3r4t +blue420 +applebees1 +guyssuck1 +Hannah01 +chris1988 +Sammy123 +freak11 +199624 +albert3 +klk123 +samosa +26011996 +gougou +sweet77 +wildcat7 +tumelo +amanda93 +fghfghfgh +ardian +htt//members.cumfiesta.com/ +gaffer +samuel02 +nana18 +nx74205 +301275 +elway07 +liljj1 +stevenson1 +147890 +kokito +28051996 +1sunday +flex +��+������ +poiuyt5 +sniper69 +gracie03 +250574 +wilson21 +asd123zxc +hiphop. +hearts13 +manjit +butta1 +sorellina +DRM199019902323 +daisuke1 +actionman +002211 +buddy02 +adalberto +wolves11 +dur +junior77 +Nicole1 +latina2 +giggles12 +qwerty30 +280777 +bryant08 +kasablanka +nokian90 +lesnik +cokacola +bowwow7 +hospice +ilovebill +250376 +feb +watts1 +05101995 +110911 +07121994 +2455 +kelly101 +jaleel +wrexham +watchdog +britni +intense1 +725725 +markis +100376 +songs1 +100866 +06071978 +shradha +2040 +terezinha +0714 +desmond123 +28041977 +247001 +821121 +821218 +teamo! +19081995 +tiffany17 +1zyYbyt82A +25041997 +1little +ginogino +bulldogs5 +elnegro1 +pfuflrf +pes2009 +jayjay14 +antares1 +123456jc +maggie55 +rayhan +cornhole +insight1 +playmaker +beyond1 +makayla5 +040596 +smokey88 +pimpin0 +success! +shaka +mollie2 +squadup1 +21111979 +alinuta +18061978 +buster18 +painislove +soboleva +fresh22 +saloma +fyzfyz +zxasqw1 +green06 +16111995 +bellavita +onyebuchi +rocky77 +pipe +Hellsing +oliver00 +061206 +141175 +lawrence2 +Alabama1 +ask +desiderata +250807 +popcorn101 +lovebug5 +300995 +050898 +jonas7 +09091088 +condition +lucky888 +george09 +stop12 +refresh1 +megabyte +roper1 +micheal7 +scorpion13 +151174 +keksik +01021973 +julian06 +standup +o8lhE2z7bO +yCEI62p395 +psytrance +taco1234 +king66 +grace06 +sparky23 +starla1 +fifnfy +super88 +27101977 +vwpassat +�+������+ +aol +gizzy +hotgurl +angelle +18111978 +latinoheat +donald356 +andriana +cadeau +07111993 +gjkzrjdf +sh0pping +mother8 +yankee3 +sangam +un4given +tanya12 +220907 +spartan7 +251206 +azertyuio +newgirl +dani22 +alcool +benjamin22 +jackryan +Jones +1abcdefgh +300496 +skikda +hermitage +freddy3 +heaven09 +05031996 +skyler123 +nichole7 +badfish +johnson11 +godgrace +matter1 +dessie +brenda7 +lucas5 +bear24 +lofasz +brian18 +keanu1 +badoo2012 +chinacat +kkkkkk6 +mcafee +rafael2 +040778 +shyamala +unleashed1 +951753123 +usasf1234 +081094 +15111995 +aisha123 +slk230 +11vote +angela4 +gfdkjd +addie +flores12 +nevaeh06 +101268 +emma1 +cash23 +270776 +sophie6 +251106 +20121975 +sexyguy1 +lilman08 +noah08 +ilmiocane +lilliana +jk +dustin23 +carolina15 +adeade +joker17 +13281328 +kupukupu +irish3 +qwert! +dodgers3 +puddy1 +fafnir +lazareva +ANTHONY1 +Charlie01 +21051976 +1212aa +james93 +estetica +cacahuate +/.,mnb +papa10 +sexygurl2 +japierdole +newyork69 +199203 +oldfart1 +donnas +bribri12 +100273 +ilovesam! +fidelidade +decade +chaparro1 +231097 +luisluis +mini1234 +samantha06 +alain1 +haley13 +dogbreath1 +17021979 +azsxdc12 +07071976 +dragons11 +140976 +Leonard +maxine123 +timmy5 +chase22 +joselo +calore +salvador2 +little4 +verizon123 +201070 +5152535455 +britbrat1 +sarath +nick2000 +millhouse +jackie17 +sadie10 +penguin9 +17061978 +kissmebaby +01061996 +101169 +ra1234 +1234kids +12061976 +1estrella +bobik +1sassy +200476 +bandito1 +diller +chesca +tedesco +31081978 +outubro +eight88 +91camaro +eagles99 +pizza21 +199207 +18101978 +homie2 +25061996 +choupinou +170877 +hawk12 +griselda1 +1grandpa +arabella1 +hacker2 +mari11 +hasina +tuning1 +jaimatadi1 +vbvjpf +shokoladka +789741 +robert04 +tiamotanto +psppsp +010475 +aiaiai +milamber +120173 +mugwump +zxcqwe123 +courtney16 +sn0wman +03081978 +080875 +mister12 +jasmina1 +z7777777 +emma2010 +w1950a +wonderboy1 +210196 +brutus2 +punkers +piapia +199404 +811026 +licker1 +123bnm +agung +chicana +miami11 +resist +150907 +dustin7 +19961997 +campinas +mikaella +jamesk +z1z1z1z1 +thrash1 +210675 +142753869 +niklas1 +251273 +vegas2 +021076 +000000b +azazello +ilovezach +14041976 +smoove1 +lampada +BIGDOG +basket13 +thermo +angie21 +harley15 +ak +16031977 +eastside4 +kiki89 +necronomicon +mommy27 +h36js3gGoF +03121995 +07041979 +liar +thelast1 +030794 +suger1 +crazzy1 +199327 +virginia12 +102498 +starfleet +040181 +01021975 +oddjob +310176 +kennedy12 +legend01 +naledi +qazwsxedc12345 +gordo2 +dannyb +rc. +198113 +suicidal1 +rainbow16 +iloveyew +chinky1 +10041974 +pappagallo +qwerty121 +07011994 +19871016 +01011900 +deedee13 +doozer +230475 +yourspace1 +devin23 +tiffany. +150596 +levski1914 +COWBOY +waiting1 +dolina +mcgrath +Alfred +Popcorn1 +niki12 +manchitas +corazoncito +841018 +talitha +hirondelle +18091978 +hutch +chaddy +3syqo15hil +soinlove +kingjames23 +hottie4u +bunky1 +tennis14 +maplewood +nevets1 +rushrush +love444 +smile08 +daniela10 +qwerty97 +creek1 +ferda +father12345 +29061979 +030194 +saturnus +fishing11 +hari123 +95123 +joejonas! +1231235 +smokey16 +emokid123 +fffjjj +Alex1234 +13071977 +imback1 +maggie25 +lululu1 +compound +candy55 +consumer +001212 +601601 +dinosaurus +ratten +tarasenko +blue74 +cool98 +754321 +y6p67ftrqj +vfkzdrf +brittni +12031976 +kush +rosa11 +star03 +banana33 +shawn69 +dustin14 +salento12 +killerbee1 +03111976 +sweet33 +samson10 +ctcnhtyrf +230597 +19861106 +woodduck +13081977 +maltese1 +jiujitsu1 +08071994 +l0vel0ve +ilove143 +donna2 +prdel +100472 +willpower +ilovekate +19821023 +sasha1989 +handoi +caprisun1 +sexy40 +naty123 +199407 +27021979 +cherry88 +197802 +130808 +harley97 +alania +march2007 +pirate2 +30071979 +rochdale +JANUARY +21071977 +timmy9 +bethany12 +whodat1 +pizarro +anita2 +dedicated +roma1996 +021277 +corsica1 +april1992 +slipknot21 +25061979 +jessica33 +qwaser +FupYuxTb66 +1w2q3r4e +ishika +winwinwin +miyamoto +20051975 +cornelis +london2011 +annoying1 +retamozo +blazer01 +canes +lizzie01 +nagrom +fucklove4 +robert45 +garant +amanda33 +blue62 +rainbow08 +jimjones +lafleur +taylor26 +666666t +youknowit +eric17 +120604 +super99 +animal3 +campeones +stockholm1 +harbor1 +sergio11 +moments +apurva +061990 +exitos +amoreco +coke45 +gaygaygay +08061979 +sapato +050209 +penis22 +zacky1 +lucy101 +bluebird2 +stokrotka1 +truelove08 +gogetta +987654321w +poochie2 +TRINITY +bomberos +111298 +katelyn12 +molly24 +coco77 +102201 +camomilla +18001800 +14031977 +butthole2 +337733 +purple67 +kfkfkf +7419635 +lf +ayanda +c0raplok +193193 +0424 +123456ms +luthien +lovedad +andy16 +kiki101 +jerry5 +123456ass +docker +svitlana +paramon +mounika +lifehouse1 +mexico2009 +johnny9 +25041978 +donttouch +20021967 +rosy +shelby99 +190876 +22772277 +madhouse1 +shelter1 +sasha2002 +monmouth +15011978 +star7827 +ancora +22101976 +xxx555 +dunno1 +skittles69 +gibson01 +lo +030777 +baghera +savannah07 +19031997 +jaymark +katherine7 +090477 +CHANEL +06101978 +uuuuuuu +budlight3 +hampshire +gator2 +fuckoff09 +adrian1234 +qwe123321 +pookie08 +inl0ve +iluvhim! +manina +bigwill +020183 +161995 +110498 +rednose +fuckit11 +1337ness +420blaze +lytdybr +198655 +mimimi1 +codyboy1 +1365 +star02 +melissa25 +groceries +2315 +chicco1 +jessie. +248624 +besitos +Marco +22061976 +123fake +christen1 +hareram +tooter1 +151976 +pablo10 +280875 +angela08 +michael34 +koenig +jason30 +hastalavista +1christoph +Rooster +nonna +kalpesh +timmy11 +ilovemyboo +sambuca1 +lovebug4 +braves25 +700027 +chicago01 +jansport1 +barney! +pannekoek +kidskids +deathtoall +lovely20 +lunar +pass23 +120571 +elaine01 +terra123 +nursing08 +gordon12 +hott123 +261978 +gthdsq +misspriss +yabloko +23061976 +20252025 +glacier1 +vilma +261992 +timmy69 +alsace +ivan10 +mommy143 +92camaro +1wildcat +kaitlyn7 +12011976 +berlin12 +chupala +2341 +deputy1 +198566 +1freeman +29051978 +hangman1 +19821012 +thepower +wheeling +03041977 +197904 +04041975 +deardear +east123 +fritzie +7fperlangel +thegreat12 +hijack +yvonne12 +lacroix +panda21 +bradley11 +theforce1 +16041976 +arsenal22 +oksana1 +denise18 +mike30 +1234jk +over +shelby06 +scrap +viper13 +pass420 +almaz +valerie12 +21071979 +crawfish1 +316 +zazaza1 +130375 +1carter +manmohan +holly23 +147852369q +altamira +greengirl +brontolo +potato12 +baller03 +yuriko +keke09 +vans +hockey97 +dana11 +music666 +POOKIE +superman78 +091178 +1131 +rolyat +billy07 +19841225 +nokia95 +lauraa +xzibit1 +chevy55 +pavankumar +24121976 +tyler2008 +dima1984 +pitbull23 +bulldogs! +sydney00 +sapfir +41234123 +alexis96 +karen22 +1nurse +nickle +jerrod +lolo00 +caroli +thomas94 +boston04 +telkom +gefccgag +noxious +secret24 +chevere +emmanuel7 +adidas14 +120869 +ilovehim23 +cherrytree +camaro99 +volcom21 +panda6 +Indiana +181296 +myspace75 +zanessa1 +asdfqwer1234 +scania1 +october02 +keely1 +blackpanther +27011979 +lonsdale1 +fishy12 +dmwdmw +mariz +sun1shine +folks6 +optiplex1 +maksim1 +jeans +april420 +PIERRE +redneck11 +honeygirl1 +netscape1 +trudy +060178 +shadow007 +diesel11 +071094 +scotty01 +puppies7 +fergie12 +my3loves +bradley5 +anubhav +nopasswo +Password@123 +freefall1 +winston01 +ilovepat +p00per +12345me +shadow777 +ferrary +blue43 +meneses +08081998 +beb +myfriend1 +czesio +ker +sabrina9 +789987789 +10081977 +glorious1 +tigers. +fefe +0000123 +parker08 +contour +1wetpussy +Kevin123 +18011979 +finite +kubus +optical1 +dino11 +ber217an +123one +calimero1 +lauren00 +choctaw +tina10 +mickey. +keke10 +richard15 +7700 +ganja123 +180277 +crossroad diff --git a/users/password.go b/users/password.go new file mode 100644 index 00000000..2e355ad4 --- /dev/null +++ b/users/password.go @@ -0,0 +1,47 @@ +package users + +import ( + "crypto/rand" + "encoding/base64" + + "golang.org/x/crypto/bcrypt" + + fberrors "github.com/filebrowser/filebrowser/v2/errors" +) + +// ValidateAndHashPwd validates and hashes a password. +func ValidateAndHashPwd(password string, minimumLength uint) (string, error) { + if uint(len(password)) < minimumLength { + return "", fberrors.ErrShortPassword{MinimumLength: minimumLength} + } + + if _, ok := commonPasswords[password]; ok { + return "", fberrors.ErrEasyPassword + } + + return HashPwd(password) +} + +// HashPwd hashes a password. +func HashPwd(password string) (string, error) { + bytes, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost) + return string(bytes), err +} + +// CheckPwd checks if a password is correct. +func CheckPwd(password, hash string) bool { + err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password)) + return err == nil +} + +func RandomPwd(passwordLength uint) (string, error) { + randomPasswordBytes := make([]byte, passwordLength) + var _, err = rand.Read(randomPasswordBytes) + if err != nil { + return "", err + } + + // This is done purely to make the password human-readable + var randomPasswordString = base64.URLEncoding.EncodeToString(randomPasswordBytes) + return randomPasswordString, nil +} diff --git a/users/permissions.go b/users/permissions.go new file mode 100644 index 00000000..29e0a5b9 --- /dev/null +++ b/users/permissions.go @@ -0,0 +1,13 @@ +package users + +// Permissions describe a user's permissions. +type Permissions struct { + Admin bool `json:"admin"` + Execute bool `json:"execute"` + Create bool `json:"create"` + Rename bool `json:"rename"` + Modify bool `json:"modify"` + Delete bool `json:"delete"` + Share bool `json:"share"` + Download bool `json:"download"` +} diff --git a/users/storage.go b/users/storage.go new file mode 100644 index 00000000..43c65fe4 --- /dev/null +++ b/users/storage.go @@ -0,0 +1,133 @@ +package users + +import ( + "sync" + "time" + + fberrors "github.com/filebrowser/filebrowser/v2/errors" +) + +// StorageBackend is the interface to implement for a users storage. +type StorageBackend interface { + GetBy(interface{}) (*User, error) + Gets() ([]*User, error) + Save(u *User) error + Update(u *User, fields ...string) error + DeleteByID(uint) error + DeleteByUsername(string) error +} + +type Store interface { + Get(baseScope string, id interface{}) (user *User, err error) + Gets(baseScope string) ([]*User, error) + Update(user *User, fields ...string) error + Save(user *User) error + Delete(id interface{}) error + LastUpdate(id uint) int64 +} + +// Storage is a users storage. +type Storage struct { + back StorageBackend + updated map[uint]int64 + mux sync.RWMutex +} + +// NewStorage creates a users storage from a backend. +func NewStorage(back StorageBackend) *Storage { + return &Storage{ + back: back, + updated: map[uint]int64{}, + } +} + +// Get allows you to get a user by its name or username. The provided +// id must be a string for username lookup or a uint for id lookup. If id +// is neither, a ErrInvalidDataType will be returned. +func (s *Storage) Get(baseScope string, id interface{}) (user *User, err error) { + user, err = s.back.GetBy(id) + if err != nil { + return + } + if err := user.Clean(baseScope); err != nil { + return nil, err + } + return +} + +// Gets gets a list of all users. +func (s *Storage) Gets(baseScope string) ([]*User, error) { + users, err := s.back.Gets() + if err != nil { + return nil, err + } + + for _, user := range users { + if err := user.Clean(baseScope); err != nil { + return nil, err + } + } + + return users, err +} + +// Update updates a user in the database. +func (s *Storage) Update(user *User, fields ...string) error { + err := user.Clean("", fields...) + if err != nil { + return err + } + + err = s.back.Update(user, fields...) + if err != nil { + return err + } + + s.mux.Lock() + s.updated[user.ID] = time.Now().Unix() + s.mux.Unlock() + return nil +} + +// Save saves the user in a storage. +func (s *Storage) Save(user *User) error { + if err := user.Clean(""); err != nil { + return err + } + + return s.back.Save(user) +} + +// Delete allows you to delete a user by its name or username. The provided +// id must be a string for username lookup or a uint for id lookup. If id +// is neither, a ErrInvalidDataType will be returned. +func (s *Storage) Delete(id interface{}) error { + switch id := id.(type) { + case string: + user, err := s.back.GetBy(id) + if err != nil { + return err + } + if user.ID == 1 { + return fberrors.ErrRootUserDeletion + } + return s.back.DeleteByUsername(id) + case uint: + if id == 1 { + return fberrors.ErrRootUserDeletion + } + return s.back.DeleteByID(id) + default: + return fberrors.ErrInvalidDataType + } +} + +// LastUpdate gets the timestamp for the last update of an user. +func (s *Storage) LastUpdate(id uint) int64 { + s.mux.RLock() + defer s.mux.RUnlock() + if val, ok := s.updated[id]; ok { + return val + } + return 0 +} diff --git a/users/storage_test.go b/users/storage_test.go new file mode 100644 index 00000000..65d13de8 --- /dev/null +++ b/users/storage_test.go @@ -0,0 +1,4 @@ +package users + +// Interface is implemented by storage +var _ Store = &Storage{} diff --git a/users/users.go b/users/users.go new file mode 100644 index 00000000..7181b299 --- /dev/null +++ b/users/users.go @@ -0,0 +1,105 @@ +package users + +import ( + "path/filepath" + + "github.com/spf13/afero" + + fberrors "github.com/filebrowser/filebrowser/v2/errors" + "github.com/filebrowser/filebrowser/v2/files" + "github.com/filebrowser/filebrowser/v2/rules" +) + +// ViewMode describes a view mode. +type ViewMode string + +const ( + ListViewMode ViewMode = "list" + MosaicViewMode ViewMode = "mosaic" +) + +// User describes a user. +type User struct { + ID uint `storm:"id,increment" json:"id"` + Username string `storm:"unique" json:"username"` + Password string `json:"password"` + Scope string `json:"scope"` + Locale string `json:"locale"` + LockPassword bool `json:"lockPassword"` + ViewMode ViewMode `json:"viewMode"` + SingleClick bool `json:"singleClick"` + RedirectAfterCopyMove bool `json:"redirectAfterCopyMove"` + Perm Permissions `json:"perm"` + Commands []string `json:"commands"` + Sorting files.Sorting `json:"sorting"` + Fs afero.Fs `json:"-" yaml:"-"` + Rules []rules.Rule `json:"rules"` + HideDotfiles bool `json:"hideDotfiles"` + DateFormat bool `json:"dateFormat"` + AceEditorTheme string `json:"aceEditorTheme"` +} + +// GetRules implements rules.Provider. +func (u *User) GetRules() []rules.Rule { + return u.Rules +} + +var checkableFields = []string{ + "Username", + "Password", + "Scope", + "ViewMode", + "Commands", + "Sorting", + "Rules", +} + +// Clean cleans up a user and verifies if all its fields +// are alright to be saved. +func (u *User) Clean(baseScope string, fields ...string) error { + if len(fields) == 0 { + fields = checkableFields + } + + for _, field := range fields { + switch field { + case "Username": + if u.Username == "" { + return fberrors.ErrEmptyUsername + } + case "Password": + if u.Password == "" { + return fberrors.ErrEmptyPassword + } + case "ViewMode": + if u.ViewMode == "" { + u.ViewMode = ListViewMode + } + case "Commands": + if u.Commands == nil { + u.Commands = []string{} + } + case "Sorting": + if u.Sorting.By == "" { + u.Sorting.By = "name" + } + case "Rules": + if u.Rules == nil { + u.Rules = []rules.Rule{} + } + } + } + + if u.Fs == nil { + scope := u.Scope + scope = filepath.Join(baseScope, filepath.Join("/", scope)) + u.Fs = afero.NewBasePathFs(afero.NewOsFs(), scope) + } + + return nil +} + +// FullPath gets the full path for a user's relative path. +func (u *User) FullPath(path string) string { + return afero.FullBaseFsPath(u.Fs.(*afero.BasePathFs), path) +} diff --git a/version/version.go b/version/version.go new file mode 100644 index 00000000..65b42dfa --- /dev/null +++ b/version/version.go @@ -0,0 +1,8 @@ +package version + +var ( + // Version is the current File Browser version. + Version = "(untracked)" + // CommitSHA is the commit sha. + CommitSHA = "(unknown)" +) diff --git a/websockets.go b/websockets.go deleted file mode 100644 index 50e07b73..00000000 --- a/websockets.go +++ /dev/null @@ -1,332 +0,0 @@ -package filemanager - -import ( - "bytes" - "mime" - "net/http" - "os" - "os/exec" - "path/filepath" - "regexp" - "strings" - "time" - - "github.com/gorilla/websocket" -) - -var upgrader = websocket.Upgrader{ - ReadBufferSize: 1024, - WriteBufferSize: 1024, -} - -var ( - cmdNotImplemented = []byte("Command not implemented.") - cmdNotAllowed = []byte("Command not allowed.") -) - -// command handles the requests for VCS related commands: git, svn and mercurial -func command(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - // Upgrades the connection to a websocket and checks for errors. - conn, err := upgrader.Upgrade(w, r, nil) - if err != nil { - return 0, err - } - defer conn.Close() - - var ( - message []byte - command []string - ) - - // Starts an infinite loop until a valid command is captured. - for { - _, message, err = conn.ReadMessage() - if err != nil { - return http.StatusInternalServerError, err - } - - command = strings.Split(string(message), " ") - if len(command) != 0 { - break - } - } - - // Check if the command is allowed - allowed := false - - for _, cmd := range c.User.Commands { - if cmd == command[0] { - allowed = true - } - } - - if !allowed { - err = conn.WriteMessage(websocket.BinaryMessage, cmdNotAllowed) - if err != nil { - return http.StatusInternalServerError, err - } - - return 0, nil - } - - // Check if the program is talled is installed on the computer. - if _, err = exec.LookPath(command[0]); err != nil { - err = conn.WriteMessage(websocket.BinaryMessage, cmdNotImplemented) - if err != nil { - return http.StatusInternalServerError, err - } - - return http.StatusNotImplemented, nil - } - - // Gets the path and initializes a buffer. - path := string(c.User.FileSystem) + "/" + r.URL.Path - path = filepath.Clean(path) - buff := new(bytes.Buffer) - - // Sets up the command executation. - cmd := exec.Command(command[0], command[1:]...) - cmd.Dir = path - cmd.Stderr = buff - cmd.Stdout = buff - - // Starts the command and checks for errors. - err = cmd.Start() - if err != nil { - return http.StatusInternalServerError, err - } - - // Set a 'done' variable to check whetever the command has already finished - // running or not. This verification is done using a goroutine that uses the - // method .Wait() from the command. - done := false - go func() { - err = cmd.Wait() - done = true - }() - - // Function to print the current information on the buffer to the connection. - print := func() error { - by := buff.Bytes() - if len(by) > 0 { - err = conn.WriteMessage(websocket.TextMessage, by) - if err != nil { - return err - } - } - - return nil - } - - // While the command hasn't finished running, continue sending the output - // to the client in intervals of 100 milliseconds. - for !done { - if err = print(); err != nil { - return http.StatusInternalServerError, err - } - - time.Sleep(100 * time.Millisecond) - } - - // After the command is done executing, send the output one more time to the - // browser to make sure it gets the latest information. - if err = print(); err != nil { - return http.StatusInternalServerError, err - } - - return 0, nil -} - -var ( - typeRegexp = regexp.MustCompile(`type:(\w+)`) -) - -type condition func(path string) bool - -type searchOptions struct { - CaseInsensitive bool - Conditions []condition - Terms []string -} - -func extensionCondition(extension string) condition { - return func(path string) bool { - return filepath.Ext(path) == "."+extension - } -} - -func imageCondition(path string) bool { - extension := filepath.Ext(path) - mimetype := mime.TypeByExtension(extension) - - return strings.HasPrefix(mimetype, "image") -} - -func audioCondition(path string) bool { - extension := filepath.Ext(path) - mimetype := mime.TypeByExtension(extension) - - return strings.HasPrefix(mimetype, "audio") -} - -func videoCondition(path string) bool { - extension := filepath.Ext(path) - mimetype := mime.TypeByExtension(extension) - - return strings.HasPrefix(mimetype, "video") -} - -func parseSearch(value string) *searchOptions { - opts := &searchOptions{ - CaseInsensitive: strings.Contains(value, "case:insensitive"), - Conditions: []condition{}, - Terms: []string{}, - } - - // removes the options from the value - value = strings.Replace(value, "case:insensitive", "", -1) - value = strings.Replace(value, "case:sensitive", "", -1) - value = strings.TrimSpace(value) - - types := typeRegexp.FindAllStringSubmatch(value, -1) - for _, t := range types { - if len(t) == 1 { - continue - } - - switch t[1] { - case "image": - opts.Conditions = append(opts.Conditions, imageCondition) - case "audio", "music": - opts.Conditions = append(opts.Conditions, audioCondition) - case "video": - opts.Conditions = append(opts.Conditions, videoCondition) - default: - opts.Conditions = append(opts.Conditions, extensionCondition(t[1])) - } - } - - if len(types) > 0 { - // Remove the fields from the search value. - value = typeRegexp.ReplaceAllString(value, "") - } - - // If it's canse insensitive, put everything in lowercase. - if opts.CaseInsensitive { - value = strings.ToLower(value) - } - - // Remove the spaces from the search value. - value = strings.TrimSpace(value) - - if value == "" { - return opts - } - - // if the value starts with " and finishes what that character, we will - // only search for that term - if value[0] == '"' && value[len(value)-1] == '"' { - unique := strings.TrimPrefix(value, "\"") - unique = strings.TrimSuffix(unique, "\"") - - opts.Terms = []string{unique} - return opts - } - - opts.Terms = strings.Split(value, " ") - return opts -} - -// search searches for a file or directory. -func search(c *RequestContext, w http.ResponseWriter, r *http.Request) (int, error) { - // Upgrades the connection to a websocket and checks for errors. - conn, err := upgrader.Upgrade(w, r, nil) - if err != nil { - return 0, err - } - defer conn.Close() - - var ( - value string - search *searchOptions - message []byte - ) - - // Starts an infinite loop until a valid command is captured. - for { - _, message, err = conn.ReadMessage() - if err != nil { - return http.StatusInternalServerError, err - } - - if len(message) != 0 { - value = string(message) - break - } - } - - search = parseSearch(value) - scope := strings.TrimPrefix(r.URL.Path, "/") - scope = "/" + scope - scope = string(c.User.FileSystem) + scope - scope = strings.Replace(scope, "\\", "/", -1) - scope = filepath.Clean(scope) - - err = filepath.Walk(scope, func(path string, f os.FileInfo, err error) error { - if search.CaseInsensitive { - path = strings.ToLower(path) - } - - path = strings.TrimPrefix(path, scope) - path = strings.TrimPrefix(path, "/") - path = strings.Replace(path, "\\", "/", -1) - - // Only execute if there are conditions to meet. - if len(search.Conditions) > 0 { - match := false - - for _, t := range search.Conditions { - if t(path) { - match = true - break - } - } - - // If doesn't meet the condition, go to the next. - if !match { - return nil - } - } - - if len(search.Terms) > 0 { - is := false - - // Checks if matches the terms and if it is allowed. - for _, term := range search.Terms { - if is { - break - } - - if strings.Contains(path, term) { - if !c.User.Allowed(path) { - return nil - } - - is = true - } - } - - if !is { - return nil - } - } - - return conn.WriteMessage(websocket.TextMessage, []byte(path)) - }) - - if err != nil { - return http.StatusInternalServerError, err - } - - return 0, nil -} diff --git a/www/.gitignore b/www/.gitignore new file mode 100644 index 00000000..b3e4463a --- /dev/null +++ b/www/.gitignore @@ -0,0 +1,6 @@ +docs/LICENSE +docs/code-of-conduct.md +docs/contributing.md +docs/security.md +docs/changelog.md +public diff --git a/www/Dockerfile b/www/Dockerfile new file mode 100644 index 00000000..93d6dc26 --- /dev/null +++ b/www/Dockerfile @@ -0,0 +1,4 @@ +FROM squidfunk/mkdocs-material + +COPY requirements.txt requirements.txt +RUN pip install --no-cache-dir -r requirements.txt diff --git a/www/docs/authentication.md b/www/docs/authentication.md new file mode 100644 index 00000000..365f9dac --- /dev/null +++ b/www/docs/authentication.md @@ -0,0 +1,49 @@ +# Authentication + +There are three possible authentication methods. Each one of them has its own capabilities and specification. If you are interested in contributing with one more authentication method, please [check the guidelines](contributing.md). + +## JSON Auth (default) + +We call it JSON Authentication but it is just the default authentication method and the one that is provided by default if you don't make any changes. It is set by default, but if you've made changes before you can revert to using JSON auth: + +```sh +filebrowser config set --auth.method=json +``` + +This method can also be extended with **reCAPTCHA** verification during login: + +```sh +filebrowser config set --auth.method=json \ + --recaptcha.key site-key \ + --recaptcha.secret private-key +``` + +By default, we use [Google's reCAPTCHA](https://developers.google.com/recaptcha/docs/display) service. If you live in China, or want to use other provider, you can change the host with the following command: + +```sh +filebrowser config set --recaptcha.host https://recaptcha.net +``` + +Where `https://recaptcha.net` is any provider you want. + +## Proxy Header + +If you have a reverse proxy you want to use to login your users, you do it via our `proxy` authentication method. To configure this method, your proxy must send an HTTP header containing the username of the logged in user: + +```sh +filebrowser config set --auth.method=proxy --auth.header=X-My-Header +``` + +Where `X-My-Header` is the HTTP header provided by your proxy with the username. + +> [!WARNING] +> +> File Browser will blindly trust the provided header. If the proxy can be bypassed, an attacker could simply attach the header and get admin access. + +### No Authentication + +We also provide a no authentication mechanism for users that want to use File Browser privately such in a home network. By setting this authentication method, the user with **id 1** will be used as the default users. Creating more users won't have any effect. + +```sh +filebrowser config set --auth.method=noauth +``` diff --git a/www/docs/cli/filebrowser-cmds-add.md b/www/docs/cli/filebrowser-cmds-add.md new file mode 100644 index 00000000..fc064ea9 --- /dev/null +++ b/www/docs/cli/filebrowser-cmds-add.md @@ -0,0 +1,29 @@ +# filebrowser cmds add + +Add a command to run on a specific event + +## Synopsis + +Add a command to run on a specific event. + +``` +filebrowser cmds add [flags] +``` + +## Options + +``` + -h, --help help for add +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser cmds](filebrowser-cmds.md) - Command runner management utility + diff --git a/www/docs/cli/filebrowser-cmds-ls.md b/www/docs/cli/filebrowser-cmds-ls.md new file mode 100644 index 00000000..136df2e8 --- /dev/null +++ b/www/docs/cli/filebrowser-cmds-ls.md @@ -0,0 +1,30 @@ +# filebrowser cmds ls + +List all commands for each event + +## Synopsis + +List all commands for each event. + +``` +filebrowser cmds ls [flags] +``` + +## Options + +``` + -e, --event string event name, without 'before' or 'after' + -h, --help help for ls +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser cmds](filebrowser-cmds.md) - Command runner management utility + diff --git a/www/docs/cli/filebrowser-cmds-rm.md b/www/docs/cli/filebrowser-cmds-rm.md new file mode 100644 index 00000000..837813b9 --- /dev/null +++ b/www/docs/cli/filebrowser-cmds-rm.md @@ -0,0 +1,37 @@ +# filebrowser cmds rm + +Removes a command from an event hooker + +## Synopsis + +Removes a command from an event hooker. The provided index +is the same that's printed when you run 'cmds ls'. Note +that after each removal/addition, the index of the +commands change. So be careful when removing them after each +other. + +You can also specify an optional parameter (index_end) so +you can remove all commands from 'index' to 'index_end', +including 'index_end'. + +``` +filebrowser cmds rm [index_end] [flags] +``` + +## Options + +``` + -h, --help help for rm +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser cmds](filebrowser-cmds.md) - Command runner management utility + diff --git a/www/docs/cli/filebrowser-cmds.md b/www/docs/cli/filebrowser-cmds.md new file mode 100644 index 00000000..bc61418b --- /dev/null +++ b/www/docs/cli/filebrowser-cmds.md @@ -0,0 +1,28 @@ +# filebrowser cmds + +Command runner management utility + +## Synopsis + +Command runner management utility. + +## Options + +``` + -h, --help help for cmds +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser](filebrowser.md) - A stylish web-based file browser +* [filebrowser cmds add](filebrowser-cmds-add.md) - Add a command to run on a specific event +* [filebrowser cmds ls](filebrowser-cmds-ls.md) - List all commands for each event +* [filebrowser cmds rm](filebrowser-cmds-rm.md) - Removes a command from an event hooker + diff --git a/www/docs/cli/filebrowser-completion-bash.md b/www/docs/cli/filebrowser-completion-bash.md new file mode 100644 index 00000000..e4c8963a --- /dev/null +++ b/www/docs/cli/filebrowser-completion-bash.md @@ -0,0 +1,50 @@ +# filebrowser completion bash + +Generate the autocompletion script for bash + +## Synopsis + +Generate the autocompletion script for the bash shell. + +This script depends on the 'bash-completion' package. +If it is not installed already, you can install it via your OS's package manager. + +To load completions in your current shell session: + + source <(filebrowser completion bash) + +To load completions for every new session, execute once: + +### Linux: + + filebrowser completion bash > /etc/bash_completion.d/filebrowser + +### macOS: + + filebrowser completion bash > $(brew --prefix)/etc/bash_completion.d/filebrowser + +You will need to start a new shell for this setup to take effect. + + +``` +filebrowser completion bash +``` + +## Options + +``` + -h, --help help for bash + --no-descriptions disable completion descriptions +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser completion](filebrowser-completion.md) - Generate the autocompletion script for the specified shell + diff --git a/www/docs/cli/filebrowser-completion-fish.md b/www/docs/cli/filebrowser-completion-fish.md new file mode 100644 index 00000000..e8297aa1 --- /dev/null +++ b/www/docs/cli/filebrowser-completion-fish.md @@ -0,0 +1,41 @@ +# filebrowser completion fish + +Generate the autocompletion script for fish + +## Synopsis + +Generate the autocompletion script for the fish shell. + +To load completions in your current shell session: + + filebrowser completion fish | source + +To load completions for every new session, execute once: + + filebrowser completion fish > ~/.config/fish/completions/filebrowser.fish + +You will need to start a new shell for this setup to take effect. + + +``` +filebrowser completion fish [flags] +``` + +## Options + +``` + -h, --help help for fish + --no-descriptions disable completion descriptions +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser completion](filebrowser-completion.md) - Generate the autocompletion script for the specified shell + diff --git a/www/docs/cli/filebrowser-completion-powershell.md b/www/docs/cli/filebrowser-completion-powershell.md new file mode 100644 index 00000000..21f84c4c --- /dev/null +++ b/www/docs/cli/filebrowser-completion-powershell.md @@ -0,0 +1,38 @@ +# filebrowser completion powershell + +Generate the autocompletion script for powershell + +## Synopsis + +Generate the autocompletion script for powershell. + +To load completions in your current shell session: + + filebrowser completion powershell | Out-String | Invoke-Expression + +To load completions for every new session, add the output of the above command +to your powershell profile. + + +``` +filebrowser completion powershell [flags] +``` + +## Options + +``` + -h, --help help for powershell + --no-descriptions disable completion descriptions +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser completion](filebrowser-completion.md) - Generate the autocompletion script for the specified shell + diff --git a/www/docs/cli/filebrowser-completion-zsh.md b/www/docs/cli/filebrowser-completion-zsh.md new file mode 100644 index 00000000..f54794b0 --- /dev/null +++ b/www/docs/cli/filebrowser-completion-zsh.md @@ -0,0 +1,52 @@ +# filebrowser completion zsh + +Generate the autocompletion script for zsh + +## Synopsis + +Generate the autocompletion script for the zsh shell. + +If shell completion is not already enabled in your environment you will need +to enable it. You can execute the following once: + + echo "autoload -U compinit; compinit" >> ~/.zshrc + +To load completions in your current shell session: + + source <(filebrowser completion zsh) + +To load completions for every new session, execute once: + +### Linux: + + filebrowser completion zsh > "${fpath[1]}/_filebrowser" + +### macOS: + + filebrowser completion zsh > $(brew --prefix)/share/zsh/site-functions/_filebrowser + +You will need to start a new shell for this setup to take effect. + + +``` +filebrowser completion zsh [flags] +``` + +## Options + +``` + -h, --help help for zsh + --no-descriptions disable completion descriptions +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser completion](filebrowser-completion.md) - Generate the autocompletion script for the specified shell + diff --git a/www/docs/cli/filebrowser-completion.md b/www/docs/cli/filebrowser-completion.md new file mode 100644 index 00000000..b2c6bdc1 --- /dev/null +++ b/www/docs/cli/filebrowser-completion.md @@ -0,0 +1,31 @@ +# filebrowser completion + +Generate the autocompletion script for the specified shell + +## Synopsis + +Generate the autocompletion script for filebrowser for the specified shell. +See each sub-command's help for details on how to use the generated script. + + +## Options + +``` + -h, --help help for completion +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser](filebrowser.md) - A stylish web-based file browser +* [filebrowser completion bash](filebrowser-completion-bash.md) - Generate the autocompletion script for bash +* [filebrowser completion fish](filebrowser-completion-fish.md) - Generate the autocompletion script for fish +* [filebrowser completion powershell](filebrowser-completion-powershell.md) - Generate the autocompletion script for powershell +* [filebrowser completion zsh](filebrowser-completion-zsh.md) - Generate the autocompletion script for zsh + diff --git a/www/docs/cli/filebrowser-config-cat.md b/www/docs/cli/filebrowser-config-cat.md new file mode 100644 index 00000000..952580fd --- /dev/null +++ b/www/docs/cli/filebrowser-config-cat.md @@ -0,0 +1,29 @@ +# filebrowser config cat + +Prints the configuration + +## Synopsis + +Prints the configuration. + +``` +filebrowser config cat [flags] +``` + +## Options + +``` + -h, --help help for cat +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser config](filebrowser-config.md) - Configuration management utility + diff --git a/www/docs/cli/filebrowser-config-export.md b/www/docs/cli/filebrowser-config-export.md new file mode 100644 index 00000000..141d4e8e --- /dev/null +++ b/www/docs/cli/filebrowser-config-export.md @@ -0,0 +1,31 @@ +# filebrowser config export + +Export the configuration to a file + +## Synopsis + +Export the configuration to a file. The path must be for a +json or yaml file. This exported configuration can be changed, +and imported again with 'config import' command. + +``` +filebrowser config export [flags] +``` + +## Options + +``` + -h, --help help for export +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser config](filebrowser-config.md) - Configuration management utility + diff --git a/www/docs/cli/filebrowser-config-import.md b/www/docs/cli/filebrowser-config-import.md new file mode 100644 index 00000000..871da341 --- /dev/null +++ b/www/docs/cli/filebrowser-config-import.md @@ -0,0 +1,36 @@ +# filebrowser config import + +Import a configuration file + +## Synopsis + +Import a configuration file. This will replace all the existing +configuration. Can be used with or without unexisting databases. + +If used with a nonexisting database, a key will be generated +automatically. Otherwise the key will be kept the same as in the +database. + +The path must be for a json or yaml file. + +``` +filebrowser config import [flags] +``` + +## Options + +``` + -h, --help help for import +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser config](filebrowser-config.md) - Configuration management utility + diff --git a/www/docs/cli/filebrowser-config-init.md b/www/docs/cli/filebrowser-config-init.md new file mode 100644 index 00000000..0f16efa7 --- /dev/null +++ b/www/docs/cli/filebrowser-config-init.md @@ -0,0 +1,89 @@ +# filebrowser config init + +Initialize a new database + +## Synopsis + +Initialize a new database to use with File Browser. All of +this options can be changed in the future with the command +'filebrowser config set'. The user related flags apply +to the defaults when creating new users and you don't +override the options. + +``` +filebrowser config init [flags] +``` + +## Options + +``` + --aceEditorTheme string ace editor's syntax highlighting theme for users + -a, --address string address to listen on (default "127.0.0.1") + --auth.command string command for auth.method=hook + --auth.header string HTTP header for auth.method=proxy + --auth.logoutPage string url of custom logout page + --auth.method string authentication type (default "json") + -b, --baseURL string base url + --branding.color string set the theme color + --branding.disableExternal disable external links such as GitHub links + --branding.disableUsedPercentage disable used disk percentage graph + --branding.files string path to directory with images and custom styles + --branding.name string replace 'File Browser' by this name + --branding.theme string set the theme + -t, --cert string tls certificate + --commands strings a list of the commands a user can execute + --createUserDir generate user's home directory automatically + --dateFormat use date format (true for absolute time, false for relative) + --dirMode string mode bits that new directories are created with (default "0o750") + --disableExec disables Command Runner feature (default true) + --disableImageResolutionCalc disables image resolution calculation by reading image files + --disablePreviewResize disable resize of image previews + --disableThumbnails disable image thumbnails + --disableTypeDetectionByHeader disables type detection by reading file headers + --fileMode string mode bits that new files are created with (default "0o640") + -h, --help help for init + --hideDotfiles hide dotfiles + --hideLoginButton hide login button from public pages + -k, --key string tls key + --locale string locale for users (default "en") + --lockPassword lock password + -l, --log string log output (default "stdout") + --minimumPasswordLength uint minimum password length for new users (default 12) + --perm.admin admin perm for users + --perm.create create perm for users (default true) + --perm.delete delete perm for users (default true) + --perm.download download perm for users (default true) + --perm.execute execute perm for users (default true) + --perm.modify modify perm for users (default true) + --perm.rename rename perm for users (default true) + --perm.share share perm for users (default true) + -p, --port string port to listen on (default "8080") + --recaptcha.host string use another host for ReCAPTCHA. recaptcha.net might be useful in China (default "https://www.google.com") + --recaptcha.key string ReCaptcha site key + --recaptcha.secret string ReCaptcha secret + --redirectAfterCopyMove redirect to destination after copy/move + -r, --root string root to prepend to relative paths (default ".") + --scope string scope for users (default ".") + --shell string shell command to which other commands should be appended + -s, --signup allow users to signup + --singleClick use single clicks only + --socket string socket to listen to (cannot be used with address, port, cert nor key flags) + --sorting.asc sorting by ascending order + --sorting.by string sorting mode (name, size or modified) (default "name") + --tokenExpirationTime string user session timeout (default "2h") + --tus.chunkSize uint the tus chunk size (default 10485760) + --tus.retryCount uint16 the tus retry count (default 5) + --viewMode string view mode for users (default "list") +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser config](filebrowser-config.md) - Configuration management utility + diff --git a/www/docs/cli/filebrowser-config-set.md b/www/docs/cli/filebrowser-config-set.md new file mode 100644 index 00000000..603bb506 --- /dev/null +++ b/www/docs/cli/filebrowser-config-set.md @@ -0,0 +1,86 @@ +# filebrowser config set + +Updates the configuration + +## Synopsis + +Updates the configuration. Set the flags for the options +you want to change. Other options will remain unchanged. + +``` +filebrowser config set [flags] +``` + +## Options + +``` + --aceEditorTheme string ace editor's syntax highlighting theme for users + -a, --address string address to listen on (default "127.0.0.1") + --auth.command string command for auth.method=hook + --auth.header string HTTP header for auth.method=proxy + --auth.logoutPage string url of custom logout page + --auth.method string authentication type (default "json") + -b, --baseURL string base url + --branding.color string set the theme color + --branding.disableExternal disable external links such as GitHub links + --branding.disableUsedPercentage disable used disk percentage graph + --branding.files string path to directory with images and custom styles + --branding.name string replace 'File Browser' by this name + --branding.theme string set the theme + -t, --cert string tls certificate + --commands strings a list of the commands a user can execute + --createUserDir generate user's home directory automatically + --dateFormat use date format (true for absolute time, false for relative) + --dirMode string mode bits that new directories are created with (default "0o750") + --disableExec disables Command Runner feature (default true) + --disableImageResolutionCalc disables image resolution calculation by reading image files + --disablePreviewResize disable resize of image previews + --disableThumbnails disable image thumbnails + --disableTypeDetectionByHeader disables type detection by reading file headers + --fileMode string mode bits that new files are created with (default "0o640") + -h, --help help for set + --hideDotfiles hide dotfiles + --hideLoginButton hide login button from public pages + -k, --key string tls key + --locale string locale for users (default "en") + --lockPassword lock password + -l, --log string log output (default "stdout") + --minimumPasswordLength uint minimum password length for new users (default 12) + --perm.admin admin perm for users + --perm.create create perm for users (default true) + --perm.delete delete perm for users (default true) + --perm.download download perm for users (default true) + --perm.execute execute perm for users (default true) + --perm.modify modify perm for users (default true) + --perm.rename rename perm for users (default true) + --perm.share share perm for users (default true) + -p, --port string port to listen on (default "8080") + --recaptcha.host string use another host for ReCAPTCHA. recaptcha.net might be useful in China (default "https://www.google.com") + --recaptcha.key string ReCaptcha site key + --recaptcha.secret string ReCaptcha secret + --redirectAfterCopyMove redirect to destination after copy/move + -r, --root string root to prepend to relative paths (default ".") + --scope string scope for users (default ".") + --shell string shell command to which other commands should be appended + -s, --signup allow users to signup + --singleClick use single clicks only + --socket string socket to listen to (cannot be used with address, port, cert nor key flags) + --sorting.asc sorting by ascending order + --sorting.by string sorting mode (name, size or modified) (default "name") + --tokenExpirationTime string user session timeout (default "2h") + --tus.chunkSize uint the tus chunk size (default 10485760) + --tus.retryCount uint16 the tus retry count (default 5) + --viewMode string view mode for users (default "list") +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser config](filebrowser-config.md) - Configuration management utility + diff --git a/www/docs/cli/filebrowser-config.md b/www/docs/cli/filebrowser-config.md new file mode 100644 index 00000000..b87dbf07 --- /dev/null +++ b/www/docs/cli/filebrowser-config.md @@ -0,0 +1,30 @@ +# filebrowser config + +Configuration management utility + +## Synopsis + +Configuration management utility. + +## Options + +``` + -h, --help help for config +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser](filebrowser.md) - A stylish web-based file browser +* [filebrowser config cat](filebrowser-config-cat.md) - Prints the configuration +* [filebrowser config export](filebrowser-config-export.md) - Export the configuration to a file +* [filebrowser config import](filebrowser-config-import.md) - Import a configuration file +* [filebrowser config init](filebrowser-config-init.md) - Initialize a new database +* [filebrowser config set](filebrowser-config-set.md) - Updates the configuration + diff --git a/www/docs/cli/filebrowser-hash.md b/www/docs/cli/filebrowser-hash.md new file mode 100644 index 00000000..9d480547 --- /dev/null +++ b/www/docs/cli/filebrowser-hash.md @@ -0,0 +1,29 @@ +# filebrowser hash + +Hashes a password + +## Synopsis + +Hashes a password using bcrypt algorithm. + +``` +filebrowser hash [flags] +``` + +## Options + +``` + -h, --help help for hash +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser](filebrowser.md) - A stylish web-based file browser + diff --git a/www/docs/cli/filebrowser-rules-add.md b/www/docs/cli/filebrowser-rules-add.md new file mode 100644 index 00000000..2fd2efaf --- /dev/null +++ b/www/docs/cli/filebrowser-rules-add.md @@ -0,0 +1,33 @@ +# filebrowser rules add + +Add a global rule or user rule + +## Synopsis + +Add a global rule or user rule. + +``` +filebrowser rules add [flags] +``` + +## Options + +``` + -a, --allow indicates this is an allow rule + -h, --help help for add + -r, --regex indicates this is a regex rule +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") + -i, --id uint id of user to which the rules apply + -u, --username string username of user to which the rules apply +``` + +## See Also + +* [filebrowser rules](filebrowser-rules.md) - Rules management utility + diff --git a/www/docs/cli/filebrowser-rules-ls.md b/www/docs/cli/filebrowser-rules-ls.md new file mode 100644 index 00000000..8a9cc6eb --- /dev/null +++ b/www/docs/cli/filebrowser-rules-ls.md @@ -0,0 +1,31 @@ +# filebrowser rules ls + +List global rules or user specific rules + +## Synopsis + +List global rules or user specific rules. + +``` +filebrowser rules ls [flags] +``` + +## Options + +``` + -h, --help help for ls +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") + -i, --id uint id of user to which the rules apply + -u, --username string username of user to which the rules apply +``` + +## See Also + +* [filebrowser rules](filebrowser-rules.md) - Rules management utility + diff --git a/www/docs/cli/filebrowser-rules-rm.md b/www/docs/cli/filebrowser-rules-rm.md new file mode 100644 index 00000000..1870afbb --- /dev/null +++ b/www/docs/cli/filebrowser-rules-rm.md @@ -0,0 +1,40 @@ +# filebrowser rules rm + +Remove a global rule or user rule + +## Synopsis + +Remove a global rule or user rule. The provided index +is the same that's printed when you run 'rules ls'. Note +that after each removal/addition, the index of the +commands change. So be careful when removing them after each +other. + +You can also specify an optional parameter (index_end) so +you can remove all commands from 'index' to 'index_end', +including 'index_end'. + +``` +filebrowser rules rm [index_end] [flags] +``` + +## Options + +``` + -h, --help help for rm + --index uint index of rule to remove +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") + -i, --id uint id of user to which the rules apply + -u, --username string username of user to which the rules apply +``` + +## See Also + +* [filebrowser rules](filebrowser-rules.md) - Rules management utility + diff --git a/www/docs/cli/filebrowser-rules.md b/www/docs/cli/filebrowser-rules.md new file mode 100644 index 00000000..cc8386d0 --- /dev/null +++ b/www/docs/cli/filebrowser-rules.md @@ -0,0 +1,34 @@ +# filebrowser rules + +Rules management utility + +## Synopsis + +On each subcommand you'll have available at least two flags: +"username" and "id". You must either set only one of them +or none. If you set one of them, the command will apply to +an user, otherwise it will be applied to the global set or +rules. + +## Options + +``` + -h, --help help for rules + -i, --id uint id of user to which the rules apply + -u, --username string username of user to which the rules apply +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser](filebrowser.md) - A stylish web-based file browser +* [filebrowser rules add](filebrowser-rules-add.md) - Add a global rule or user rule +* [filebrowser rules ls](filebrowser-rules-ls.md) - List global rules or user specific rules +* [filebrowser rules rm](filebrowser-rules-rm.md) - Remove a global rule or user rule + diff --git a/www/docs/cli/filebrowser-users-add.md b/www/docs/cli/filebrowser-users-add.md new file mode 100644 index 00000000..1de95e4d --- /dev/null +++ b/www/docs/cli/filebrowser-users-add.md @@ -0,0 +1,49 @@ +# filebrowser users add + +Create a new user + +## Synopsis + +Create a new user and add it to the database. + +``` +filebrowser users add [flags] +``` + +## Options + +``` + --aceEditorTheme string ace editor's syntax highlighting theme for users + --commands strings a list of the commands a user can execute + --dateFormat use date format (true for absolute time, false for relative) + -h, --help help for add + --hideDotfiles hide dotfiles + --locale string locale for users (default "en") + --lockPassword lock password + --perm.admin admin perm for users + --perm.create create perm for users (default true) + --perm.delete delete perm for users (default true) + --perm.download download perm for users (default true) + --perm.execute execute perm for users (default true) + --perm.modify modify perm for users (default true) + --perm.rename rename perm for users (default true) + --perm.share share perm for users (default true) + --redirectAfterCopyMove redirect to destination after copy/move + --scope string scope for users (default ".") + --singleClick use single clicks only + --sorting.asc sorting by ascending order + --sorting.by string sorting mode (name, size or modified) (default "name") + --viewMode string view mode for users (default "list") +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser users](filebrowser-users.md) - Users management utility + diff --git a/www/docs/cli/filebrowser-users-export.md b/www/docs/cli/filebrowser-users-export.md new file mode 100644 index 00000000..e513a453 --- /dev/null +++ b/www/docs/cli/filebrowser-users-export.md @@ -0,0 +1,30 @@ +# filebrowser users export + +Export all users to a file. + +## Synopsis + +Export all users to a json or yaml file. Please indicate the +path to the file where you want to write the users. + +``` +filebrowser users export [flags] +``` + +## Options + +``` + -h, --help help for export +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser users](filebrowser-users.md) - Users management utility + diff --git a/www/docs/cli/filebrowser-users-find.md b/www/docs/cli/filebrowser-users-find.md new file mode 100644 index 00000000..19ed3924 --- /dev/null +++ b/www/docs/cli/filebrowser-users-find.md @@ -0,0 +1,29 @@ +# filebrowser users find + +Find a user by username or id + +## Synopsis + +Find a user by username or id. If no flag is set, all users will be printed. + +``` +filebrowser users find [flags] +``` + +## Options + +``` + -h, --help help for find +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser users](filebrowser-users.md) - Users management utility + diff --git a/www/docs/cli/filebrowser-users-import.md b/www/docs/cli/filebrowser-users-import.md new file mode 100644 index 00000000..efc185fc --- /dev/null +++ b/www/docs/cli/filebrowser-users-import.md @@ -0,0 +1,34 @@ +# filebrowser users import + +Import users from a file + +## Synopsis + +Import users from a file. The path must be for a json or yaml +file. You can use this command to import new users to your +installation. For that, just don't place their ID on the files +list or set it to 0. + +``` +filebrowser users import [flags] +``` + +## Options + +``` + -h, --help help for import + --overwrite overwrite users with the same id/username combo + --replace replace the entire user base +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser users](filebrowser-users.md) - Users management utility + diff --git a/www/docs/cli/filebrowser-users-ls.md b/www/docs/cli/filebrowser-users-ls.md new file mode 100644 index 00000000..59a4f8fe --- /dev/null +++ b/www/docs/cli/filebrowser-users-ls.md @@ -0,0 +1,25 @@ +# filebrowser users ls + +List all users. + +``` +filebrowser users ls [flags] +``` + +## Options + +``` + -h, --help help for ls +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser users](filebrowser-users.md) - Users management utility + diff --git a/www/docs/cli/filebrowser-users-rm.md b/www/docs/cli/filebrowser-users-rm.md new file mode 100644 index 00000000..0e3b3035 --- /dev/null +++ b/www/docs/cli/filebrowser-users-rm.md @@ -0,0 +1,29 @@ +# filebrowser users rm + +Delete a user by username or id + +## Synopsis + +Delete a user by username or id + +``` +filebrowser users rm [flags] +``` + +## Options + +``` + -h, --help help for rm +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser users](filebrowser-users.md) - Users management utility + diff --git a/www/docs/cli/filebrowser-users-update.md b/www/docs/cli/filebrowser-users-update.md new file mode 100644 index 00000000..4ba7d608 --- /dev/null +++ b/www/docs/cli/filebrowser-users-update.md @@ -0,0 +1,52 @@ +# filebrowser users update + +Updates an existing user + +## Synopsis + +Updates an existing user. Set the flags for the +options you want to change. + +``` +filebrowser users update [flags] +``` + +## Options + +``` + --aceEditorTheme string ace editor's syntax highlighting theme for users + --commands strings a list of the commands a user can execute + --dateFormat use date format (true for absolute time, false for relative) + -h, --help help for update + --hideDotfiles hide dotfiles + --locale string locale for users (default "en") + --lockPassword lock password + -p, --password string new password + --perm.admin admin perm for users + --perm.create create perm for users (default true) + --perm.delete delete perm for users (default true) + --perm.download download perm for users (default true) + --perm.execute execute perm for users (default true) + --perm.modify modify perm for users (default true) + --perm.rename rename perm for users (default true) + --perm.share share perm for users (default true) + --redirectAfterCopyMove redirect to destination after copy/move + --scope string scope for users (default ".") + --singleClick use single clicks only + --sorting.asc sorting by ascending order + --sorting.by string sorting mode (name, size or modified) (default "name") + -u, --username string new username + --viewMode string view mode for users (default "list") +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser users](filebrowser-users.md) - Users management utility + diff --git a/www/docs/cli/filebrowser-users.md b/www/docs/cli/filebrowser-users.md new file mode 100644 index 00000000..63d82bc1 --- /dev/null +++ b/www/docs/cli/filebrowser-users.md @@ -0,0 +1,32 @@ +# filebrowser users + +Users management utility + +## Synopsis + +Users management utility. + +## Options + +``` + -h, --help help for users +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser](filebrowser.md) - A stylish web-based file browser +* [filebrowser users add](filebrowser-users-add.md) - Create a new user +* [filebrowser users export](filebrowser-users-export.md) - Export all users to a file. +* [filebrowser users find](filebrowser-users-find.md) - Find a user by username or id +* [filebrowser users import](filebrowser-users-import.md) - Import users from a file +* [filebrowser users ls](filebrowser-users-ls.md) - List all users. +* [filebrowser users rm](filebrowser-users-rm.md) - Delete a user by username or id +* [filebrowser users update](filebrowser-users-update.md) - Updates an existing user + diff --git a/www/docs/cli/filebrowser-version.md b/www/docs/cli/filebrowser-version.md new file mode 100644 index 00000000..ec3596c5 --- /dev/null +++ b/www/docs/cli/filebrowser-version.md @@ -0,0 +1,25 @@ +# filebrowser version + +Print the version number + +``` +filebrowser version [flags] +``` + +## Options + +``` + -h, --help help for version +``` + +## Options inherited from parent commands + +``` + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") +``` + +## See Also + +* [filebrowser](filebrowser.md) - A stylish web-based file browser + diff --git a/www/docs/cli/filebrowser.md b/www/docs/cli/filebrowser.md new file mode 100644 index 00000000..5d18e8d2 --- /dev/null +++ b/www/docs/cli/filebrowser.md @@ -0,0 +1,87 @@ +# filebrowser + +A stylish web-based file browser + +## Synopsis + +File Browser CLI lets you create the database to use with File Browser, +manage your users and all the configurations without accessing the +web interface. + +If you've never run File Browser, you'll need to have a database for +it. Don't worry: you don't need to setup a separate database server. +We're using Bolt DB which is a single file database and all managed +by ourselves. + +For this command, all flags are available as environmental variables, +except for "--config", which specifies the configuration file to use. +The environment variables are prefixed by "FB_" followed by the flag name in +UPPER_SNAKE_CASE. For example, the flag "--disablePreviewResize" is available +as FB_DISABLE_PREVIEW_RESIZE. + +If "--config" is not specified, File Browser will look for a configuration +file named .filebrowser.{json, toml, yaml, yml} in the following directories: + +- ./ +- $HOME/ +- /etc/filebrowser/ + +**Note:** Only the options listed below can be set via the config file or +environment variables. Other configuration options live exclusively in the +database and so they must be set by the "config set" or "config +import" commands. + +The precedence of the configuration values are as follows: + +- Flags +- Environment variables +- Configuration file +- Database values +- Defaults + +Also, if the database path doesn't exist, File Browser will enter into +the quick setup mode and a new database will be bootstrapped and a new +user created with the credentials from options "username" and "password". + +``` +filebrowser [flags] +``` + +## Options + +``` + -a, --address string address to listen on (default "127.0.0.1") + -b, --baseURL string base url + --cacheDir string file cache directory (disabled if empty) + -t, --cert string tls certificate + -c, --config string config file path + -d, --database string database path (default "./filebrowser.db") + --disableExec disables Command Runner feature (default true) + --disableImageResolutionCalc disables image resolution calculation by reading image files + --disablePreviewResize disable resize of image previews + --disableThumbnails disable image thumbnails + --disableTypeDetectionByHeader disables type detection by reading file headers + -h, --help help for filebrowser + --imageProcessors int image processors count (default 4) + -k, --key string tls key + -l, --log string log output (default "stdout") + --noauth use the noauth auther when using quick setup + --password string hashed password for the first user when using quick setup + -p, --port string port to listen on (default "8080") + -r, --root string root to prepend to relative paths (default ".") + --socket string socket to listen to (cannot be used with address, port, cert nor key flags) + --socketPerm uint32 unix socket file permissions (default 438) + --tokenExpirationTime string user session timeout (default "2h") + --username string username for the first user when using quick setup (default "admin") +``` + +## See Also + +* [filebrowser cmds](filebrowser-cmds.md) - Command runner management utility +* [filebrowser completion](filebrowser-completion.md) - Generate the autocompletion script for the specified shell +* [filebrowser config](filebrowser-config.md) - Configuration management utility +* [filebrowser hash](filebrowser-hash.md) - Hashes a password +* [filebrowser rules](filebrowser-rules.md) - Rules management utility +* [filebrowser users](filebrowser-users.md) - Users management utility +* [filebrowser version](filebrowser-version.md) - Print the version number + diff --git a/www/docs/command-execution.md b/www/docs/command-execution.md new file mode 100644 index 00000000..454c67b6 --- /dev/null +++ b/www/docs/command-execution.md @@ -0,0 +1,54 @@ +# Command Execution + +> [!CAUTION] +> +> The **hook runner** and **interactive shell** functionalities have been disabled for all existent and new installations by default from version v2.33.8 and onwards, due to continuous and known security vulnerabilities. You should only use this feature if you are aware of all of the security risks involved. For more up to date information, consult issue [#5199](https://github.com/filebrowser/filebrowser/issues/5199). + +## Hook Runner + +The hook runner is a feature that enables you to execute any shell command you want before or after a certain event. Right now, these are the events: + +* Copy +* Rename +* Upload +* Delete +* Save + +Also, during the execution of the commands set for those hooks, there will be some environment variables available to help you perform your commands: + +* `FILE` with the full absolute path to the changed file. +* `SCOPE` with the path to user's scope. +* `TRIGGER` with the name of the event. +* `USERNAME` with the user's username. +* `DESTINATION` with the absolute path to the destination. Only used for **copy** and **rename.** + +At this moment, you can edit the commands via the command line interface, using the following commands \(please check the flag `--help` to know more about them\): + +```bash +filebrowser cmds add before_copy "echo $FILE" +filebrowser cmds rm before_copy 0 +filebrowser cmds ls +``` + +Or you can use the web interface to manage them via **Settings** → **Global Settings**. + +## Interactive Shell + +Within File Browser you can toggle the shell (`< >` icon at the top right) and this will open a shell command window at the bottom of the screen. This functionality can be turned on using the environment variable `FB_DISABLE_EXEC=false` or the flag `--disable-exec=false`. + +By default no commands are available as the command list is empty. To enable commands these need to either be done on a per-user basis (including for the Admin user). + +You can do this by adding them in Settings > User Management > (edit user) > Commands or to *apply to all new users created from that point forward* they can be set in Settings > Global Settings + +> [!NOTE] +> +> If using a proxy manager then remember to enable websockets support for the File Browser proxy + +> [!NOTE] +> +> If using Docker and you want to add a new command that is not in the base image then you will need to build a custom Docker image using `filebrowser/filebrowser` as a base image. For example to add 7z: +> +> ```docker +> FROM filebrowser/filebrowser +> RUN sudo apt install p7zip-full +> ``` diff --git a/www/docs/customization.md b/www/docs/customization.md new file mode 100644 index 00000000..054da7ab --- /dev/null +++ b/www/docs/customization.md @@ -0,0 +1,45 @@ +# Customization + +You can customize the styles, branding and icons of your File Browser instance in order to give it a personal touch. + +## Custom Branding + +You can customize File Browser to use your own branding. This includes the following: + +- **Name**: the name of the instance that shows up on the tab title, login pages, and some other places. +- **Disable External Links**: disables all external links, except to the documentation. +- **Disable Used Percentage**: disables the disk usage information on the sidebar. +- **Branding Folder**: directory which can contain two items: + - `custom.css`, containing a global stylesheet to apply to all users. + - `img`, a directory which can replace all the [default logotypes](https://github.com/filebrowser/filebrowser/tree/master/frontend/public/img) from the application. + +This can be configured by the administrator user, under **Settings → Global Settings**. You can also update the configuration directly using the [CLI](cli/filebrowser-config-set.md): + +```sh +filebrowser config set --branding.name "My Name" \ + --branding.files "/abs/path/to/my/dir" \ + --branding.disableExternal +``` + +> [!NOTE] +> +> If you are using Docker, you need to mount a volume with the `branding` directory in order for it to be accessible from within the container. + +### Custom Icons + +To replace the default logotype and favicons, you need to create an `img` directory under the branding directory. The structure of this directory must mimic the one from the [default logotypes](https://github.com/filebrowser/filebrowser/tree/master/frontend/public/img): + +``` +img/ + logo.svg + icons/ + favicon.ico + favicon.svg + (...) +``` + +Note that there are different versions of the same favicon in multiple sizes. To replace all of them, you need to add versions for all of them. You can use the [Real Favicon Generator](https://realfavicongenerator.net/) to generate these for you from your base image. + +> [!NOTE] +> +> The icons are cached by the browser, so you may not see your changes immediately. You can address this by clearing your browser's cache. diff --git a/www/docs/deployment.md b/www/docs/deployment.md new file mode 100644 index 00000000..aa2968fc --- /dev/null +++ b/www/docs/deployment.md @@ -0,0 +1,34 @@ +## Fail2ban + +File Browser does not natively support protection against brute force attacks. Therefore, we suggest using something like [fail2ban](https://github.com/fail2ban/fail2ban), which takes care of that by tracking the logs of your File Browser instance. For more information on how fail2ban works, please refer to their [wiki](https://github.com/fail2ban/fail2ban/wiki). + +### Filter Configuration + +An example filter configuration targeted at matching File Browser's logs. + +```ini +[INCLUDES] +before = common.conf + +[Definition] +datepattern = `^%%Y\/%%m\/%%d %%H:%%M:%%S` +failregex = `\/api\/login: 403 *` +``` + +### Jail Configuration + +An example jail configuration. You should fill it with the path of the logs of File Browser, as well as the port where it is running at. + +```ini +[filebrowser] + +enabled = true +port = [your_port] +filter = filebrowser +logpath = [your_log_path] +maxretry = 10 +bantime = 10m +findtime = 10m +banaction = iptables-allports +banaction_allports = iptables-allports +``` diff --git a/www/docs/index.md b/www/docs/index.md new file mode 100644 index 00000000..cb79bd3e --- /dev/null +++ b/www/docs/index.md @@ -0,0 +1,59 @@ + + +

+ +

+ +> [!WARNING] +> +> This project is on **maintenance-only** mode. For more information, read the information on [GitHub](https://github.com/filebrowser/filebrowser#project-status). + +![Preview](static/example.gif) + +File Browser provides a file managing interface within a specified directory and it can be used to upload, delete, preview and edit your files. It is a **create-your-own-cloud**-kind of software where you can just install it on your server, direct it to a path and access your files through a nice web interface. + +## Features + +
+ +- **Easy Login System** + + --- + + ![](./static/1.jpg) + +- **Sleek Interface** + + --- + + ![](./static/2.jpg) + +- **User Management** + + --- + + ![](./static/3.jpg) + +- **File Editing** + + --- + + ![](./static/4.jpg) + +- **Custom Commands** + + --- + + ![](./static/5.jpg) + +- **Customization** + + --- + + ![](./static/6.jpg) + +
diff --git a/www/docs/installation.md b/www/docs/installation.md new file mode 100644 index 00000000..6acb8db6 --- /dev/null +++ b/www/docs/installation.md @@ -0,0 +1,93 @@ +# Installation + +File Browser is a single binary and can be used as standalone executable. However, it is also available as a [Docker](https://www.docker.com) image. The installation and first time setup is quite straightforward independently of which system you use. + +## Binary + +The quickest and easiest way to install File Browser is to use a package manager, or our download script, which automatically fetches the latest version of File Browser for your platform. Alternatively, you can manually download the binary from the [releases page](https://github.com/filebrowser/filebrowser/releases). + +=== "Brew" + + ```sh + brew tap filebrowser/tap + brew install filebrowser + filebrowser -r /path/to/your/files + ``` + +=== "Unix" + + ```sh + curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash + filebrowser -r /path/to/your/files + ``` + +=== "Windows" + + ```sh + iwr -useb https://raw.githubusercontent.com/filebrowser/get/master/get.ps1 | iex + filebrowser -r /path/to/your/files + ``` + +File Browser is now up and running. Read some [first boot](#first-boot) for more information. + +## Docker + +File Browser is available as two different Docker images, which can be found on [Docker Hub](https://hub.docker.com/r/filebrowser/filebrowser): a [bare Alpine image](#bare-alpine-image) and an [S6 Overlay image](#s6-overlay-image). + +### Bare Alpine Image + +```sh +docker run \ + -v filebrowser_data:/srv \ + -v filebrowser_database:/database \ + -v filebrowser_config:/config \ + -p 8080:80 \ + filebrowser/filebrowser +``` + +Where `filebrowser_data`, `filebrowser_database` and `filebrowser_config` are Docker [volumes](https://docs.docker.com/engine/storage/volumes/), where the data, database and configuration will be stored, respectively. The default configuration and database will be automatically initialized. + +The default user that runs File Browser inside the container has PID 1000 and GID 1000. If, for one reason or another, you want to run the Docker container with a different user, please consult Docker's [user documentation](https://docs.docker.com/engine/containers/run/#user). + +> [!NOTE] +> +> When using [bind mounts](https://docs.docker.com/engine/storage/bind-mounts/), that is, when you mount a path on the host in the container, you must manually ensure that they have the correct **permissions**. Docker does not do this automatically for you. The host directories must be readable and writable by the user running inside the container. You can use the [`chown`](https://linux.die.net/man/1/chown) command to change the owner of those paths. + +File Browser is now up and running. Read the ["First Boot"](#first-boot) section for more information. + +### S6 Overlay Image + +The `s6` image is based on LinuxServer and leverages the [s6-overlay](https://github.com/just-containers/s6-overlay) system for a standard, highly customizable image. It should be used as follows: + +```shell +docker run \ + -v /path/to/srv:/srv \ + -v /path/to/database:/database \ + -v /path/to/config:/config \ + -e PUID=$(id -u) \ + -e PGID=$(id -g) \ + -p 8080:80 \ + filebrowser/filebrowser:s6 +``` + +Where: + +- `/path/to/srv` contains the files root directory for File Browser +- `/path/to/config` contains a `settings.json` file +- `/path/to/database` contains a `filebrowser.db` file + +Both `settings.json` and `filebrowser.db` will automatically be initialized if they don't exist. + +File Browser is now up and running. Read the ["First Boot"](#first-boot) section for more information. + +## First Boot + +Your instance is now up and running. File Browser will automatically bootstrap a database, in which the configuration and the users are stored. You can find the address in which your instance is running, as well as the randomly generated password for the user `admin`, in the console logs. + +> [!WARNING] +> +> The automatically generated password for the user `admin` is only displayed once. If you fail to remember it, you will need to manually delete the database and start File Browser again. + +Although this is the fastest way to bootstrap an instance, we recommend you to take a look at other possible options, by checking [`config init`](cli/filebrowser-config-init.md) and [`config set`](cli/filebrowser-config-set.md), to make the installation as safe and customized as it can be. + +If your goal is to have a public-facing deployment, we recommend taking a look at the [deployment](deployment.md) page for more information on how you can secure your installation. diff --git a/www/docs/static/1.jpg b/www/docs/static/1.jpg new file mode 100644 index 00000000..413e50ad Binary files /dev/null and b/www/docs/static/1.jpg differ diff --git a/www/docs/static/2.jpg b/www/docs/static/2.jpg new file mode 100644 index 00000000..88c791eb Binary files /dev/null and b/www/docs/static/2.jpg differ diff --git a/www/docs/static/3.jpg b/www/docs/static/3.jpg new file mode 100644 index 00000000..34ba26f7 Binary files /dev/null and b/www/docs/static/3.jpg differ diff --git a/www/docs/static/4.jpg b/www/docs/static/4.jpg new file mode 100644 index 00000000..542c98df Binary files /dev/null and b/www/docs/static/4.jpg differ diff --git a/www/docs/static/5.jpg b/www/docs/static/5.jpg new file mode 100644 index 00000000..1c2efba9 Binary files /dev/null and b/www/docs/static/5.jpg differ diff --git a/www/docs/static/6.jpg b/www/docs/static/6.jpg new file mode 100644 index 00000000..0c65a03e Binary files /dev/null and b/www/docs/static/6.jpg differ diff --git a/www/docs/static/example.gif b/www/docs/static/example.gif new file mode 100644 index 00000000..1387a0cd Binary files /dev/null and b/www/docs/static/example.gif differ diff --git a/www/docs/static/favicon.png b/www/docs/static/favicon.png new file mode 100644 index 00000000..14793ffb Binary files /dev/null and b/www/docs/static/favicon.png differ diff --git a/www/docs/static/logo.png b/www/docs/static/logo.png new file mode 100644 index 00000000..22225604 Binary files /dev/null and b/www/docs/static/logo.png differ diff --git a/www/docs/troubleshooting.md b/www/docs/troubleshooting.md new file mode 100644 index 00000000..a994957e --- /dev/null +++ b/www/docs/troubleshooting.md @@ -0,0 +1,9 @@ +# Troubleshooting + +## Session Timeout + +By default, user sessions expire after **2 hours**. If you're uploading large files over slower connections, you may need to increase this timeout to prevent sessions from expiring mid-upload. You can configure the session timeout using the `tokenExpirationTime` setting. + +You can either set this option during runtime by using the flag `--tokenExpirationTime`, the environment variable `FB_TOKEN_EXPIRATION_TIME`, or in your configuration file. If you want to persist this to the configuration, please use [`filebrowser config set`](cli/filebrowser-config-set.md). + +Valid duration formats include `"2h"`, `"30m"`, `"24h"`, or combinations like `"2h30m"`. diff --git a/www/mkdocs.yml b/www/mkdocs.yml new file mode 100644 index 00000000..c71c6798 --- /dev/null +++ b/www/mkdocs.yml @@ -0,0 +1,140 @@ +site_name: File Browser +site_description: 'A web-based file browser and manager for your files' +site_author: 'File Browser Contributors' +site_url: 'https://filebrowser.org' + +repo_name: 'filebrowser/filebrowser' +repo_url: 'https://github.com/filebrowser/filebrowser' + +copyright: 'Copyright © 2025 File Browser Contributors' + +theme: + name: material + language: en + logo: static/logo.png + favicon: static/favicon.png + palette: + - scheme: default + primary: blue + accent: light blue + toggle: + icon: material/lightbulb + name: Switch to dark mode + - scheme: slate + primary: blue + accent: light blue + toggle: + icon: material/lightbulb-outline + name: Switch to light mode + + font: + text: Roboto + code: Roboto Mono + + features: + - navigation.tabs + - navigation.tabs.sticky + - navigation.indexes + - navigation.top + - navigation.instant + - search.suggest + - search.highlight + - search.share + - content.code.copy + - toc.follow + + icon: + repo: fontawesome/brands/github + edit: material/pencil + view: material/eye + +plugins: + - search: + separator: '[\\s\\-\\/]+' + - offline + - minify: + minify_html: true + +markdown_extensions: + - smarty + - sane_lists + - abbr + - admonition + - attr_list + - def_list + - footnotes + - meta + - md_in_html + - toc: + permalink: true + - pymdownx.caret + - pymdownx.highlight: + anchor_linenums: true + use_pygments: true + - pymdownx.inlinehilite + - pymdownx.keys + - pymdownx.mark + - pymdownx.smartsymbols + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.tilde + - callouts + - github-callouts + +extra: + generator: false + social: + - icon: fontawesome/brands/github + link: https://github.com/filebrowser/filebrowser + - icon: fontawesome/brands/docker + link: https://hub.docker.com/r/filebrowser/filebrowser + +nav: + - Home: index.md + - Documentation: + - Installation: installation.md + - Configuration: + - customization.md + - authentication.md + - command-execution.md + - Troubleshooting: troubleshooting.md + - Deployment: deployment.md + - Command Line Usage: + - cli/filebrowser.md + - cli/filebrowser-cmds.md + - cli/filebrowser-cmds-add.md + - cli/filebrowser-cmds-ls.md + - cli/filebrowser-cmds-rm.md + - cli/filebrowser-completion.md + - cli/filebrowser-completion-bash.md + - cli/filebrowser-completion-fish.md + - cli/filebrowser-completion-powershell.md + - cli/filebrowser-completion-zsh.md + - cli/filebrowser-config.md + - cli/filebrowser-config-cat.md + - cli/filebrowser-config-export.md + - cli/filebrowser-config-import.md + - cli/filebrowser-config-init.md + - cli/filebrowser-config-set.md + - cli/filebrowser-hash.md + - cli/filebrowser-rules.md + - cli/filebrowser-rules-add.md + - cli/filebrowser-rules-ls.md + - cli/filebrowser-rules-rm.md + - cli/filebrowser-users.md + - cli/filebrowser-users-add.md + - cli/filebrowser-users-export.md + - cli/filebrowser-users-find.md + - cli/filebrowser-users-import.md + - cli/filebrowser-users-ls.md + - cli/filebrowser-users-rm.md + - cli/filebrowser-users-update.md + - cli/filebrowser-version.md + - Contributing: + - Contributing: contributing.md + - Code of Conduct: code-of-conduct.md + - Security Policy: security.md + - Changelog: changelog.md diff --git a/www/requirements.txt b/www/requirements.txt new file mode 100644 index 00000000..6a5ff403 --- /dev/null +++ b/www/requirements.txt @@ -0,0 +1,4 @@ +mkdocs-material +mkdocs-minify-plugin +mkdocs-redirects +markdown-callouts