From 9e41c625a1c9a008685972c5b9ec781f9389781f Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Mon, 14 Jul 2025 11:32:28 +0100 Subject: [PATCH 01/18] AOP Fixes for v2 async (#3934) # Description of Changes --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --- .../software/common/aop/AutoJobAspect.java | 89 ++----------------- .../software/common/model/job/JobResult.java | 3 + .../software/common/service/TaskManager.java | 6 +- .../SPDF/config/CleanUrlInterceptor.java | 3 +- 4 files changed, 14 insertions(+), 87 deletions(-) diff --git a/common/src/main/java/stirling/software/common/aop/AutoJobAspect.java b/common/src/main/java/stirling/software/common/aop/AutoJobAspect.java index 51c1882b6..9f01c4558 100644 --- a/common/src/main/java/stirling/software/common/aop/AutoJobAspect.java +++ b/common/src/main/java/stirling/software/common/aop/AutoJobAspect.java @@ -43,6 +43,7 @@ public class AutoJobAspect { // This aspect will run before any audit aspects due to @Order(0) // Extract parameters from the request and annotation boolean async = Boolean.parseBoolean(request.getParameter("async")); + log.debug("AutoJobAspect: Processing {} {} with async={}", request.getMethod(), request.getRequestURI(), async); long timeout = autoJobPostMapping.timeout(); int retryCount = autoJobPostMapping.retryCount(); boolean trackProgress = autoJobPostMapping.trackProgress(); @@ -54,19 +55,8 @@ public class AutoJobAspect { retryCount, trackProgress); - // Copy and process arguments - // In a test environment, we might need to update the original objects for verification - boolean isTestEnvironment = false; - try { - isTestEnvironment = Class.forName("org.junit.jupiter.api.Test") != null; - } catch (ClassNotFoundException e) { - // Not in a test environment - } - - Object[] args = - isTestEnvironment - ? processArgsInPlace(joinPoint.getArgs(), async) - : copyAndProcessArgs(joinPoint.getArgs(), async); + // Process arguments in-place to avoid type mismatch issues + Object[] args = processArgsInPlace(joinPoint.getArgs(), async); // Extract queueable and resourceWeight parameters and validate boolean queueable = autoJobPostMapping.queueable(); @@ -229,79 +219,10 @@ public class AutoJobAspect { resourceWeight); } - /** - * Creates deep copies of arguments when needed to avoid mutating the original objects - * Particularly important for PDFFile objects that might be reused by Spring - * - * @param originalArgs The original arguments - * @param async Whether this is an async operation - * @return A new array with safely processed arguments - */ - private Object[] copyAndProcessArgs(Object[] originalArgs, boolean async) { - if (originalArgs == null || originalArgs.length == 0) { - return originalArgs; - } - - Object[] processedArgs = new Object[originalArgs.length]; - - // Copy all arguments - for (int i = 0; i < originalArgs.length; i++) { - Object arg = originalArgs[i]; - - if (arg instanceof PDFFile pdfFile) { - // Create a copy of PDFFile to avoid mutating the original - // Using direct property access instead of reflection for better performance - PDFFile pdfFileCopy = new PDFFile(); - pdfFileCopy.setFileId(pdfFile.getFileId()); - pdfFileCopy.setFileInput(pdfFile.getFileInput()); - - // Case 1: fileId is provided but no fileInput - if (pdfFileCopy.getFileInput() == null && pdfFileCopy.getFileId() != null) { - try { - log.debug("Using fileId {} to get file content", pdfFileCopy.getFileId()); - MultipartFile file = fileStorage.retrieveFile(pdfFileCopy.getFileId()); - pdfFileCopy.setFileInput(file); - } catch (Exception e) { - throw new RuntimeException( - "Failed to resolve file by ID: " + pdfFileCopy.getFileId(), e); - } - } - // Case 2: For async requests, we need to make a copy of the MultipartFile - else if (async && pdfFileCopy.getFileInput() != null) { - try { - log.debug("Making persistent copy of uploaded file for async processing"); - MultipartFile originalFile = pdfFileCopy.getFileInput(); - String fileId = fileStorage.storeFile(originalFile); - - // Store the fileId for later reference - pdfFileCopy.setFileId(fileId); - - // Replace the original MultipartFile with our persistent copy - MultipartFile persistentFile = fileStorage.retrieveFile(fileId); - pdfFileCopy.setFileInput(persistentFile); - - log.debug("Created persistent file copy with fileId: {}", fileId); - } catch (IOException e) { - throw new RuntimeException( - "Failed to create persistent copy of uploaded file", e); - } - } - - processedArgs[i] = pdfFileCopy; - } else { - // For non-PDFFile objects, just pass the original reference - // If other classes need copy-on-write, add them here - processedArgs[i] = arg; - } - } - - return processedArgs; - } /** - * Processes arguments in-place for testing purposes This is similar to our original - * implementation before introducing copy-on-write It's only used in test environments to - * maintain test compatibility + * Processes arguments in-place to handle file resolution and async file persistence. + * This approach avoids type mismatch issues by modifying the original objects directly. * * @param originalArgs The original arguments * @param async Whether this is an async operation diff --git a/common/src/main/java/stirling/software/common/model/job/JobResult.java b/common/src/main/java/stirling/software/common/model/job/JobResult.java index 1aa66d1a8..e4eb456fd 100644 --- a/common/src/main/java/stirling/software/common/model/job/JobResult.java +++ b/common/src/main/java/stirling/software/common/model/job/JobResult.java @@ -6,6 +6,8 @@ import java.util.Collections; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; +import com.fasterxml.jackson.annotation.JsonIgnore; + import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -28,6 +30,7 @@ public class JobResult { private String error; /** List of result files for jobs that produce files */ + @JsonIgnore private List resultFiles; /** Time when the job was created */ diff --git a/common/src/main/java/stirling/software/common/service/TaskManager.java b/common/src/main/java/stirling/software/common/service/TaskManager.java index 219ae4ac4..902b2bfd1 100644 --- a/common/src/main/java/stirling/software/common/service/TaskManager.java +++ b/common/src/main/java/stirling/software/common/service/TaskManager.java @@ -1,6 +1,5 @@ package stirling.software.common.service; -import io.github.pixee.security.ZipSecurity; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -21,6 +20,8 @@ import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import io.github.pixee.security.ZipSecurity; + import jakarta.annotation.PreDestroy; import lombok.extern.slf4j.Slf4j; @@ -361,7 +362,8 @@ public class TaskManager { MultipartFile zipFile = fileStorage.retrieveFile(zipFileId); try (ZipInputStream zipIn = - ZipSecurity.createHardenedInputStream(new ByteArrayInputStream(zipFile.getBytes()))) { + ZipSecurity.createHardenedInputStream( + new ByteArrayInputStream(zipFile.getBytes()))) { ZipEntry entry; while ((entry = zipIn.getNextEntry()) != null) { if (!entry.isDirectory()) { diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/CleanUrlInterceptor.java b/stirling-pdf/src/main/java/stirling/software/SPDF/config/CleanUrlInterceptor.java index eb9f2be33..088c0c0bf 100644 --- a/stirling-pdf/src/main/java/stirling/software/SPDF/config/CleanUrlInterceptor.java +++ b/stirling-pdf/src/main/java/stirling/software/SPDF/config/CleanUrlInterceptor.java @@ -29,7 +29,8 @@ public class CleanUrlInterceptor implements HandlerInterceptor { "type", "principal", "startDate", - "endDate"); + "endDate", + "async"); @Override public boolean preHandle( From 882170ebc9e448a825d33977167ee1e53d5050d2 Mon Sep 17 00:00:00 2001 From: Ludy Date: Mon, 14 Jul 2025 12:57:46 +0200 Subject: [PATCH 02/18] ci: improve PR deployment workflow and labeling (#3842) # Description of Changes - Updated the labeler rules in `.github/labeler-config-srvaroa.yml` to support optional scope (e.g., `feat(api):`) for all conventional commit prefixes. - Added broader matching for API-related PRs by including `swagger` and `api` keywords in title matching. - Introduced a new `pr-deployed` label in `.github/labels.yml` to indicate that a PR has been deployed to a test environment. - Enhanced the `PR-Demo-Comment-with-react.yml` workflow: - Replaced `create-github-app-token` with a local `setup-bot` action to standardize GitHub App auth. - Added logic to automatically label deployed PRs with `pr-deployed`. - Added cleanup logic for temporary files after workflow execution. - Improved the `PR-Demo-cleanup.yml` workflow: - Triggered now on `pull_request_target` instead of `pull_request` for better permission context. - Automatically removes the `pr-deployed` label and any bot-generated deployment comment when a PR is closed. - Added proper GitHub App auth handling via `setup-bot`. - Ensured conditional cleanup only occurs if relevant artifacts are present. try: https://github.com/Stirling-Tools/Stirling-PDF/security/code-scanning/240 --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --- .github/labeler-config-srvaroa.yml | 32 ++++--- .github/labels.yml | 3 + .../workflows/PR-Demo-Comment-with-react.yml | 72 ++++++++++------ .github/workflows/PR-Demo-cleanup.yml | 85 ++++++++++++++++++- 4 files changed, 154 insertions(+), 38 deletions(-) diff --git a/.github/labeler-config-srvaroa.yml b/.github/labeler-config-srvaroa.yml index b2324fbe3..e37a8a810 100644 --- a/.github/labeler-config-srvaroa.yml +++ b/.github/labeler-config-srvaroa.yml @@ -2,37 +2,46 @@ version: 1 labels: - label: "Bugfix" - title: '^fix:.*' + title: '^fix(\([^)]*\))?:|^fix:.*' - label: "enhancement" - title: '^feat:.*' + title: '^feat(\([^)]*\))?:|^feat:.*' - label: "build" - title: '^build:.*' + title: '^build(\([^)]*\))?:|^build:.*' - label: "chore" - title: '^chore:.*' + title: '^chore(\([^)]*\))?:|^chore:.*' - label: "ci" - title: '^ci:.*' + title: '^ci(\([^)]*\))?:|^ci:.*' + + - label: "ci" + title: '^.*\(ci\):.*' - label: "perf" - title: '^perf:.*' + title: '^perf(\([^)]*\))?:|^perf:.*' - label: "refactor" - title: '^refactor:.*' + title: '^refactor(\([^)]*\))?:|^refactor:.*' - label: "revert" - title: '^revert:.*' + title: '^revert(\([^)]*\))?:|^revert:.*' - label: "style" - title: '^style:.*' + title: '^style(\([^)]*\))?:|^style:.*' - label: "Documentation" - title: '^docs:.*' + title: '^docs(\([^)]*\))?:|^docs:.*' + + - label: "dependencies" + title: '^deps(\([^)]*\))?:|^deps:.*' + + - label: "dependencies" + title: '^.*\(deps\):.*' - label: 'API' - title: '.*openapi.*' + title: '.*openapi.*|.*swagger.*|.*api.*' - label: 'Translation' files: @@ -81,6 +90,7 @@ labels: - 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java' - 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/.*' - 'stirling-pdf/src/main/java/stirling/software/SPDF/model/api/.*' + - 'stirling-pdf/src/main/java/stirling/software/SPDF/service/ApiDocService.java' - 'proprietary/src/main/java/stirling/software/proprietary/security/controller/api/.*' - 'scripts/png_to_webp.py' - 'split_photos.py' diff --git a/.github/labels.yml b/.github/labels.yml index b7f5642e7..9b35ccb1a 100644 --- a/.github/labels.yml +++ b/.github/labels.yml @@ -175,3 +175,6 @@ description: "This PR changes 1000+ lines ignoring generated files." - name: "to research" color: "FBCA04" +- name: "pr-deployed" + color: "00FF00" + description: "Pull request has been deployed to a test environment" diff --git a/.github/workflows/PR-Demo-Comment-with-react.yml b/.github/workflows/PR-Demo-Comment-with-react.yml index edb696bf0..877a78524 100644 --- a/.github/workflows/PR-Demo-Comment-with-react.yml +++ b/.github/workflows/PR-Demo-Comment-with-react.yml @@ -6,20 +6,18 @@ on: permissions: contents: read - issues: write # Required for adding reactions to comments - pull-requests: read # Required for reading PR information + pull-requests: read jobs: check-comment: runs-on: ubuntu-latest permissions: issues: write - pull-requests: read if: | github.event.issue.pull_request && ( - contains(github.event.comment.body, 'prdeploy') || - contains(github.event.comment.body, 'deploypr') + contains(github.event.comment.body, 'prdeploy') || + contains(github.event.comment.body, 'deploypr') ) && ( @@ -47,10 +45,14 @@ jobs: with: egress-policy: audit - # Generate GitHub App token - - name: Generate GitHub App Token - id: generate-token - uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6 + - name: Checkout PR + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: Setup GitHub App Bot + if: github.actor != 'dependabot[bot]' + id: setup-bot + uses: ./.github/actions/setup-bot + continue-on-error: true with: app-id: ${{ secrets.GH_APP_ID }} private-key: ${{ secrets.GH_APP_PRIVATE_KEY }} @@ -123,7 +125,7 @@ jobs: id: add-eyes-reaction uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: - github-token: ${{ steps.generate-token.outputs.token }} + github-token: ${{ steps.setup-bot.outputs.token }} script: | console.log(`Adding eyes reaction to comment ID: ${context.payload.comment.id}`); try { @@ -145,8 +147,8 @@ jobs: needs: check-comment runs-on: ubuntu-latest permissions: - contents: read issues: write + pull-requests: write steps: - name: Harden Runner @@ -154,9 +156,14 @@ jobs: with: egress-policy: audit - - name: Generate GitHub App Token - id: generate-token - uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6 + - name: Checkout PR + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: Setup GitHub App Bot + if: github.actor != 'dependabot[bot]' + id: setup-bot + uses: ./.github/actions/setup-bot + continue-on-error: true with: app-id: ${{ secrets.GH_APP_ID }} private-key: ${{ secrets.GH_APP_PRIVATE_KEY }} @@ -166,7 +173,7 @@ jobs: with: repository: ${{ needs.check-comment.outputs.pr_repository }} ref: ${{ needs.check-comment.outputs.pr_ref }} - token: ${{ secrets.GITHUB_TOKEN }} + token: ${{ steps.setup-bot.outputs.token }} - name: Set up JDK uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 @@ -188,12 +195,6 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1 - - name: Get version number - id: versionNumber - run: | - VERSION=$(grep "^version =" build.gradle | awk -F'"' '{print $2}') - echo "versionNumber=$VERSION" >> $GITHUB_OUTPUT - - name: Login to Docker Hub uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0 with: @@ -297,7 +298,7 @@ jobs: if: success() uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: - github-token: ${{ steps.generate-token.outputs.token }} + github-token: ${{ steps.setup-bot.outputs.token }} script: | console.log(`Adding rocket reaction to comment ID: ${{ needs.check-comment.outputs.comment_id }}`); try { @@ -313,11 +314,26 @@ jobs: console.error(error); } + // add label to PR + const prNumber = ${{ needs.check-comment.outputs.pr_number }}; + try { + await github.rest.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: prNumber, + labels: ['pr-deployed'] + }); + console.log(`Added 'pr-deployed' label to PR #${prNumber}`); + } catch (error) { + console.error(`Failed to add label to PR: ${error.message}`); + console.error(error); + } + - name: Add failure reaction to comment if: failure() uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: - github-token: ${{ steps.generate-token.outputs.token }} + github-token: ${{ steps.setup-bot.outputs.token }} script: | console.log(`Adding -1 reaction to comment ID: ${{ needs.check-comment.outputs.comment_id }}`); try { @@ -337,7 +353,7 @@ jobs: if: success() uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: - github-token: ${{ steps.generate-token.outputs.token }} + github-token: ${{ steps.setup-bot.outputs.token }} script: | const { GITHUB_REPOSITORY } = process.env; const [repoOwner, repoName] = GITHUB_REPOSITORY.split('/'); @@ -357,3 +373,11 @@ jobs: issue_number: prNumber, body: commentBody }); + + - name: Cleanup temporary files + if: always() + run: | + echo "Cleaning up temporary files..." + rm -f ../private.key docker-compose.yml + echo "Cleanup complete." + continue-on-error: true diff --git a/.github/workflows/PR-Demo-cleanup.yml b/.github/workflows/PR-Demo-cleanup.yml index bec52c2bb..0cc6e3c1e 100644 --- a/.github/workflows/PR-Demo-cleanup.yml +++ b/.github/workflows/PR-Demo-cleanup.yml @@ -1,7 +1,7 @@ name: PR Deployment cleanup on: - pull_request: + pull_request_target: types: [opened, synchronize, reopened, closed] permissions: @@ -13,11 +13,11 @@ env: jobs: cleanup: + if: github.event.action == 'closed' runs-on: ubuntu-latest permissions: - contents: write pull-requests: write - if: github.event.action == 'closed' + issues: write steps: - name: Harden Runner @@ -25,13 +25,84 @@ jobs: with: egress-policy: audit + - name: Checkout PR + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: Setup GitHub App Bot + if: github.actor != 'dependabot[bot]' + id: setup-bot + uses: ./.github/actions/setup-bot + continue-on-error: true + with: + app-id: ${{ secrets.GH_APP_ID }} + private-key: ${{ secrets.GH_APP_PRIVATE_KEY }} + + - name: Remove 'pr-deployed' label if present + id: remove-label-comment + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + github-token: ${{ steps.setup-bot.outputs.token }} + script: | + const prNumber = ${{ github.event.pull_request.number }}; + const owner = context.repo.owner; + const repo = context.repo.repo; + + // Hole alle Labels auf dem PR + const { data: labels } = await github.rest.issues.listLabelsOnIssue({ + owner, + repo, + issue_number: prNumber + }); + + const hasLabel = labels.some(label => label.name === 'pr-deployed'); + + if (hasLabel) { + console.log("Label 'pr-deployed' found. Removing..."); + await github.rest.issues.removeLabel({ + owner, + repo, + issue_number: prNumber, + name: 'pr-deployed' + }); + } else { + console.log("Label 'pr-deployed' not found. Nothing to do."); + } + + // Find existing comment + const comments = await github.rest.issues.listComments({ + owner, + repo, + issue_number: prNumber + }); + + const deploymentComments = comments.data.filter(c => + c.body?.includes("## 🚀 PR Test Deployment") && + c.user?.type === "Bot" + ); + + if (deploymentComments.length > 0) { + for (const comment of deploymentComments) { + await github.rest.issues.deleteComment({ + owner, + repo, + comment_id: comment.id + }); + console.log(`Deleted deployment comment (ID: ${comment.id})`); + } + } else { + console.log("No matching deployment comments found."); + } + core.setOutput('present', hasLabel || deploymentComment ? 'true' : 'false'); + - name: Set up SSH + if: steps.remove-label-comment.outputs.present == 'true' run: | mkdir -p ~/.ssh/ echo "${{ secrets.VPS_SSH_KEY }}" > ../private.key sudo chmod 600 ../private.key - name: Cleanup PR deployment + if: steps.remove-label-comment.outputs.present == 'true' id: cleanup run: | ssh -i ../private.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -T ${{ secrets.VPS_USERNAME }}@${{ secrets.VPS_HOST }} << 'ENDSSH' @@ -57,3 +128,11 @@ jobs: echo "NO_CLEANUP_NEEDED" fi ENDSSH + + - name: Cleanup temporary files + if: always() + run: | + echo "Cleaning up temporary files..." + rm -f ../private.key + echo "Cleanup complete." + continue-on-error: true From b4df5c648a39687752ae8c6767c551fb15353c82 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Jul 2025 11:59:11 +0100 Subject: [PATCH 03/18] chore(deps): bump com.diffplug.spotless from 7.0.4 to 7.1.0 (#3904) Bumps com.diffplug.spotless from 7.0.4 to 7.1.0. [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless&package-manager=gradle&previous-version=7.0.4&new-version=7.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index a0d198c3a..113f690bf 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ plugins { id "org.springdoc.openapi-gradle-plugin" version "1.9.0" id "io.swagger.swaggerhub" version "1.3.2" id "edu.sc.seis.launch4j" version "3.0.6" - id "com.diffplug.spotless" version "7.0.4" + id "com.diffplug.spotless" version "7.1.0" id "com.github.jk1.dependency-license-report" version "2.9" //id "nebula.lint" version "19.0.3" id "org.panteleyev.jpackageplugin" version "1.7.3" From 17c75aee981f5a27b6f9c5ecd0bc69ab60cacb94 Mon Sep 17 00:00:00 2001 From: Ludy Date: Mon, 14 Jul 2025 13:01:22 +0200 Subject: [PATCH 04/18] chore(license-report): add `projects = [project]` to licenseReport to avoid deprecation warnings (#3933) # Description of Changes - **What was changed** Added the line `projects = [project]` to the `licenseReport` configuration in `build.gradle`. - **Why the change was made** Without specifying `projects`, the `licenseReport` plugin attempts to resolve configurations from a non-project context, resulting in numerous deprecation warnings. Explicitly setting `projects = [project]` scopes the report to the current project and silences these warnings. ``` - [warn] Resolution of the configuration :common:runtimeClasspath was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :common:detachedConfiguration146 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :common:detachedConfiguration147 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :common:detachedConfiguration148 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :common:detachedConfiguration149 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :common:detachedConfiguration150 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :common:detachedConfiguration151 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :common:detachedConfiguration152 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :common:developmentOnly was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :common:testAndDevelopmentOnly was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :proprietary:runtimeClasspath was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :proprietary:detachedConfiguration215 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :proprietary:detachedConfiguration216 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :proprietary:detachedConfiguration217 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :proprietary:detachedConfiguration218 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :proprietary:detachedConfiguration219 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :proprietary:detachedConfiguration220 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :proprietary:developmentOnly was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :proprietary:testAndDevelopmentOnly was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :stirling-pdf:runtimeClasspath was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :stirling-pdf:detachedConfiguration231 was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :stirling-pdf:developmentOnly was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. - [warn] Resolution of the configuration :stirling-pdf:testAndDevelopmentOnly was attempted from a context different than the project context. Have a look at the documentation to understand why this is a problem and how it can be resolved. This behavior has been deprecated. ``` --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --- build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle b/build.gradle index 113f690bf..54d702673 100644 --- a/build.gradle +++ b/build.gradle @@ -169,6 +169,7 @@ tasks.withType(JavaCompile).configureEach { } licenseReport { + projects = [project] renderers = [new JsonReportRenderer()] allowedLicensesFile = new File("$projectDir/allowed-licenses.json") } From 4ad293dd3b949295caec7957bec2f082e16ce21d Mon Sep 17 00:00:00 2001 From: Ludy Date: Mon, 14 Jul 2025 13:02:13 +0200 Subject: [PATCH 05/18] ci: fix Swagger docs generation by targeting stirling-pdf module (#3935) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Description of Changes **What was changed** - Updated the GitHub Actions workflow (`.github/workflows/swagger.yml`) to invoke the `:stirling-pdf:generateOpenApiDocs` task instead of the root `generateOpenApiDocs`. Refactored `build.gradle` to apply the `org.springdoc.openapi-gradle-plugin` exclusively to the `stirling-pdf` subproject, configured its `openApi` extension, and introduced new Gradle tasks—`copySwaggerDoc` and `cleanSwaggerInBuild`—to manage the generated `SwaggerDoc.json` file correctly. **Why the change was made** - The previous configuration failed to generate OpenAPI documentation for the `stirling-pdf` module. These changes ensure that Swagger documentation is produced from the correct module, uploaded to SwaggerHub as intended, and that temporary artifacts are cleaned up to maintain a tidy build directory. try #3932 --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --- .github/workflows/swagger.yml | 2 +- build.gradle | 48 +++++++++++++++++++++++++++-------- 2 files changed, 39 insertions(+), 11 deletions(-) diff --git a/.github/workflows/swagger.yml b/.github/workflows/swagger.yml index d717d5563..463736b65 100644 --- a/.github/workflows/swagger.yml +++ b/.github/workflows/swagger.yml @@ -29,7 +29,7 @@ jobs: - uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 - name: Generate Swagger documentation - run: ./gradlew generateOpenApiDocs + run: ./gradlew :stirling-pdf:generateOpenApiDocs - name: Upload Swagger Documentation to SwaggerHub run: ./gradlew swaggerhubUpload diff --git a/build.gradle b/build.gradle index 54d702673..84f2c1cb3 100644 --- a/build.gradle +++ b/build.gradle @@ -161,6 +161,44 @@ subprojects { tasks.named("processResources") { dependsOn(rootProject.tasks.writeVersion) } + + if (name == 'stirling-pdf') { + apply plugin: 'org.springdoc.openapi-gradle-plugin' + + openApi { + apiDocsUrl = "http://localhost:8080/v1/api-docs" + outputDir = file("$projectDir") + outputFileName = "SwaggerDoc.json" + waitTimeInSeconds = 60 // Increase the wait time to 60 seconds + } + + tasks.named("forkedSpringBootRun") { + dependsOn(":common:jar") + dependsOn(":proprietary:jar") + } + + tasks.register("copySwaggerDoc", Copy) { + doNotTrackState("Writes SwaggerDoc.json to project root") + from(layout.projectDirectory.file("SwaggerDoc.json")) + into(rootProject.projectDir) + dependsOn("generateOpenApiDocs") + } + + tasks.register("cleanSwaggerInBuild", Delete) { + doNotTrackState("Cleans up SwaggerDoc.json in build directory") + delete(layout.projectDirectory.file("SwaggerDoc.json")) + dependsOn("copySwaggerDoc") + } + + tasks.named("copySwaggerDoc") { + finalizedBy("cleanSwaggerInBuild") + } + + tasks.named("generateOpenApiDocs") { + finalizedBy("copySwaggerDoc") + doNotTrackState("OpenAPI plugin writes outside build directory") + } + } } tasks.withType(JavaCompile).configureEach { @@ -205,13 +243,6 @@ sourceSets { } } -openApi { - apiDocsUrl = "http://localhost:8080/v1/api-docs" - outputDir = file("$projectDir") - outputFileName = "SwaggerDoc.json" - waitTimeInSeconds = 60 // Increase the wait time to 60 seconds -} - // Configure the forked spring boot run task to properly delegate to the stirling-pdf module tasks.named('forkedSpringBootRun') { dependsOn ':stirling-pdf:bootRun' @@ -566,9 +597,6 @@ tasks.register('printMacVersion') { } } -tasks.named('generateOpenApiDocs') { - doNotTrackState("Tracking state is not supported for this task") -} tasks.named('bootRun') { group = 'application' description = 'Delegates to :stirling-pdf:bootRun' From b2f1404f68708d8f0b1400ed1503d860689d198e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Jul 2025 12:03:28 +0100 Subject: [PATCH 06/18] chore(deps): bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 (#3939) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0. [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.apache.commons:commons-lang3&package-manager=gradle&previous-version=3.17.0&new-version=3.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- common/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/build.gradle b/common/build.gradle index 6dfd222bf..2ab8c3b97 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -21,7 +21,7 @@ dependencies { api 'com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20240325.1' api 'com.fathzer:javaluator:3.0.6' api 'com.posthog.java:posthog:1.2.0' - api 'org.apache.commons:commons-lang3:3.17.0' + api 'org.apache.commons:commons-lang3:3.18.0' api 'com.drewnoakes:metadata-extractor:2.19.0' // Image metadata extractor api 'com.vladsch.flexmark:flexmark-html2md-converter:0.64.8' api "org.apache.pdfbox:pdfbox:$pdfboxVersion" From 03f184ab2bb2cfdb470de4b4f6ca60d324ca9fce Mon Sep 17 00:00:00 2001 From: Ludy Date: Mon, 14 Jul 2025 13:05:17 +0200 Subject: [PATCH 07/18] chore(cucumber): add create_pdf_with_black_boxes and convert-pdf-to-image outline; remove duplicate split-pdf-by-sections (#3937) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Description of Changes - **What was changed** - Introduced `create_pdf_with_black_boxes` helper function in `environment.py` for generating test PDFs with occluded content. - Added **Scenario Outline: Convert PDF to image** to `conversion.feature` to validate PDF→image conversion workflows. - Removed the duplicate **Scenario Outline: split-pdf-by-sections with different parameters** from `general.feature`. - **Why the change was made** - To enable testing of blacked-out content scenarios and ensure our suite covers image conversion. - To eliminate redundant tests and keep the feature files DRY and maintainable. --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [x] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --- testing/allEndpointsRemovedSettings.yml | 30 +- testing/cucumber/features/environment.py | 16 +- testing/cucumber/features/examples.feature | 238 ++++----- testing/cucumber/features/external.feature | 456 +++++++++--------- testing/cucumber/features/general.feature | 176 +++---- .../features/steps/step_definitions.py | 281 +++++++---- 6 files changed, 664 insertions(+), 533 deletions(-) diff --git a/testing/allEndpointsRemovedSettings.yml b/testing/allEndpointsRemovedSettings.yml index 8230b4418..7240fe128 100644 --- a/testing/allEndpointsRemovedSettings.yml +++ b/testing/allEndpointsRemovedSettings.yml @@ -65,17 +65,23 @@ premium: key: 00000000-0000-0000-0000-000000000000 enabled: false # Enable license key checks for pro/enterprise features proFeatures: + database: true # Enable database features SSOAutoLogin: false CustomMetadata: - autoUpdateMetadata: false # set to 'true' to automatically update metadata with below values - author: username # supports text such as 'John Doe' or types such as username to autopopulate with user's username - creator: Stirling-PDF # supports text such as 'Company-PDF' - producer: Stirling-PDF # supports text such as 'Company-PDF' + autoUpdateMetadata: false + author: username + creator: Stirling-PDF + producer: Stirling-PDF googleDrive: enabled: false clientId: '' apiKey: '' appId: '' + enterpriseFeatures: + audit: + enabled: true # Enable audit logging + level: 2 # Audit logging level: 0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE + retentionDays: 90 # Number of days to retain audit logs mail: enabled: false # set to 'true' to enable sending emails @@ -86,7 +92,7 @@ mail: from: '' # sender email address legal: - termsAndConditions: https://www.stirlingpdf.com/terms # URL to the terms and conditions of your application (e.g. https://example.com/terms). Empty string to disable or filename to load from local file in static folder + termsAndConditions: https://www.stirlingpdf.com/terms-and-conditions # URL to the terms and conditions of your application (e.g. https://example.com/terms). Empty string to disable or filename to load from local file in static folder privacyPolicy: https://www.stirlingpdf.com/privacy-policy # URL to the privacy policy of your application (e.g. https://example.com/privacy). Empty string to disable or filename to load from local file in static folder accessibilityStatement: '' # URL to the accessibility statement of your application (e.g. https://example.com/accessibility). Empty string to disable or filename to load from local file in static folder cookiePolicy: '' # URL to the cookie policy of your application (e.g. https://example.com/cookie). Empty string to disable or filename to load from local file in static folder @@ -120,6 +126,15 @@ system: weasyprint: '' # Defaults to /opt/venv/bin/weasyprint unoconvert: '' # Defaults to /opt/venv/bin/unoconvert fileUploadLimit: '' # Defaults to "". No limit when string is empty. Set a number, between 0 and 999, followed by one of the following strings to set a limit. "KB", "MB", "GB". + tempFileManagement: + baseTmpDir: '' # Defaults to java.io.tmpdir/stirling-pdf + libreofficeDir: '' # Defaults to tempFileManagement.baseTmpDir/libreoffice + systemTempDir: '' # Only used if cleanupSystemTemp is true + prefix: stirling-pdf- # Prefix for temp file names + maxAgeHours: 24 # Maximum age in hours before temp files are cleaned up + cleanupIntervalMinutes: 30 # How often to run cleanup (in minutes) + startupCleanup: true # Clean up old temp files on startup + cleanupSystemTemp: false # Whether to clean broader system temp directory ui: appName: '' # application's visible name @@ -150,6 +165,8 @@ processExecutor: weasyPrintSessionLimit: 16 installAppSessionLimit: 1 calibreSessionLimit: 1 + ghostscriptSessionLimit: 8 + ocrMyPdfSessionLimit: 2 timeoutMinutes: # Process executor timeout in minutes libreOfficetimeoutMinutes: 30 pdfToHtmltimeoutMinutes: 20 @@ -158,3 +175,6 @@ processExecutor: installApptimeoutMinutes: 60 calibretimeoutMinutes: 30 tesseractTimeoutMinutes: 30 + qpdfTimeoutMinutes: 30 + ghostscriptTimeoutMinutes: 30 + ocrMyPdfTimeoutMinutes: 30 diff --git a/testing/cucumber/features/environment.py b/testing/cucumber/features/environment.py index c85eb001d..ac6676f86 100644 --- a/testing/cucumber/features/environment.py +++ b/testing/cucumber/features/environment.py @@ -1,21 +1,25 @@ import os + def before_all(context): context.endpoint = None context.request_data = None context.files = {} context.response = None + def after_scenario(context, scenario): - if hasattr(context, 'files'): + if hasattr(context, "files"): for file in context.files.values(): file.close() - if os.path.exists('response_file'): - os.remove('response_file') - if hasattr(context, 'file_name') and os.path.exists(context.file_name): + if os.path.exists("response_file"): + os.remove("response_file") + if hasattr(context, "file_name") and os.path.exists(context.file_name): os.remove(context.file_name) # Remove any temporary files - for temp_file in os.listdir('.'): - if temp_file.startswith('genericNonCustomisableName') or temp_file.startswith('temp_image_'): + for temp_file in os.listdir("."): + if temp_file.startswith("genericNonCustomisableName") or temp_file.startswith( + "temp_image_" + ): os.remove(temp_file) diff --git a/testing/cucumber/features/examples.feature b/testing/cucumber/features/examples.feature index 3594861d2..398a80ce1 100644 --- a/testing/cucumber/features/examples.feature +++ b/testing/cucumber/features/examples.feature @@ -1,132 +1,132 @@ @example @general Feature: API Validation - @positive @password - Scenario: Remove password - Given I generate a PDF file as "fileInput" - And the pdf contains 3 pages - And the pdf is encrypted with password "password123" - And the request data includes - | parameter | value | - | password | password123 | - When I send the API request to the endpoint "/api/v1/security/remove-password" - Then the response content type should be "application/pdf" - And the response file should have size greater than 0 - And the response PDF is not passworded - And the response status code should be 200 + @positive @password + Scenario: Remove password + Given I generate a PDF file as "fileInput" + And the pdf contains 3 pages + And the pdf is encrypted with password "password123" + And the request data includes + | parameter | value | + | password | password123 | + When I send the API request to the endpoint "/api/v1/security/remove-password" + Then the response content type should be "application/pdf" + And the response file should have size greater than 0 + And the response PDF is not passworded + And the response status code should be 200 - @negative @password - Scenario: Remove password wrong password - Given I generate a PDF file as "fileInput" - And the pdf contains 3 pages - And the pdf is encrypted with password "password123" - And the request data includes - | parameter | value | - | password | wrongPassword | - When I send the API request to the endpoint "/api/v1/security/remove-password" - Then the response status code should be 500 - And the response should contain error message "Internal Server Error" + @negative @password + Scenario: Remove password wrong password + Given I generate a PDF file as "fileInput" + And the pdf contains 3 pages + And the pdf is encrypted with password "password123" + And the request data includes + | parameter | value | + | password | wrongPassword | + When I send the API request to the endpoint "/api/v1/security/remove-password" + Then the response status code should be 500 + And the response should contain error message "Internal Server Error" - @positive @info - Scenario: Get info - Given I generate a PDF file as "fileInput" - When I send the API request to the endpoint "/api/v1/security/get-info-on-pdf" - Then the response content type should be "application/json" - And the response file should have size greater than 100 - And the response status code should be 200 + @positive @info + Scenario: Get info + Given I generate a PDF file as "fileInput" + When I send the API request to the endpoint "/api/v1/security/get-info-on-pdf" + Then the response content type should be "application/json" + And the response file should have size greater than 100 + And the response status code should be 200 - @positive @password - Scenario: Add password - Given I generate a PDF file as "fileInput" - And the pdf contains 3 pages - And the request data includes - | parameter | value | - | password | password123 | - When I send the API request to the endpoint "/api/v1/security/add-password" - Then the response content type should be "application/pdf" - And the response file should have size greater than 100 - And the response PDF is passworded - And the response status code should be 200 + @positive @password + Scenario: Add password + Given I generate a PDF file as "fileInput" + And the pdf contains 3 pages + And the request data includes + | parameter | value | + | password | password123 | + When I send the API request to the endpoint "/api/v1/security/add-password" + Then the response content type should be "application/pdf" + And the response file should have size greater than 100 + And the response PDF is passworded + And the response status code should be 200 - @positive @password - Scenario: Add password with other params - Given I generate a PDF file as "fileInput" - And the pdf contains 3 pages - And the request data includes - | parameter | value | - | ownerPassword | ownerPass | - | password | password123 | - | keyLength | 256 | - | canPrint | true | - | canModify | false | - When I send the API request to the endpoint "/api/v1/security/add-password" - Then the response content type should be "application/pdf" - And the response file should have size greater than 100 - And the response PDF is passworded - And the response status code should be 200 + @positive @password + Scenario: Add password with other params + Given I generate a PDF file as "fileInput" + And the pdf contains 3 pages + And the request data includes + | parameter | value | + | ownerPassword | ownerPass | + | password | password123 | + | keyLength | 256 | + | canPrint | true | + | canModify | false | + When I send the API request to the endpoint "/api/v1/security/add-password" + Then the response content type should be "application/pdf" + And the response file should have size greater than 100 + And the response PDF is passworded + And the response status code should be 200 - @positive @watermark - Scenario: Add watermark - Given I generate a PDF file as "fileInput" - And the pdf contains 3 pages - And the request data includes - | parameter | value | - | watermarkType | text | - | watermarkText | Sample Watermark | - | fontSize | 30 | - | rotation | 45 | - | opacity | 0.5 | - | widthSpacer | 50 | - | heightSpacer | 50 | - | alphabet | roman | - | customColor | #d3d3d3 | - When I send the API request to the endpoint "/api/v1/security/add-watermark" - Then the response content type should be "application/pdf" - And the response file should have size greater than 100 - And the response status code should be 200 + @positive @watermark + Scenario: Add watermark + Given I generate a PDF file as "fileInput" + And the pdf contains 3 pages + And the request data includes + | parameter | value | + | watermarkType | text | + | watermarkText | Sample Watermark | + | fontSize | 30 | + | rotation | 45 | + | opacity | 0.5 | + | widthSpacer | 50 | + | heightSpacer | 50 | + | alphabet | roman | + | customColor | #d3d3d3 | + When I send the API request to the endpoint "/api/v1/security/add-watermark" + Then the response content type should be "application/pdf" + And the response file should have size greater than 100 + And the response status code should be 200 - @positive - Scenario: Remove blank pages - Given I generate a PDF file as "fileInput" - And the pdf contains 3 blank pages - And the request data includes - | parameter | value | - | threshold | 90 | - | whitePercent | 99.9 | - When I send the API request to the endpoint "/api/v1/misc/remove-blanks" - Then the response content type should be "application/octet-stream" - And the response file should have extension ".zip" - And the response ZIP should contain 1 files - And the response file should have size greater than 0 + @positive + Scenario: Remove blank pages + Given I generate a PDF file as "fileInput" + And the pdf contains 3 blank pages + And the request data includes + | parameter | value | + | threshold | 90 | + | whitePercent | 99.9 | + When I send the API request to the endpoint "/api/v1/misc/remove-blanks" + Then the response content type should be "application/octet-stream" + And the response file should have extension ".zip" + And the response ZIP should contain 1 files + And the response file should have size greater than 0 - @positive @flatten - Scenario: Flatten PDF - Given I generate a PDF file as "fileInput" - And the request data includes - | parameter | value | - | flattenOnlyForms | false | - When I send the API request to the endpoint "/api/v1/misc/flatten" - Then the response content type should be "application/pdf" - And the response file should have size greater than 0 - And the response status code should be 200 + @positive @flatten + Scenario: Flatten PDF + Given I generate a PDF file as "fileInput" + And the request data includes + | parameter | value | + | flattenOnlyForms | false | + When I send the API request to the endpoint "/api/v1/misc/flatten" + Then the response content type should be "application/pdf" + And the response file should have size greater than 0 + And the response status code should be 200 - @positive @metadata - Scenario: Update metadata - Given I generate a PDF file as "fileInput" - And the request data includes - | parameter | value | - | author | John Doe | - | title | Sample Title | - | subject | Sample Subject | - | keywords | sample, test | - | producer | Test Producer | - When I send the API request to the endpoint "/api/v1/misc/update-metadata" - Then the response content type should be "application/pdf" - And the response file should have size greater than 0 - And the response PDF metadata should include "Author" as "John Doe" - And the response PDF metadata should include "Keywords" as "sample, test" - And the response PDF metadata should include "Subject" as "Sample Subject" - And the response PDF metadata should include "Title" as "Sample Title" - And the response status code should be 200 + @positive @metadata + Scenario: Update metadata + Given I generate a PDF file as "fileInput" + And the request data includes + | parameter | value | + | author | John Doe | + | title | Sample Title | + | subject | Sample Subject | + | keywords | sample, test | + | producer | Test Producer | + When I send the API request to the endpoint "/api/v1/misc/update-metadata" + Then the response content type should be "application/pdf" + And the response file should have size greater than 0 + And the response PDF metadata should include "Author" as "John Doe" + And the response PDF metadata should include "Keywords" as "sample, test" + And the response PDF metadata should include "Subject" as "Sample Subject" + And the response PDF metadata should include "Title" as "Sample Title" + And the response status code should be 200 diff --git a/testing/cucumber/features/external.feature b/testing/cucumber/features/external.feature index 23ef039e7..ad83a01ae 100644 --- a/testing/cucumber/features/external.feature +++ b/testing/cucumber/features/external.feature @@ -1,230 +1,250 @@ Feature: API Validation - @libre @positive - Scenario: Repair PDF - Given I generate a PDF file as "fileInput" - When I send the API request to the endpoint "/api/v1/misc/repair" - Then the response content type should be "application/pdf" - And the response file should have size greater than 0 - And the response status code should be 200 - - - @ocr @positive - Scenario: Process PDF with OCR - Given I generate a PDF file as "fileInput" - And the request data includes - | parameter | value | - | languages | eng | - | sidecar | false | - | deskew | true | - | clean | true | - | cleanFinal | true | - | ocrType | Normal | - | ocrRenderType | hocr | - | removeImagesAfter| false | - When I send the API request to the endpoint "/api/v1/misc/ocr-pdf" - Then the response content type should be "application/pdf" - And the response file should have size greater than 0 - And the response status code should be 200 + @libre @positive + Scenario: Repair PDF + Given I generate a PDF file as "fileInput" + When I send the API request to the endpoint "/api/v1/misc/repair" + Then the response content type should be "application/pdf" + And the response file should have size greater than 0 + And the response status code should be 200 - @ocr @positive - Scenario: Extract Image Scans - Given I generate a PDF file as "fileInput" - And the pdf contains 3 images of size 300x300 on 2 pages - And the request data includes - | parameter | value | - | angleThreshold | 5 | - | tolerance | 20 | - | minArea | 8000 | - | minContourArea | 500 | - | borderSize | 1 | - When I send the API request to the endpoint "/api/v1/misc/extract-image-scans" - Then the response content type should be "application/octet-stream" - And the response file should have extension ".zip" - And the response ZIP should contain 2 files - And the response file should have size greater than 0 - And the response status code should be 200 - - - @ocr @positive - Scenario: Process PDF with OCR - Given I generate a PDF file as "fileInput" - And the request data includes - | parameter | value | - | languages | eng | - | sidecar | false | - | deskew | true | - | clean | true | - | cleanFinal | true | - | ocrType | Force | - | ocrRenderType | hocr | - | removeImagesAfter| false | - When I send the API request to the endpoint "/api/v1/misc/ocr-pdf" - Then the response content type should be "application/pdf" - And the response file should have size greater than 0 - And the response status code should be 200 + @ocr @positive + Scenario: Process PDF with OCR + Given I generate a PDF file as "fileInput" + And the request data includes + | parameter | value | + | languages | eng | + | sidecar | false | + | deskew | true | + | clean | true | + | cleanFinal | true | + | ocrType | Normal | + | ocrRenderType | hocr | + | removeImagesAfter | false | + When I send the API request to the endpoint "/api/v1/misc/ocr-pdf" + Then the response content type should be "application/pdf" + And the response file should have size greater than 0 + And the response status code should be 200 - @libre @positive - Scenario Outline: Convert PDF to various word formats - Given I generate a PDF file as "fileInput" - And the pdf contains 3 pages with random text - And the request data includes - | parameter | value | - | outputFormat | | - When I send the API request to the endpoint "/api/v1/convert/pdf/word" - Then the response status code should be 200 - And the response file should have size greater than 100 - And the response file should have extension "" + @ocr @positive + Scenario: Extract Image Scans + Given I generate a PDF file as "fileInput" + And the pdf contains 3 images of size 300x300 on 2 pages + And the request data includes + | parameter | value | + | angleThreshold | 5 | + | tolerance | 20 | + | minArea | 8000 | + | minContourArea | 500 | + | borderSize | 1 | + When I send the API request to the endpoint "/api/v1/misc/extract-image-scans" + Then the response content type should be "application/octet-stream" + And the response file should have extension ".zip" + And the response ZIP should contain 2 files + And the response file should have size greater than 0 + And the response status code should be 200 - Examples: - | format | extension | - | docx | .docx | - | odt | .odt | - | doc | .doc | - @ocr @pdfa1 - Scenario: PDFA - Given I use an example file at "exampleFiles/pdfa2.pdf" as parameter "fileInput" - And the request data includes - | parameter | value | - | outputFormat | pdfa | - When I send the API request to the endpoint "/api/v1/convert/pdf/pdfa" - Then the response status code should be 200 - And the response file should have extension ".pdf" - And the response file should have size greater than 100 - - @ocr @pdfa2 - Scenario: PDFA1 - Given I use an example file at "exampleFiles/pdfa1.pdf" as parameter "fileInput" - And the request data includes - | parameter | value | - | outputFormat | pdfa-1 | - When I send the API request to the endpoint "/api/v1/convert/pdf/pdfa" - Then the response status code should be 200 - And the response file should have extension ".pdf" - And the response file should have size greater than 100 - - @compress @qpdf @positive - Scenario: Compress - Given I use an example file at "exampleFiles/ghost3.pdf" as parameter "fileInput" - And the request data includes - | parameter | value | - | optimizeLevel | 4 | - When I send the API request to the endpoint "/api/v1/misc/compress-pdf" - Then the response status code should be 200 - And the response file should have extension ".pdf" - And the response file should have size greater than 100 - - @compress @qpdf @positive - Scenario: Compress - Given I use an example file at "exampleFiles/ghost2.pdf" as parameter "fileInput" - And the request data includes - | parameter | value | - | optimizeLevel | 1 | - | expectedOutputSize | 5KB | - When I send the API request to the endpoint "/api/v1/misc/compress-pdf" - Then the response status code should be 200 - And the response file should have extension ".pdf" - And the response file should have size greater than 100 - - - @compress @qpdf @positive - Scenario: Compress - Given I use an example file at "exampleFiles/ghost1.pdf" as parameter "fileInput" - And the request data includes - | parameter | value | - | optimizeLevel | 1 | - | expectedOutputSize | 5KB | - When I send the API request to the endpoint "/api/v1/misc/compress-pdf" - Then the response status code should be 200 - And the response file should have extension ".pdf" - And the response file should have size greater than 100 - - @libre @positive - Scenario Outline: Convert PDF to various types - Given I generate a PDF file as "fileInput" - And the pdf contains 3 pages with random text - And the request data includes - | parameter | value | - | outputFormat | | - When I send the API request to the endpoint "/api/v1/convert/pdf/" - Then the response status code should be 200 - And the response file should have size greater than 100 - And the response file should have extension "" + @ocr @positive + Scenario: Process PDF with OCR + Given I generate a PDF file as "fileInput" + And the request data includes + | parameter | value | + | languages | eng | + | sidecar | false | + | deskew | true | + | clean | true | + | cleanFinal | true | + | ocrType | Force | + | ocrRenderType | hocr | + | removeImagesAfter | false | + When I send the API request to the endpoint "/api/v1/misc/ocr-pdf" + Then the response content type should be "application/pdf" + And the response file should have size greater than 0 + And the response status code should be 200 - Examples: - | type | format | extension | - | text | rtf | .rtf | - | text | txt | .txt | - | presentation | ppt | .ppt | - | presentation | pptx | .pptx | - | presentation | odp | .odp | - | html | html | .zip | - - @libre @positive @topdf - Scenario Outline: Convert PDF to various types - Given I use an example file at "exampleFiles/example" as parameter "fileInput" - When I send the API request to the endpoint "/api/v1/convert/file/pdf" - Then the response status code should be 200 - And the response file should have size greater than 100 - And the response file should have extension ".pdf" + @libre @positive + Scenario Outline: Convert PDF to various word formats + Given I generate a PDF file as "fileInput" + And the pdf contains 3 pages with random text + And the request data includes + | parameter | value | + | outputFormat | | + When I send the API request to the endpoint "/api/v1/convert/pdf/word" + Then the response status code should be 200 + And the response file should have size greater than 100 + And the response file should have extension "" - Examples: - | extension | - | .docx | - | .odp | - | .odt | - | .pptx | - | .rtf | - - @calibre @positive @htmltopdf - Scenario: Convert HTML to PDF - Given I use an example file at "exampleFiles/example.html" as parameter "fileInput" - When I send the API request to the endpoint "/api/v1/convert/html/pdf" - Then the response status code should be 200 - And the response file should have size greater than 100 - And the response file should have extension ".pdf" - - @calibre @positive @zippedhtmltopdf - Scenario: Convert zipped HTML to PDF - Given I use an example file at "exampleFiles/example_html.zip" as parameter "fileInput" - When I send the API request to the endpoint "/api/v1/convert/html/pdf" - Then the response status code should be 200 - And the response file should have size greater than 100 - And the response file should have extension ".pdf" - - @calibre @positive @markdowntopdf - Scenario: Convert Markdown to PDF - Given I use an example file at "exampleFiles/example.md" as parameter "fileInput" - When I send the API request to the endpoint "/api/v1/convert/markdown/pdf" - Then the response status code should be 200 - And the response file should have size greater than 100 - And the response file should have extension ".pdf" - - @markdown @positive - Scenario: Convert PDF to Markdown format - Given I generate a PDF file as "fileInput" - And the pdf contains 3 pages with random text - When I send the API request to the endpoint "/api/v1/convert/pdf/markdown" - Then the response status code should be 200 - And the response file should have size greater than 100 - And the response file should have extension ".md" - - - @positive @pdftocsv - Scenario: Convert PDF with tables to CSV format - Given I use an example file at "exampleFiles/tables.pdf" as parameter "fileInput" - And the request data includes - | parameter | value | - | outputFormat | csv | - | pageNumbers | all | - When I send the API request to the endpoint "/api/v1/convert/pdf/csv" - Then the response status code should be 200 - And the response file should have size greater than 200 - And the response file should have extension ".zip" - And the response ZIP should contain 3 files - \ No newline at end of file + Examples: + | format | extension | + | docx | .docx | + | odt | .odt | + | doc | .doc | + + @ocr @pdfa1 + Scenario: PDFA + Given I use an example file at "exampleFiles/pdfa2.pdf" as parameter "fileInput" + And the request data includes + | parameter | value | + | outputFormat | pdfa | + When I send the API request to the endpoint "/api/v1/convert/pdf/pdfa" + Then the response status code should be 200 + And the response file should have extension ".pdf" + And the response file should have size greater than 100 + + @ocr @pdfa2 + Scenario: PDFA1 + Given I use an example file at "exampleFiles/pdfa1.pdf" as parameter "fileInput" + And the request data includes + | parameter | value | + | outputFormat | pdfa-1 | + When I send the API request to the endpoint "/api/v1/convert/pdf/pdfa" + Then the response status code should be 200 + And the response file should have extension ".pdf" + And the response file should have size greater than 100 + + @compress @qpdf @positive + Scenario: Compress + Given I use an example file at "exampleFiles/ghost3.pdf" as parameter "fileInput" + And the request data includes + | parameter | value | + | optimizeLevel | 4 | + When I send the API request to the endpoint "/api/v1/misc/compress-pdf" + Then the response status code should be 200 + And the response file should have extension ".pdf" + And the response file should have size greater than 100 + + @compress @qpdf @positive + Scenario: Compress + Given I use an example file at "exampleFiles/ghost2.pdf" as parameter "fileInput" + And the request data includes + | parameter | value | + | optimizeLevel | 1 | + | expectedOutputSize | 5KB | + When I send the API request to the endpoint "/api/v1/misc/compress-pdf" + Then the response status code should be 200 + And the response file should have extension ".pdf" + And the response file should have size greater than 100 + + + @compress @qpdf @positive + Scenario: Compress + Given I use an example file at "exampleFiles/ghost1.pdf" as parameter "fileInput" + And the request data includes + | parameter | value | + | optimizeLevel | 1 | + | expectedOutputSize | 5KB | + When I send the API request to the endpoint "/api/v1/misc/compress-pdf" + Then the response status code should be 200 + And the response file should have extension ".pdf" + And the response file should have size greater than 100 + + @libre @positive + Scenario Outline: Convert PDF to various types + Given I generate a PDF file as "fileInput" + And the pdf contains 3 pages with random text + And the request data includes + | parameter | value | + | outputFormat | | + When I send the API request to the endpoint "/api/v1/convert/pdf/" + Then the response status code should be 200 + And the response file should have size greater than 100 + And the response file should have extension "" + + Examples: + | type | format | extension | + | text | rtf | .rtf | + | text | txt | .txt | + | presentation | ppt | .ppt | + | presentation | pptx | .pptx | + | presentation | odp | .odp | + | html | html | .zip | + + @image @positive + Scenario Outline: Convert PDF to image + Given I generate a PDF file as "fileInput" + And the pdf contains 3 pages with random text + And the pdf contains 3 images of size 300x300 on 3 pages + And the request data includes + | parameter | value | + | dpi | 300 | + | imageFormat | | + When I send the API request to the endpoint "/api/v1/convert/pdf/img" + Then the response status code should be 200 + And the response file should have size greater than 100 + And the response file should have extension ".zip" + + Examples: + | format | + | webp | + | png | + | jpeg | + | jpg | + | gif | + + @libre @positive @topdf + Scenario Outline: Convert PDF to various types + Given I use an example file at "exampleFiles/example" as parameter "fileInput" + When I send the API request to the endpoint "/api/v1/convert/file/pdf" + Then the response status code should be 200 + And the response file should have size greater than 100 + And the response file should have extension ".pdf" + + Examples: + | extension | + | .docx | + | .odp | + | .odt | + | .pptx | + | .rtf | + + @calibre @positive @htmltopdf + Scenario: Convert HTML to PDF + Given I use an example file at "exampleFiles/example.html" as parameter "fileInput" + When I send the API request to the endpoint "/api/v1/convert/html/pdf" + Then the response status code should be 200 + And the response file should have size greater than 100 + And the response file should have extension ".pdf" + + @calibre @positive @zippedhtmltopdf + Scenario: Convert zipped HTML to PDF + Given I use an example file at "exampleFiles/example_html.zip" as parameter "fileInput" + When I send the API request to the endpoint "/api/v1/convert/html/pdf" + Then the response status code should be 200 + And the response file should have size greater than 100 + And the response file should have extension ".pdf" + + @calibre @positive @markdowntopdf + Scenario: Convert Markdown to PDF + Given I use an example file at "exampleFiles/example.md" as parameter "fileInput" + When I send the API request to the endpoint "/api/v1/convert/markdown/pdf" + Then the response status code should be 200 + And the response file should have size greater than 100 + And the response file should have extension ".pdf" + + @markdown @positive + Scenario: Convert PDF to Markdown format + Given I generate a PDF file as "fileInput" + And the pdf contains 3 pages with random text + When I send the API request to the endpoint "/api/v1/convert/pdf/markdown" + Then the response status code should be 200 + And the response file should have size greater than 100 + And the response file should have extension ".md" + + + @positive @pdftocsv + Scenario: Convert PDF with tables to CSV format + Given I use an example file at "exampleFiles/tables.pdf" as parameter "fileInput" + And the request data includes + | parameter | value | + | outputFormat | csv | + | pageNumbers | all | + When I send the API request to the endpoint "/api/v1/convert/pdf/csv" + Then the response status code should be 200 + And the response file should have size greater than 200 + And the response file should have extension ".zip" + And the response ZIP should contain 3 files diff --git a/testing/cucumber/features/general.feature b/testing/cucumber/features/general.feature index 3ac610669..9736e2f30 100644 --- a/testing/cucumber/features/general.feature +++ b/testing/cucumber/features/general.feature @@ -2,113 +2,89 @@ Feature: API Validation - @split-pdf-by-sections @positive - Scenario Outline: split-pdf-by-sections with different parameters - Given I generate a PDF file as "fileInput" - And the pdf contains 2 pages - And the request data includes - | parameter | value | - | horizontalDivisions | | - | verticalDivisions | | - | merge | true | - When I send the API request to the endpoint "/api/v1/general/split-pdf-by-sections" - Then the response content type should be "application/pdf" - And the response file should have size greater than 200 - And the response status code should be 200 - And the response PDF should contain pages + @split-pdf-by-sections @positive + Scenario Outline: split-pdf-by-sections with different parameters + Given I generate a PDF file as "fileInput" + And the pdf contains 2 pages + And the request data includes + | parameter | value | + | horizontalDivisions | | + | verticalDivisions | | + | merge | true | + When I send the API request to the endpoint "/api/v1/general/split-pdf-by-sections" + Then the response content type should be "application/pdf" + And the response file should have size greater than 200 + And the response status code should be 200 + And the response PDF should contain pages - Examples: - | horizontalDivisions | verticalDivisions | page_count | - | 0 | 1 | 4 | - | 1 | 1 | 8 | - | 1 | 2 | 12 | - | 2 | 2 | 18 | - - @split-pdf-by-sections @positive - Scenario Outline: split-pdf-by-sections with different parameters - Given I generate a PDF file as "fileInput" - And the pdf contains 2 pages - And the request data includes - | parameter | value | - | horizontalDivisions | | - | verticalDivisions | | - | merge | true | - When I send the API request to the endpoint "/api/v1/general/split-pdf-by-sections" - Then the response content type should be "application/pdf" - And the response file should have size greater than 200 - And the response status code should be 200 - And the response PDF should contain pages - - Examples: - | horizontalDivisions | verticalDivisions | page_count | - | 0 | 1 | 4 | - | 1 | 1 | 8 | - | 1 | 2 | 12 | - | 2 | 2 | 18 | + Examples: + | horizontalDivisions | verticalDivisions | page_count | + | 0 | 1 | 4 | + | 1 | 1 | 8 | + | 1 | 2 | 12 | + | 2 | 2 | 18 | + @split-pdf-by-pages @positive + Scenario Outline: split-pdf-by-pages with different parameters + Given I generate a PDF file as "fileInput" + And the pdf contains 20 pages + And the request data includes + | parameter | value | + | fileInput | fileInput | + | pageNumbers | | + When I send the API request to the endpoint "/api/v1/general/split-pages" + Then the response content type should be "application/octet-stream" + And the response status code should be 200 + And the response file should have size greater than 200 + And the response ZIP should contain files - @split-pdf-by-pages @positive - Scenario Outline: split-pdf-by-pages with different parameters - Given I generate a PDF file as "fileInput" - And the pdf contains 20 pages - And the request data includes - | parameter | value | - | fileInput | fileInput | - | pageNumbers | | - When I send the API request to the endpoint "/api/v1/general/split-pages" - Then the response content type should be "application/octet-stream" - And the response status code should be 200 - And the response file should have size greater than 200 - And the response ZIP should contain files - - Examples: - | pageNumbers | file_count | - | 1,3,5-9 | 8 | - | all | 20 | - | 2n+1 | 10 | - | 3n | 7 | + Examples: + | pageNumbers | file_count | + | 1,3,5-9 | 8 | + | all | 20 | + | 2n+1 | 10 | + | 3n | 7 | + @split-pdf-by-size-or-count @positive + Scenario Outline: split-pdf-by-size-or-count with different parameters + Given I generate a PDF file as "fileInput" + And the pdf contains 20 pages + And the request data includes + | parameter | value | + | fileInput | fileInput | + | splitType | | + | splitValue | | + When I send the API request to the endpoint "/api/v1/general/split-by-size-or-count" + Then the response content type should be "application/octet-stream" + And the response status code should be 200 + And the response file should have size greater than 200 + And the response ZIP file should contain documents each having pages - @split-pdf-by-size-or-count @positive - Scenario Outline: split-pdf-by-size-or-count with different parameters - Given I generate a PDF file as "fileInput" - And the pdf contains 20 pages - And the request data includes - | parameter | value | - | fileInput | fileInput | - | splitType | | - | splitValue | | - When I send the API request to the endpoint "/api/v1/general/split-by-size-or-count" - Then the response content type should be "application/octet-stream" - And the response status code should be 200 - And the response file should have size greater than 200 - And the response ZIP file should contain documents each having pages - - Examples: - | splitType | splitValue | doc_count | pages_per_doc | - | 1 | 5 | 4 | 5 | - | 2 | 2 | 2 | 10 | - | 2 | 4 | 4 | 5 | - | 1 | 10 | 2 | 10 | + Examples: + | splitType | splitValue | doc_count | pages_per_doc | + | 1 | 5 | 4 | 5 | + | 2 | 2 | 2 | 10 | + | 2 | 4 | 4 | 5 | + | 1 | 10 | 2 | 10 | - @extract-images - Scenario Outline: Extract Image Scans duplicates - Given I use an example file at "exampleFiles/images.pdf" as parameter "fileInput" - And the request data includes - | parameter | value | - | format | | - When I send the API request to the endpoint "/api/v1/misc/extract-images" - Then the response content type should be "application/octet-stream" - And the response file should have extension ".zip" - And the response ZIP should contain 2 files - And the response file should have size greater than 0 - And the response status code should be 200 + @extract-images + Scenario Outline: Extract Image Scans duplicates + Given I use an example file at "exampleFiles/images.pdf" as parameter "fileInput" + And the request data includes + | parameter | value | + | format | | + When I send the API request to the endpoint "/api/v1/misc/extract-images" + Then the response content type should be "application/octet-stream" + And the response file should have extension ".zip" + And the response ZIP should contain 2 files + And the response file should have size greater than 0 + And the response status code should be 200 - Examples: - | format | - | png | - | gif | - | jpeg | + Examples: + | format | + | png | + | gif | + | jpeg | diff --git a/testing/cucumber/features/steps/step_definitions.py b/testing/cucumber/features/steps/step_definitions.py index 5f2a92eca..7c3b996b7 100644 --- a/testing/cucumber/features/steps/step_definitions.py +++ b/testing/cucumber/features/steps/step_definitions.py @@ -10,67 +10,67 @@ from reportlab.lib.pagesizes import letter from reportlab.lib.utils import ImageReader from reportlab.pdfgen import canvas import mimetypes -import requests import zipfile -import shutil import re from PIL import Image, ImageDraw -API_HEADERS = { - 'X-API-KEY': '123456789' -} +API_HEADERS = {"X-API-KEY": "123456789"} ######### # GIVEN # ######### + @given('I generate a PDF file as "{fileInput}"') def step_generate_pdf(context, fileInput): context.param_name = fileInput context.file_name = "genericNonCustomisableName.pdf" writer = PdfWriter() writer.add_blank_page(width=72, height=72) # Single blank page - with open(context.file_name, 'wb') as f: + with open(context.file_name, "wb") as f: writer.write(f) - if not hasattr(context, 'files'): + if not hasattr(context, "files"): context.files = {} - context.files[context.param_name] = open(context.file_name, 'rb') + context.files[context.param_name] = open(context.file_name, "rb") @given('I use an example file at "{filePath}" as parameter "{fileInput}"') def step_use_example_file(context, filePath, fileInput): context.param_name = fileInput - context.file_name = filePath.split('/')[-1] - if not hasattr(context, 'files'): + context.file_name = filePath.split("/")[-1] + if not hasattr(context, "files"): context.files = {} # Ensure the file exists before opening try: - example_file = open(filePath, 'rb') + example_file = open(filePath, "rb") context.files[context.param_name] = example_file except FileNotFoundError: raise FileNotFoundError(f"The example file '{filePath}' does not exist.") -@given('the pdf contains {page_count:d} pages') + +@given("the pdf contains {page_count:d} pages") def step_pdf_contains_pages(context, page_count): writer = PdfWriter() for i in range(page_count): writer.add_blank_page(width=72, height=72) - with open(context.file_name, 'wb') as f: + with open(context.file_name, "wb") as f: writer.write(f) context.files[context.param_name].close() - context.files[context.param_name] = open(context.file_name, 'rb') + context.files[context.param_name] = open(context.file_name, "rb") + # Duplicate for now... -@given('the pdf contains {page_count:d} blank pages') +@given("the pdf contains {page_count:d} blank pages") def step_pdf_contains_blank_pages(context, page_count): writer = PdfWriter() for i in range(page_count): writer.add_blank_page(width=72, height=72) - with open(context.file_name, 'wb') as f: + with open(context.file_name, "wb") as f: writer.write(f) context.files[context.param_name].close() - context.files[context.param_name] = open(context.file_name, 'rb') + context.files[context.param_name] = open(context.file_name, "rb") + def create_black_box_image(file_name, size): can = canvas.Canvas(file_name, pagesize=size) @@ -80,14 +80,20 @@ def create_black_box_image(file_name, size): can.showPage() can.save() -@given(u'the pdf contains {image_count:d} images of size {width:d}x{height:d} on {page_count:d} pages') + +@given( + "the pdf contains {image_count:d} images of size {width:d}x{height:d} on {page_count:d} pages" +) def step_impl(context, image_count, width, height, page_count): context.param_name = "fileInput" context.file_name = "genericNonCustomisableName.pdf" - create_pdf_with_images_and_boxes(context.file_name, image_count, page_count, width, height) - if not hasattr(context, 'files'): + create_pdf_with_images_and_boxes( + context.file_name, image_count, page_count, width, height + ) + if not hasattr(context, "files"): context.files = {} - context.files[context.param_name] = open(context.file_name, 'rb') + context.files[context.param_name] = open(context.file_name, "rb") + def add_black_boxes_to_image(image): if isinstance(image, str): @@ -97,9 +103,14 @@ def add_black_boxes_to_image(image): draw.rectangle([(0, 0), image.size], fill=(0, 0, 0)) # Fill image with black return image -def create_pdf_with_images_and_boxes(file_name, image_count, page_count, image_width, image_height): + +def create_pdf_with_images_and_boxes( + file_name, image_count, page_count, image_width, image_height +): page_width, page_height = max(letter[0], image_width), max(letter[1], image_height) - boxes_per_page = image_count // page_count + (1 if image_count % page_count != 0 else 0) + boxes_per_page = image_count // page_count + ( + 1 if image_count % page_count != 0 else 0 + ) writer = PdfWriter() box_counter = 0 @@ -114,12 +125,14 @@ def create_pdf_with_images_and_boxes(file_name, image_count, page_count, image_w # Simulating a dynamic image creation (replace this with your actual image creation logic) # For demonstration, we'll create a simple black image - dummy_image = Image.new('RGB', (image_width, image_height), color='white') # Create a white image + dummy_image = Image.new( + "RGB", (image_width, image_height), color="white" + ) # Create a white image dummy_image = add_black_boxes_to_image(dummy_image) # Add black boxes # Convert the PIL Image to bytes to pass to drawImage image_bytes = io.BytesIO() - dummy_image.save(image_bytes, format='PNG') + dummy_image.save(image_bytes, format="PNG") image_bytes.seek(0) # Check if the image fits in the current page dimensions @@ -130,7 +143,9 @@ def create_pdf_with_images_and_boxes(file_name, image_count, page_count, image_w break # Add the image to the PDF - can.drawImage(ImageReader(image_bytes), x, y, width=image_width, height=image_height) + can.drawImage( + ImageReader(image_bytes), x, y, width=image_width, height=image_height + ) box_counter += 1 can.showPage() @@ -140,7 +155,7 @@ def create_pdf_with_images_and_boxes(file_name, image_count, page_count, image_w writer.add_page(new_pdf.pages[0]) # Write the PDF to file - with open(file_name, 'wb') as f: + with open(file_name, "wb") as f: writer.write(f) # Clean up temporary image files @@ -149,36 +164,81 @@ def create_pdf_with_images_and_boxes(file_name, image_count, page_count, image_w if os.path.exists(temp_image_path): os.remove(temp_image_path) -@given('the pdf contains {image_count:d} images on {page_count:d} pages') + +@given("the pdf contains {image_count:d} images on {page_count:d} pages") def step_pdf_contains_images(context, image_count, page_count): - if not hasattr(context, 'param_name'): + if not hasattr(context, "param_name"): context.param_name = "default" context.file_name = "genericNonCustomisableName.pdf" create_pdf_with_black_boxes(context.file_name, image_count, page_count) - if not hasattr(context, 'files'): + if not hasattr(context, "files"): context.files = {} if context.param_name in context.files: context.files[context.param_name].close() - context.files[context.param_name] = open(context.file_name, 'rb') + context.files[context.param_name] = open(context.file_name, "rb") -@given('the pdf contains {page_count:d} pages with random text') + +def create_pdf_with_black_boxes(file_name, image_count, page_count): + + page_width, page_height = letter + writer = PdfWriter() + box_counter = 0 + + for page in range(page_count): + packet = io.BytesIO() + can = canvas.Canvas(packet, pagesize=(page_width, page_height)) + + boxes_per_page = image_count // page_count + ( + 1 if image_count % page_count != 0 else 0 + ) + for i in range(boxes_per_page): + if box_counter >= image_count: + break + + # Create a black box image + dummy_image = Image.new("RGB", (100, 100), color="black") + image_bytes = io.BytesIO() + dummy_image.save(image_bytes, format="PNG") + image_bytes.seek(0) + + x = (i % (page_width // 100)) * 100 + y = page_height - (((i % (page_height // 100)) + 1) * 100) + + if x + 100 > page_width or y < 0: + break + + can.drawImage(ImageReader(image_bytes), x, y, width=100, height=100) + box_counter += 1 + + can.showPage() + can.save() + packet.seek(0) + new_pdf = PdfReader(packet) + writer.add_page(new_pdf.pages[0]) + + with open(file_name, "wb") as f: + writer.write(f) + + +@given("the pdf contains {page_count:d} pages with random text") def step_pdf_contains_pages_with_random_text(context, page_count): buffer = io.BytesIO() c = canvas.Canvas(buffer, pagesize=letter) width, height = letter for _ in range(page_count): - text = ''.join(random.choices(string.ascii_letters + string.digits, k=100)) + text = "".join(random.choices(string.ascii_letters + string.digits, k=100)) c.drawString(100, height - 100, text) c.showPage() c.save() - with open(context.file_name, 'wb') as f: + with open(context.file_name, "wb") as f: f.write(buffer.getvalue()) context.files[context.param_name].close() - context.files[context.param_name] = open(context.file_name, 'rb') + context.files[context.param_name] = open(context.file_name, "rb") + @given('the pdf pages all contain the text "{text}"') def step_pdf_pages_contain_text(context, text): @@ -192,11 +252,12 @@ def step_pdf_pages_contain_text(context, text): c.save() - with open(context.file_name, 'wb') as f: + with open(context.file_name, "wb") as f: f.write(buffer.getvalue()) context.files[context.param_name].close() - context.files[context.param_name] = open(context.file_name, 'rb') + context.files[context.param_name] = open(context.file_name, "rb") + @given('the pdf is encrypted with password "{password}"') def step_encrypt_pdf(context, password): @@ -205,29 +266,34 @@ def step_encrypt_pdf(context, password): for i in range(len(reader.pages)): writer.add_page(reader.pages[i]) writer.encrypt(password) - with open(context.file_name, 'wb') as f: + with open(context.file_name, "wb") as f: writer.write(f) context.files[context.param_name].close() - context.files[context.param_name] = open(context.file_name, 'rb') + context.files[context.param_name] = open(context.file_name, "rb") -@given('the request data is') + +@given("the request data is") def step_request_data(context): context.request_data = eval(context.text) -@given('the request data includes') + +@given("the request data includes") def step_request_data_table(context): - context.request_data = {row['parameter']: row['value'] for row in context.table} + context.request_data = {row["parameter"]: row["value"] for row in context.table} + @given('save the generated PDF file as "{filename}" for debugging') def save_generated_pdf(context, filename): - with open(filename, 'wb') as f: + with open(filename, "wb") as f: f.write(context.files[context.param_name].read()) print(f"Saved generated PDF content to {filename}") + ######## # WHEN # ######## + @when('I send a GET request to "{endpoint}"') def step_send_get_request(context, endpoint): base_url = "http://localhost:8080" @@ -235,20 +301,22 @@ def step_send_get_request(context, endpoint): response = requests.get(full_url, headers=API_HEADERS) context.response = response + @when('I send a GET request to "{endpoint}" with parameters') def step_send_get_request_with_params(context, endpoint): base_url = "http://localhost:8080" - params = {row['parameter']: row['value'] for row in context.table} + params = {row["parameter"]: row["value"] for row in context.table} full_url = f"{base_url}{endpoint}" response = requests.get(full_url, params=params, headers=API_HEADERS) context.response = response + @when('I send the API request to the endpoint "{endpoint}"') def step_send_api_request(context, endpoint): url = f"http://localhost:8080{endpoint}" - files = context.files if hasattr(context, 'files') else {} + files = context.files if hasattr(context, "files") else {} - if not hasattr(context, 'request_data') or context.request_data is None: + if not hasattr(context, "request_data") or context.request_data is None: context.request_data = {} form_data = [] @@ -257,130 +325,173 @@ def step_send_api_request(context, endpoint): for key, file in files.items(): mime_type, _ = mimetypes.guess_type(file.name) - mime_type = mime_type or 'application/octet-stream' + mime_type = mime_type or "application/octet-stream" print(f"form_data {file.name} with {mime_type}") form_data.append((key, (file.name, file, mime_type))) response = requests.post(url, files=form_data, headers=API_HEADERS) context.response = response + ######## # THEN # ######## + @then('the response content type should be "{content_type}"') def step_check_response_content_type(context, content_type): - actual_content_type = context.response.headers.get('Content-Type', '') - assert actual_content_type.startswith(content_type), f"Expected {content_type} but got {actual_content_type}. Response content: {context.response.content}" + actual_content_type = context.response.headers.get("Content-Type", "") + assert actual_content_type.startswith( + content_type + ), f"Expected {content_type} but got {actual_content_type}. Response content: {context.response.content}" -@then('the response file should have size greater than {size:d}') + +@then("the response file should have size greater than {size:d}") def step_check_response_file_size(context, size): response_file = io.BytesIO(context.response.content) assert len(response_file.getvalue()) > size -@then('the response PDF is not passworded') + +@then("the response PDF is not passworded") def step_check_response_pdf_not_passworded(context): response_file = io.BytesIO(context.response.content) reader = PdfReader(response_file) assert not reader.is_encrypted -@then('the response PDF is passworded') + +@then("the response PDF is passworded") def step_check_response_pdf_passworded(context): response_file = io.BytesIO(context.response.content) try: reader = PdfReader(response_file) assert reader.is_encrypted except PdfReadError as e: - raise AssertionError(f"Failed to read PDF: {str(e)}. Response content: {context.response.content}") + raise AssertionError( + f"Failed to read PDF: {str(e)}. Response content: {context.response.content}" + ) except Exception as e: - raise AssertionError(f"An error occurred: {str(e)}. Response content: {context.response.content}") + raise AssertionError( + f"An error occurred: {str(e)}. Response content: {context.response.content}" + ) -@then('the response status code should be {status_code:d}') + +@then("the response status code should be {status_code:d}") def step_check_response_status_code(context, status_code): - assert context.response.status_code == status_code, f"Expected status code {status_code} but got {context.response.status_code}" + assert ( + context.response.status_code == status_code + ), f"Expected status code {status_code} but got {context.response.status_code}" + @then('the response should contain error message "{message}"') def step_check_response_error_message(context, message): response_json = context.response.json() - assert response_json.get('error') == message, f"Expected error message '{message}' but got '{response_json.get('error')}'" + assert ( + response_json.get("error") == message + ), f"Expected error message '{message}' but got '{response_json.get('error')}'" -@then('the response PDF should contain {page_count:d} pages') -def step_check_response_pdf_page_count(context, page_count): - response_file = io.BytesIO(context.response.content) - reader = PdfReader(response_file) - assert len(reader.pages) == page_count, f"Expected {page_count} pages but got {len(reader.pages)} pages" @then('the response PDF metadata should include "{metadata_key}" as "{metadata_value}"') def step_check_response_pdf_metadata(context, metadata_key, metadata_value): response_file = io.BytesIO(context.response.content) reader = PdfReader(response_file) metadata = reader.metadata - assert metadata.get("/" + metadata_key) == metadata_value, f"Expected {metadata_key} to be '{metadata_value}' but got '{metadata.get(metadata_key)}'" + assert ( + metadata.get("/" + metadata_key) == metadata_value + ), f"Expected {metadata_key} to be '{metadata_value}' but got '{metadata.get(metadata_key)}'" + @then('the response file should have extension "{extension}"') def step_check_response_file_extension(context, extension): - content_disposition = context.response.headers.get('Content-Disposition', '') + content_disposition = context.response.headers.get("Content-Disposition", "") filename = "" if content_disposition: - parts = content_disposition.split(';') + parts = content_disposition.split(";") for part in parts: - if part.strip().startswith('filename'): - filename = part.split('=')[1].strip().strip('"') + if part.strip().startswith("filename"): + filename = part.split("=")[1].strip().strip('"') break - assert filename.endswith(extension), f"Expected file extension {extension} but got {filename}. Response content: {context.response.content}" + assert filename.endswith( + extension + ), f"Expected file extension {extension} but got {filename}. Response content: {context.response.content}" + @then('save the response file as "{filename}" for debugging') def step_save_response_file(context, filename): - with open(filename, 'wb') as f: + with open(filename, "wb") as f: f.write(context.response.content) print(f"Saved response content to {filename}") -@then('the response PDF should contain {page_count:d} pages') + +@then("the response PDF should contain {page_count:d} pages") def step_check_response_pdf_page_count(context, page_count): response_file = io.BytesIO(context.response.content) reader = PdfReader(io.BytesIO(response_file.getvalue())) actual_page_count = len(reader.pages) - assert actual_page_count == page_count, f"Expected {page_count} pages but got {actual_page_count} pages" + assert ( + actual_page_count == page_count + ), f"Expected {page_count} pages but got {actual_page_count} pages" -@then('the response ZIP should contain {file_count:d} files') + +@then("the response ZIP should contain {file_count:d} files") def step_check_response_zip_file_count(context, file_count): response_file = io.BytesIO(context.response.content) with zipfile.ZipFile(io.BytesIO(response_file.getvalue())) as zip_file: actual_file_count = len(zip_file.namelist()) - assert actual_file_count == file_count, f"Expected {file_count} files but got {actual_file_count} files" + assert ( + actual_file_count == file_count + ), f"Expected {file_count} files but got {actual_file_count} files" -@then('the response ZIP file should contain {doc_count:d} documents each having {pages_per_doc:d} pages') + +@then( + "the response ZIP file should contain {doc_count:d} documents each having {pages_per_doc:d} pages" +) def step_check_response_zip_doc_page_count(context, doc_count, pages_per_doc): response_file = io.BytesIO(context.response.content) with zipfile.ZipFile(io.BytesIO(response_file.getvalue())) as zip_file: actual_doc_count = len(zip_file.namelist()) - assert actual_doc_count == doc_count, f"Expected {doc_count} documents but got {actual_doc_count} documents" + assert ( + actual_doc_count == doc_count + ), f"Expected {doc_count} documents but got {actual_doc_count} documents" for file_name in zip_file.namelist(): with zip_file.open(file_name) as pdf_file: reader = PdfReader(pdf_file) actual_pages_per_doc = len(reader.pages) - assert actual_pages_per_doc == pages_per_doc, f"Expected {pages_per_doc} pages per document but got {actual_pages_per_doc} pages in document {file_name}" + assert ( + actual_pages_per_doc == pages_per_doc + ), f"Expected {pages_per_doc} pages per document but got {actual_pages_per_doc} pages in document {file_name}" + @then('the JSON value of "{key}" should be "{expected_value}"') def step_check_json_value(context, key, expected_value): actual_value = context.response.json().get(key) - assert actual_value == expected_value, \ - f"Expected JSON value for '{key}' to be '{expected_value}' but got '{actual_value}'" + assert ( + actual_value == expected_value + ), f"Expected JSON value for '{key}' to be '{expected_value}' but got '{actual_value}'" -@then('JSON list entry containing "{identifier_key}" as "{identifier_value}" should have "{target_key}" as "{target_value}"') -def step_check_json_list_entry(context, identifier_key, identifier_self, target_key, target_value): + +@then( + 'JSON list entry containing "{identifier_key}" as "{identifier_value}" should have "{target_key}" as "{target_value}"' +) +def step_check_json_list_entry( + context, identifier_key, identifier_self, target_key, target_value +): json_response = context.response.json() for entry in json_response: if entry.get(identifier_key) == identifier_value: - assert entry.get(target_key) == target_value, \ - f"Expected {target_key} to be {target_value} in entry where {identifier_key} is {identifier_value}, but found {entry.get(target_key)}" + assert ( + entry.get(target_key) == target_value + ), f"Expected {target_key} to be {target_value} in entry where {identifier_key} is {identifier_value}, but found {entry.get(target_key)}" break else: - raise AssertionError(f"No entry with {identifier_key} as {identifier_value} found") + raise AssertionError( + f"No entry with {identifier_key} as {identifier_value} found" + ) + @then('the response should match the regex "{pattern}"') def step_response_matches_regex(context, pattern): response_text = context.response.text - assert re.match(pattern, response_text), \ - f"Response '{response_text}' does not match the expected pattern '{pattern}'" + assert re.match( + pattern, response_text + ), f"Response '{response_text}' does not match the expected pattern '{pattern}'" From 8ba7cfe92178aa59906759ff09acd466bb6b2293 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Jul 2025 12:36:21 +0100 Subject: [PATCH 08/18] Bump com.unboundid.product.scim2:scim2-sdk-client from 2.3.5 to 4.0.0 (#3736) Bumps [com.unboundid.product.scim2:scim2-sdk-client](https://github.com/pingidentity/scim2) from 2.3.5 to 4.0.0.
Changelog

Sourced from com.unboundid.product.scim2:scim2-sdk-client's changelog.

v4.0.0 - 2025-Jun-10

Removed support for Java 11. The UnboundID SCIM 2 SDK now requires Java 17 or a later release.

Updated the following dependencies:

  • Jackson: 2.18.3
  • Jakarta RS: 4.0.0
  • Jersey: 3.1.10

Updated the default behavior for ADD patch requests with value filters (e.g., emails[type eq "work"].display). The SCIM SDK will now target existing values within the multi-valued attribute. For more background on this type of patch request, see the release notes for the 3.2.0 release where this was introduced (but not made the default). To restore the old behavior, set the following property in your application:

PatchOperation.APPEND_NEW_PATCH_VALUES_PROPERTY = true;

Updated SearchRequestBuilder to be more permissive of ListResponses with non-standard attribute casing (e.g., if a response includes a "resources" array instead of "Resources").

Updated the class-level documentation of SearchRequest to provide more background about how searches are performed in the SCIM standard.

Added a new property that allows ignoring unknown fields when converting JSON text to Java objects that inherit from BaseScimResource. This behaves similarly to the FAIL_ON_UNKNOWN_PROPERTIES setting from the Jackson library, and allows for easier integration with SCIM service providers that include additional non-standard data in their responses. To enable this setting, set the following property in your application code:

BaseScimResource.IGNORE_UNKNOWN_FIELDS = true;

Fixed an issue with methods that interface with schema extensions such as BaseScimResource.getExtensionValues(String). These accepted paths as a string, but previously performed updates to the extension data incorrectly.

Simplified the implementation of the StaticUtils#toLowerCase method. This had an optimization for Java versions before JDK 9 that was especially beneficial for the most common case of handling ASCII characters. Since JDK 9, however, the String class has been updated so that the class is backed by a byte array as opposed to a character array, so it is more optimal to use the JDK's implementation directly while handling null values.

Previous releases of the SCIM SDK set many classes as final to encourage applications to follow strict compliance to the SCIM standard. However, this also makes it difficult to integrate with services that violate the standard. An example of this is a SCIM error response that contains extra fields in the JSON body. To help accommodate these integrations, the SCIM SDK has been updated so that several model classes are no longer final, allowing applications to extend them if needed. The following classes were updated:

  • scim2-sdk-client builder classes such as CreateRequestBuilder.java
  • ErrorResponse.java

... (truncated)

Commits
  • 039c7e6 Setting release version 4.0.0
  • ea04864 Update CHANGELOG date for the 4.0.0 release.
  • bfd276e Make GenericScimResource extendable.
  • 9008757 Clean up POM and remove Guava test dependency.
  • a954381 Remove the deprecated ScimDateFormat class.
  • 76f2314 Enhance the Filter classes and their documentation
  • cfd9d7e Add a new filter method for SearchRequestBuilder.
  • 3c3c0ca Fix CodeQL by adding Java 17 installation step
  • 114ad51 Import the default codeql.yaml
  • 26fe8f1 Allow extending model classes
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.unboundid.product.scim2:scim2-sdk-client&package-manager=gradle&previous-version=2.3.5&new-version=4.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- proprietary/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proprietary/build.gradle b/proprietary/build.gradle index 1912eefcb..2a72f8a65 100644 --- a/proprietary/build.gradle +++ b/proprietary/build.gradle @@ -37,7 +37,7 @@ dependencies { implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5:3.1.3.RELEASE' api 'io.micrometer:micrometer-registry-prometheus' - implementation 'com.unboundid.product.scim2:scim2-sdk-client:2.3.5' + implementation 'com.unboundid.product.scim2:scim2-sdk-client:4.0.0' runtimeOnly 'com.h2database:h2:2.3.232' // Don't upgrade h2database runtimeOnly 'org.postgresql:postgresql:42.7.7' constraints { From 626734c781263176462dae10995e2c71afcf55e7 Mon Sep 17 00:00:00 2001 From: Ludy Date: Mon, 14 Jul 2025 13:37:03 +0200 Subject: [PATCH 09/18] chore: add integrate Stylelint for CSS linting (#3909) # Description of Changes **What was changed** - Added a new `.stylelintrc.json` to configure Stylelint with `stylelint-config-standard` and custom ignore rules. - Created a `lint:css` script in `package.json` and added `stylelint`/`stylelint-config-standard` to `devDependencies`. - Added `package-lock.json` to lock dependencies. - Updated numerous CSS files under `stirling-pdf/src/main/resources/static/css/` to fix lint errors (shorthand properties, removed redundant units, consistent box-shadow syntax, margin shorthand, etc.). **Why the change was made** - To enforce consistent, modern CSS code style across the project, catch errors early, and enable automated fixing of common lint issues. --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --- .devcontainer/devcontainer.json | 4 +- .github/labeler-config-srvaroa.yml | 1 + .vscode/extensions.json | 2 + .vscode/settings.json | 7 + devGuide/STYLELINT.md | 47 + devTools/.stylelintrc.json | 69 ++ devTools/package-lock.json | 1598 ++++++++++++++++++++++++++++ devTools/package.json | 13 + 8 files changed, 1740 insertions(+), 1 deletion(-) create mode 100644 devGuide/STYLELINT.md create mode 100644 devTools/.stylelintrc.json create mode 100644 devTools/package-lock.json create mode 100644 devTools/package.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 644378d12..5ab9f82c9 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -119,7 +119,9 @@ "EditorConfig.EditorConfig", // EditorConfig support for maintaining consistent coding styles "ms-azuretools.vscode-docker", // Docker extension for Visual Studio Code "charliermarsh.ruff", // Ruff extension for Ruff language support - "github.vscode-github-actions" // GitHub Actions extension for Visual Studio Code + "github.vscode-github-actions", // GitHub Actions extension for Visual Studio Code + "stylelint.vscode-stylelint", // Stylelint extension for CSS and SCSS linting + "redhat.vscode-yaml" // YAML extension for Visual Studio Code ] } }, diff --git a/.github/labeler-config-srvaroa.yml b/.github/labeler-config-srvaroa.yml index e37a8a810..06368536f 100644 --- a/.github/labeler-config-srvaroa.yml +++ b/.github/labeler-config-srvaroa.yml @@ -126,6 +126,7 @@ labels: - '.pre-commit-config' - '.github/workflows/pre_commit.yml' - 'devGuide/.*' + - 'devTools/.*' - label: 'Test' files: diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 128af83ba..6ab09796f 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -17,5 +17,7 @@ "GitHub.vscode-pull-request-github", // GitHub Pull Requests extension for Visual Studio Code "charliermarsh.ruff", // Ruff code formatter for Python to follow the Ruff Style Guide "yzhang.markdown-all-in-one", // Markdown All-in-One extension for enhanced Markdown editing + "stylelint.vscode-stylelint", // Stylelint extension for CSS and SCSS linting + "redhat.vscode-yaml", // YAML extension for Visual Studio Code ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 3f272e18a..03d51b765 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,6 +9,9 @@ "[jsonc]": { "editor.defaultFormatter": "vscode.json-language-features" }, + "[css]": { + "editor.defaultFormatter": "stylelint.vscode-stylelint" + }, "[json]": { "editor.defaultFormatter": "vscode.json-language-features" }, @@ -27,6 +30,9 @@ "[gradle]": { "editor.defaultFormatter": "vscjava.vscode-gradle" }, + "[yaml]": { + "editor.defaultFormatter": "redhat.vscode-yaml" + }, "java.compile.nullAnalysis.mode": "automatic", "java.configuration.updateBuildConfiguration": "interactive", "java.format.enabled": true, @@ -119,6 +125,7 @@ "html.format.indentHandlebars": true, "html.format.preserveNewLines": true, "html.format.maxPreserveNewLines": 2, + "stylelint.configFile": "devTools/.stylelintrc.json", "java.project.sourcePaths": [ "stirling-pdf/src/main/java", "common/src/main/java", diff --git a/devGuide/STYLELINT.md b/devGuide/STYLELINT.md new file mode 100644 index 000000000..27bc4da4d --- /dev/null +++ b/devGuide/STYLELINT.md @@ -0,0 +1,47 @@ +# STYLELINT.md + +## Usage + +Apply Stylelint to your project's CSS with the following steps: + +1. **NPM Script** + + - Go to directory: `devTools/` + + - Add Stylelint & stylistic/stylelint-plugin + ```bash + npm install --save-dev stylelint stylelint-config-standard + npm install --save-dev @stylistic/stylelint-plugin + ``` + - Add a script entry to your `package.json`: + ```jsonc + { + "scripts": { + "lint:css:check": "stylelint \"../stirling-pdf/src/main/**/*.css\" \"../proprietary/src/main/resources/static/css/*.css\" --config .stylelintrc.json", + "lint:css:fix": "stylelint \"../stirling-pdf/src/main/**/*.css\" \"../proprietary/src/main/resources/static/css/*.css\" --config .stylelintrc.json --fix" + } + } + ``` + - Run the linter: + ```bash + npm run lint:css:check + npm run lint:css:fix + ``` + +2. **CLI Usage** + + - Lint all CSS files: + ```bash + npx stylelint ../stirling-pdf/src/main/**/*.css ../proprietary/src/main/resources/static/css/*.css + ``` + - Lint a single file: + ```bash + npx stylelint ../proprietary/src/main/resources/static/css/audit-dashboard.css + ``` + - Apply automatic fixes: + ```bash + npx stylelint "../stirling-pdf/src/main/**/*.css" "../proprietary/src/main/resources/static/css/*.css" --fix + ``` + +For full configuration options and rule customization, refer to the official documentation: [https://stylelint.io](https://stylelint.io) + diff --git a/devTools/.stylelintrc.json b/devTools/.stylelintrc.json new file mode 100644 index 000000000..d676c0159 --- /dev/null +++ b/devTools/.stylelintrc.json @@ -0,0 +1,69 @@ +{ + "extends": [ + "stylelint-config-standard" + ], + "plugins": [ + "@stylistic/stylelint-plugin" + ], + "ignoreFiles": [ + "stirling-pdf/src/main/resources/static/css/bootstrap*.css", + "stirling-pdf/src/main/resources/static/css/cookieconsent.css", + "stirling-pdf/src/main/resources/static/css/cookieconsentCustomisation.css", + "stirling-pdf/src/main/resources/static/css/prism.css", + "stirling-pdf/src/main/resources/static/pdfjs-legacy/**/*.css" + ], + "rules": { + "property-no-vendor-prefix": null, + "value-no-vendor-prefix": null, + "selector-no-vendor-prefix": null, + "media-feature-name-no-vendor-prefix": null, + "value-keyword-case": null, + "color-function-notation": null, + "alpha-value-notation": null, + "color-function-alias-notation": null, + "selector-class-pattern": null, + "selector-id-pattern": null, + "declaration-block-no-redundant-longhand-properties": null, + "media-feature-range-notation": "prefix", + "selector-attribute-quotes": null, + "at-rule-no-vendor-prefix": null, + "selector-not-notation": null, + "no-duplicate-selectors": [ + true, + { + "disableFix": true + } + ], + "comment-word-disallowed-list": null, + "custom-property-pattern": null, + "no-descending-specificity": null, + "keyframes-name-pattern": null, + "comment-empty-line-before": [ + "always", + { + "ignore": [ + "stylelint-commands" + ] + } + ], + "block-no-empty": true, + "@stylistic/declaration-bang-space-after": "never", + "@stylistic/declaration-bang-space-before": "always", + "@stylistic/declaration-block-trailing-semicolon": "always", + "@stylistic/function-comma-space-after": [ + "always-single-line", + { + "disableFix": false + } + ], + "@stylistic/function-comma-space-before": "never", + "@stylistic/color-hex-case": "lower", + "@stylistic/declaration-block-semicolon-newline-after": "always", + "@stylistic/indentation": [ + 2, + { + "baseIndentLevel": 2 + } + ] + } +} diff --git a/devTools/package-lock.json b/devTools/package-lock.json new file mode 100644 index 000000000..da6cfe0ca --- /dev/null +++ b/devTools/package-lock.json @@ -0,0 +1,1598 @@ +{ + "name": "stirling-pdf", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "stirling-pdf", + "version": "1.0.0", + "devDependencies": { + "@stylistic/stylelint-plugin": "^3.1.3", + "stylelint": "^16.21.1", + "stylelint-config-standard": "^38.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz", + "integrity": "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@dual-bundle/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/@keyv/serialize": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.3.tgz", + "integrity": "sha512-qnEovoOp5Np2JDGonIDL6Ayihw0RhnRh6vxPuHo4RDn1UOzwEo4AeIfpL6UGIrsceWrCMiVPgwRjbHu4vYFc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^6.0.3" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@stylistic/stylelint-plugin": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-3.1.3.tgz", + "integrity": "sha512-85fsmzgsIVmyG3/GFrjuYj6Cz8rAM7IZiPiXCMiSMfoDOC1lOrzrXPDk24WqviAghnPqGpx8b0caK2PuewWGFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.1", + "@csstools/css-tokenizer": "^3.0.1", + "@csstools/media-query-list-parser": "^3.0.1", + "is-plain-object": "^5.0.0", + "postcss": "^8.4.41", + "postcss-selector-parser": "^6.1.2", + "postcss-value-parser": "^4.2.0", + "style-search": "^0.1.0" + }, + "engines": { + "node": "^18.12 || >=20.9" + }, + "peerDependencies": { + "stylelint": "^16.8.0" + } + }, + "node_modules/@stylistic/stylelint-plugin/node_modules/@csstools/media-query-list-parser": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-3.0.1.tgz", + "integrity": "sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.1", + "@csstools/css-tokenizer": "^3.0.1" + } + }, + "node_modules/@stylistic/stylelint-plugin/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/cacheable": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.1.tgz", + "integrity": "sha512-Fa2BZY0CS9F0PFc/6aVA6tgpOdw+hmv9dkZOlHXII5v5Hw+meJBIWDcPrG9q/dXxGcNbym5t77fzmawrBQfTmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "hookified": "^1.10.0", + "keyv": "^5.3.4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/css-functions-list": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12 || >=16" + } + }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.1.tgz", + "integrity": "sha512-zcmsHjg2B2zjuBgjdnB+9q0+cWcgWfykIcsDkWDB4GTPtl1eXUA+gTI6sO0u01AqK3cliHryTU55/b2Ow1hfZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^6.1.10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.11.tgz", + "integrity": "sha512-zfOAns94mp7bHG/vCn9Ru2eDCmIxVQ5dELUHKjHfDEOJmHNzE+uGa6208kfkgmtym4a0FFjEuFksCXFacbVhSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cacheable": "^1.10.1", + "flatted": "^3.3.3", + "hookified": "^1.10.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hookified": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.10.0.tgz", + "integrity": "sha512-dJw0492Iddsj56U1JsSTm9E/0B/29a1AuoSLRAte8vQg/kaTGF3IgjEWT8c8yG4cC10+HisE1x5QAwR0Xwc+DA==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/keyv": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.3.4.tgz", + "integrity": "sha512-ypEvQvInNpUe+u+w8BIcPkQvEqXquyyibWE/1NB5T2BTzIpS5cGEV1LZskDzPSTvNAaT4+5FutvzlvnkxOSKlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@keyv/serialize": "^1.0.3" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/known-css-properties": { + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", + "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/meow": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", + "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true, + "license": "ISC" + }, + "node_modules/stylelint": { + "version": "16.21.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.21.1.tgz", + "integrity": "sha512-WCXdXnYK2tpCbebgMF0Bme3YZH/Rh/UXerj75twYo4uLULlcrLwFVdZTvTEF8idFnAcW21YUDJFyKOfaf6xJRw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3", + "@csstools/selector-specificity": "^5.0.0", + "@dual-bundle/import-meta-resolve": "^4.1.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^9.0.0", + "css-functions-list": "^3.2.3", + "css-tree": "^3.1.0", + "debug": "^4.4.1", + "fast-glob": "^3.3.3", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^10.1.1", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^7.0.5", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.37.0", + "mathml-tag-names": "^2.1.3", + "meow": "^13.2.0", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.5.6", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-safe-parser": "^7.0.1", + "postcss-selector-parser": "^7.1.0", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "supports-hyperlinks": "^3.2.0", + "svg-tags": "^1.0.0", + "table": "^6.9.0", + "write-file-atomic": "^5.0.1" + }, + "bin": { + "stylelint": "bin/stylelint.mjs" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/stylelint-config-recommended": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-16.0.0.tgz", + "integrity": "sha512-4RSmPjQegF34wNcK1e1O3Uz91HN8P1aFdFzio90wNK9mjgAI19u5vsU868cVZboKzCaa5XbpvtTzAAGQAxpcXA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "stylelint": "^16.16.0" + } + }, + "node_modules/stylelint-config-standard": { + "version": "38.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-38.0.0.tgz", + "integrity": "sha512-uj3JIX+dpFseqd/DJx8Gy3PcRAJhlEZ2IrlFOc4LUxBX/PNMEQ198x7LCOE2Q5oT9Vw8nyc4CIL78xSqPr6iag==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "dependencies": { + "stylelint-config-recommended": "^16.0.0" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "stylelint": "^16.18.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/table": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", + "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + } + } +} diff --git a/devTools/package.json b/devTools/package.json new file mode 100644 index 000000000..e58ed4df0 --- /dev/null +++ b/devTools/package.json @@ -0,0 +1,13 @@ +{ + "name": "stirling-pdf", + "version": "1.0.0", + "scripts": { + "lint:css:check": "stylelint \"../stirling-pdf/src/main/**/*.css\" \"../proprietary/src/main/resources/static/css/*.css\" --config .stylelintrc.json", + "lint:css:fix": "stylelint \"../stirling-pdf/src/main/**/*.css\" \"../proprietary/src/main/resources/static/css/*.css\" --config .stylelintrc.json --fix" + }, + "devDependencies": { + "@stylistic/stylelint-plugin": "^3.1.3", + "stylelint": "^16.21.1", + "stylelint-config-standard": "^38.0.0" + } +} From 60cb610d247ac4c793d8da268653d70625f5ceee Mon Sep 17 00:00:00 2001 From: "stirlingbot[bot]" <195170888+stirlingbot[bot]@users.noreply.github.com> Date: Mon, 14 Jul 2025 12:38:47 +0100 Subject: [PATCH 10/18] =?UTF-8?q?=F0=9F=A4=96=20format=20everything=20with?= =?UTF-8?q?=20pre-commit=20by=20stirlingbot=20(#3942)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auto-generated by [create-pull-request][1] with **stirlingbot** [1]: https://github.com/peter-evans/create-pull-request Signed-off-by: stirlingbot[bot] Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com> --- .../stirling/software/common/service/TaskManagerTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/src/test/java/stirling/software/common/service/TaskManagerTest.java b/common/src/test/java/stirling/software/common/service/TaskManagerTest.java index b2cb26dd8..5fd2dcc87 100644 --- a/common/src/test/java/stirling/software/common/service/TaskManagerTest.java +++ b/common/src/test/java/stirling/software/common/service/TaskManagerTest.java @@ -95,10 +95,10 @@ class TaskManagerTest { assertTrue(result.isComplete()); assertTrue(result.hasFiles()); assertFalse(result.hasMultipleFiles()); - + var resultFiles = result.getAllResultFiles(); assertEquals(1, resultFiles.size()); - + ResultFile resultFile = resultFiles.get(0); assertEquals(fileId, resultFile.getFileId()); assertEquals(originalFileName, resultFile.getFileName()); @@ -180,7 +180,7 @@ class TaskManagerTest { // Arrange // Mock fileStorage.getFileSize for file operations when(fileStorage.getFileSize("file-id")).thenReturn(1024L); - + // 1. Create active job String activeJobId = "active-job"; taskManager.createTask(activeJobId); @@ -232,7 +232,7 @@ class TaskManagerTest { LocalDateTime oldTime = LocalDateTime.now().minusHours(1); ReflectionTestUtils.setField(oldJob, "completedAt", oldTime); ReflectionTestUtils.setField(oldJob, "complete", true); - + // Create a ResultFile and set it using the new approach ResultFile resultFile = ResultFile.builder() .fileId("file-id") From 357d8a7d381637e9913ce61014ce83f32c15edb4 Mon Sep 17 00:00:00 2001 From: "stirlingbot[bot]" <195170888+stirlingbot[bot]@users.noreply.github.com> Date: Mon, 14 Jul 2025 12:39:03 +0100 Subject: [PATCH 11/18] :globe_with_meridians: Sync Translations + Update README Progress Table (#3918) ### Description of Changes This Pull Request was automatically generated to synchronize updates to translation files and documentation. Below are the details of the changes made: #### **1. Synchronization of Translation Files** - Updated translation files (`messages_*.properties`) to reflect changes in the reference file `messages_en_GB.properties`. - Ensured consistency and synchronization across all supported language files. - Highlighted any missing or incomplete translations. #### **2. Update README.md** - Generated the translation progress table in `README.md`. - Added a summary of the current translation status for all supported languages. - Included up-to-date statistics on translation coverage. #### **Why these changes are necessary** - Keeps translation files aligned with the latest reference updates. - Ensures the documentation reflects the current translation progress. --- Auto-generated by [create-pull-request][1]. [1]: https://github.com/peter-evans/create-pull-request Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com> --- README.md | 4 ++-- scripts/ignore_translation.toml | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d0909ba2f..02712a1ad 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,7 @@ Stirling-PDF currently supports 40 languages! | Indonesian (Bahasa Indonesia) (id_ID) | ![63%](https://geps.dev/progress/63) | | Irish (Gaeilge) (ga_IE) | ![70%](https://geps.dev/progress/70) | | Italian (Italiano) (it_IT) | ![98%](https://geps.dev/progress/98) | -| Japanese (日本語) (ja_JP) | ![70%](https://geps.dev/progress/70) | +| Japanese (日本語) (ja_JP) | ![95%](https://geps.dev/progress/95) | | Korean (한국어) (ko_KR) | ![69%](https://geps.dev/progress/69) | | Norwegian (Norsk) (no_NB) | ![67%](https://geps.dev/progress/67) | | Persian (فارسی) (fa_IR) | ![66%](https://geps.dev/progress/66) | @@ -145,7 +145,7 @@ Stirling-PDF currently supports 40 languages! | Romanian (Română) (ro_RO) | ![59%](https://geps.dev/progress/59) | | Russian (Русский) (ru_RU) | ![70%](https://geps.dev/progress/70) | | Serbian Latin alphabet (Srpski) (sr_LATN_RS) | ![97%](https://geps.dev/progress/97) | -| Simplified Chinese (简体中文) (zh_CN) | ![90%](https://geps.dev/progress/90) | +| Simplified Chinese (简体中文) (zh_CN) | ![95%](https://geps.dev/progress/95) | | Slovakian (Slovensky) (sk_SK) | ![53%](https://geps.dev/progress/53) | | Slovenian (Slovenščina) (sl_SI) | ![73%](https://geps.dev/progress/73) | | Spanish (Español) (es_ES) | ![75%](https://geps.dev/progress/75) | diff --git a/scripts/ignore_translation.toml b/scripts/ignore_translation.toml index 01f1ae1f0..3773308d4 100644 --- a/scripts/ignore_translation.toml +++ b/scripts/ignore_translation.toml @@ -529,7 +529,6 @@ ignore = [ [ja_JP] ignore = [ - 'lang.jav', 'language.direction', ] From 38b53d7cc19ed406d772d71f881391a2ef42c439 Mon Sep 17 00:00:00 2001 From: "stirlingbot[bot]" <195170888+stirlingbot[bot]@users.noreply.github.com> Date: Mon, 14 Jul 2025 13:19:17 +0100 Subject: [PATCH 12/18] Update 3rd Party Licenses (#3943) Auto-generated by stirlingbot[bot] Signed-off-by: stirlingbot[bot] Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com> --- .../resources/static/3rdPartyLicenses.json | 62 ------------------- 1 file changed, 62 deletions(-) diff --git a/stirling-pdf/src/main/resources/static/3rdPartyLicenses.json b/stirling-pdf/src/main/resources/static/3rdPartyLicenses.json index a7d899263..440cdb265 100644 --- a/stirling-pdf/src/main/resources/static/3rdPartyLicenses.json +++ b/stirling-pdf/src/main/resources/static/3rdPartyLicenses.json @@ -165,12 +165,6 @@ "moduleLicense": "Apache-2.0", "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" }, - { - "moduleName": "com.google.errorprone:error_prone_annotations", - "moduleVersion": "2.11.0", - "moduleLicense": "Apache 2.0", - "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" - }, { "moduleName": "com.google.errorprone:error_prone_annotations", "moduleUrl": "https://errorprone.info/error_prone_annotations", @@ -639,13 +633,6 @@ "moduleLicense": "Apache License, Version 2.0", "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" }, - { - "moduleName": "io.swagger.core.v3:swagger-annotations-jakarta", - "moduleUrl": "https://github.com/swagger-api/swagger-core/modules/swagger-annotations", - "moduleVersion": "2.2.30", - "moduleLicense": "Apache License, Version 2.0", - "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" - }, { "moduleName": "io.swagger.core.v3:swagger-annotations-jakarta", "moduleUrl": "https://github.com/swagger-api/swagger-core/modules/swagger-annotations", @@ -653,13 +640,6 @@ "moduleLicense": "Apache License, Version 2.0", "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" }, - { - "moduleName": "io.swagger.core.v3:swagger-core-jakarta", - "moduleUrl": "https://github.com/swagger-api/swagger-core/modules/swagger-core", - "moduleVersion": "2.2.30", - "moduleLicense": "Apache License, Version 2.0", - "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" - }, { "moduleName": "io.swagger.core.v3:swagger-core-jakarta", "moduleUrl": "https://github.com/swagger-api/swagger-core/modules/swagger-core", @@ -667,13 +647,6 @@ "moduleLicense": "Apache License, Version 2.0", "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" }, - { - "moduleName": "io.swagger.core.v3:swagger-models-jakarta", - "moduleUrl": "https://github.com/swagger-api/swagger-core/modules/swagger-models", - "moduleVersion": "2.2.30", - "moduleLicense": "Apache License, Version 2.0", - "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" - }, { "moduleName": "io.swagger.core.v3:swagger-models-jakarta", "moduleUrl": "https://github.com/swagger-api/swagger-core/modules/swagger-models", @@ -744,13 +717,6 @@ "moduleLicense": "GPL2 w/ CPE", "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" }, - { - "moduleName": "jakarta.servlet:jakarta.servlet-api", - "moduleUrl": "https://www.eclipse.org", - "moduleVersion": "6.1.0", - "moduleLicense": "GPL2 w/ CPE", - "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" - }, { "moduleName": "jakarta.transaction:jakarta.transaction-api", "moduleUrl": "https://projects.eclipse.org/projects/ee4j.jta", @@ -889,13 +855,6 @@ "moduleLicense": "Apache-2.0", "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" }, - { - "moduleName": "org.apache.commons:commons-text", - "moduleUrl": "https://commons.apache.org/proper/commons-text", - "moduleVersion": "1.10.0", - "moduleLicense": "Apache License, Version 2.0", - "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" - }, { "moduleName": "org.apache.commons:commons-text", "moduleUrl": "https://commons.apache.org/proper/commons-text", @@ -1018,13 +977,6 @@ "moduleLicense": "The Apache Software License, Version 2.0", "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" }, - { - "moduleName": "org.bouncycastle:bcpkix-jdk18on", - "moduleUrl": "https://www.bouncycastle.org/java.html", - "moduleVersion": "1.72", - "moduleLicense": "Bouncy Castle Licence", - "moduleLicenseUrl": "https://www.bouncycastle.org/licence.html" - }, { "moduleName": "org.bouncycastle:bcpkix-jdk18on", "moduleUrl": "https://www.bouncycastle.org/download/bouncy-castle-java/", @@ -1039,13 +991,6 @@ "moduleLicense": "Bouncy Castle Licence", "moduleLicenseUrl": "https://www.bouncycastle.org/licence.html" }, - { - "moduleName": "org.bouncycastle:bcutil-jdk18on", - "moduleUrl": "https://www.bouncycastle.org/java.html", - "moduleVersion": "1.72", - "moduleLicense": "Bouncy Castle Licence", - "moduleLicenseUrl": "https://www.bouncycastle.org/licence.html" - }, { "moduleName": "org.bouncycastle:bcutil-jdk18on", "moduleUrl": "https://www.bouncycastle.org/download/bouncy-castle-java/", @@ -1562,13 +1507,6 @@ "moduleLicense": "Apache License, Version 2.0", "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" }, - { - "moduleName": "org.springframework.boot:spring-boot-devtools", - "moduleUrl": "https://spring.io/projects/spring-boot", - "moduleVersion": "3.5.3", - "moduleLicense": "Apache License, Version 2.0", - "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" - }, { "moduleName": "org.springframework.boot:spring-boot-starter", "moduleUrl": "https://spring.io/projects/spring-boot", From 299d52c517fcd91de0edcf0cedb4db25b22dd4af Mon Sep 17 00:00:00 2001 From: Ludy Date: Mon, 14 Jul 2025 21:53:11 +0200 Subject: [PATCH 13/18] refactor: move modules under app/ directory and update file paths (#3938) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Description of Changes - **What was changed:** - Renamed top-level directories: `stirling-pdf` → `app/core`, `common` → `app/common`, `proprietary` → `app/proprietary`. - Updated all path references in `.gitattributes`, GitHub workflows (`.github/workflows/*`), scripts (`.github/scripts/*`), `.gitignore`, Dockerfiles, license files, and template settings to reflect the new structure. - Added a new CI job `check-generateOpenApiDocs` to generate and upload OpenAPI documentation. - Removed redundant `@Autowired` annotations from `TempFileShutdownHook` and `UnlockPDFFormsController`. - Minor formatting and comment adjustments in YAML templates and resource files. - **Why the change was made:** - To introduce a clear `app/` directory hierarchy for core, common, and proprietary modules, improving organization and maintainability. - To ensure continuous integration and Docker builds continue to work seamlessly with the reorganized structure. - To automate OpenAPI documentation generation as part of the CI pipeline. --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --- .git-blame-ignore-revs | 4 + .gitattributes | 14 +-- .github/labeler-config-srvaroa.yml | 64 +++++++------ .github/labeler-config.yml | 86 ------------------ .github/scripts/check_language_properties.py | 12 ++- .github/workflows/auto-labeler.yml | 27 ------ .github/workflows/build.yml | 57 +++++++++--- .github/workflows/check_properties.yml | 12 +-- .github/workflows/licenses-update.yml | 4 +- .github/workflows/multiOSReleases.yml | 2 +- .github/workflows/sync_files.yml | 10 +- .gitignore | 6 +- .pre-commit-config.yaml | 12 ++- .vscode/settings.json | 26 ++++-- Dockerfile | 4 +- Dockerfile.fat | 10 +- Dockerfile.ultra-lite | 4 +- LICENSE | 4 +- .../allowed-licenses.json | 0 {common => app/common}/.gitignore | 2 +- {common => app/common}/build.gradle | 0 .../util/DeletingRandomAccessFile.java | 0 .../annotations/AutoJobPostMapping.java | 0 .../software/common/aop/AutoJobAspect.java | 0 .../common/config/TempFileConfiguration.java | 0 .../common/config/TempFileShutdownHook.java | 2 - .../common/configuration/AppConfig.java | 0 .../configuration/ConfigInitializer.java | 0 .../FileFallbackTemplateResolver.java | 0 .../configuration/InstallationPathConfig.java | 0 .../common/configuration/PostHogConfig.java | 0 .../configuration/PostHogLoggerImpl.java | 0 .../configuration/RuntimePathConfig.java | 0 .../YamlPropertySourceFactory.java | 0 .../interfaces/ShowAdminInterface.java | 0 .../common/model/ApplicationProperties.java | 0 .../software/common/model/FileInfo.java | 0 .../model/InputStreamTemplateResource.java | 0 .../software/common/model/PdfMetadata.java | 0 .../common/model/api/GeneralFile.java | 0 .../software/common/model/api/PDFFile.java | 0 .../model/api/converters/EmlToPdfRequest.java | 0 .../api/converters/HTMLToPdfRequest.java | 0 .../misc/HighContrastColorCombination.java | 0 .../model/api/misc/ReplaceAndInvert.java | 0 .../model/api/security/RedactionArea.java | 0 .../common/model/enumeration/Role.java | 0 .../model/enumeration/UsernameAttribute.java | 0 .../exception/UnsupportedClaimException.java | 0 .../UnsupportedProviderException.java | 0 .../common/model/job/JobProgress.java | 0 .../common/model/job/JobResponse.java | 0 .../software/common/model/job/JobResult.java | 0 .../software/common/model/job/JobStats.java | 0 .../software/common/model/job/ResultFile.java | 0 .../common/model/oauth2/GitHubProvider.java | 0 .../common/model/oauth2/GoogleProvider.java | 0 .../common/model/oauth2/KeycloakProvider.java | 0 .../common/model/oauth2/Provider.java | 0 .../service/CustomPDFDocumentFactory.java | 0 .../common/service/FileOrUploadService.java | 0 .../software/common/service/FileStorage.java | 0 .../common/service/JobExecutorService.java | 0 .../software/common/service/JobQueue.java | 0 .../common/service/PdfMetadataService.java | 0 .../common/service/PostHogService.java | 0 .../common/service/ResourceMonitor.java | 0 .../software/common/service/TaskManager.java | 0 .../service/TempFileCleanupService.java | 0 .../common/service/UserServiceInterface.java | 0 .../util/ApplicationContextProvider.java | 0 .../software/common/util/AttachmentUtils.java | 0 .../common/util/CheckProgramInstall.java | 0 .../common/util/CustomHtmlSanitizer.java | 0 .../software/common/util/EmlToPdf.java | 0 .../software/common/util/ErrorUtils.java | 0 .../software/common/util/ExceptionUtils.java | 0 .../software/common/util/ExecutorFactory.java | 0 .../software/common/util/FileMonitor.java | 0 .../software/common/util/FileToPdf.java | 0 .../software/common/util/GeneralUtils.java | 0 .../common/util/ImageProcessingUtils.java | 0 .../software/common/util/PDFToFile.java | 0 .../software/common/util/PdfErrorUtils.java | 0 .../software/common/util/PdfUtils.java | 0 .../software/common/util/ProcessExecutor.java | 0 .../software/common/util/PropertyConfigs.java | 0 .../software/common/util/ProviderUtils.java | 0 .../software/common/util/RequestUriUtils.java | 0 .../common/util/SpringContextHolder.java | 0 .../software/common/util/TempDirectory.java | 0 .../software/common/util/TempFile.java | 0 .../software/common/util/TempFileManager.java | 0 .../common/util/TempFileRegistry.java | 0 .../software/common/util/TempFileUtil.java | 0 .../software/common/util/UIScaling.java | 0 .../software/common/util/UrlUtils.java | 0 .../software/common/util/ValidationUtil.java | 0 .../software/common/util/ValidationUtils.java | 0 .../common/util/WebResponseUtils.java | 0 .../software/common/util/YamlHelper.java | 0 .../util/misc/CustomColorReplaceStrategy.java | 0 .../misc/HighContrastColorReplaceDecider.java | 0 .../util/misc/InvertFullColorStrategy.java | 0 .../util/misc/PdfTextStripperCustom.java | 0 .../misc/ReplaceAndInvertColorStrategy.java | 0 .../StringToArrayListPropertyEditor.java | 0 .../StringToMapPropertyEditor.java | 0 .../AutoJobPostMappingIntegrationTest.java | 0 .../service/CustomPDFDocumentFactoryTest.java | 0 .../common/service/FileStorageTest.java | 0 .../service/JobExecutorServiceTest.java | 0 .../software/common/service/JobQueueTest.java | 0 .../common/service/ResourceMonitorTest.java | 0 .../common/service/SpyPDFDocumentFactory.java | 0 .../common/service/TaskManagerTest.java | 0 .../service/TempFileCleanupServiceTest.java | 0 .../common/util/CheckProgramInstallTest.java | 0 .../common/util/CustomHtmlSanitizerTest.java | 0 .../software/common/util/EmlToPdfTest.java | 0 .../software/common/util/ErrorUtilsTest.java | 0 .../software/common/util/FileInfoTest.java | 0 .../software/common/util/FileMonitorTest.java | 0 .../software/common/util/FileToPdfTest.java | 0 .../util/GeneralUtilsAdditionalTest.java | 0 .../common/util/GeneralUtilsTest.java | 0 .../common/util/ImageProcessingUtilsTest.java | 0 .../software/common/util/PDFToFileTest.java | 0 .../software/common/util/PdfUtilsTest.java | 0 .../common/util/ProcessExecutorTest.java | 0 .../common/util/PropertyConfigsTest.java | 0 .../common/util/ProviderUtilsTest.java | 0 .../common/util/RequestUriUtilsTest.java | 0 .../common/util/SpringContextHolderTest.java | 0 .../software/common/util/UIScalingTest.java | 0 .../software/common/util/UrlUtilsTest.java | 0 .../common/util/WebResponseUtilsTest.java | 0 .../misc/CustomColorReplaceStrategyTest.java | 0 .../HighContrastColorReplaceDeciderTest.java | 0 .../misc/InvertFullColorStrategyTest.java | 0 .../util/misc/PdfTextStripperCustomTest.java | 0 .../ReplaceAndInvertColorStrategyTest.java | 0 .../StringToArrayListPropertyEditorTest.java | 0 .../StringToMapPropertyEditorTest.java | 0 .../common}/src/test/resources/example.pdf | Bin {stirling-pdf => app/core}/.gitignore | 4 +- {stirling-pdf => app/core}/build.gradle | 0 .../signature/CMSProcessableInputStream.java | 0 .../signature/CreateSignatureBase.java | 0 .../pdfbox/examples/signature/TSAClient.java | 0 .../signature/ValidationTimeStamp.java | 0 .../examples/util/ConnectedInputStream.java | 0 .../ReplaceAndInvertColorFactory.java | 0 .../software/SPDF/LibreOfficeListener.java | 0 .../software/SPDF/SPDFApplication.java | 0 .../stirling/software/SPDF/UI/WebBrowser.java | 0 .../software/SPDF/UI/impl/DesktopBrowser.java | 0 .../software/SPDF/UI/impl/LoadingWindow.java | 0 .../SPDF/config/AppUpdateService.java | 0 .../SPDF/config/CleanUrlInterceptor.java | 0 .../SPDF/config/EndpointConfiguration.java | 0 .../SPDF/config/EndpointInspector.java | 0 .../SPDF/config/EndpointInterceptor.java | 0 .../SPDF/config/ExternalAppDepConfig.java | 0 .../software/SPDF/config/InitialSetup.java | 0 .../SPDF/config/LocaleConfiguration.java | 0 .../SPDF/config/LogbackPropertyLoader.java | 0 .../software/SPDF/config/MetricsConfig.java | 0 .../software/SPDF/config/MetricsFilter.java | 0 .../software/SPDF/config/OpenApiConfig.java | 0 .../config/StartupApplicationListener.java | 0 .../software/SPDF/config/WebMvcConfig.java | 0 .../FingerprintBasedSessionFilter.java | 0 .../FingerprintBasedSessionManager.java | 0 .../fingerprint/FingerprintGenerator.java | 0 .../api/AdditionalLanguageJsController.java | 0 .../controller/api/AnalysisController.java | 0 .../SPDF/controller/api/CropController.java | 0 .../api/EditTableOfContentsController.java | 0 .../SPDF/controller/api/MergeController.java | 0 .../api/MultiPageLayoutController.java | 0 .../api/PdfImageRemovalController.java | 0 .../controller/api/PdfOverlayController.java | 0 .../api/RearrangePagesPDFController.java | 0 .../controller/api/RotationController.java | 0 .../controller/api/ScalePagesController.java | 0 .../controller/api/SettingsController.java | 0 .../controller/api/SplitPDFController.java | 0 .../api/SplitPdfByChaptersController.java | 0 .../api/SplitPdfBySectionsController.java | 0 .../api/SplitPdfBySizeController.java | 0 .../api/ToSinglePageController.java | 0 .../api/converters/ConvertEmlToPDF.java | 0 .../api/converters/ConvertHtmlToPDF.java | 0 .../converters/ConvertImgPDFController.java | 0 .../api/converters/ConvertMarkdownToPdf.java | 0 .../converters/ConvertOfficeController.java | 0 .../api/converters/ConvertPDFToHtml.java | 0 .../api/converters/ConvertPDFToOffice.java | 0 .../api/converters/ConvertPDFToPDFA.java | 0 .../api/converters/ConvertWebsiteToPDF.java | 0 .../api/converters/ExtractCSVController.java | 0 .../api/filters/FilterController.java | 0 .../api/misc/AttachmentController.java | 0 .../api/misc/AutoRenameController.java | 0 .../api/misc/AutoSplitPdfController.java | 0 .../api/misc/BlankPageController.java | 0 .../api/misc/CompressController.java | 0 .../api/misc/DecompressPdfController.java | 0 .../api/misc/ExtractImageScansController.java | 0 .../api/misc/ExtractImagesController.java | 0 .../api/misc/FakeScanController.java | 0 .../api/misc/FlattenController.java | 0 .../api/misc/MetadataController.java | 0 .../controller/api/misc/OCRController.java | 0 .../api/misc/OverlayImageController.java | 0 .../api/misc/PageNumbersController.java | 0 .../api/misc/PrintFileController.java | 0 .../controller/api/misc/RepairController.java | 0 .../misc/ReplaceAndInvertColorController.java | 0 .../controller/api/misc/ShowJavascript.java | 0 .../controller/api/misc/StampController.java | 0 .../api/misc/UnlockPDFFormsController.java | 2 - .../api/pipeline/PipelineController.java | 0 .../pipeline/PipelineDirectoryProcessor.java | 0 .../api/pipeline/PipelineProcessor.java | 0 .../api/security/CertSignController.java | 0 .../controller/api/security/GetInfoOnPDF.java | 0 .../api/security/PasswordController.java | 0 .../api/security/RedactController.java | 0 .../security/RemoveCertSignController.java | 0 .../api/security/SanitizeController.java | 0 .../security/ValidateSignatureController.java | 0 .../api/security/WatermarkController.java | 0 .../web/ConverterWebController.java | 0 .../controller/web/GeneralWebController.java | 0 .../controller/web/HomeWebController.java | 0 .../controller/web/MetricsController.java | 0 .../controller/web/OtherWebController.java | 0 .../controller/web/SecurityWebController.java | 0 .../controller/web/SignatureController.java | 0 .../controller/web/UploadLimitService.java | 0 .../software/SPDF/model/ApiEndpoint.java | 0 .../software/SPDF/model/Dependency.java | 0 .../stirling/software/SPDF/model/PDFText.java | 0 .../software/SPDF/model/PipelineConfig.java | 0 .../SPDF/model/PipelineOperation.java | 0 .../software/SPDF/model/PipelineResult.java | 0 .../software/SPDF/model/SignatureFile.java | 0 .../software/SPDF/model/SortTypes.java | 0 .../model/api/EditTableOfContentsRequest.java | 0 .../SPDF/model/api/HandleDataRequest.java | 0 .../software/SPDF/model/api/ImageFile.java | 0 .../SPDF/model/api/MultiplePDFFiles.java | 0 .../SPDF/model/api/PDFComparison.java | 0 .../SPDF/model/api/PDFComparisonAndCount.java | 0 .../model/api/PDFExtractImagesRequest.java | 0 .../model/api/PDFWithImageFormatRequest.java | 0 .../SPDF/model/api/PDFWithPageNums.java | 0 .../SPDF/model/api/PDFWithPageSize.java | 0 .../model/api/SplitPdfByChaptersRequest.java | 0 .../model/api/SplitPdfBySectionsRequest.java | 0 .../api/converters/ConvertPDFToMarkdown.java | 0 .../api/converters/ConvertToImageRequest.java | 0 .../api/converters/ConvertToPdfRequest.java | 0 .../api/converters/PdfToBookRequest.java | 0 .../api/converters/PdfToPdfARequest.java | 0 .../converters/PdfToPresentationRequest.java | 0 .../api/converters/PdfToTextOrRTFRequest.java | 0 .../api/converters/PdfToWordRequest.java | 0 .../model/api/converters/UrlToPdfRequest.java | 0 .../model/api/filter/ContainsTextRequest.java | 0 .../model/api/filter/FileSizeRequest.java | 0 .../model/api/filter/PageRotationRequest.java | 0 .../model/api/filter/PageSizeRequest.java | 0 .../SPDF/model/api/general/CropPdfForm.java | 0 .../general/MergeMultiplePagesRequest.java | 0 .../model/api/general/MergePdfsRequest.java | 0 .../model/api/general/OverlayPdfsRequest.java | 0 .../api/general/RearrangePagesRequest.java | 0 .../model/api/general/RotatePDFRequest.java | 0 .../model/api/general/ScalePagesRequest.java | 0 .../general/SplitPdfBySizeOrCountRequest.java | 0 .../model/api/misc/AddAttachmentRequest.java | 0 .../model/api/misc/AddPageNumbersRequest.java | 0 .../SPDF/model/api/misc/AddStampRequest.java | 0 .../model/api/misc/AutoSplitPdfRequest.java | 0 .../model/api/misc/ExtractHeaderRequest.java | 0 .../api/misc/ExtractImageScansRequest.java | 0 .../SPDF/model/api/misc/FakeScanRequest.java | 0 .../SPDF/model/api/misc/FlattenRequest.java | 0 .../SPDF/model/api/misc/MetadataRequest.java | 0 .../model/api/misc/OptimizePdfRequest.java | 0 .../model/api/misc/OverlayImageRequest.java | 0 .../SPDF/model/api/misc/PrintFileRequest.java | 0 .../api/misc/ProcessPdfWithOcrRequest.java | 0 .../api/misc/RemoveBlankPagesRequest.java | 0 .../misc/ReplaceAndInvertColorRequest.java | 0 .../api/security/AddPasswordRequest.java | 0 .../api/security/AddWatermarkRequest.java | 0 .../api/security/ManualRedactPdfRequest.java | 0 .../api/security/PDFPasswordRequest.java | 0 .../model/api/security/RedactPdfRequest.java | 0 .../api/security/SanitizePdfRequest.java | 0 .../api/security/SignPDFWithCertRequest.java | 0 .../security/SignatureValidationRequest.java | 0 .../security/SignatureValidationResult.java | 0 .../software/SPDF/pdf/FlexibleCSVWriter.java | 0 .../software/SPDF/pdf/TextFinder.java | 0 .../software/SPDF/service/ApiDocService.java | 0 .../SPDF/service/AttachmentService.java | 0 .../service/AttachmentServiceInterface.java | 0 .../service/CertificateValidationService.java | 0 .../SPDF/service/LanguageService.java | 0 .../service/MetricsAggregatorService.java | 0 .../SPDF/service/PdfImageRemovalService.java | 0 .../SPDF/service/SignatureService.java | 0 .../misc/ReplaceAndInvertColorService.java | 0 .../common/controller/JobController.java | 0 .../src/main/resources/application.properties | 0 .../core}/src/main/resources/banner.txt | 0 .../core}/src/main/resources/certdata.txt | 0 .../core}/src/main/resources/icc/sRGB2014.icc | Bin .../core}/src/main/resources/logback.xml | 0 .../src/main/resources/messages.properties | 0 .../main/resources/messages_ar_AR.properties | 0 .../main/resources/messages_az_AZ.properties | 0 .../main/resources/messages_bg_BG.properties | 0 .../main/resources/messages_bo_CN.properties | 0 .../main/resources/messages_ca_CA.properties | 0 .../main/resources/messages_cs_CZ.properties | 0 .../main/resources/messages_da_DK.properties | 0 .../main/resources/messages_de_DE.properties | 0 .../main/resources/messages_el_GR.properties | 0 .../main/resources/messages_en_GB.properties | 0 .../main/resources/messages_en_US.properties | 0 .../main/resources/messages_es_ES.properties | 0 .../main/resources/messages_eu_ES.properties | 0 .../main/resources/messages_fa_IR.properties | 0 .../main/resources/messages_fr_FR.properties | 0 .../main/resources/messages_ga_IE.properties | 0 .../main/resources/messages_hi_IN.properties | 0 .../main/resources/messages_hr_HR.properties | 0 .../main/resources/messages_hu_HU.properties | 0 .../main/resources/messages_id_ID.properties | 0 .../main/resources/messages_it_IT.properties | 0 .../main/resources/messages_ja_JP.properties | 0 .../main/resources/messages_ko_KR.properties | 0 .../main/resources/messages_ml_IN.properties | 0 .../main/resources/messages_nl_NL.properties | 0 .../main/resources/messages_no_NB.properties | 0 .../main/resources/messages_pl_PL.properties | 0 .../main/resources/messages_pt_BR.properties | 0 .../main/resources/messages_pt_PT.properties | 0 .../main/resources/messages_ro_RO.properties | 0 .../main/resources/messages_ru_RU.properties | 0 .../main/resources/messages_sk_SK.properties | 0 .../main/resources/messages_sl_SI.properties | 0 .../resources/messages_sr_LATN_RS.properties | 0 .../main/resources/messages_sv_SE.properties | 0 .../main/resources/messages_th_TH.properties | 0 .../main/resources/messages_tr_TR.properties | 0 .../main/resources/messages_uk_UA.properties | 0 .../main/resources/messages_vi_VN.properties | 0 .../main/resources/messages_zh_CN.properties | 0 .../main/resources/messages_zh_TW.properties | 0 .../src/main/resources/settings.yml.template | 10 +- .../resources/static/3rdPartyLicenses.json | 0 .../static/android-chrome-192x192.png | Bin .../static/android-chrome-512x512.png | Bin .../resources/static/apple-touch-icon.png | Bin .../main/resources/static/browserconfig.xml | 0 .../src/main/resources/static/css/account.css | 0 .../main/resources/static/css/add-image.css | 0 .../resources/static/css/bootstrap-icons.css | 0 .../static/css/bootstrap-icons.min.css | 0 .../resources/static/css/bootstrap.min.css | 0 .../static/css/bootstrap.min.css.map | 0 .../resources/static/css/cookieconsent.css | 0 .../static/css/cookieconsentCustomisation.css | 0 .../main/resources/static/css/dragdrop.css | 0 .../static/css/edit-table-of-contents.css | 0 .../src/main/resources/static/css/error.css | 0 .../main/resources/static/css/errorBanner.css | 0 .../main/resources/static/css/fileSelect.css | 0 .../static/css/fonts/bootstrap-icons.woff | Bin .../static/css/fonts/bootstrap-icons.woff2 | Bin .../src/main/resources/static/css/footer.css | 0 .../src/main/resources/static/css/game.css | 0 .../src/main/resources/static/css/general.css | 0 .../main/resources/static/css/home-legacy.css | 0 .../src/main/resources/static/css/home.css | 0 .../resources/static/css/imageHighlighter.css | 0 .../main/resources/static/css/licenses.css | 0 .../src/main/resources/static/css/login.css | 0 .../src/main/resources/static/css/merge.css | 0 .../main/resources/static/css/multi-tool.css | 0 .../src/main/resources/static/css/navbar.css | 0 .../main/resources/static/css/pdfActions.css | 0 .../main/resources/static/css/pipeline.css | 0 .../src/main/resources/static/css/prism.css | 0 .../resources/static/css/rainbow-mode.css | 0 .../src/main/resources/static/css/redact.css | 0 .../main/resources/static/css/removeImage.css | 0 .../main/resources/static/css/rotate-pdf.css | 0 .../src/main/resources/static/css/sign.css | 0 .../static/css/split-pdf-by-sections.css | 0 .../src/main/resources/static/css/stamp.css | 0 .../resources/static/css/tab-container.css | 0 .../static/css/theme/componentes.css | 0 .../main/resources/static/css/theme/font.css | 0 .../main/resources/static/css/theme/theme.css | 0 .../resources/static/css/theme/theme.dark.css | 0 .../static/css/theme/theme.light.css | 0 .../src/main/resources/static/css/usage.css | 0 .../main/resources/static/favicon-16x16.png | Bin .../main/resources/static/favicon-32x32.png | Bin .../src/main/resources/static/favicon.icns | Bin .../src/main/resources/static/favicon.ico | Bin .../src/main/resources/static/favicon.png | Bin .../src/main/resources/static/favicon.svg | 0 ...o Splitter Divider (with instructions).pdf | Bin .../resources/static/files/popularity.txt | 0 .../static/fonts/Arimo-Regular.woff2 | Bin .../static/fonts/DancingScript-Regular.woff2 | Bin .../main/resources/static/fonts/Estonia.woff2 | Bin .../static/fonts/IndieFlower-Regular.woff2 | Bin .../main/resources/static/fonts/Meiryo.ttf | Bin .../static/fonts/NotoSans-Regular.ttf | Bin .../static/fonts/NotoSansArabic-Regular.ttf | Bin .../static/fonts/NotoSansJP-Regular.ttf | Bin .../static/fonts/NotoSansSC-Regular.ttf | Bin .../static/fonts/NotoSansThai-Regular.ttf | Bin .../main/resources/static/fonts/SimSun.ttf | Bin .../resources/static/fonts/Tangerine.woff2 | Bin .../static/fonts/Tinos-Regular.woff2 | Bin .../static/fonts/google-symbol.woff2 | Bin .../main/resources/static/fonts/malgun.ttf | Bin .../fonts/static/NotoSansArabic-Regular.ttf | Bin .../fonts/static/NotoSansJP-Regular.ttf | Bin .../main/resources/static/images/Files.svg | 0 .../static/images/arrow-right-short.svg | 0 .../src/main/resources/static/images/book.svg | 0 .../resources/static/images/clipboard.svg | 0 .../main/resources/static/images/discord.svg | 0 .../main/resources/static/images/docker.svg | 0 .../static/images/file-earmark-pdf.svg | 0 .../main/resources/static/images/github.svg | 0 .../resources/static/images/google-drive.svg | 0 .../resources/static/images/redact-auto.svg | 0 .../resources/static/images/redact-manual.svg | 0 .../main/resources/static/images/rename.svg | 0 .../resources/static/images/signature.png | Bin .../resources/static/images/split-auto.svg | 0 .../static/images/split-chapters.svg | 0 .../resources/static/images/split-size.svg | 0 .../main/resources/static/images/update.svg | 0 .../main/resources/static/js/DecryptFiles.js | 0 .../resources/static/js/cacheFormInputs.js | 0 .../main/resources/static/js/compare/diff.js | 0 .../resources/static/js/compare/pdfWorker.js | 0 .../src/main/resources/static/js/csrf.js | 0 .../src/main/resources/static/js/darkmode.js | 0 .../src/main/resources/static/js/download.js | 0 .../main/resources/static/js/downloader.js | 0 .../resources/static/js/draggable-utils.js | 0 .../main/resources/static/js/errorBanner.js | 0 .../main/resources/static/js/favourites.js | 0 .../main/resources/static/js/fetch-utils.js | 0 .../resources/static/js/file-icon-factory.js | 0 .../main/resources/static/js/file-utils.js | 0 .../src/main/resources/static/js/fileInput.js | 0 .../src/main/resources/static/js/game.js | 0 .../main/resources/static/js/githubVersion.js | 0 .../resources/static/js/googleFilePicker.js | 0 .../resources/static/js/homecard-legacy.js | 0 .../src/main/resources/static/js/homecard.js | 0 .../resources/static/js/languageSelection.js | 0 .../static/js/local-pdf-input-download.js | 0 .../src/main/resources/static/js/merge.js | 0 .../static/js/multitool/DragDropManager.js | 0 .../static/js/multitool/ImageHighlighter.js | 0 .../static/js/multitool/PdfActionsManager.js | 0 .../static/js/multitool/PdfContainer.js | 0 .../static/js/multitool/UndoManager.js | 0 .../static/js/multitool/commands/add-page.js | 0 .../static/js/multitool/commands/command.js | 0 .../multitool/commands/commands-sequence.js | 0 .../js/multitool/commands/delete-page.js | 0 .../static/js/multitool/commands/move-page.js | 0 .../js/multitool/commands/page-break.js | 0 .../static/js/multitool/commands/remove.js | 0 .../static/js/multitool/commands/rotate.js | 0 .../static/js/multitool/commands/select.js | 0 .../static/js/multitool/commands/split.js | 0 .../src/main/resources/static/js/navbar.js | 0 .../resources/static/js/pages/add-image.js | 0 .../static/js/pages/adjust-contrast.js | 0 .../static/js/pages/change-metadata.js | 0 .../main/resources/static/js/pages/crop.js | 0 .../static/js/pages/edit-table-of-contents.js | 0 .../main/resources/static/js/pages/home.js | 0 .../resources/static/js/pages/pdf-to-csv.js | 0 .../main/resources/static/js/pages/sign.js | 0 .../src/main/resources/static/js/pipeline.js | 0 .../src/main/resources/static/js/redact.js | 0 .../src/main/resources/static/js/search.js | 0 .../src/main/resources/static/js/settings.js | 0 .../static/js/sign/signature-canvas.js | 0 .../main/resources/static/js/tab-container.js | 0 .../static/js/thirdParty/bootstrap.min.js | 0 .../static/js/thirdParty/bootstrap.min.js.map | 0 .../static/js/thirdParty/chart.umd.min.js | 0 .../js/thirdParty/cookieconsent-config.js | 0 .../static/js/thirdParty/cookieconsent.umd.js | 0 .../thirdParty/fontfaceobserver.standalone.js | 0 .../static/js/thirdParty/interact.min.js | 0 .../static/js/thirdParty/interact.min.js.map | 0 .../static/js/thirdParty/jquery.min.js | 0 .../js/thirdParty/jquery.validate.min.js | 0 .../static/js/thirdParty/jszip.min.js | 0 .../static/js/thirdParty/pdf-lib.min.js | 0 .../static/js/thirdParty/pdf-lib.min.js.map | 0 .../static/js/thirdParty/popper.min.js | 0 .../static/js/thirdParty/popper.min.js.map | 0 .../resources/static/js/thirdParty/prism.js | 0 .../js/thirdParty/signature_pad.umd.min.js | 0 .../thirdParty/signature_pad.umd.min.js.map | 0 .../src/main/resources/static/js/usage.js | 0 .../src/main/resources/static/js/uuid.js | 0 .../src/main/resources/static/manifest.json | 0 .../core}/src/main/resources/static/moon.svg | 0 .../main/resources/static/mstile-144x144.png | Bin .../main/resources/static/mstile-150x150.png | Bin .../main/resources/static/mstile-310x150.png | Bin .../main/resources/static/mstile-310x310.png | Bin .../main/resources/static/mstile-70x70.png | Bin .../static/pdfjs-legacy/cmaps/78-EUC-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/78-EUC-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/78-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/78-RKSJ-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/78-RKSJ-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/78-V.bcmap | Bin .../pdfjs-legacy/cmaps/78ms-RKSJ-H.bcmap | Bin .../pdfjs-legacy/cmaps/78ms-RKSJ-V.bcmap | Bin .../pdfjs-legacy/cmaps/83pv-RKSJ-H.bcmap | Bin .../pdfjs-legacy/cmaps/90ms-RKSJ-H.bcmap | Bin .../pdfjs-legacy/cmaps/90ms-RKSJ-V.bcmap | Bin .../pdfjs-legacy/cmaps/90msp-RKSJ-H.bcmap | Bin .../pdfjs-legacy/cmaps/90msp-RKSJ-V.bcmap | Bin .../pdfjs-legacy/cmaps/90pv-RKSJ-H.bcmap | Bin .../pdfjs-legacy/cmaps/90pv-RKSJ-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/Add-H.bcmap | Bin .../pdfjs-legacy/cmaps/Add-RKSJ-H.bcmap | Bin .../pdfjs-legacy/cmaps/Add-RKSJ-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/Add-V.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-CNS1-0.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-CNS1-1.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-CNS1-2.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-CNS1-3.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-CNS1-4.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-CNS1-5.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-CNS1-6.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-CNS1-UCS2.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-GB1-0.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-GB1-1.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-GB1-2.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-GB1-3.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-GB1-4.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-GB1-5.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-GB1-UCS2.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-Japan1-0.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-Japan1-1.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-Japan1-2.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-Japan1-3.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-Japan1-4.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-Japan1-5.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-Japan1-6.bcmap | Bin .../cmaps/Adobe-Japan1-UCS2.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-Korea1-0.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-Korea1-1.bcmap | Bin .../pdfjs-legacy/cmaps/Adobe-Korea1-2.bcmap | Bin .../cmaps/Adobe-Korea1-UCS2.bcmap | Bin .../static/pdfjs-legacy/cmaps/B5-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/B5-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/B5pc-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/B5pc-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/CNS-EUC-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/CNS-EUC-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/CNS1-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/CNS1-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/CNS2-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/CNS2-V.bcmap | 0 .../static/pdfjs-legacy/cmaps/ETHK-B5-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/ETHK-B5-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/ETen-B5-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/ETen-B5-V.bcmap | Bin .../pdfjs-legacy/cmaps/ETenms-B5-H.bcmap | 0 .../pdfjs-legacy/cmaps/ETenms-B5-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/EUC-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/EUC-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/Ext-H.bcmap | Bin .../pdfjs-legacy/cmaps/Ext-RKSJ-H.bcmap | Bin .../pdfjs-legacy/cmaps/Ext-RKSJ-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/Ext-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/GB-EUC-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/GB-EUC-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/GB-H.bcmap | 0 .../static/pdfjs-legacy/cmaps/GB-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/GBK-EUC-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/GBK-EUC-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/GBK2K-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/GBK2K-V.bcmap | Bin .../pdfjs-legacy/cmaps/GBKp-EUC-H.bcmap | Bin .../pdfjs-legacy/cmaps/GBKp-EUC-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/GBT-EUC-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/GBT-EUC-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/GBT-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/GBT-V.bcmap | Bin .../pdfjs-legacy/cmaps/GBTpc-EUC-H.bcmap | Bin .../pdfjs-legacy/cmaps/GBTpc-EUC-V.bcmap | Bin .../pdfjs-legacy/cmaps/GBpc-EUC-H.bcmap | Bin .../pdfjs-legacy/cmaps/GBpc-EUC-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/H.bcmap | Bin .../pdfjs-legacy/cmaps/HKdla-B5-H.bcmap | Bin .../pdfjs-legacy/cmaps/HKdla-B5-V.bcmap | Bin .../pdfjs-legacy/cmaps/HKdlb-B5-H.bcmap | Bin .../pdfjs-legacy/cmaps/HKdlb-B5-V.bcmap | Bin .../pdfjs-legacy/cmaps/HKgccs-B5-H.bcmap | Bin .../pdfjs-legacy/cmaps/HKgccs-B5-V.bcmap | Bin .../pdfjs-legacy/cmaps/HKm314-B5-H.bcmap | Bin .../pdfjs-legacy/cmaps/HKm314-B5-V.bcmap | Bin .../pdfjs-legacy/cmaps/HKm471-B5-H.bcmap | Bin .../pdfjs-legacy/cmaps/HKm471-B5-V.bcmap | Bin .../pdfjs-legacy/cmaps/HKscs-B5-H.bcmap | Bin .../pdfjs-legacy/cmaps/HKscs-B5-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/Hankaku.bcmap | Bin .../static/pdfjs-legacy/cmaps/Hiragana.bcmap | Bin .../static/pdfjs-legacy/cmaps/KSC-EUC-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/KSC-EUC-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/KSC-H.bcmap | Bin .../pdfjs-legacy/cmaps/KSC-Johab-H.bcmap | Bin .../pdfjs-legacy/cmaps/KSC-Johab-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/KSC-V.bcmap | Bin .../pdfjs-legacy/cmaps/KSCms-UHC-H.bcmap | Bin .../pdfjs-legacy/cmaps/KSCms-UHC-HW-H.bcmap | Bin .../pdfjs-legacy/cmaps/KSCms-UHC-HW-V.bcmap | Bin .../pdfjs-legacy/cmaps/KSCms-UHC-V.bcmap | Bin .../pdfjs-legacy/cmaps/KSCpc-EUC-H.bcmap | Bin .../pdfjs-legacy/cmaps/KSCpc-EUC-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/Katakana.bcmap | Bin .../static/pdfjs-legacy/cmaps/LICENSE | 0 .../static/pdfjs-legacy/cmaps/NWP-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/NWP-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/RKSJ-H.bcmap | Bin .../static/pdfjs-legacy/cmaps/RKSJ-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/Roman.bcmap | Bin .../pdfjs-legacy/cmaps/UniCNS-UCS2-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniCNS-UCS2-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniCNS-UTF16-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniCNS-UTF16-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniCNS-UTF32-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniCNS-UTF32-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniCNS-UTF8-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniCNS-UTF8-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniGB-UCS2-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniGB-UCS2-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniGB-UTF16-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniGB-UTF16-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniGB-UTF32-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniGB-UTF32-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniGB-UTF8-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniGB-UTF8-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniJIS-UCS2-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniJIS-UCS2-HW-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniJIS-UCS2-HW-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniJIS-UCS2-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniJIS-UTF16-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniJIS-UTF16-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniJIS-UTF32-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniJIS-UTF32-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniJIS-UTF8-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniJIS-UTF8-V.bcmap | Bin .../cmaps/UniJIS2004-UTF16-H.bcmap | Bin .../cmaps/UniJIS2004-UTF16-V.bcmap | Bin .../cmaps/UniJIS2004-UTF32-H.bcmap | Bin .../cmaps/UniJIS2004-UTF32-V.bcmap | Bin .../cmaps/UniJIS2004-UTF8-H.bcmap | Bin .../cmaps/UniJIS2004-UTF8-V.bcmap | Bin .../cmaps/UniJISPro-UCS2-HW-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniJISPro-UCS2-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniJISPro-UTF8-V.bcmap | Bin .../cmaps/UniJISX0213-UTF32-H.bcmap | Bin .../cmaps/UniJISX0213-UTF32-V.bcmap | Bin .../cmaps/UniJISX02132004-UTF32-H.bcmap | Bin .../cmaps/UniJISX02132004-UTF32-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniKS-UCS2-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniKS-UCS2-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniKS-UTF16-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniKS-UTF16-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniKS-UTF32-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniKS-UTF32-V.bcmap | Bin .../pdfjs-legacy/cmaps/UniKS-UTF8-H.bcmap | Bin .../pdfjs-legacy/cmaps/UniKS-UTF8-V.bcmap | Bin .../static/pdfjs-legacy/cmaps/V.bcmap | Bin .../static/pdfjs-legacy/cmaps/WP-Symbol.bcmap | Bin .../static/pdfjs-legacy/css/debugger.css | 0 .../static/pdfjs-legacy/css/viewer-redact.css | 0 .../static/pdfjs-legacy/css/viewer.css | 0 .../static/pdfjs-legacy/example/Welcome.pdf | Bin .../pdfjs-legacy/example/Welcome_old.pdf | Bin .../pdfjs-legacy/images/altText_add.svg | 0 .../pdfjs-legacy/images/altText_done.svg | 0 .../pdfjs-legacy/images/annotation-check.svg | 0 .../images/annotation-comment.svg | 0 .../pdfjs-legacy/images/annotation-help.svg | 0 .../pdfjs-legacy/images/annotation-insert.svg | 0 .../pdfjs-legacy/images/annotation-key.svg | 0 .../images/annotation-newparagraph.svg | 0 .../pdfjs-legacy/images/annotation-noicon.svg | 0 .../pdfjs-legacy/images/annotation-note.svg | 0 .../images/annotation-paperclip.svg | 0 .../images/annotation-paragraph.svg | 0 .../images/annotation-pushpin.svg | 0 .../images/cursor-editorFreeHighlight.svg | 0 .../images/cursor-editorFreeText.svg | 0 .../pdfjs-legacy/images/cursor-editorInk.svg | 0 .../images/cursor-editorTextHighlight.svg | 0 .../images/editor-toolbar-delete.svg | 0 .../images/findbarButton-next.svg | 0 .../images/findbarButton-previous.svg | 0 .../images/gv-toolbarButton-download.svg | 0 .../pdfjs-legacy/images/loading-icon.gif | Bin .../static/pdfjs-legacy/images/loading.svg | 0 ...ondaryToolbarButton-documentProperties.svg | 0 .../secondaryToolbarButton-firstPage.svg | 0 .../secondaryToolbarButton-handTool.svg | 0 .../secondaryToolbarButton-lastPage.svg | 0 .../secondaryToolbarButton-rotateCcw.svg | 0 .../secondaryToolbarButton-rotateCw.svg | 0 ...econdaryToolbarButton-scrollHorizontal.svg | 0 .../secondaryToolbarButton-scrollPage.svg | 0 .../secondaryToolbarButton-scrollVertical.svg | 0 .../secondaryToolbarButton-scrollWrapped.svg | 0 .../secondaryToolbarButton-selectTool.svg | 0 .../secondaryToolbarButton-spreadEven.svg | 0 .../secondaryToolbarButton-spreadNone.svg | 0 .../secondaryToolbarButton-spreadOdd.svg | 0 .../images/toolbarButton-bookmark.svg | 0 .../toolbarButton-currentOutlineItem.svg | 0 .../images/toolbarButton-download.svg | 0 .../images/toolbarButton-editorFreeText.svg | 0 .../images/toolbarButton-editorHighlight.svg | 0 .../images/toolbarButton-editorInk.svg | 0 .../images/toolbarButton-editorStamp.svg | 0 .../images/toolbarButton-home.svg | 0 .../images/toolbarButton-menuArrow.svg | 0 .../images/toolbarButton-openFile.svg | 0 .../images/toolbarButton-pageDown.svg | 0 .../images/toolbarButton-pageUp.svg | 0 .../images/toolbarButton-presentationMode.svg | 0 .../images/toolbarButton-print.svg | 0 .../images/toolbarButton-search.svg | 0 .../toolbarButton-secondaryToolbarToggle.svg | 0 .../images/toolbarButton-sidebarToggle.svg | 0 .../images/toolbarButton-viewAttachments.svg | 0 .../images/toolbarButton-viewLayers.svg | 0 .../images/toolbarButton-viewOutline.svg | 0 .../images/toolbarButton-viewThumbnail.svg | 0 .../images/toolbarButton-zoomIn.svg | 0 .../images/toolbarButton-zoomOut.svg | 0 .../images/treeitem-collapsed.svg | 0 .../pdfjs-legacy/images/treeitem-expanded.svg | 0 .../static/pdfjs-legacy/js/viewer.mjs | 0 .../static/pdfjs-legacy/js/viewer.mjs.map | 0 .../static/pdfjs-legacy/locale/ach/viewer.ftl | 0 .../static/pdfjs-legacy/locale/af/viewer.ftl | 0 .../static/pdfjs-legacy/locale/an/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ar/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ast/viewer.ftl | 0 .../static/pdfjs-legacy/locale/az/viewer.ftl | 0 .../static/pdfjs-legacy/locale/be/viewer.ftl | 0 .../static/pdfjs-legacy/locale/bg/viewer.ftl | 0 .../static/pdfjs-legacy/locale/bn/viewer.ftl | 0 .../static/pdfjs-legacy/locale/bo/viewer.ftl | 0 .../static/pdfjs-legacy/locale/br/viewer.ftl | 0 .../static/pdfjs-legacy/locale/brx/viewer.ftl | 0 .../static/pdfjs-legacy/locale/bs/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ca/viewer.ftl | 0 .../static/pdfjs-legacy/locale/cak/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ckb/viewer.ftl | 0 .../static/pdfjs-legacy/locale/cs/viewer.ftl | 0 .../static/pdfjs-legacy/locale/cy/viewer.ftl | 0 .../static/pdfjs-legacy/locale/da/viewer.ftl | 0 .../static/pdfjs-legacy/locale/de/viewer.ftl | 0 .../static/pdfjs-legacy/locale/dsb/viewer.ftl | 0 .../static/pdfjs-legacy/locale/el/viewer.ftl | 0 .../pdfjs-legacy/locale/en-CA/viewer.ftl | 0 .../pdfjs-legacy/locale/en-GB/viewer.ftl | 0 .../pdfjs-legacy/locale/en-US/viewer.ftl | 0 .../static/pdfjs-legacy/locale/eo/viewer.ftl | 0 .../pdfjs-legacy/locale/es-AR/viewer.ftl | 0 .../pdfjs-legacy/locale/es-CL/viewer.ftl | 0 .../pdfjs-legacy/locale/es-ES/viewer.ftl | 0 .../pdfjs-legacy/locale/es-MX/viewer.ftl | 0 .../static/pdfjs-legacy/locale/et/viewer.ftl | 0 .../static/pdfjs-legacy/locale/eu/viewer.ftl | 0 .../static/pdfjs-legacy/locale/fa/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ff/viewer.ftl | 0 .../static/pdfjs-legacy/locale/fi/viewer.ftl | 0 .../static/pdfjs-legacy/locale/fr/viewer.ftl | 0 .../static/pdfjs-legacy/locale/fur/viewer.ftl | 0 .../pdfjs-legacy/locale/fy-NL/viewer.ftl | 0 .../pdfjs-legacy/locale/ga-IE/viewer.ftl | 0 .../static/pdfjs-legacy/locale/gd/viewer.ftl | 0 .../static/pdfjs-legacy/locale/gl/viewer.ftl | 0 .../static/pdfjs-legacy/locale/gn/viewer.ftl | 0 .../pdfjs-legacy/locale/gu-IN/viewer.ftl | 0 .../static/pdfjs-legacy/locale/he/viewer.ftl | 0 .../pdfjs-legacy/locale/hi-IN/viewer.ftl | 0 .../static/pdfjs-legacy/locale/hr/viewer.ftl | 0 .../static/pdfjs-legacy/locale/hsb/viewer.ftl | 0 .../static/pdfjs-legacy/locale/hu/viewer.ftl | 0 .../pdfjs-legacy/locale/hy-AM/viewer.ftl | 0 .../static/pdfjs-legacy/locale/hye/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ia/viewer.ftl | 0 .../static/pdfjs-legacy/locale/id/viewer.ftl | 0 .../static/pdfjs-legacy/locale/is/viewer.ftl | 0 .../static/pdfjs-legacy/locale/it/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ja/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ka/viewer.ftl | 0 .../static/pdfjs-legacy/locale/kab/viewer.ftl | 0 .../static/pdfjs-legacy/locale/kk/viewer.ftl | 0 .../static/pdfjs-legacy/locale/km/viewer.ftl | 0 .../static/pdfjs-legacy/locale/kn/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ko/viewer.ftl | 0 .../static/pdfjs-legacy/locale/lij/viewer.ftl | 0 .../static/pdfjs-legacy/locale/lo/viewer.ftl | 0 .../static/pdfjs-legacy/locale/locale.json | 0 .../static/pdfjs-legacy/locale/lt/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ltg/viewer.ftl | 0 .../static/pdfjs-legacy/locale/lv/viewer.ftl | 0 .../static/pdfjs-legacy/locale/meh/viewer.ftl | 0 .../static/pdfjs-legacy/locale/mk/viewer.ftl | 0 .../static/pdfjs-legacy/locale/mr/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ms/viewer.ftl | 0 .../static/pdfjs-legacy/locale/my/viewer.ftl | 0 .../pdfjs-legacy/locale/nb-NO/viewer.ftl | 0 .../pdfjs-legacy/locale/ne-NP/viewer.ftl | 0 .../static/pdfjs-legacy/locale/nl/viewer.ftl | 0 .../pdfjs-legacy/locale/nn-NO/viewer.ftl | 0 .../static/pdfjs-legacy/locale/oc/viewer.ftl | 0 .../pdfjs-legacy/locale/pa-IN/viewer.ftl | 0 .../static/pdfjs-legacy/locale/pl/viewer.ftl | 0 .../pdfjs-legacy/locale/pt-BR/viewer.ftl | 0 .../pdfjs-legacy/locale/pt-PT/viewer.ftl | 0 .../static/pdfjs-legacy/locale/rm/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ro/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ru/viewer.ftl | 0 .../static/pdfjs-legacy/locale/sat/viewer.ftl | 0 .../static/pdfjs-legacy/locale/sc/viewer.ftl | 0 .../static/pdfjs-legacy/locale/scn/viewer.ftl | 0 .../static/pdfjs-legacy/locale/sco/viewer.ftl | 0 .../static/pdfjs-legacy/locale/si/viewer.ftl | 0 .../static/pdfjs-legacy/locale/sk/viewer.ftl | 0 .../static/pdfjs-legacy/locale/skr/viewer.ftl | 0 .../static/pdfjs-legacy/locale/sl/viewer.ftl | 0 .../static/pdfjs-legacy/locale/son/viewer.ftl | 0 .../static/pdfjs-legacy/locale/sq/viewer.ftl | 0 .../static/pdfjs-legacy/locale/sr/viewer.ftl | 0 .../pdfjs-legacy/locale/sv-SE/viewer.ftl | 0 .../static/pdfjs-legacy/locale/szl/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ta/viewer.ftl | 0 .../static/pdfjs-legacy/locale/te/viewer.ftl | 0 .../static/pdfjs-legacy/locale/tg/viewer.ftl | 0 .../static/pdfjs-legacy/locale/th/viewer.ftl | 0 .../static/pdfjs-legacy/locale/tl/viewer.ftl | 0 .../static/pdfjs-legacy/locale/tr/viewer.ftl | 0 .../static/pdfjs-legacy/locale/trs/viewer.ftl | 0 .../static/pdfjs-legacy/locale/uk/viewer.ftl | 0 .../static/pdfjs-legacy/locale/ur/viewer.ftl | 0 .../static/pdfjs-legacy/locale/uz/viewer.ftl | 0 .../static/pdfjs-legacy/locale/vi/viewer.ftl | 0 .../static/pdfjs-legacy/locale/wo/viewer.ftl | 0 .../static/pdfjs-legacy/locale/xh/viewer.ftl | 0 .../pdfjs-legacy/locale/zh-CN/viewer.ftl | 0 .../pdfjs-legacy/locale/zh-TW/viewer.ftl | 0 .../resources/static/pdfjs-legacy/pdf.mjs | 0 .../resources/static/pdfjs-legacy/pdf.mjs.map | 0 .../static/pdfjs-legacy/pdf.sandbox.mjs | 0 .../static/pdfjs-legacy/pdf.sandbox.mjs.map | 0 .../static/pdfjs-legacy/pdf.worker.entry.js | 0 .../static/pdfjs-legacy/pdf.worker.mjs | 0 .../static/pdfjs-legacy/pdf.worker.mjs.map | 0 .../standard_fonts/FoxitDingbats.pfb | Bin .../standard_fonts/FoxitFixed.pfb | Bin .../standard_fonts/FoxitFixedBold.pfb | Bin .../standard_fonts/FoxitFixedBoldItalic.pfb | Bin .../standard_fonts/FoxitFixedItalic.pfb | Bin .../standard_fonts/FoxitSerif.pfb | Bin .../standard_fonts/FoxitSerifBold.pfb | Bin .../standard_fonts/FoxitSerifBoldItalic.pfb | Bin .../standard_fonts/FoxitSerifItalic.pfb | Bin .../standard_fonts/FoxitSymbol.pfb | Bin .../pdfjs-legacy/standard_fonts/LICENSE_FOXIT | 0 .../standard_fonts/LICENSE_LIBERATION | 0 .../standard_fonts/LiberationSans-Bold.ttf | Bin .../LiberationSans-BoldItalic.ttf | Bin .../standard_fonts/LiberationSans-Italic.ttf | Bin .../standard_fonts/LiberationSans-Regular.ttf | Bin .../src/main/resources/static/rainbow.svg | 0 .../resources/static/safari-pinned-tab.svg | 0 .../main/resources/static/site.webmanifest | 0 .../core}/src/main/resources/static/sun.svg | 0 .../src/main/resources/templates/about.html | 0 .../src/main/resources/templates/account.html | 0 .../resources/templates/adminSettings.html | 0 .../resources/templates/auto-split-pdf.html | 0 .../resources/templates/change-creds.html | 0 .../templates/convert/eml-to-pdf.html | 0 .../templates/convert/file-to-pdf.html | 0 .../templates/convert/html-to-pdf.html | 0 .../templates/convert/img-to-pdf.html | 0 .../templates/convert/markdown-to-pdf.html | 0 .../templates/convert/pdf-to-csv.html | 0 .../templates/convert/pdf-to-html.html | 0 .../templates/convert/pdf-to-img.html | 0 .../templates/convert/pdf-to-markdown.html | 0 .../templates/convert/pdf-to-pdfa.html | 0 .../convert/pdf-to-presentation.html | 0 .../templates/convert/pdf-to-text.html | 0 .../templates/convert/pdf-to-word.html | 0 .../templates/convert/pdf-to-xml.html | 0 .../templates/convert/url-to-pdf.html | 0 .../src/main/resources/templates/crop.html | 0 .../main/resources/templates/database.html | 0 .../templates/edit-table-of-contents.html | 0 .../src/main/resources/templates/error.html | 0 .../resources/templates/extract-page.html | 0 .../resources/templates/fragments/card.html | 0 .../resources/templates/fragments/common.html | 0 .../templates/fragments/errorBanner.html | 0 .../fragments/errorBannerPerPage.html | 0 .../fragments/featureGroupHeader.html | 0 .../fragments/featureGroupHeaderLegacy.html | 0 .../resources/templates/fragments/footer.html | 0 .../templates/fragments/languageEntry.html | 0 .../templates/fragments/languages.html | 0 .../templates/fragments/multi-toolAdvert.html | 0 .../templates/fragments/navElements.html | 0 .../resources/templates/fragments/navbar.html | 0 .../templates/fragments/navbarEntry.html | 0 .../fragments/navbarEntryCustom.html | 0 .../main/resources/templates/home-legacy.html | 0 .../src/main/resources/templates/home.html | 0 .../main/resources/templates/licenses.html | 0 .../src/main/resources/templates/login.html | 0 .../main/resources/templates/merge-pdfs.html | 0 .../templates/misc/add-attachments.html | 0 .../resources/templates/misc/add-image.html | 0 .../templates/misc/add-page-numbers.html | 0 .../templates/misc/adjust-contrast.html | 0 .../resources/templates/misc/auto-crop.html | 0 .../resources/templates/misc/auto-rename.html | 0 .../templates/misc/change-metadata.html | 0 .../resources/templates/misc/compare.html | 0 .../templates/misc/compress-pdf.html | 0 .../templates/misc/extract-image-scans.html | 0 .../templates/misc/extract-images.html | 0 .../resources/templates/misc/fake-scan.html | 0 .../resources/templates/misc/flatten.html | 0 .../resources/templates/misc/ocr-pdf.html | 0 .../resources/templates/misc/print-file.html | 0 .../templates/misc/remove-annotations.html | 0 .../templates/misc/remove-blanks.html | 0 .../main/resources/templates/misc/repair.html | 0 .../templates/misc/replace-color.html | 0 .../templates/misc/show-javascript.html | 0 .../main/resources/templates/misc/stamp.html | 0 .../templates/misc/unlock-pdf-forms.html | 0 .../templates/multi-page-layout.html | 0 .../main/resources/templates/multi-tool.html | 0 .../main/resources/templates/overlay-pdf.html | 0 .../resources/templates/pdf-organizer.html | 0 .../templates/pdf-to-single-page.html | 0 .../main/resources/templates/pipeline.html | 0 .../main/resources/templates/releases.html | 0 .../resources/templates/remove-image-pdf.html | 0 .../resources/templates/remove-pages.html | 0 .../main/resources/templates/rotate-pdf.html | 0 .../main/resources/templates/scale-pages.html | 0 .../templates/security/add-password.html | 0 .../templates/security/add-watermark.html | 0 .../templates/security/auto-redact.html | 0 .../templates/security/cert-sign.html | 0 .../security/change-permissions.html | 0 .../templates/security/get-info-on-pdf.html | 0 .../resources/templates/security/redact.html | 0 .../templates/security/remove-cert-sign.html | 0 .../templates/security/remove-password.html | 0 .../templates/security/remove-watermark.html | 0 .../templates/security/sanitize-pdf.html | 0 .../security/validate-signature.html | 0 .../src/main/resources/templates/sign.html | 0 .../templates/split-by-size-or-count.html | 0 .../templates/split-pdf-by-chapters.html | 0 .../templates/split-pdf-by-sections.html | 0 .../main/resources/templates/split-pdfs.html | 0 .../src/main/resources/templates/usage.html | 0 .../main/resources/templates/view-pdf.html | 0 .../software/SPDF/SPDFApplicationTest.java | 0 .../EditTableOfContentsControllerTest.java | 0 .../controller/api/MergeControllerTest.java | 0 .../api/RearrangePagesPDFControllerTest.java | 0 .../api/RotationControllerTest.java | 0 .../converters/ConvertWebsiteToPdfTest.java | 0 .../api/misc/AttachmentControllerTest.java | 0 .../api/pipeline/PipelineProcessorTest.java | 0 .../web/UploadLimitServiceTest.java | 0 .../SPDF/service/AttachmentServiceTest.java | 0 .../CertificateValidationServiceTest.java | 0 .../service/LanguageServiceBasicTest.java | 0 .../SPDF/service/LanguageServiceTest.java | 0 .../service/PdfImageRemovalServiceTest.java | 0 .../service/PdfMetadataServiceBasicTest.java | 0 .../SPDF/service/PdfMetadataServiceTest.java | 0 .../SPDF/service/SignatureServiceTest.java | 0 .../common/controller/JobControllerTest.java | 0 {proprietary => app/proprietary}/.gitignore | 2 +- {proprietary => app/proprietary}/LICENSE | 0 {proprietary => app/proprietary}/build.gradle | 0 .../proprietary/audit/AuditAspect.java | 0 .../proprietary/audit/AuditEventType.java | 0 .../proprietary/audit/AuditLevel.java | 0 .../proprietary/audit/AuditUtils.java | 0 .../software/proprietary/audit/Audited.java | 0 .../audit/ControllerAuditAspect.java | 0 .../proprietary/config/AsyncConfig.java | 0 .../config/AuditConfigurationProperties.java | 0 .../proprietary/config/AuditJpaConfig.java | 0 .../config/CustomAuditEventRepository.java | 0 .../controller/AdminJobController.java | 0 .../controller/AuditDashboardController.java | 0 .../software/proprietary/model/Team.java | 0 .../model/dto/TeamWithUserCountDTO.java | 0 .../model/security/PersistentAuditEvent.java | 0 .../PersistentAuditEventRepository.java | 0 .../CustomAuthenticationFailureHandler.java | 0 .../CustomAuthenticationSuccessHandler.java | 0 .../security/CustomLogoutSuccessHandler.java | 0 .../security/InitialSecuritySetup.java | 0 .../security/RateLimitResetScheduler.java | 0 .../security/config/AccountWebController.java | 0 .../security/config/EnterpriseEndpoint.java | 0 .../config/EnterpriseEndpointAspect.java | 0 .../security/config/PremiumEndpoint.java | 0 .../config/PremiumEndpointAspect.java | 0 .../configuration/DatabaseConfig.java | 0 .../security/configuration/MailConfig.java | 0 .../configuration/SecurityConfiguration.java | 0 .../configuration/ee/EEAppConfig.java | 0 .../ee/KeygenLicenseVerifier.java | 0 .../configuration/ee/LicenseKeyChecker.java | 0 .../controller/api/DatabaseController.java | 0 .../controller/api/EmailController.java | 0 .../controller/api/TeamController.java | 0 .../controller/api/UserController.java | 0 .../controller/web/DatabaseWebController.java | 0 .../controller/web/TeamWebController.java | 0 .../security/database/H2SQLCondition.java | 0 .../security/database/ScheduledTasks.java | 0 .../repository/AuthorityRepository.java | 0 .../repository/JPATokenRepositoryImpl.java | 0 .../repository/PersistentLoginRepository.java | 0 .../repository/SessionRepository.java | 0 .../database/repository/UserRepository.java | 0 .../filter/EnterpriseEndpointFilter.java | 0 .../security/filter/FirstLoginFilter.java | 0 .../security/filter/IPRateLimitingFilter.java | 0 .../filter/UserAuthenticationFilter.java | 0 .../filter/UserBasedRateLimitingFilter.java | 0 .../model/ApiKeyAuthenticationToken.java | 0 .../security/model/AttemptCounter.java | 0 .../security/model/AuthenticationType.java | 0 .../proprietary/security/model/Authority.java | 0 .../security/model/PersistentLogin.java | 0 .../security/model/SessionEntity.java | 0 .../proprietary/security/model/User.java | 0 .../proprietary/security/model/api/Email.java | 0 .../model/api/user/UpdateUserDetails.java | 0 .../model/api/user/UpdateUserUsername.java | 0 .../security/model/api/user/Username.java | 0 .../model/api/user/UsernameAndPass.java | 0 .../exception/BackupNotFoundException.java | 0 .../exception/NoProviderFoundException.java | 0 ...tomOAuth2AuthenticationFailureHandler.java | 0 ...tomOAuth2AuthenticationSuccessHandler.java | 0 .../security/oauth2/OAuth2Configuration.java | 0 .../security/repository/TeamRepository.java | 0 .../security/saml2/CertificateUtils.java | 0 .../CustomSaml2AuthenticatedPrincipal.java | 0 ...stomSaml2AuthenticationFailureHandler.java | 0 ...stomSaml2AuthenticationSuccessHandler.java | 0 ...mSaml2ResponseAuthenticationConverter.java | 0 .../security/saml2/SAML2Configuration.java | 0 .../service/AppUpdateAuthService.java | 0 .../service/CustomOAuth2UserService.java | 0 .../service/CustomUserDetailsService.java | 0 .../security/service/DatabaseService.java | 0 .../service/DatabaseServiceInterface.java | 0 .../security/service/EmailService.java | 0 .../security/service/LoginAttemptService.java | 0 .../security/service/TeamService.java | 0 .../security/service/UserService.java | 0 .../session/CustomHttpSessionListener.java | 0 .../session/SessionPersistentRegistry.java | 0 .../session/SessionRegistryConfig.java | 0 .../security/session/SessionScheduled.java | 0 .../service/AuditCleanupService.java | 0 .../proprietary/service/AuditService.java | 0 .../proprietary/util/SecretMasker.java | 0 .../proprietary/web/AuditWebFilter.java | 0 .../proprietary/web/CorrelationIdFilter.java | 0 .../application-proprietary.properties | 0 .../resources/static/css/audit-dashboard.css | 0 .../resources/static/css/modern-tables.css | 0 .../resources/static/js/audit/dashboard.js | 0 .../main/resources/templates/AUDIT_HELP.md | 0 .../main/resources/templates/AUDIT_USAGE.md | 0 .../templates/accounts/team-details.html | 0 .../resources/templates/accounts/teams.html | 0 .../resources/templates/audit/dashboard.html | 0 .../CustomLogoutSuccessHandlerTest.java | 0 .../configuration/DatabaseConfigTest.java | 0 .../ee/LicenseKeyCheckerTest.java | 0 .../controller/api/EmailControllerTest.java | 0 .../security/service/EmailServiceTest.java | 0 .../security/service/MailConfigTest.java | 0 .../security/service/TeamServiceTest.java | 0 .../security/service/UserServiceTest.java | 0 build.gradle | 19 ++-- devGuide/DeveloperGuide.md | 14 +-- devGuide/HowToAddNewLanguage.md | 12 +-- devGuide/STYLELINT.md | 10 +- devTools/.stylelintrc.json | 10 +- devTools/package.json | 4 +- lauch4jConfig.xml | 4 +- scripts/PropSync.java | 2 +- scripts/counter_translation.py | 2 +- scripts/init-without-ocr.sh | 2 +- scripts/init.sh | 2 +- scripts/remove_translation_keys.sh | 4 +- scripts/replace_translation_line.sh | 2 +- settings.gradle | 4 + testing/test.sh | 24 ++--- 1155 files changed, 219 insertions(+), 276 deletions(-) delete mode 100644 .github/labeler-config.yml delete mode 100644 .github/workflows/auto-labeler.yml rename allowed-licenses.json => app/allowed-licenses.json (100%) rename {common => app/common}/.gitignore (99%) rename {common => app/common}/build.gradle (100%) rename {common => app/common}/src/main/java/org/apache/pdfbox/examples/util/DeletingRandomAccessFile.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/annotations/AutoJobPostMapping.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/aop/AutoJobAspect.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/config/TempFileConfiguration.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/config/TempFileShutdownHook.java (97%) rename {common => app/common}/src/main/java/stirling/software/common/configuration/AppConfig.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/configuration/ConfigInitializer.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/configuration/FileFallbackTemplateResolver.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/configuration/PostHogConfig.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/configuration/PostHogLoggerImpl.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/configuration/RuntimePathConfig.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/configuration/YamlPropertySourceFactory.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/configuration/interfaces/ShowAdminInterface.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/ApplicationProperties.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/FileInfo.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/InputStreamTemplateResource.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/PdfMetadata.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/api/GeneralFile.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/api/PDFFile.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/api/converters/EmlToPdfRequest.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/api/converters/HTMLToPdfRequest.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/api/misc/HighContrastColorCombination.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/api/misc/ReplaceAndInvert.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/api/security/RedactionArea.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/enumeration/Role.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/enumeration/UsernameAttribute.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/exception/UnsupportedClaimException.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/exception/UnsupportedProviderException.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/job/JobProgress.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/job/JobResponse.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/job/JobResult.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/job/JobStats.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/job/ResultFile.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/oauth2/GitHubProvider.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/oauth2/GoogleProvider.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/oauth2/KeycloakProvider.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/model/oauth2/Provider.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/service/CustomPDFDocumentFactory.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/service/FileOrUploadService.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/service/FileStorage.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/service/JobExecutorService.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/service/JobQueue.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/service/PdfMetadataService.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/service/PostHogService.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/service/ResourceMonitor.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/service/TaskManager.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/service/TempFileCleanupService.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/service/UserServiceInterface.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/ApplicationContextProvider.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/AttachmentUtils.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/CheckProgramInstall.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/CustomHtmlSanitizer.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/EmlToPdf.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/ErrorUtils.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/ExceptionUtils.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/ExecutorFactory.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/FileMonitor.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/FileToPdf.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/GeneralUtils.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/ImageProcessingUtils.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/PDFToFile.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/PdfErrorUtils.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/PdfUtils.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/ProcessExecutor.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/PropertyConfigs.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/ProviderUtils.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/RequestUriUtils.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/SpringContextHolder.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/TempDirectory.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/TempFile.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/TempFileManager.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/TempFileRegistry.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/TempFileUtil.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/UIScaling.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/UrlUtils.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/ValidationUtil.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/ValidationUtils.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/WebResponseUtils.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/YamlHelper.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/misc/CustomColorReplaceStrategy.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/misc/HighContrastColorReplaceDecider.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/misc/InvertFullColorStrategy.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/misc/PdfTextStripperCustom.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/misc/ReplaceAndInvertColorStrategy.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/propertyeditor/StringToArrayListPropertyEditor.java (100%) rename {common => app/common}/src/main/java/stirling/software/common/util/propertyeditor/StringToMapPropertyEditor.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/annotations/AutoJobPostMappingIntegrationTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/service/CustomPDFDocumentFactoryTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/service/FileStorageTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/service/JobExecutorServiceTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/service/JobQueueTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/service/ResourceMonitorTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/service/SpyPDFDocumentFactory.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/service/TaskManagerTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/service/TempFileCleanupServiceTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/CheckProgramInstallTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/CustomHtmlSanitizerTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/EmlToPdfTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/ErrorUtilsTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/FileInfoTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/FileMonitorTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/FileToPdfTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/GeneralUtilsAdditionalTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/GeneralUtilsTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/ImageProcessingUtilsTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/PDFToFileTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/PdfUtilsTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/ProcessExecutorTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/PropertyConfigsTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/ProviderUtilsTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/RequestUriUtilsTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/SpringContextHolderTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/UIScalingTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/UrlUtilsTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/WebResponseUtilsTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/misc/CustomColorReplaceStrategyTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/misc/HighContrastColorReplaceDeciderTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/misc/InvertFullColorStrategyTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/misc/PdfTextStripperCustomTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/misc/ReplaceAndInvertColorStrategyTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/propertyeditor/StringToArrayListPropertyEditorTest.java (100%) rename {common => app/common}/src/test/java/stirling/software/common/util/propertyeditor/StringToMapPropertyEditorTest.java (100%) rename {common => app/common}/src/test/resources/example.pdf (100%) rename {stirling-pdf => app/core}/.gitignore (98%) rename {stirling-pdf => app/core}/build.gradle (100%) rename {stirling-pdf => app/core}/src/main/java/org/apache/pdfbox/examples/signature/CMSProcessableInputStream.java (100%) rename {stirling-pdf => app/core}/src/main/java/org/apache/pdfbox/examples/signature/CreateSignatureBase.java (100%) rename {stirling-pdf => app/core}/src/main/java/org/apache/pdfbox/examples/signature/TSAClient.java (100%) rename {stirling-pdf => app/core}/src/main/java/org/apache/pdfbox/examples/signature/ValidationTimeStamp.java (100%) rename {stirling-pdf => app/core}/src/main/java/org/apache/pdfbox/examples/util/ConnectedInputStream.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/Factories/ReplaceAndInvertColorFactory.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/LibreOfficeListener.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/SPDFApplication.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/UI/WebBrowser.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/UI/impl/DesktopBrowser.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/UI/impl/LoadingWindow.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/AppUpdateService.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/CleanUrlInterceptor.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/EndpointInspector.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/EndpointInterceptor.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/ExternalAppDepConfig.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/InitialSetup.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/LocaleConfiguration.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/LogbackPropertyLoader.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/MetricsConfig.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/MetricsFilter.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/StartupApplicationListener.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintBasedSessionFilter.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintBasedSessionManager.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintGenerator.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/AdditionalLanguageJsController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/AnalysisController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/CropController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/EditTableOfContentsController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/MergeController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/MultiPageLayoutController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/PdfImageRemovalController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/PdfOverlayController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/RearrangePagesPDFController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/RotationController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/ScalePagesController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/SettingsController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/SplitPDFController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/SplitPdfByChaptersController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/SplitPdfBySectionsController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/SplitPdfBySizeController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/ToSinglePageController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertEmlToPDF.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertHtmlToPDF.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertMarkdownToPdf.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertOfficeController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToHtml.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToOffice.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToPDFA.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/converters/ExtractCSVController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/filters/FilterController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/AttachmentController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/AutoRenameController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/AutoSplitPdfController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/BlankPageController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/DecompressPdfController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImagesController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/FakeScanController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/FlattenController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/MetadataController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/OCRController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/OverlayImageController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/PageNumbersController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/PrintFileController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/RepairController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/ReplaceAndInvertColorController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/ShowJavascript.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/misc/UnlockPDFFormsController.java (98%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineDirectoryProcessor.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessor.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/security/CertSignController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/security/PasswordController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/security/RedactController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/security/RemoveCertSignController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/security/SanitizeController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/security/ValidateSignatureController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/web/ConverterWebController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/web/SecurityWebController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/web/SignatureController.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/ApiEndpoint.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/Dependency.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/PDFText.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/PipelineConfig.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/PipelineOperation.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/PipelineResult.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/SignatureFile.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/SortTypes.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/EditTableOfContentsRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/HandleDataRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/ImageFile.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/MultiplePDFFiles.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/PDFComparison.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/PDFComparisonAndCount.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/PDFExtractImagesRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/PDFWithImageFormatRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/PDFWithPageNums.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/PDFWithPageSize.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/SplitPdfByChaptersRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/SplitPdfBySectionsRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/converters/ConvertPDFToMarkdown.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/converters/ConvertToImageRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/converters/ConvertToPdfRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/converters/PdfToBookRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/converters/PdfToPdfARequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/converters/PdfToPresentationRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/converters/PdfToTextOrRTFRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/converters/PdfToWordRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/converters/UrlToPdfRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/filter/ContainsTextRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/filter/FileSizeRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/filter/PageRotationRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/filter/PageSizeRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/general/CropPdfForm.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/general/MergeMultiplePagesRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/general/MergePdfsRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/general/OverlayPdfsRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/general/RearrangePagesRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/general/RotatePDFRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/general/ScalePagesRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/general/SplitPdfBySizeOrCountRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/AddAttachmentRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/AddPageNumbersRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/AddStampRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/AutoSplitPdfRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/ExtractHeaderRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/ExtractImageScansRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/FakeScanRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/FlattenRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/MetadataRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/OptimizePdfRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/OverlayImageRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/PrintFileRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/ProcessPdfWithOcrRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/RemoveBlankPagesRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/misc/ReplaceAndInvertColorRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/security/AddPasswordRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/security/AddWatermarkRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/security/ManualRedactPdfRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/security/PDFPasswordRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/security/RedactPdfRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/security/SanitizePdfRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/security/SignPDFWithCertRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/security/SignatureValidationRequest.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/model/api/security/SignatureValidationResult.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/pdf/FlexibleCSVWriter.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/pdf/TextFinder.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/service/ApiDocService.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/service/AttachmentService.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/service/AttachmentServiceInterface.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/service/CertificateValidationService.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/service/LanguageService.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/service/MetricsAggregatorService.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/service/PdfImageRemovalService.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/service/SignatureService.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/SPDF/service/misc/ReplaceAndInvertColorService.java (100%) rename {stirling-pdf => app/core}/src/main/java/stirling/software/common/controller/JobController.java (100%) rename {stirling-pdf => app/core}/src/main/resources/application.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/banner.txt (100%) rename {stirling-pdf => app/core}/src/main/resources/certdata.txt (100%) rename {stirling-pdf => app/core}/src/main/resources/icc/sRGB2014.icc (100%) rename {stirling-pdf => app/core}/src/main/resources/logback.xml (100%) rename {stirling-pdf => app/core}/src/main/resources/messages.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_ar_AR.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_az_AZ.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_bg_BG.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_bo_CN.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_ca_CA.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_cs_CZ.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_da_DK.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_de_DE.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_el_GR.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_en_GB.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_en_US.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_es_ES.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_eu_ES.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_fa_IR.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_fr_FR.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_ga_IE.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_hi_IN.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_hr_HR.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_hu_HU.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_id_ID.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_it_IT.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_ja_JP.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_ko_KR.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_ml_IN.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_nl_NL.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_no_NB.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_pl_PL.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_pt_BR.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_pt_PT.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_ro_RO.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_ru_RU.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_sk_SK.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_sl_SI.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_sr_LATN_RS.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_sv_SE.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_th_TH.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_tr_TR.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_uk_UA.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_vi_VN.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_zh_CN.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/messages_zh_TW.properties (100%) rename {stirling-pdf => app/core}/src/main/resources/settings.yml.template (97%) rename {stirling-pdf => app/core}/src/main/resources/static/3rdPartyLicenses.json (100%) rename {stirling-pdf => app/core}/src/main/resources/static/android-chrome-192x192.png (100%) rename {stirling-pdf => app/core}/src/main/resources/static/android-chrome-512x512.png (100%) rename {stirling-pdf => app/core}/src/main/resources/static/apple-touch-icon.png (100%) rename {stirling-pdf => app/core}/src/main/resources/static/browserconfig.xml (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/account.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/add-image.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/bootstrap-icons.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/bootstrap-icons.min.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/bootstrap.min.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/bootstrap.min.css.map (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/cookieconsent.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/cookieconsentCustomisation.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/dragdrop.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/edit-table-of-contents.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/error.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/errorBanner.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/fileSelect.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/fonts/bootstrap-icons.woff (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/fonts/bootstrap-icons.woff2 (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/footer.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/game.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/general.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/home-legacy.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/home.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/imageHighlighter.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/licenses.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/login.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/merge.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/multi-tool.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/navbar.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/pdfActions.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/pipeline.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/prism.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/rainbow-mode.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/redact.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/removeImage.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/rotate-pdf.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/sign.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/split-pdf-by-sections.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/stamp.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/tab-container.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/theme/componentes.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/theme/font.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/theme/theme.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/theme/theme.dark.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/theme/theme.light.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/css/usage.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/favicon-16x16.png (100%) rename {stirling-pdf => app/core}/src/main/resources/static/favicon-32x32.png (100%) rename {stirling-pdf => app/core}/src/main/resources/static/favicon.icns (100%) rename {stirling-pdf => app/core}/src/main/resources/static/favicon.ico (100%) rename {stirling-pdf => app/core}/src/main/resources/static/favicon.png (100%) rename {stirling-pdf => app/core}/src/main/resources/static/favicon.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/files/Auto Splitter Divider (with instructions).pdf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/files/popularity.txt (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/Arimo-Regular.woff2 (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/DancingScript-Regular.woff2 (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/Estonia.woff2 (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/IndieFlower-Regular.woff2 (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/Meiryo.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/NotoSans-Regular.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/NotoSansArabic-Regular.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/NotoSansJP-Regular.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/NotoSansSC-Regular.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/NotoSansThai-Regular.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/SimSun.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/Tangerine.woff2 (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/Tinos-Regular.woff2 (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/google-symbol.woff2 (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/malgun.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/static/NotoSansArabic-Regular.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/fonts/static/NotoSansJP-Regular.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/Files.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/arrow-right-short.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/book.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/clipboard.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/discord.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/docker.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/file-earmark-pdf.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/github.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/google-drive.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/redact-auto.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/redact-manual.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/rename.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/signature.png (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/split-auto.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/split-chapters.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/split-size.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/images/update.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/DecryptFiles.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/cacheFormInputs.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/compare/diff.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/compare/pdfWorker.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/csrf.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/darkmode.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/download.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/downloader.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/draggable-utils.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/errorBanner.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/favourites.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/fetch-utils.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/file-icon-factory.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/file-utils.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/fileInput.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/game.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/githubVersion.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/googleFilePicker.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/homecard-legacy.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/homecard.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/languageSelection.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/local-pdf-input-download.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/merge.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/DragDropManager.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/ImageHighlighter.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/PdfActionsManager.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/PdfContainer.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/UndoManager.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/commands/add-page.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/commands/command.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/commands/commands-sequence.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/commands/delete-page.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/commands/move-page.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/commands/page-break.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/commands/remove.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/commands/rotate.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/commands/select.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/multitool/commands/split.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/navbar.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/pages/add-image.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/pages/adjust-contrast.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/pages/change-metadata.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/pages/crop.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/pages/edit-table-of-contents.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/pages/home.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/pages/pdf-to-csv.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/pages/sign.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/pipeline.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/redact.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/search.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/settings.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/sign/signature-canvas.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/tab-container.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/bootstrap.min.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/bootstrap.min.js.map (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/chart.umd.min.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/cookieconsent-config.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/cookieconsent.umd.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/fontfaceobserver.standalone.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/interact.min.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/interact.min.js.map (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/jquery.min.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/jquery.validate.min.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/jszip.min.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/pdf-lib.min.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/pdf-lib.min.js.map (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/popper.min.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/popper.min.js.map (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/prism.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/signature_pad.umd.min.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/thirdParty/signature_pad.umd.min.js.map (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/usage.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/js/uuid.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/manifest.json (100%) rename {stirling-pdf => app/core}/src/main/resources/static/moon.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/mstile-144x144.png (100%) rename {stirling-pdf => app/core}/src/main/resources/static/mstile-150x150.png (100%) rename {stirling-pdf => app/core}/src/main/resources/static/mstile-310x150.png (100%) rename {stirling-pdf => app/core}/src/main/resources/static/mstile-310x310.png (100%) rename {stirling-pdf => app/core}/src/main/resources/static/mstile-70x70.png (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/78-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/78-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/83pv-RKSJ-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Add-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Add-RKSJ-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Add-RKSJ-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Add-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-0.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-1.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-2.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-3.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-4.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-5.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-6.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-UCS2.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-0.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-1.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-2.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-3.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-4.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-5.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-UCS2.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-0.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-1.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-2.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-3.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-4.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-5.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-6.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-UCS2.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-0.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-1.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-2.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-UCS2.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/B5-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/B5-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/EUC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/EUC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Ext-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Ext-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GB-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GB-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBT-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBT-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/HKdlb-B5-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/HKdlb-B5-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Hankaku.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Hiragana.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/KSC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/KSC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Katakana.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/LICENSE (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/NWP-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/NWP-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/RKSJ-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/RKSJ-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/Roman.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF16-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF16-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF8-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF8-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF8-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF8-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-HW-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UTF8-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-H.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/V.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/cmaps/WP-Symbol.bcmap (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/css/debugger.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/css/viewer-redact.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/css/viewer.css (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/example/Welcome.pdf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/example/Welcome_old.pdf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/altText_add.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/altText_done.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/annotation-check.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/annotation-comment.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/annotation-help.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/annotation-insert.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/annotation-key.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/annotation-newparagraph.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/annotation-noicon.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/annotation-note.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/annotation-paperclip.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/annotation-paragraph.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/annotation-pushpin.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeHighlight.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeText.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/cursor-editorInk.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/cursor-editorTextHighlight.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/editor-toolbar-delete.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/findbarButton-next.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/findbarButton-previous.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/gv-toolbarButton-download.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/loading-icon.gif (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/loading.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-documentProperties.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-firstPage.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-handTool.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-lastPage.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCcw.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCw.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollHorizontal.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollPage.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollVertical.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollWrapped.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-selectTool.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadEven.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadNone.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadOdd.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-bookmark.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-currentOutlineItem.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-download.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorFreeText.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorHighlight.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorInk.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorStamp.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-home.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-menuArrow.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-openFile.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageDown.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageUp.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-presentationMode.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-print.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-search.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-secondaryToolbarToggle.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-sidebarToggle.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewAttachments.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewLayers.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewOutline.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewThumbnail.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomIn.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomOut.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/treeitem-collapsed.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/images/treeitem-expanded.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/js/viewer.mjs (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/js/viewer.mjs.map (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ach/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/af/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/an/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ar/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ast/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/az/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/be/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/bg/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/bn/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/bo/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/br/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/brx/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/bs/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ca/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/cak/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ckb/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/cs/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/cy/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/da/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/de/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/dsb/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/el/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/en-CA/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/en-GB/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/en-US/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/eo/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/es-AR/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/es-CL/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/es-ES/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/es-MX/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/et/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/eu/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/fa/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ff/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/fi/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/fr/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/fur/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/fy-NL/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ga-IE/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/gd/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/gl/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/gn/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/gu-IN/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/he/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/hi-IN/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/hr/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/hsb/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/hu/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/hy-AM/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/hye/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ia/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/id/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/is/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/it/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ja/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ka/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/kab/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/kk/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/km/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/kn/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ko/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/lij/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/lo/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/locale.json (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/lt/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ltg/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/lv/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/meh/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/mk/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/mr/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ms/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/my/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/nb-NO/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ne-NP/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/nl/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/nn-NO/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/oc/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/pa-IN/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/pl/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/pt-BR/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/pt-PT/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/rm/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ro/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ru/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/sat/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/sc/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/scn/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/sco/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/si/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/sk/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/skr/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/sl/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/son/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/sq/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/sr/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/sv-SE/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/szl/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ta/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/te/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/tg/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/th/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/tl/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/tr/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/trs/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/uk/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/ur/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/uz/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/vi/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/wo/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/xh/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/zh-CN/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/locale/zh-TW/viewer.ftl (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/pdf.mjs (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/pdf.mjs.map (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/pdf.sandbox.mjs (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/pdf.sandbox.mjs.map (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/pdf.worker.entry.js (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/pdf.worker.mjs (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/pdf.worker.mjs.map (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitDingbats.pfb (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixed.pfb (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedBold.pfb (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedBoldItalic.pfb (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedItalic.pfb (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerif.pfb (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifBold.pfb (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifBoldItalic.pfb (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifItalic.pfb (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSymbol.pfb (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/LICENSE_FOXIT (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/LICENSE_LIBERATION (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Bold.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-BoldItalic.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Italic.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Regular.ttf (100%) rename {stirling-pdf => app/core}/src/main/resources/static/rainbow.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/safari-pinned-tab.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/static/site.webmanifest (100%) rename {stirling-pdf => app/core}/src/main/resources/static/sun.svg (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/about.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/account.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/adminSettings.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/auto-split-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/change-creds.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/eml-to-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/file-to-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/html-to-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/img-to-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/markdown-to-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/pdf-to-csv.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/pdf-to-html.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/pdf-to-img.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/pdf-to-markdown.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/pdf-to-pdfa.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/pdf-to-presentation.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/pdf-to-text.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/pdf-to-word.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/pdf-to-xml.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/convert/url-to-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/crop.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/database.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/edit-table-of-contents.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/error.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/extract-page.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/card.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/common.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/errorBanner.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/errorBannerPerPage.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/featureGroupHeader.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/featureGroupHeaderLegacy.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/footer.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/languageEntry.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/languages.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/multi-toolAdvert.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/navElements.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/navbar.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/navbarEntry.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/fragments/navbarEntryCustom.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/home-legacy.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/home.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/licenses.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/login.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/merge-pdfs.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/add-attachments.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/add-image.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/add-page-numbers.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/adjust-contrast.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/auto-crop.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/auto-rename.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/change-metadata.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/compare.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/compress-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/extract-image-scans.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/extract-images.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/fake-scan.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/flatten.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/ocr-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/print-file.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/remove-annotations.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/remove-blanks.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/repair.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/replace-color.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/show-javascript.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/stamp.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/misc/unlock-pdf-forms.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/multi-page-layout.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/multi-tool.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/overlay-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/pdf-organizer.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/pdf-to-single-page.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/pipeline.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/releases.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/remove-image-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/remove-pages.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/rotate-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/scale-pages.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/security/add-password.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/security/add-watermark.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/security/auto-redact.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/security/cert-sign.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/security/change-permissions.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/security/get-info-on-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/security/redact.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/security/remove-cert-sign.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/security/remove-password.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/security/remove-watermark.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/security/sanitize-pdf.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/security/validate-signature.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/sign.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/split-by-size-or-count.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/split-pdf-by-chapters.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/split-pdf-by-sections.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/split-pdfs.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/usage.html (100%) rename {stirling-pdf => app/core}/src/main/resources/templates/view-pdf.html (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/SPDFApplicationTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/controller/api/EditTableOfContentsControllerTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/controller/api/MergeControllerTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/controller/api/RearrangePagesPDFControllerTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/controller/api/RotationControllerTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPdfTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/controller/api/misc/AttachmentControllerTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessorTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/controller/web/UploadLimitServiceTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/service/AttachmentServiceTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/service/CertificateValidationServiceTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/service/LanguageServiceBasicTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/service/LanguageServiceTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/service/PdfImageRemovalServiceTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/service/PdfMetadataServiceBasicTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/service/PdfMetadataServiceTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/SPDF/service/SignatureServiceTest.java (100%) rename {stirling-pdf => app/core}/src/test/java/stirling/software/common/controller/JobControllerTest.java (100%) rename {proprietary => app/proprietary}/.gitignore (99%) rename {proprietary => app/proprietary}/LICENSE (100%) rename {proprietary => app/proprietary}/build.gradle (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/audit/AuditAspect.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/audit/AuditEventType.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/audit/AuditLevel.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/audit/AuditUtils.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/audit/Audited.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/audit/ControllerAuditAspect.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/config/AsyncConfig.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/config/AuditConfigurationProperties.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/config/AuditJpaConfig.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/config/CustomAuditEventRepository.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/controller/AdminJobController.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/controller/AuditDashboardController.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/model/Team.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/model/dto/TeamWithUserCountDTO.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/model/security/PersistentAuditEvent.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/repository/PersistentAuditEventRepository.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/CustomAuthenticationFailureHandler.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/CustomAuthenticationSuccessHandler.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/CustomLogoutSuccessHandler.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/InitialSecuritySetup.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/RateLimitResetScheduler.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/config/AccountWebController.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/config/EnterpriseEndpoint.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/config/EnterpriseEndpointAspect.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/config/PremiumEndpoint.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/config/PremiumEndpointAspect.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/configuration/DatabaseConfig.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/configuration/MailConfig.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/configuration/SecurityConfiguration.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/configuration/ee/EEAppConfig.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/configuration/ee/KeygenLicenseVerifier.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/configuration/ee/LicenseKeyChecker.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/controller/api/DatabaseController.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/controller/api/EmailController.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/controller/api/TeamController.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/controller/api/UserController.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/controller/web/DatabaseWebController.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/controller/web/TeamWebController.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/database/H2SQLCondition.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/database/ScheduledTasks.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/database/repository/AuthorityRepository.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/database/repository/JPATokenRepositoryImpl.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/database/repository/PersistentLoginRepository.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/database/repository/SessionRepository.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/database/repository/UserRepository.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/filter/EnterpriseEndpointFilter.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/filter/FirstLoginFilter.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/filter/IPRateLimitingFilter.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/filter/UserAuthenticationFilter.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/filter/UserBasedRateLimitingFilter.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/ApiKeyAuthenticationToken.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/AttemptCounter.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/AuthenticationType.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/Authority.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/PersistentLogin.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/SessionEntity.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/User.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/api/Email.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/api/user/UpdateUserDetails.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/api/user/UpdateUserUsername.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/api/user/Username.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/api/user/UsernameAndPass.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/exception/BackupNotFoundException.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/model/exception/NoProviderFoundException.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/oauth2/CustomOAuth2AuthenticationFailureHandler.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/oauth2/CustomOAuth2AuthenticationSuccessHandler.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/oauth2/OAuth2Configuration.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/repository/TeamRepository.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/saml2/CertificateUtils.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticatedPrincipal.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticationFailureHandler.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticationSuccessHandler.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2ResponseAuthenticationConverter.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/saml2/SAML2Configuration.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/service/AppUpdateAuthService.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/service/CustomOAuth2UserService.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/service/CustomUserDetailsService.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/service/DatabaseService.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/service/DatabaseServiceInterface.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/service/EmailService.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/service/LoginAttemptService.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/service/TeamService.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/service/UserService.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/session/CustomHttpSessionListener.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/session/SessionPersistentRegistry.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/session/SessionRegistryConfig.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/security/session/SessionScheduled.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/service/AuditCleanupService.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/service/AuditService.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/util/SecretMasker.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/web/AuditWebFilter.java (100%) rename {proprietary => app/proprietary}/src/main/java/stirling/software/proprietary/web/CorrelationIdFilter.java (100%) rename {proprietary => app/proprietary}/src/main/resources/application-proprietary.properties (100%) rename {proprietary => app/proprietary}/src/main/resources/static/css/audit-dashboard.css (100%) rename {proprietary => app/proprietary}/src/main/resources/static/css/modern-tables.css (100%) rename {proprietary => app/proprietary}/src/main/resources/static/js/audit/dashboard.js (100%) rename {proprietary => app/proprietary}/src/main/resources/templates/AUDIT_HELP.md (100%) rename {proprietary => app/proprietary}/src/main/resources/templates/AUDIT_USAGE.md (100%) rename {proprietary => app/proprietary}/src/main/resources/templates/accounts/team-details.html (100%) rename {proprietary => app/proprietary}/src/main/resources/templates/accounts/teams.html (100%) rename {proprietary => app/proprietary}/src/main/resources/templates/audit/dashboard.html (100%) rename {proprietary => app/proprietary}/src/test/java/stirling/software/proprietary/security/CustomLogoutSuccessHandlerTest.java (100%) rename {proprietary => app/proprietary}/src/test/java/stirling/software/proprietary/security/configuration/DatabaseConfigTest.java (100%) rename {proprietary => app/proprietary}/src/test/java/stirling/software/proprietary/security/configuration/ee/LicenseKeyCheckerTest.java (100%) rename {proprietary => app/proprietary}/src/test/java/stirling/software/proprietary/security/controller/api/EmailControllerTest.java (100%) rename {proprietary => app/proprietary}/src/test/java/stirling/software/proprietary/security/service/EmailServiceTest.java (100%) rename {proprietary => app/proprietary}/src/test/java/stirling/software/proprietary/security/service/MailConfigTest.java (100%) rename {proprietary => app/proprietary}/src/test/java/stirling/software/proprietary/security/service/TeamServiceTest.java (100%) rename {proprietary => app/proprietary}/src/test/java/stirling/software/proprietary/security/service/UserServiceTest.java (100%) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index c60f138ad..530345e30 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -1,5 +1,9 @@ # Formatting 5f771b785130154ed47952635b7acef371ffe0ec +7fa5e130d99227c2202ebddfdd91348176ec0c7b +14d4fbb2a36195eedb034785e5a5ff6a47f268c6 +ee8030c1c4148062cde15c49c67d04ef03930c55 +fcd41924f5f261febfa9d9a92994671f3ebc97d6 # Normalize files 55d4fda01b2f39f5b7d7b4fda5214bd7ff0fd5dd diff --git a/.gitattributes b/.gitattributes index f72c204bd..0a8155152 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,10 +1,10 @@ * text=auto eol=lf # Ignore all JavaScript files in a directory -stirling-pdf/src/main/resources/static/pdfjs/* linguist-vendored -stirling-pdf/src/main/resources/static/pdfjs/** linguist-vendored -stirling-pdf/src/main/resources/static/pdfjs-legacy/* linguist-vendored -stirling-pdf/src/main/resources/static/pdfjs-legacy/** linguist-vendored -stirling-pdf/src/main/resources/static/css/bootstrap-icons.css linguist-vendored -stirling-pdf/src/main/resources/static/css/bootstrap.min.css linguist-vendored -stirling-pdf/src/main/resources/static/css/fonts/* linguist-vendored +app/core/src/main/resources/static/pdfjs/* linguist-vendored +app/core/src/main/resources/static/pdfjs/** linguist-vendored +app/core/src/main/resources/static/pdfjs-legacy/* linguist-vendored +app/core/src/main/resources/static/pdfjs-legacy/** linguist-vendored +app/core/src/main/resources/static/css/bootstrap-icons.css linguist-vendored +app/core/src/main/resources/static/css/bootstrap.min.css linguist-vendored +app/core/src/main/resources/static/css/fonts/* linguist-vendored diff --git a/.github/labeler-config-srvaroa.yml b/.github/labeler-config-srvaroa.yml index 06368536f..bdc48da53 100644 --- a/.github/labeler-config-srvaroa.yml +++ b/.github/labeler-config-srvaroa.yml @@ -34,6 +34,9 @@ labels: - label: "Documentation" title: '^docs(\([^)]*\))?:|^docs:.*' + - label: "Documentation" + title: '^.*\(docs\):.*' + - label: "dependencies" title: '^deps(\([^)]*\))?:|^deps:.*' @@ -45,53 +48,53 @@ labels: - label: 'Translation' files: - - 'stirling-pdf/src/main/resources/messages_[a-zA-Z_]{2}_[a-zA-Z_]{2,7}.properties' + - 'app/core/src/main/resources/messages_[a-zA-Z_]{2}_[a-zA-Z_]{2,7}.properties' - 'scripts/ignore_translation.toml' - - 'stirling-pdf/src/main/resources/templates/fragments/languages.html' + - 'app/core/src/main/resources/templates/fragments/languages.html' - '.github/scripts/check_language_properties.py' - label: 'Front End' files: - - 'stirling-pdf/src/main/resources/templates/.*' - - 'proprietary/src/main/resources/templates/.*' - - 'stirling-pdf/src/main/resources/static/.*' - - 'proprietary/src/main/resources/static/.*' - - 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/.*' - - 'stirling-pdf/src/main/java/stirling/software/SPDF/UI/.*' - - 'proprietary/src/main/java/stirling/software/proprietary/security/controller/web/.*' + - 'app/core/src/main/resources/templates/.*' + - 'app/proprietary/src/main/resources/templates/.*' + - 'app/core/src/main/resources/static/.*' + - 'app/proprietary/src/main/resources/static/.*' + - 'app/core/src/main/java/stirling/software/SPDF/controller/web/.*' + - 'app/core/src/main/java/stirling/software/SPDF/UI/.*' + - 'app/proprietary/src/main/java/stirling/software/proprietary/security/controller/web/.*' - label: 'Java' files: - - 'common/src/main/java/.*.java' - - 'proprietary/src/main/java/.*.java' - - 'stirling-pdf/src/main/java/.*.java' + - 'app/common/src/main/java/.*.java' + - 'app/proprietary/src/main/java/.*.java' + - 'app/core/src/main/java/.*.java' - label: 'Back End' files: - - 'stirling-pdf/src/main/java/stirling/software/SPDF/config/.*' - - 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/.*' - - 'stirling-pdf/src/main/resources/settings.yml.template' - - 'stirling-pdf/src/main/resources/application.properties' - - 'stirling-pdf/src/main/resources/banner.txt' + - 'app/core/src/main/java/stirling/software/SPDF/config/.*' + - 'app/core/src/main/java/stirling/software/SPDF/controller/.*' + - 'app/core/src/main/resources/settings.yml.template' + - 'app/core/src/main/resources/application.properties' + - 'app/core/src/main/resources/banner.txt' - 'scripts/png_to_webp.py' - 'split_photos.py' - 'application.properties' - label: 'Security' files: - - 'proprietary/src/main/java/stirling/software/proprietary/security/.*' + - 'app/proprietary/src/main/java/stirling/software/proprietary/security/.*' - 'scripts/download-security-jar.sh' - '.github/workflows/dependency-review.yml' - '.github/workflows/scorecards.yml' - label: 'API' files: - - 'stirling-pdf/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java' - - 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java' - - 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/.*' - - 'stirling-pdf/src/main/java/stirling/software/SPDF/model/api/.*' - - 'stirling-pdf/src/main/java/stirling/software/SPDF/service/ApiDocService.java' - - 'proprietary/src/main/java/stirling/software/proprietary/security/controller/api/.*' + - 'app/core/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java' + - 'app/core/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java' + - 'app/core/src/main/java/stirling/software/SPDF/controller/api/.*' + - 'app/core/src/main/java/stirling/software/SPDF/model/api/.*' + - 'app/core/src/main/java/stirling/software/SPDF/service/ApiDocService.java' + - 'app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/.*' - 'scripts/png_to_webp.py' - 'split_photos.py' - '.github/workflows/swagger.yml' @@ -127,12 +130,13 @@ labels: - '.github/workflows/pre_commit.yml' - 'devGuide/.*' - 'devTools/.*' + - 'devTools/.*' - label: 'Test' files: - - 'common/src/test/.*' - - 'proprietary/src/test/.*' - - 'stirling-pdf/src/test/.*' + - 'app/common/src/test/.*' + - 'app/proprietary/src/test/.*' + - 'app/core/src/test/.*' - 'testing/.*' - '.github/workflows/scorecards.yml' - 'exampleYmlFiles/test_cicd.yml' @@ -148,6 +152,6 @@ labels: - 'gradlew.bat' - 'settings.gradle' - 'build.gradle' - - 'common/build.gradle' - - 'proprietary/build.gradle' - - 'stirling-pdf/build.gradle' + - 'app/common/build.gradle' + - 'app/proprietary/build.gradle' + - 'app/core/build.gradle' diff --git a/.github/labeler-config.yml b/.github/labeler-config.yml deleted file mode 100644 index d1a340065..000000000 --- a/.github/labeler-config.yml +++ /dev/null @@ -1,86 +0,0 @@ -Translation: - - changed-files: - - any-glob-to-any-file: 'stirling-pdf/src/main/resources/messages_*_*.properties' - - any-glob-to-any-file: 'scripts/ignore_translation.toml' - - any-glob-to-any-file: 'stirling-pdf/src/main/resources/templates/fragments/languages.html' - -Front End: - - changed-files: - - any-glob-to-any-file: 'stirling-pdf/src/main/resources/templates/**/*' - - any-glob-to-any-file: 'stirling-pdf/src/main/resources/static/**/*' - - any-glob-to-any-file: 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/**' - - any-glob-to-any-file: 'stirling-pdf/src/main/java/stirling/software/SPDF/UI/**/*' - -Java: - - changed-files: - - any-glob-to-any-file: 'common/src/main/java/**/*.java' - - any-glob-to-any-file: 'proprietary/src/main/java/**/*.java' - - any-glob-to-any-file: 'stirling-pdf/src/main/java/**/*.java' - -Back End: - - changed-files: - - any-glob-to-any-file: 'stirling-pdf/src/main/java/stirling/software/SPDF/config/**/*' - - any-glob-to-any-file: 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/**/*' - - any-glob-to-any-file: 'stirling-pdf/src/main/resources/settings.yml.template' - - any-glob-to-any-file: 'stirling-pdf/src/main/resources/application.properties' - - any-glob-to-any-file: 'stirling-pdf/src/main/resources/banner.txt' - - any-glob-to-any-file: 'scripts/png_to_webp.py' - - any-glob-to-any-file: 'split_photos.py' - -Security: - - changed-files: - - any-glob-to-any-file: 'proprietary/src/main/java/stirling/software/proprietary/security/**/*' - - any-glob-to-any-file: 'scripts/download-security-jar.sh' - - any-glob-to-any-file: '.github/workflows/dependency-review.yml' - - any-glob-to-any-file: '.github/workflows/scorecards.yml' - -API: - - changed-files: - - any-glob-to-any-file: 'stirling-pdf/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java' - - any-glob-to-any-file: 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java' - - any-glob-to-any-file: 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/**/*' - - any-glob-to-any-file: 'stirling-pdf/src/main/java/stirling/software/SPDF/model/api/**/*' - - any-glob-to-any-file: 'scripts/png_to_webp.py' - - any-glob-to-any-file: 'split_photos.py' - - any-glob-to-any-file: '.github/workflows/swagger.yml' - -Documentation: - - changed-files: - - any-glob-to-any-file: '**/*.md' - - any-glob-to-any-file: 'scripts/counter_translation.py' - - any-glob-to-any-file: 'scripts/ignore_translation.toml' - -Docker: - - changed-files: - - any-glob-to-any-file: '.github/workflows/build.yml' - - any-glob-to-any-file: '.github/workflows/push-docker.yml' - - any-glob-to-any-file: 'Dockerfile' - - any-glob-to-any-file: 'Dockerfile.fat' - - any-glob-to-any-file: 'Dockerfile.ultra-lite' - - any-glob-to-any-file: 'exampleYmlFiles/*.yml' - - any-glob-to-any-file: 'scripts/download-security-jar.sh' - - any-glob-to-any-file: 'scripts/init.sh' - - any-glob-to-any-file: 'scripts/init-without-ocr.sh' - - any-glob-to-any-file: 'scripts/installFonts.sh' - - any-glob-to-any-file: 'test.sh' - - any-glob-to-any-file: 'test2.sh' - -Devtools: - - changed-files: - - any-glob-to-any-file: '.devcontainer/**/*' - - any-glob-to-any-file: 'Dockerfile.dev' - -Test: - - changed-files: - - any-glob-to-any-file: 'cucumber/**/*' - - any-glob-to-any-file: 'common/src/test/**/*' - - any-glob-to-any-file: 'proprietary/src/test/**/*' - - any-glob-to-any-file: 'stirling-pdf/src/test/**/*' - - any-glob-to-any-file: 'src/testing/**/*' - - any-glob-to-any-file: '.pre-commit-config' - - any-glob-to-any-file: '.github/workflows/pre_commit.yml' - - any-glob-to-any-file: '.github/workflows/scorecards.yml' - -Github: - - changed-files: - - any-glob-to-any-file: '.github/**/*' diff --git a/.github/scripts/check_language_properties.py b/.github/scripts/check_language_properties.py index 659ff7027..a77c378a6 100644 --- a/.github/scripts/check_language_properties.py +++ b/.github/scripts/check_language_properties.py @@ -197,7 +197,7 @@ def check_for_differences(reference_file, file_list, branch, actor): if len(file_list) == 1: file_arr = file_list[0].split() base_dir = os.path.abspath( - os.path.join(os.getcwd(), "stirling-pdf", "src", "main", "resources") + os.path.join(os.getcwd(), "app", "core", "src", "main", "resources") ) for file_path in file_arr: @@ -219,13 +219,14 @@ def check_for_differences(reference_file, file_list, branch, actor): # only local windows command not file_normpath.startswith( os.path.join( - "", "stirling-pdf", "src", "main", "resources", "messages_" + "", "app", "core", "src", "main", "resources", "messages_" ) ) and not file_normpath.startswith( os.path.join( os.getcwd(), - "stirling-pdf", + "app", + "core", "src", "main", "resources", @@ -328,7 +329,7 @@ def check_for_differences(reference_file, file_list, branch, actor): report.append("## ❌ Overall Check Status: **_Failed_**") report.append("") report.append( - f"@{actor} please check your translation if it conforms to the standard. Follow the format of [messages_en_GB.properties](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/stirling-pdf/src/main/resources/messages_en_GB.properties)" + f"@{actor} please check your translation if it conforms to the standard. Follow the format of [messages_en_GB.properties](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/app/core/src/main/resources/messages_en_GB.properties)" ) else: report.append("## ✅ Overall Check Status: **_Success_**") @@ -389,7 +390,8 @@ if __name__ == "__main__": file_list = glob.glob( os.path.join( os.getcwd(), - "stirling-pdf", + "app", + "core", "src", "main", "resources", diff --git a/.github/workflows/auto-labeler.yml b/.github/workflows/auto-labeler.yml deleted file mode 100644 index f1d7d730c..000000000 --- a/.github/workflows/auto-labeler.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: "Pull Request Labeler" -on: - pull_request_target: - types: [opened, synchronize] - -permissions: - contents: read - -jobs: - labeler: - runs-on: ubuntu-latest - permissions: - pull-requests: write - steps: - - name: Harden Runner - uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2 - with: - egress-policy: audit - - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Apply Labels - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - configuration-path: .github/labeler-config.yml - sync-labels: true diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bf688d534..aa98d2a1e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,12 +48,12 @@ jobs: if: always() run: | declare -a dirs=( - "stirling-pdf/build/reports/tests/" - "stirling-pdf/build/test-results/" - "common/build/reports/tests/" - "common/build/test-results/" - "proprietary/build/reports/tests/" - "proprietary/build/test-results/" + "app/core/build/reports/tests/" + "app/core/build/test-results/" + "app/common/build/reports/tests/" + "app/common/build/test-results/" + "app/proprietary/build/reports/tests/" + "app/proprietary/build/test-results/" ) missing_reports=() for dir in "${dirs[@]}"; do @@ -74,19 +74,46 @@ jobs: with: name: test-reports-jdk-${{ matrix.jdk-version }}-spring-security-${{ matrix.spring-security }} path: | - stirling-pdf/build/reports/tests/ - stirling-pdf/build/test-results/ - stirling-pdf/build/reports/problems/ - common/build/reports/tests/ - common/build/test-results/ - common/build/reports/problems/ - proprietary/build/reports/tests/ - proprietary/build/test-results/ - proprietary/build/reports/problems/ + app/core/build/reports/tests/ + app/core/build/test-results/ + app/core/build/reports/problems/ + app/common/build/reports/tests/ + app/common/build/test-results/ + app/common/build/reports/problems/ + app/proprietary/build/reports/tests/ + app/proprietary/build/test-results/ + app/proprietary/build/reports/problems/ build/reports/problems/ retention-days: 3 if-no-files-found: warn + check-generateOpenApiDocs: + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2 + with: + egress-policy: audit + + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: Set up JDK 17 + uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 + with: + java-version: "17" + distribution: "temurin" + + - uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 + + - name: Generate OpenAPI documentation + run: ./gradlew :stirling-pdf:generateOpenApiDocs + + - name: Upload OpenAPI Documentation + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + with: + name: openapi-docs + path: ./SwaggerDoc.json + check-licence: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/check_properties.yml b/.github/workflows/check_properties.yml index 7e6c43cbd..da000201a 100644 --- a/.github/workflows/check_properties.yml +++ b/.github/workflows/check_properties.yml @@ -4,7 +4,7 @@ on: pull_request_target: types: [opened, synchronize, reopened] paths: - - "stirling-pdf/src/main/resources/messages_*.properties" + - "app/core/src/main/resources/messages_*.properties" permissions: contents: read # Allow read access to repository content @@ -67,7 +67,7 @@ jobs: exit 1 fi # Get changed files and filter for properties files, handle case where no matches are found - gh pr view ${{ steps.get-pr-data.outputs.pr_number }} --json files -q ".files[].path" | grep -E '^stirling-pdf/src/main/resources/messages_[a-zA-Z_]{2}_[a-zA-Z_]{2,7}\.properties$' > changed_files.txt || echo "No matching properties files found in PR" + gh pr view ${{ steps.get-pr-data.outputs.pr_number }} --json files -q ".files[].path" | grep -E '^app/core/src/main/resources/messages_[a-zA-Z_]{2}_[a-zA-Z_]{2,7}\.properties$' > changed_files.txt || echo "No matching properties files found in PR" # Check if any files were found if [ ! -s changed_files.txt ]; then echo "No properties files changed in this PR" @@ -117,7 +117,7 @@ jobs: const changedFiles = files .filter(file => file.status !== "removed" && - /^stirling-pdf\/src\/main\/resources\/messages_[a-zA-Z_]{2}_[a-zA-Z_]{2,7}\.properties$/.test(file.filename) + /^app\/core\/src\/main\/resources\/messages_[a-zA-Z_]{2}_[a-zA-Z_]{2,7}\.properties$/.test(file.filename) ) .map(file => file.filename); @@ -157,12 +157,12 @@ jobs: // Determine reference file let referenceFilePath; - if (changedFiles.includes("stirling-pdf/src/main/resources/messages_en_GB.properties")) { + if (changedFiles.includes("app/core/src/main/resources/messages_en_GB.properties")) { console.log("Using PR branch reference file."); const { data: fileContent } = await github.rest.repos.getContent({ owner: prRepoOwner, repo: prRepoName, - path: "stirling-pdf/src/main/resources/messages_en_GB.properties", + path: "app/core/src/main/resources/messages_en_GB.properties", ref: branch, }); @@ -174,7 +174,7 @@ jobs: const { data: fileContent } = await github.rest.repos.getContent({ owner: repoOwner, repo: repoName, - path: "stirling-pdf/src/main/resources/messages_en_GB.properties", + path: "app/core/src/main/resources/messages_en_GB.properties", ref: "main", }); diff --git a/.github/workflows/licenses-update.yml b/.github/workflows/licenses-update.yml index 0cff27a96..ba66627ad 100644 --- a/.github/workflows/licenses-update.yml +++ b/.github/workflows/licenses-update.yml @@ -57,11 +57,11 @@ jobs: - name: Move and rename license file run: | - mv build/reports/dependency-license/index.json stirling-pdf/src/main/resources/static/3rdPartyLicenses.json + mv build/reports/dependency-license/index.json app/core/src/main/resources/static/3rdPartyLicenses.json - name: Commit changes run: | - git add stirling-pdf/src/main/resources/static/3rdPartyLicenses.json + git add app/core/src/main/resources/static/3rdPartyLicenses.json git diff --staged --quiet || echo "CHANGES_DETECTED=true" >> $GITHUB_ENV - name: Create Pull Request diff --git a/.github/workflows/multiOSReleases.yml b/.github/workflows/multiOSReleases.yml index cdd8c6580..3cac33e1f 100644 --- a/.github/workflows/multiOSReleases.yml +++ b/.github/workflows/multiOSReleases.yml @@ -86,7 +86,7 @@ jobs: run: | mkdir ./binaries mv ./build/launch4j/Stirling-PDF.exe ./binaries/win-Stirling-PDF-portable-Server${{ matrix.file_suffix }}.exe - mv ./stirling-pdf/build/libs/stirling-pdf-${{ needs.read_versions.outputs.version }}.jar ./binaries/Stirling-PDF${{ matrix.file_suffix }}.jar + mv ./app/core/build/libs/stirling-pdf-${{ needs.read_versions.outputs.version }}.jar ./binaries/Stirling-PDF${{ matrix.file_suffix }}.jar - name: Upload build artifacts uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 diff --git a/.github/workflows/sync_files.yml b/.github/workflows/sync_files.yml index cf5ecbc5c..620209dbb 100644 --- a/.github/workflows/sync_files.yml +++ b/.github/workflows/sync_files.yml @@ -8,8 +8,8 @@ on: paths: - "build.gradle" - "README.md" - - "stirling-pdf/src/main/resources/messages_*.properties" - - "stirling-pdf/src/main/resources/static/3rdPartyLicenses.json" + - "app/core/src/main/resources/messages_*.properties" + - "app/core/src/main/resources/static/3rdPartyLicenses.json" - "scripts/ignore_translation.toml" permissions: @@ -41,11 +41,11 @@ jobs: - name: Sync translation property files run: | - python .github/scripts/check_language_properties.py --reference-file "stirling-pdf/src/main/resources/messages_en_GB.properties" --branch main + python .github/scripts/check_language_properties.py --reference-file "app/core/src/main/resources/messages_en_GB.properties" --branch main - name: Commit translation files run: | - git add stirling-pdf/src/main/resources/messages_*.properties + git add app/core/src/main/resources/messages_*.properties git diff --staged --quiet || git commit -m ":memo: Sync translation files" || echo "No changes detected" - name: Install dependencies @@ -101,4 +101,4 @@ jobs: sign-commits: true add-paths: | README.md - stirling-pdf/src/main/resources/messages_*.properties + app/core/src/main/resources/messages_*.properties diff --git a/.gitignore b/.gitignore index ca949e769..bbc43feb1 100644 --- a/.gitignore +++ b/.gitignore @@ -125,9 +125,9 @@ SwaggerDoc.json *.rar *.db /build -/stirling-pdf/build -/common/build -/proprietary/build +/app/core/build +/app/common/build +/app/proprietary/build # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5418deaea..094e9b2fa 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -20,7 +20,7 @@ repos: - --skip="./.*,*.csv,*.json,*.ambr" - --quiet-level=2 files: \.(html|css|js|py|md)$ - exclude: (.vscode|.devcontainer|stirling-pdf/src/main/resources|Dockerfile|.*/pdfjs.*|.*/thirdParty.*|bootstrap.*|.*\.min\..*|.*diff\.js) + exclude: (.vscode|.devcontainer|app/core/src/main/resources|app/proprietary/src/main/resources|Dockerfile|.*/pdfjs.*|.*/thirdParty.*|bootstrap.*|.*\.min\..*|.*diff\.js) - repo: https://github.com/gitleaks/gitleaks rev: v8.27.2 hooks: @@ -34,3 +34,13 @@ repos: - id: trailing-whitespace files: ^.*(\.js|\.java|\.py|\.yml)$ exclude: ^(.*/pdfjs.*|.*/thirdParty.*|bootstrap.*|.*\.min\..*|.*diff\.js|\.github/workflows/.*$) + # - repo: https://github.com/thibaudcolas/pre-commit-stylelint + # rev: v16.21.1 + # hooks: + # - id: stylelint + # additional_dependencies: + # - stylelint@16.21.1 + # - stylelint-config-standard@38.0.0 + # - "@stylistic/stylelint-plugin@3.1.3" + # files: \.(css)$ + # args: [--fix] \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 03d51b765..abc54d43e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,6 +3,9 @@ "editor.guides.bracketPairs": "active", "editor.guides.bracketPairsHorizontal": "active", "cSpell.enabled": false, + "[feature]": { + "editor.defaultFormatter": "alexkrechik.cucumberautocomplete" + }, "[java]": { "editor.defaultFormatter": "josevseb.google-java-format-for-vs-code" }, @@ -76,13 +79,17 @@ ".venv*/", ".vscode/", "bin/", - "common/bin/", - "proprietary/bin/", + "app/core/bin/", + "app/common/bin/", + "app/proprietary/bin/", "build/", - "common/build/", - "proprietary/build/", + "app/core/build/", + "app/common/build/", + "app/proprietary/build/", "configs/", + "app/core/configs/", "customFiles/", + "app/core/customFiles/", "docs/", "exampleYmlFiles", "gradle/", @@ -94,8 +101,9 @@ ".git-blame-ignore-revs", ".gitattributes", ".gitignore", - "common/.gitignore", - "proprietary/.gitignore", + "app/core/.gitignore", + "app/common/.gitignore", + "app/proprietary/.gitignore", ".pre-commit-config.yaml", ], // Enables signature help in Java. @@ -127,8 +135,8 @@ "html.format.maxPreserveNewLines": 2, "stylelint.configFile": "devTools/.stylelintrc.json", "java.project.sourcePaths": [ - "stirling-pdf/src/main/java", - "common/src/main/java", - "proprietary/src/main/java" + "app/core/src/main/java", + "app/common/src/main/java", + "app/proprietary/src/main/java" ] } diff --git a/Dockerfile b/Dockerfile index 84dddd1dc..61c1dcc77 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,8 +4,8 @@ FROM alpine:3.22.0@sha256:8a1f59ffb675680d47db6337b49d22281a139e9d709335b492be02 # Copy necessary files COPY scripts /scripts COPY pipeline /pipeline -COPY stirling-pdf/src/main/resources/static/fonts/*.ttf /usr/share/fonts/opentype/noto/ -COPY stirling-pdf/build/libs/*.jar app.jar +COPY app/core/src/main/resources/static/fonts/*.ttf /usr/share/fonts/opentype/noto/ +COPY app/core/build/libs/*.jar app.jar ARG VERSION_TAG diff --git a/Dockerfile.fat b/Dockerfile.fat index 4053cd97f..58d7164a3 100644 --- a/Dockerfile.fat +++ b/Dockerfile.fat @@ -5,9 +5,9 @@ COPY build.gradle . COPY settings.gradle . COPY gradlew . COPY gradle gradle/ -COPY stirling-pdf/build.gradle stirling-pdf/. -COPY common/build.gradle common/. -COPY proprietary/build.gradle proprietary/. +COPY app/core/build.gradle core/. +COPY app/common/build.gradle common/. +COPY app/proprietary/build.gradle proprietary/. RUN ./gradlew build -x spotlessApply -x spotlessCheck -x test -x sonarqube || return 0 # Set the working directory @@ -27,8 +27,8 @@ FROM alpine:3.22.0@sha256:8a1f59ffb675680d47db6337b49d22281a139e9d709335b492be02 # Copy necessary files COPY scripts /scripts COPY pipeline /pipeline -COPY stirling-pdf/src/main/resources/static/fonts/*.ttf /usr/share/fonts/opentype/noto/ -COPY --from=build /app/stirling-pdf/build/libs/*.jar app.jar +COPY app/core/src/main/resources/static/fonts/*.ttf /usr/share/fonts/opentype/noto/ +COPY --from=build /app/core/build/libs/*.jar app.jar ARG VERSION_TAG diff --git a/Dockerfile.ultra-lite b/Dockerfile.ultra-lite index 283d3c983..1e6219a85 100644 --- a/Dockerfile.ultra-lite +++ b/Dockerfile.ultra-lite @@ -22,7 +22,7 @@ COPY scripts/download-security-jar.sh /scripts/download-security-jar.sh COPY scripts/init-without-ocr.sh /scripts/init-without-ocr.sh COPY scripts/installFonts.sh /scripts/installFonts.sh COPY pipeline /pipeline -COPY stirling-pdf/build/libs/*.jar app.jar +COPY app/core/build/libs/*.jar app.jar # Set up necessary directories and permissions RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/repositories && \ @@ -52,4 +52,4 @@ EXPOSE 8080/tcp # Run the application ENTRYPOINT ["tini", "--", "/scripts/init-without-ocr.sh"] -CMD ["java", "-Dfile.encoding=UTF-8", "-Djava.io.tmpdir=/tmp/stirling-pdf", "-jar", "/app.jar"] \ No newline at end of file +CMD ["java", "-Dfile.encoding=UTF-8", "-Djava.io.tmpdir=/tmp/stirling-pdf", "-jar", "/app.jar"] diff --git a/LICENSE b/LICENSE index 877663171..cc732d7ea 100644 --- a/LICENSE +++ b/LICENSE @@ -4,8 +4,8 @@ Copyright (c) 2025 Stirling PDF Inc. Portions of this software are licensed as follows: -* All content that resides under the "proprietary/" directory of this repository, -if that directory exists, is licensed under the license defined in "proprietary/LICENSE". +* All content that resides under the "app/proprietary/" directory of this repository, +if that directory exists, is licensed under the license defined in "app/proprietary/LICENSE". * Content outside of the above mentioned directories or restrictions above is available under the MIT License as defined below. diff --git a/allowed-licenses.json b/app/allowed-licenses.json similarity index 100% rename from allowed-licenses.json rename to app/allowed-licenses.json diff --git a/common/.gitignore b/app/common/.gitignore similarity index 99% rename from common/.gitignore rename to app/common/.gitignore index 17f0d4976..bd6361c88 100644 --- a/common/.gitignore +++ b/app/common/.gitignore @@ -124,7 +124,7 @@ SwaggerDoc.json *.rar *.db /build -/common/build/ +/app/common/build/ # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/common/build.gradle b/app/common/build.gradle similarity index 100% rename from common/build.gradle rename to app/common/build.gradle diff --git a/common/src/main/java/org/apache/pdfbox/examples/util/DeletingRandomAccessFile.java b/app/common/src/main/java/org/apache/pdfbox/examples/util/DeletingRandomAccessFile.java similarity index 100% rename from common/src/main/java/org/apache/pdfbox/examples/util/DeletingRandomAccessFile.java rename to app/common/src/main/java/org/apache/pdfbox/examples/util/DeletingRandomAccessFile.java diff --git a/common/src/main/java/stirling/software/common/annotations/AutoJobPostMapping.java b/app/common/src/main/java/stirling/software/common/annotations/AutoJobPostMapping.java similarity index 100% rename from common/src/main/java/stirling/software/common/annotations/AutoJobPostMapping.java rename to app/common/src/main/java/stirling/software/common/annotations/AutoJobPostMapping.java diff --git a/common/src/main/java/stirling/software/common/aop/AutoJobAspect.java b/app/common/src/main/java/stirling/software/common/aop/AutoJobAspect.java similarity index 100% rename from common/src/main/java/stirling/software/common/aop/AutoJobAspect.java rename to app/common/src/main/java/stirling/software/common/aop/AutoJobAspect.java diff --git a/common/src/main/java/stirling/software/common/config/TempFileConfiguration.java b/app/common/src/main/java/stirling/software/common/config/TempFileConfiguration.java similarity index 100% rename from common/src/main/java/stirling/software/common/config/TempFileConfiguration.java rename to app/common/src/main/java/stirling/software/common/config/TempFileConfiguration.java diff --git a/common/src/main/java/stirling/software/common/config/TempFileShutdownHook.java b/app/common/src/main/java/stirling/software/common/config/TempFileShutdownHook.java similarity index 97% rename from common/src/main/java/stirling/software/common/config/TempFileShutdownHook.java rename to app/common/src/main/java/stirling/software/common/config/TempFileShutdownHook.java index 6fd3bdeff..00719deaa 100644 --- a/common/src/main/java/stirling/software/common/config/TempFileShutdownHook.java +++ b/app/common/src/main/java/stirling/software/common/config/TempFileShutdownHook.java @@ -6,7 +6,6 @@ import java.nio.file.Path; import java.util.Set; import org.springframework.beans.factory.DisposableBean; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import lombok.extern.slf4j.Slf4j; @@ -24,7 +23,6 @@ public class TempFileShutdownHook implements DisposableBean { private final TempFileRegistry registry; - @Autowired public TempFileShutdownHook(TempFileRegistry registry) { this.registry = registry; diff --git a/common/src/main/java/stirling/software/common/configuration/AppConfig.java b/app/common/src/main/java/stirling/software/common/configuration/AppConfig.java similarity index 100% rename from common/src/main/java/stirling/software/common/configuration/AppConfig.java rename to app/common/src/main/java/stirling/software/common/configuration/AppConfig.java diff --git a/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java b/app/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java similarity index 100% rename from common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java rename to app/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java diff --git a/common/src/main/java/stirling/software/common/configuration/FileFallbackTemplateResolver.java b/app/common/src/main/java/stirling/software/common/configuration/FileFallbackTemplateResolver.java similarity index 100% rename from common/src/main/java/stirling/software/common/configuration/FileFallbackTemplateResolver.java rename to app/common/src/main/java/stirling/software/common/configuration/FileFallbackTemplateResolver.java diff --git a/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java b/app/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java similarity index 100% rename from common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java rename to app/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java diff --git a/common/src/main/java/stirling/software/common/configuration/PostHogConfig.java b/app/common/src/main/java/stirling/software/common/configuration/PostHogConfig.java similarity index 100% rename from common/src/main/java/stirling/software/common/configuration/PostHogConfig.java rename to app/common/src/main/java/stirling/software/common/configuration/PostHogConfig.java diff --git a/common/src/main/java/stirling/software/common/configuration/PostHogLoggerImpl.java b/app/common/src/main/java/stirling/software/common/configuration/PostHogLoggerImpl.java similarity index 100% rename from common/src/main/java/stirling/software/common/configuration/PostHogLoggerImpl.java rename to app/common/src/main/java/stirling/software/common/configuration/PostHogLoggerImpl.java diff --git a/common/src/main/java/stirling/software/common/configuration/RuntimePathConfig.java b/app/common/src/main/java/stirling/software/common/configuration/RuntimePathConfig.java similarity index 100% rename from common/src/main/java/stirling/software/common/configuration/RuntimePathConfig.java rename to app/common/src/main/java/stirling/software/common/configuration/RuntimePathConfig.java diff --git a/common/src/main/java/stirling/software/common/configuration/YamlPropertySourceFactory.java b/app/common/src/main/java/stirling/software/common/configuration/YamlPropertySourceFactory.java similarity index 100% rename from common/src/main/java/stirling/software/common/configuration/YamlPropertySourceFactory.java rename to app/common/src/main/java/stirling/software/common/configuration/YamlPropertySourceFactory.java diff --git a/common/src/main/java/stirling/software/common/configuration/interfaces/ShowAdminInterface.java b/app/common/src/main/java/stirling/software/common/configuration/interfaces/ShowAdminInterface.java similarity index 100% rename from common/src/main/java/stirling/software/common/configuration/interfaces/ShowAdminInterface.java rename to app/common/src/main/java/stirling/software/common/configuration/interfaces/ShowAdminInterface.java diff --git a/common/src/main/java/stirling/software/common/model/ApplicationProperties.java b/app/common/src/main/java/stirling/software/common/model/ApplicationProperties.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/ApplicationProperties.java rename to app/common/src/main/java/stirling/software/common/model/ApplicationProperties.java diff --git a/common/src/main/java/stirling/software/common/model/FileInfo.java b/app/common/src/main/java/stirling/software/common/model/FileInfo.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/FileInfo.java rename to app/common/src/main/java/stirling/software/common/model/FileInfo.java diff --git a/common/src/main/java/stirling/software/common/model/InputStreamTemplateResource.java b/app/common/src/main/java/stirling/software/common/model/InputStreamTemplateResource.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/InputStreamTemplateResource.java rename to app/common/src/main/java/stirling/software/common/model/InputStreamTemplateResource.java diff --git a/common/src/main/java/stirling/software/common/model/PdfMetadata.java b/app/common/src/main/java/stirling/software/common/model/PdfMetadata.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/PdfMetadata.java rename to app/common/src/main/java/stirling/software/common/model/PdfMetadata.java diff --git a/common/src/main/java/stirling/software/common/model/api/GeneralFile.java b/app/common/src/main/java/stirling/software/common/model/api/GeneralFile.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/api/GeneralFile.java rename to app/common/src/main/java/stirling/software/common/model/api/GeneralFile.java diff --git a/common/src/main/java/stirling/software/common/model/api/PDFFile.java b/app/common/src/main/java/stirling/software/common/model/api/PDFFile.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/api/PDFFile.java rename to app/common/src/main/java/stirling/software/common/model/api/PDFFile.java diff --git a/common/src/main/java/stirling/software/common/model/api/converters/EmlToPdfRequest.java b/app/common/src/main/java/stirling/software/common/model/api/converters/EmlToPdfRequest.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/api/converters/EmlToPdfRequest.java rename to app/common/src/main/java/stirling/software/common/model/api/converters/EmlToPdfRequest.java diff --git a/common/src/main/java/stirling/software/common/model/api/converters/HTMLToPdfRequest.java b/app/common/src/main/java/stirling/software/common/model/api/converters/HTMLToPdfRequest.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/api/converters/HTMLToPdfRequest.java rename to app/common/src/main/java/stirling/software/common/model/api/converters/HTMLToPdfRequest.java diff --git a/common/src/main/java/stirling/software/common/model/api/misc/HighContrastColorCombination.java b/app/common/src/main/java/stirling/software/common/model/api/misc/HighContrastColorCombination.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/api/misc/HighContrastColorCombination.java rename to app/common/src/main/java/stirling/software/common/model/api/misc/HighContrastColorCombination.java diff --git a/common/src/main/java/stirling/software/common/model/api/misc/ReplaceAndInvert.java b/app/common/src/main/java/stirling/software/common/model/api/misc/ReplaceAndInvert.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/api/misc/ReplaceAndInvert.java rename to app/common/src/main/java/stirling/software/common/model/api/misc/ReplaceAndInvert.java diff --git a/common/src/main/java/stirling/software/common/model/api/security/RedactionArea.java b/app/common/src/main/java/stirling/software/common/model/api/security/RedactionArea.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/api/security/RedactionArea.java rename to app/common/src/main/java/stirling/software/common/model/api/security/RedactionArea.java diff --git a/common/src/main/java/stirling/software/common/model/enumeration/Role.java b/app/common/src/main/java/stirling/software/common/model/enumeration/Role.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/enumeration/Role.java rename to app/common/src/main/java/stirling/software/common/model/enumeration/Role.java diff --git a/common/src/main/java/stirling/software/common/model/enumeration/UsernameAttribute.java b/app/common/src/main/java/stirling/software/common/model/enumeration/UsernameAttribute.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/enumeration/UsernameAttribute.java rename to app/common/src/main/java/stirling/software/common/model/enumeration/UsernameAttribute.java diff --git a/common/src/main/java/stirling/software/common/model/exception/UnsupportedClaimException.java b/app/common/src/main/java/stirling/software/common/model/exception/UnsupportedClaimException.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/exception/UnsupportedClaimException.java rename to app/common/src/main/java/stirling/software/common/model/exception/UnsupportedClaimException.java diff --git a/common/src/main/java/stirling/software/common/model/exception/UnsupportedProviderException.java b/app/common/src/main/java/stirling/software/common/model/exception/UnsupportedProviderException.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/exception/UnsupportedProviderException.java rename to app/common/src/main/java/stirling/software/common/model/exception/UnsupportedProviderException.java diff --git a/common/src/main/java/stirling/software/common/model/job/JobProgress.java b/app/common/src/main/java/stirling/software/common/model/job/JobProgress.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/job/JobProgress.java rename to app/common/src/main/java/stirling/software/common/model/job/JobProgress.java diff --git a/common/src/main/java/stirling/software/common/model/job/JobResponse.java b/app/common/src/main/java/stirling/software/common/model/job/JobResponse.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/job/JobResponse.java rename to app/common/src/main/java/stirling/software/common/model/job/JobResponse.java diff --git a/common/src/main/java/stirling/software/common/model/job/JobResult.java b/app/common/src/main/java/stirling/software/common/model/job/JobResult.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/job/JobResult.java rename to app/common/src/main/java/stirling/software/common/model/job/JobResult.java diff --git a/common/src/main/java/stirling/software/common/model/job/JobStats.java b/app/common/src/main/java/stirling/software/common/model/job/JobStats.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/job/JobStats.java rename to app/common/src/main/java/stirling/software/common/model/job/JobStats.java diff --git a/common/src/main/java/stirling/software/common/model/job/ResultFile.java b/app/common/src/main/java/stirling/software/common/model/job/ResultFile.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/job/ResultFile.java rename to app/common/src/main/java/stirling/software/common/model/job/ResultFile.java diff --git a/common/src/main/java/stirling/software/common/model/oauth2/GitHubProvider.java b/app/common/src/main/java/stirling/software/common/model/oauth2/GitHubProvider.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/oauth2/GitHubProvider.java rename to app/common/src/main/java/stirling/software/common/model/oauth2/GitHubProvider.java diff --git a/common/src/main/java/stirling/software/common/model/oauth2/GoogleProvider.java b/app/common/src/main/java/stirling/software/common/model/oauth2/GoogleProvider.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/oauth2/GoogleProvider.java rename to app/common/src/main/java/stirling/software/common/model/oauth2/GoogleProvider.java diff --git a/common/src/main/java/stirling/software/common/model/oauth2/KeycloakProvider.java b/app/common/src/main/java/stirling/software/common/model/oauth2/KeycloakProvider.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/oauth2/KeycloakProvider.java rename to app/common/src/main/java/stirling/software/common/model/oauth2/KeycloakProvider.java diff --git a/common/src/main/java/stirling/software/common/model/oauth2/Provider.java b/app/common/src/main/java/stirling/software/common/model/oauth2/Provider.java similarity index 100% rename from common/src/main/java/stirling/software/common/model/oauth2/Provider.java rename to app/common/src/main/java/stirling/software/common/model/oauth2/Provider.java diff --git a/common/src/main/java/stirling/software/common/service/CustomPDFDocumentFactory.java b/app/common/src/main/java/stirling/software/common/service/CustomPDFDocumentFactory.java similarity index 100% rename from common/src/main/java/stirling/software/common/service/CustomPDFDocumentFactory.java rename to app/common/src/main/java/stirling/software/common/service/CustomPDFDocumentFactory.java diff --git a/common/src/main/java/stirling/software/common/service/FileOrUploadService.java b/app/common/src/main/java/stirling/software/common/service/FileOrUploadService.java similarity index 100% rename from common/src/main/java/stirling/software/common/service/FileOrUploadService.java rename to app/common/src/main/java/stirling/software/common/service/FileOrUploadService.java diff --git a/common/src/main/java/stirling/software/common/service/FileStorage.java b/app/common/src/main/java/stirling/software/common/service/FileStorage.java similarity index 100% rename from common/src/main/java/stirling/software/common/service/FileStorage.java rename to app/common/src/main/java/stirling/software/common/service/FileStorage.java diff --git a/common/src/main/java/stirling/software/common/service/JobExecutorService.java b/app/common/src/main/java/stirling/software/common/service/JobExecutorService.java similarity index 100% rename from common/src/main/java/stirling/software/common/service/JobExecutorService.java rename to app/common/src/main/java/stirling/software/common/service/JobExecutorService.java diff --git a/common/src/main/java/stirling/software/common/service/JobQueue.java b/app/common/src/main/java/stirling/software/common/service/JobQueue.java similarity index 100% rename from common/src/main/java/stirling/software/common/service/JobQueue.java rename to app/common/src/main/java/stirling/software/common/service/JobQueue.java diff --git a/common/src/main/java/stirling/software/common/service/PdfMetadataService.java b/app/common/src/main/java/stirling/software/common/service/PdfMetadataService.java similarity index 100% rename from common/src/main/java/stirling/software/common/service/PdfMetadataService.java rename to app/common/src/main/java/stirling/software/common/service/PdfMetadataService.java diff --git a/common/src/main/java/stirling/software/common/service/PostHogService.java b/app/common/src/main/java/stirling/software/common/service/PostHogService.java similarity index 100% rename from common/src/main/java/stirling/software/common/service/PostHogService.java rename to app/common/src/main/java/stirling/software/common/service/PostHogService.java diff --git a/common/src/main/java/stirling/software/common/service/ResourceMonitor.java b/app/common/src/main/java/stirling/software/common/service/ResourceMonitor.java similarity index 100% rename from common/src/main/java/stirling/software/common/service/ResourceMonitor.java rename to app/common/src/main/java/stirling/software/common/service/ResourceMonitor.java diff --git a/common/src/main/java/stirling/software/common/service/TaskManager.java b/app/common/src/main/java/stirling/software/common/service/TaskManager.java similarity index 100% rename from common/src/main/java/stirling/software/common/service/TaskManager.java rename to app/common/src/main/java/stirling/software/common/service/TaskManager.java diff --git a/common/src/main/java/stirling/software/common/service/TempFileCleanupService.java b/app/common/src/main/java/stirling/software/common/service/TempFileCleanupService.java similarity index 100% rename from common/src/main/java/stirling/software/common/service/TempFileCleanupService.java rename to app/common/src/main/java/stirling/software/common/service/TempFileCleanupService.java diff --git a/common/src/main/java/stirling/software/common/service/UserServiceInterface.java b/app/common/src/main/java/stirling/software/common/service/UserServiceInterface.java similarity index 100% rename from common/src/main/java/stirling/software/common/service/UserServiceInterface.java rename to app/common/src/main/java/stirling/software/common/service/UserServiceInterface.java diff --git a/common/src/main/java/stirling/software/common/util/ApplicationContextProvider.java b/app/common/src/main/java/stirling/software/common/util/ApplicationContextProvider.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/ApplicationContextProvider.java rename to app/common/src/main/java/stirling/software/common/util/ApplicationContextProvider.java diff --git a/common/src/main/java/stirling/software/common/util/AttachmentUtils.java b/app/common/src/main/java/stirling/software/common/util/AttachmentUtils.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/AttachmentUtils.java rename to app/common/src/main/java/stirling/software/common/util/AttachmentUtils.java diff --git a/common/src/main/java/stirling/software/common/util/CheckProgramInstall.java b/app/common/src/main/java/stirling/software/common/util/CheckProgramInstall.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/CheckProgramInstall.java rename to app/common/src/main/java/stirling/software/common/util/CheckProgramInstall.java diff --git a/common/src/main/java/stirling/software/common/util/CustomHtmlSanitizer.java b/app/common/src/main/java/stirling/software/common/util/CustomHtmlSanitizer.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/CustomHtmlSanitizer.java rename to app/common/src/main/java/stirling/software/common/util/CustomHtmlSanitizer.java diff --git a/common/src/main/java/stirling/software/common/util/EmlToPdf.java b/app/common/src/main/java/stirling/software/common/util/EmlToPdf.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/EmlToPdf.java rename to app/common/src/main/java/stirling/software/common/util/EmlToPdf.java diff --git a/common/src/main/java/stirling/software/common/util/ErrorUtils.java b/app/common/src/main/java/stirling/software/common/util/ErrorUtils.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/ErrorUtils.java rename to app/common/src/main/java/stirling/software/common/util/ErrorUtils.java diff --git a/common/src/main/java/stirling/software/common/util/ExceptionUtils.java b/app/common/src/main/java/stirling/software/common/util/ExceptionUtils.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/ExceptionUtils.java rename to app/common/src/main/java/stirling/software/common/util/ExceptionUtils.java diff --git a/common/src/main/java/stirling/software/common/util/ExecutorFactory.java b/app/common/src/main/java/stirling/software/common/util/ExecutorFactory.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/ExecutorFactory.java rename to app/common/src/main/java/stirling/software/common/util/ExecutorFactory.java diff --git a/common/src/main/java/stirling/software/common/util/FileMonitor.java b/app/common/src/main/java/stirling/software/common/util/FileMonitor.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/FileMonitor.java rename to app/common/src/main/java/stirling/software/common/util/FileMonitor.java diff --git a/common/src/main/java/stirling/software/common/util/FileToPdf.java b/app/common/src/main/java/stirling/software/common/util/FileToPdf.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/FileToPdf.java rename to app/common/src/main/java/stirling/software/common/util/FileToPdf.java diff --git a/common/src/main/java/stirling/software/common/util/GeneralUtils.java b/app/common/src/main/java/stirling/software/common/util/GeneralUtils.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/GeneralUtils.java rename to app/common/src/main/java/stirling/software/common/util/GeneralUtils.java diff --git a/common/src/main/java/stirling/software/common/util/ImageProcessingUtils.java b/app/common/src/main/java/stirling/software/common/util/ImageProcessingUtils.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/ImageProcessingUtils.java rename to app/common/src/main/java/stirling/software/common/util/ImageProcessingUtils.java diff --git a/common/src/main/java/stirling/software/common/util/PDFToFile.java b/app/common/src/main/java/stirling/software/common/util/PDFToFile.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/PDFToFile.java rename to app/common/src/main/java/stirling/software/common/util/PDFToFile.java diff --git a/common/src/main/java/stirling/software/common/util/PdfErrorUtils.java b/app/common/src/main/java/stirling/software/common/util/PdfErrorUtils.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/PdfErrorUtils.java rename to app/common/src/main/java/stirling/software/common/util/PdfErrorUtils.java diff --git a/common/src/main/java/stirling/software/common/util/PdfUtils.java b/app/common/src/main/java/stirling/software/common/util/PdfUtils.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/PdfUtils.java rename to app/common/src/main/java/stirling/software/common/util/PdfUtils.java diff --git a/common/src/main/java/stirling/software/common/util/ProcessExecutor.java b/app/common/src/main/java/stirling/software/common/util/ProcessExecutor.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/ProcessExecutor.java rename to app/common/src/main/java/stirling/software/common/util/ProcessExecutor.java diff --git a/common/src/main/java/stirling/software/common/util/PropertyConfigs.java b/app/common/src/main/java/stirling/software/common/util/PropertyConfigs.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/PropertyConfigs.java rename to app/common/src/main/java/stirling/software/common/util/PropertyConfigs.java diff --git a/common/src/main/java/stirling/software/common/util/ProviderUtils.java b/app/common/src/main/java/stirling/software/common/util/ProviderUtils.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/ProviderUtils.java rename to app/common/src/main/java/stirling/software/common/util/ProviderUtils.java diff --git a/common/src/main/java/stirling/software/common/util/RequestUriUtils.java b/app/common/src/main/java/stirling/software/common/util/RequestUriUtils.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/RequestUriUtils.java rename to app/common/src/main/java/stirling/software/common/util/RequestUriUtils.java diff --git a/common/src/main/java/stirling/software/common/util/SpringContextHolder.java b/app/common/src/main/java/stirling/software/common/util/SpringContextHolder.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/SpringContextHolder.java rename to app/common/src/main/java/stirling/software/common/util/SpringContextHolder.java diff --git a/common/src/main/java/stirling/software/common/util/TempDirectory.java b/app/common/src/main/java/stirling/software/common/util/TempDirectory.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/TempDirectory.java rename to app/common/src/main/java/stirling/software/common/util/TempDirectory.java diff --git a/common/src/main/java/stirling/software/common/util/TempFile.java b/app/common/src/main/java/stirling/software/common/util/TempFile.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/TempFile.java rename to app/common/src/main/java/stirling/software/common/util/TempFile.java diff --git a/common/src/main/java/stirling/software/common/util/TempFileManager.java b/app/common/src/main/java/stirling/software/common/util/TempFileManager.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/TempFileManager.java rename to app/common/src/main/java/stirling/software/common/util/TempFileManager.java diff --git a/common/src/main/java/stirling/software/common/util/TempFileRegistry.java b/app/common/src/main/java/stirling/software/common/util/TempFileRegistry.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/TempFileRegistry.java rename to app/common/src/main/java/stirling/software/common/util/TempFileRegistry.java diff --git a/common/src/main/java/stirling/software/common/util/TempFileUtil.java b/app/common/src/main/java/stirling/software/common/util/TempFileUtil.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/TempFileUtil.java rename to app/common/src/main/java/stirling/software/common/util/TempFileUtil.java diff --git a/common/src/main/java/stirling/software/common/util/UIScaling.java b/app/common/src/main/java/stirling/software/common/util/UIScaling.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/UIScaling.java rename to app/common/src/main/java/stirling/software/common/util/UIScaling.java diff --git a/common/src/main/java/stirling/software/common/util/UrlUtils.java b/app/common/src/main/java/stirling/software/common/util/UrlUtils.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/UrlUtils.java rename to app/common/src/main/java/stirling/software/common/util/UrlUtils.java diff --git a/common/src/main/java/stirling/software/common/util/ValidationUtil.java b/app/common/src/main/java/stirling/software/common/util/ValidationUtil.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/ValidationUtil.java rename to app/common/src/main/java/stirling/software/common/util/ValidationUtil.java diff --git a/common/src/main/java/stirling/software/common/util/ValidationUtils.java b/app/common/src/main/java/stirling/software/common/util/ValidationUtils.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/ValidationUtils.java rename to app/common/src/main/java/stirling/software/common/util/ValidationUtils.java diff --git a/common/src/main/java/stirling/software/common/util/WebResponseUtils.java b/app/common/src/main/java/stirling/software/common/util/WebResponseUtils.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/WebResponseUtils.java rename to app/common/src/main/java/stirling/software/common/util/WebResponseUtils.java diff --git a/common/src/main/java/stirling/software/common/util/YamlHelper.java b/app/common/src/main/java/stirling/software/common/util/YamlHelper.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/YamlHelper.java rename to app/common/src/main/java/stirling/software/common/util/YamlHelper.java diff --git a/common/src/main/java/stirling/software/common/util/misc/CustomColorReplaceStrategy.java b/app/common/src/main/java/stirling/software/common/util/misc/CustomColorReplaceStrategy.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/misc/CustomColorReplaceStrategy.java rename to app/common/src/main/java/stirling/software/common/util/misc/CustomColorReplaceStrategy.java diff --git a/common/src/main/java/stirling/software/common/util/misc/HighContrastColorReplaceDecider.java b/app/common/src/main/java/stirling/software/common/util/misc/HighContrastColorReplaceDecider.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/misc/HighContrastColorReplaceDecider.java rename to app/common/src/main/java/stirling/software/common/util/misc/HighContrastColorReplaceDecider.java diff --git a/common/src/main/java/stirling/software/common/util/misc/InvertFullColorStrategy.java b/app/common/src/main/java/stirling/software/common/util/misc/InvertFullColorStrategy.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/misc/InvertFullColorStrategy.java rename to app/common/src/main/java/stirling/software/common/util/misc/InvertFullColorStrategy.java diff --git a/common/src/main/java/stirling/software/common/util/misc/PdfTextStripperCustom.java b/app/common/src/main/java/stirling/software/common/util/misc/PdfTextStripperCustom.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/misc/PdfTextStripperCustom.java rename to app/common/src/main/java/stirling/software/common/util/misc/PdfTextStripperCustom.java diff --git a/common/src/main/java/stirling/software/common/util/misc/ReplaceAndInvertColorStrategy.java b/app/common/src/main/java/stirling/software/common/util/misc/ReplaceAndInvertColorStrategy.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/misc/ReplaceAndInvertColorStrategy.java rename to app/common/src/main/java/stirling/software/common/util/misc/ReplaceAndInvertColorStrategy.java diff --git a/common/src/main/java/stirling/software/common/util/propertyeditor/StringToArrayListPropertyEditor.java b/app/common/src/main/java/stirling/software/common/util/propertyeditor/StringToArrayListPropertyEditor.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/propertyeditor/StringToArrayListPropertyEditor.java rename to app/common/src/main/java/stirling/software/common/util/propertyeditor/StringToArrayListPropertyEditor.java diff --git a/common/src/main/java/stirling/software/common/util/propertyeditor/StringToMapPropertyEditor.java b/app/common/src/main/java/stirling/software/common/util/propertyeditor/StringToMapPropertyEditor.java similarity index 100% rename from common/src/main/java/stirling/software/common/util/propertyeditor/StringToMapPropertyEditor.java rename to app/common/src/main/java/stirling/software/common/util/propertyeditor/StringToMapPropertyEditor.java diff --git a/common/src/test/java/stirling/software/common/annotations/AutoJobPostMappingIntegrationTest.java b/app/common/src/test/java/stirling/software/common/annotations/AutoJobPostMappingIntegrationTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/annotations/AutoJobPostMappingIntegrationTest.java rename to app/common/src/test/java/stirling/software/common/annotations/AutoJobPostMappingIntegrationTest.java diff --git a/common/src/test/java/stirling/software/common/service/CustomPDFDocumentFactoryTest.java b/app/common/src/test/java/stirling/software/common/service/CustomPDFDocumentFactoryTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/service/CustomPDFDocumentFactoryTest.java rename to app/common/src/test/java/stirling/software/common/service/CustomPDFDocumentFactoryTest.java diff --git a/common/src/test/java/stirling/software/common/service/FileStorageTest.java b/app/common/src/test/java/stirling/software/common/service/FileStorageTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/service/FileStorageTest.java rename to app/common/src/test/java/stirling/software/common/service/FileStorageTest.java diff --git a/common/src/test/java/stirling/software/common/service/JobExecutorServiceTest.java b/app/common/src/test/java/stirling/software/common/service/JobExecutorServiceTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/service/JobExecutorServiceTest.java rename to app/common/src/test/java/stirling/software/common/service/JobExecutorServiceTest.java diff --git a/common/src/test/java/stirling/software/common/service/JobQueueTest.java b/app/common/src/test/java/stirling/software/common/service/JobQueueTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/service/JobQueueTest.java rename to app/common/src/test/java/stirling/software/common/service/JobQueueTest.java diff --git a/common/src/test/java/stirling/software/common/service/ResourceMonitorTest.java b/app/common/src/test/java/stirling/software/common/service/ResourceMonitorTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/service/ResourceMonitorTest.java rename to app/common/src/test/java/stirling/software/common/service/ResourceMonitorTest.java diff --git a/common/src/test/java/stirling/software/common/service/SpyPDFDocumentFactory.java b/app/common/src/test/java/stirling/software/common/service/SpyPDFDocumentFactory.java similarity index 100% rename from common/src/test/java/stirling/software/common/service/SpyPDFDocumentFactory.java rename to app/common/src/test/java/stirling/software/common/service/SpyPDFDocumentFactory.java diff --git a/common/src/test/java/stirling/software/common/service/TaskManagerTest.java b/app/common/src/test/java/stirling/software/common/service/TaskManagerTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/service/TaskManagerTest.java rename to app/common/src/test/java/stirling/software/common/service/TaskManagerTest.java diff --git a/common/src/test/java/stirling/software/common/service/TempFileCleanupServiceTest.java b/app/common/src/test/java/stirling/software/common/service/TempFileCleanupServiceTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/service/TempFileCleanupServiceTest.java rename to app/common/src/test/java/stirling/software/common/service/TempFileCleanupServiceTest.java diff --git a/common/src/test/java/stirling/software/common/util/CheckProgramInstallTest.java b/app/common/src/test/java/stirling/software/common/util/CheckProgramInstallTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/CheckProgramInstallTest.java rename to app/common/src/test/java/stirling/software/common/util/CheckProgramInstallTest.java diff --git a/common/src/test/java/stirling/software/common/util/CustomHtmlSanitizerTest.java b/app/common/src/test/java/stirling/software/common/util/CustomHtmlSanitizerTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/CustomHtmlSanitizerTest.java rename to app/common/src/test/java/stirling/software/common/util/CustomHtmlSanitizerTest.java diff --git a/common/src/test/java/stirling/software/common/util/EmlToPdfTest.java b/app/common/src/test/java/stirling/software/common/util/EmlToPdfTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/EmlToPdfTest.java rename to app/common/src/test/java/stirling/software/common/util/EmlToPdfTest.java diff --git a/common/src/test/java/stirling/software/common/util/ErrorUtilsTest.java b/app/common/src/test/java/stirling/software/common/util/ErrorUtilsTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/ErrorUtilsTest.java rename to app/common/src/test/java/stirling/software/common/util/ErrorUtilsTest.java diff --git a/common/src/test/java/stirling/software/common/util/FileInfoTest.java b/app/common/src/test/java/stirling/software/common/util/FileInfoTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/FileInfoTest.java rename to app/common/src/test/java/stirling/software/common/util/FileInfoTest.java diff --git a/common/src/test/java/stirling/software/common/util/FileMonitorTest.java b/app/common/src/test/java/stirling/software/common/util/FileMonitorTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/FileMonitorTest.java rename to app/common/src/test/java/stirling/software/common/util/FileMonitorTest.java diff --git a/common/src/test/java/stirling/software/common/util/FileToPdfTest.java b/app/common/src/test/java/stirling/software/common/util/FileToPdfTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/FileToPdfTest.java rename to app/common/src/test/java/stirling/software/common/util/FileToPdfTest.java diff --git a/common/src/test/java/stirling/software/common/util/GeneralUtilsAdditionalTest.java b/app/common/src/test/java/stirling/software/common/util/GeneralUtilsAdditionalTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/GeneralUtilsAdditionalTest.java rename to app/common/src/test/java/stirling/software/common/util/GeneralUtilsAdditionalTest.java diff --git a/common/src/test/java/stirling/software/common/util/GeneralUtilsTest.java b/app/common/src/test/java/stirling/software/common/util/GeneralUtilsTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/GeneralUtilsTest.java rename to app/common/src/test/java/stirling/software/common/util/GeneralUtilsTest.java diff --git a/common/src/test/java/stirling/software/common/util/ImageProcessingUtilsTest.java b/app/common/src/test/java/stirling/software/common/util/ImageProcessingUtilsTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/ImageProcessingUtilsTest.java rename to app/common/src/test/java/stirling/software/common/util/ImageProcessingUtilsTest.java diff --git a/common/src/test/java/stirling/software/common/util/PDFToFileTest.java b/app/common/src/test/java/stirling/software/common/util/PDFToFileTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/PDFToFileTest.java rename to app/common/src/test/java/stirling/software/common/util/PDFToFileTest.java diff --git a/common/src/test/java/stirling/software/common/util/PdfUtilsTest.java b/app/common/src/test/java/stirling/software/common/util/PdfUtilsTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/PdfUtilsTest.java rename to app/common/src/test/java/stirling/software/common/util/PdfUtilsTest.java diff --git a/common/src/test/java/stirling/software/common/util/ProcessExecutorTest.java b/app/common/src/test/java/stirling/software/common/util/ProcessExecutorTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/ProcessExecutorTest.java rename to app/common/src/test/java/stirling/software/common/util/ProcessExecutorTest.java diff --git a/common/src/test/java/stirling/software/common/util/PropertyConfigsTest.java b/app/common/src/test/java/stirling/software/common/util/PropertyConfigsTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/PropertyConfigsTest.java rename to app/common/src/test/java/stirling/software/common/util/PropertyConfigsTest.java diff --git a/common/src/test/java/stirling/software/common/util/ProviderUtilsTest.java b/app/common/src/test/java/stirling/software/common/util/ProviderUtilsTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/ProviderUtilsTest.java rename to app/common/src/test/java/stirling/software/common/util/ProviderUtilsTest.java diff --git a/common/src/test/java/stirling/software/common/util/RequestUriUtilsTest.java b/app/common/src/test/java/stirling/software/common/util/RequestUriUtilsTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/RequestUriUtilsTest.java rename to app/common/src/test/java/stirling/software/common/util/RequestUriUtilsTest.java diff --git a/common/src/test/java/stirling/software/common/util/SpringContextHolderTest.java b/app/common/src/test/java/stirling/software/common/util/SpringContextHolderTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/SpringContextHolderTest.java rename to app/common/src/test/java/stirling/software/common/util/SpringContextHolderTest.java diff --git a/common/src/test/java/stirling/software/common/util/UIScalingTest.java b/app/common/src/test/java/stirling/software/common/util/UIScalingTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/UIScalingTest.java rename to app/common/src/test/java/stirling/software/common/util/UIScalingTest.java diff --git a/common/src/test/java/stirling/software/common/util/UrlUtilsTest.java b/app/common/src/test/java/stirling/software/common/util/UrlUtilsTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/UrlUtilsTest.java rename to app/common/src/test/java/stirling/software/common/util/UrlUtilsTest.java diff --git a/common/src/test/java/stirling/software/common/util/WebResponseUtilsTest.java b/app/common/src/test/java/stirling/software/common/util/WebResponseUtilsTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/WebResponseUtilsTest.java rename to app/common/src/test/java/stirling/software/common/util/WebResponseUtilsTest.java diff --git a/common/src/test/java/stirling/software/common/util/misc/CustomColorReplaceStrategyTest.java b/app/common/src/test/java/stirling/software/common/util/misc/CustomColorReplaceStrategyTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/misc/CustomColorReplaceStrategyTest.java rename to app/common/src/test/java/stirling/software/common/util/misc/CustomColorReplaceStrategyTest.java diff --git a/common/src/test/java/stirling/software/common/util/misc/HighContrastColorReplaceDeciderTest.java b/app/common/src/test/java/stirling/software/common/util/misc/HighContrastColorReplaceDeciderTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/misc/HighContrastColorReplaceDeciderTest.java rename to app/common/src/test/java/stirling/software/common/util/misc/HighContrastColorReplaceDeciderTest.java diff --git a/common/src/test/java/stirling/software/common/util/misc/InvertFullColorStrategyTest.java b/app/common/src/test/java/stirling/software/common/util/misc/InvertFullColorStrategyTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/misc/InvertFullColorStrategyTest.java rename to app/common/src/test/java/stirling/software/common/util/misc/InvertFullColorStrategyTest.java diff --git a/common/src/test/java/stirling/software/common/util/misc/PdfTextStripperCustomTest.java b/app/common/src/test/java/stirling/software/common/util/misc/PdfTextStripperCustomTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/misc/PdfTextStripperCustomTest.java rename to app/common/src/test/java/stirling/software/common/util/misc/PdfTextStripperCustomTest.java diff --git a/common/src/test/java/stirling/software/common/util/misc/ReplaceAndInvertColorStrategyTest.java b/app/common/src/test/java/stirling/software/common/util/misc/ReplaceAndInvertColorStrategyTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/misc/ReplaceAndInvertColorStrategyTest.java rename to app/common/src/test/java/stirling/software/common/util/misc/ReplaceAndInvertColorStrategyTest.java diff --git a/common/src/test/java/stirling/software/common/util/propertyeditor/StringToArrayListPropertyEditorTest.java b/app/common/src/test/java/stirling/software/common/util/propertyeditor/StringToArrayListPropertyEditorTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/propertyeditor/StringToArrayListPropertyEditorTest.java rename to app/common/src/test/java/stirling/software/common/util/propertyeditor/StringToArrayListPropertyEditorTest.java diff --git a/common/src/test/java/stirling/software/common/util/propertyeditor/StringToMapPropertyEditorTest.java b/app/common/src/test/java/stirling/software/common/util/propertyeditor/StringToMapPropertyEditorTest.java similarity index 100% rename from common/src/test/java/stirling/software/common/util/propertyeditor/StringToMapPropertyEditorTest.java rename to app/common/src/test/java/stirling/software/common/util/propertyeditor/StringToMapPropertyEditorTest.java diff --git a/common/src/test/resources/example.pdf b/app/common/src/test/resources/example.pdf similarity index 100% rename from common/src/test/resources/example.pdf rename to app/common/src/test/resources/example.pdf diff --git a/stirling-pdf/.gitignore b/app/core/.gitignore similarity index 98% rename from stirling-pdf/.gitignore rename to app/core/.gitignore index 3861a89a3..f85be51d5 100644 --- a/stirling-pdf/.gitignore +++ b/app/core/.gitignore @@ -124,7 +124,7 @@ SwaggerDoc.json *.rar *.db /build/* -/stirling-pdf/build/* +/app/core/build/* # Byte-compiled / optimized / DLL files __pycache__/ @@ -193,4 +193,4 @@ id_ed25519.pub **/jcef-bundle/ # node_modules -node_modules/ \ No newline at end of file +node_modules/ diff --git a/stirling-pdf/build.gradle b/app/core/build.gradle similarity index 100% rename from stirling-pdf/build.gradle rename to app/core/build.gradle diff --git a/stirling-pdf/src/main/java/org/apache/pdfbox/examples/signature/CMSProcessableInputStream.java b/app/core/src/main/java/org/apache/pdfbox/examples/signature/CMSProcessableInputStream.java similarity index 100% rename from stirling-pdf/src/main/java/org/apache/pdfbox/examples/signature/CMSProcessableInputStream.java rename to app/core/src/main/java/org/apache/pdfbox/examples/signature/CMSProcessableInputStream.java diff --git a/stirling-pdf/src/main/java/org/apache/pdfbox/examples/signature/CreateSignatureBase.java b/app/core/src/main/java/org/apache/pdfbox/examples/signature/CreateSignatureBase.java similarity index 100% rename from stirling-pdf/src/main/java/org/apache/pdfbox/examples/signature/CreateSignatureBase.java rename to app/core/src/main/java/org/apache/pdfbox/examples/signature/CreateSignatureBase.java diff --git a/stirling-pdf/src/main/java/org/apache/pdfbox/examples/signature/TSAClient.java b/app/core/src/main/java/org/apache/pdfbox/examples/signature/TSAClient.java similarity index 100% rename from stirling-pdf/src/main/java/org/apache/pdfbox/examples/signature/TSAClient.java rename to app/core/src/main/java/org/apache/pdfbox/examples/signature/TSAClient.java diff --git a/stirling-pdf/src/main/java/org/apache/pdfbox/examples/signature/ValidationTimeStamp.java b/app/core/src/main/java/org/apache/pdfbox/examples/signature/ValidationTimeStamp.java similarity index 100% rename from stirling-pdf/src/main/java/org/apache/pdfbox/examples/signature/ValidationTimeStamp.java rename to app/core/src/main/java/org/apache/pdfbox/examples/signature/ValidationTimeStamp.java diff --git a/stirling-pdf/src/main/java/org/apache/pdfbox/examples/util/ConnectedInputStream.java b/app/core/src/main/java/org/apache/pdfbox/examples/util/ConnectedInputStream.java similarity index 100% rename from stirling-pdf/src/main/java/org/apache/pdfbox/examples/util/ConnectedInputStream.java rename to app/core/src/main/java/org/apache/pdfbox/examples/util/ConnectedInputStream.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/Factories/ReplaceAndInvertColorFactory.java b/app/core/src/main/java/stirling/software/SPDF/Factories/ReplaceAndInvertColorFactory.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/Factories/ReplaceAndInvertColorFactory.java rename to app/core/src/main/java/stirling/software/SPDF/Factories/ReplaceAndInvertColorFactory.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/LibreOfficeListener.java b/app/core/src/main/java/stirling/software/SPDF/LibreOfficeListener.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/LibreOfficeListener.java rename to app/core/src/main/java/stirling/software/SPDF/LibreOfficeListener.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/SPDFApplication.java b/app/core/src/main/java/stirling/software/SPDF/SPDFApplication.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/SPDFApplication.java rename to app/core/src/main/java/stirling/software/SPDF/SPDFApplication.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/UI/WebBrowser.java b/app/core/src/main/java/stirling/software/SPDF/UI/WebBrowser.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/UI/WebBrowser.java rename to app/core/src/main/java/stirling/software/SPDF/UI/WebBrowser.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/UI/impl/DesktopBrowser.java b/app/core/src/main/java/stirling/software/SPDF/UI/impl/DesktopBrowser.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/UI/impl/DesktopBrowser.java rename to app/core/src/main/java/stirling/software/SPDF/UI/impl/DesktopBrowser.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/UI/impl/LoadingWindow.java b/app/core/src/main/java/stirling/software/SPDF/UI/impl/LoadingWindow.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/UI/impl/LoadingWindow.java rename to app/core/src/main/java/stirling/software/SPDF/UI/impl/LoadingWindow.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/AppUpdateService.java b/app/core/src/main/java/stirling/software/SPDF/config/AppUpdateService.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/AppUpdateService.java rename to app/core/src/main/java/stirling/software/SPDF/config/AppUpdateService.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/CleanUrlInterceptor.java b/app/core/src/main/java/stirling/software/SPDF/config/CleanUrlInterceptor.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/CleanUrlInterceptor.java rename to app/core/src/main/java/stirling/software/SPDF/config/CleanUrlInterceptor.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java b/app/core/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java rename to app/core/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointInspector.java b/app/core/src/main/java/stirling/software/SPDF/config/EndpointInspector.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointInspector.java rename to app/core/src/main/java/stirling/software/SPDF/config/EndpointInspector.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointInterceptor.java b/app/core/src/main/java/stirling/software/SPDF/config/EndpointInterceptor.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointInterceptor.java rename to app/core/src/main/java/stirling/software/SPDF/config/EndpointInterceptor.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/ExternalAppDepConfig.java b/app/core/src/main/java/stirling/software/SPDF/config/ExternalAppDepConfig.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/ExternalAppDepConfig.java rename to app/core/src/main/java/stirling/software/SPDF/config/ExternalAppDepConfig.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/InitialSetup.java b/app/core/src/main/java/stirling/software/SPDF/config/InitialSetup.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/InitialSetup.java rename to app/core/src/main/java/stirling/software/SPDF/config/InitialSetup.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/LocaleConfiguration.java b/app/core/src/main/java/stirling/software/SPDF/config/LocaleConfiguration.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/LocaleConfiguration.java rename to app/core/src/main/java/stirling/software/SPDF/config/LocaleConfiguration.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/LogbackPropertyLoader.java b/app/core/src/main/java/stirling/software/SPDF/config/LogbackPropertyLoader.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/LogbackPropertyLoader.java rename to app/core/src/main/java/stirling/software/SPDF/config/LogbackPropertyLoader.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/MetricsConfig.java b/app/core/src/main/java/stirling/software/SPDF/config/MetricsConfig.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/MetricsConfig.java rename to app/core/src/main/java/stirling/software/SPDF/config/MetricsConfig.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/MetricsFilter.java b/app/core/src/main/java/stirling/software/SPDF/config/MetricsFilter.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/MetricsFilter.java rename to app/core/src/main/java/stirling/software/SPDF/config/MetricsFilter.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java b/app/core/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java rename to app/core/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/StartupApplicationListener.java b/app/core/src/main/java/stirling/software/SPDF/config/StartupApplicationListener.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/StartupApplicationListener.java rename to app/core/src/main/java/stirling/software/SPDF/config/StartupApplicationListener.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java b/app/core/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java rename to app/core/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintBasedSessionFilter.java b/app/core/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintBasedSessionFilter.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintBasedSessionFilter.java rename to app/core/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintBasedSessionFilter.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintBasedSessionManager.java b/app/core/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintBasedSessionManager.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintBasedSessionManager.java rename to app/core/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintBasedSessionManager.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintGenerator.java b/app/core/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintGenerator.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintGenerator.java rename to app/core/src/main/java/stirling/software/SPDF/config/fingerprint/FingerprintGenerator.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/AdditionalLanguageJsController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/AdditionalLanguageJsController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/AdditionalLanguageJsController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/AdditionalLanguageJsController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/AnalysisController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/AnalysisController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/AnalysisController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/AnalysisController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/CropController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/CropController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/CropController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/CropController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/EditTableOfContentsController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/EditTableOfContentsController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/EditTableOfContentsController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/EditTableOfContentsController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/MergeController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/MergeController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/MergeController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/MergeController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/MultiPageLayoutController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/MultiPageLayoutController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/MultiPageLayoutController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/MultiPageLayoutController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/PdfImageRemovalController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/PdfImageRemovalController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/PdfImageRemovalController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/PdfImageRemovalController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/PdfOverlayController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/PdfOverlayController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/PdfOverlayController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/PdfOverlayController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/RearrangePagesPDFController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/RearrangePagesPDFController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/RearrangePagesPDFController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/RearrangePagesPDFController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/RotationController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/RotationController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/RotationController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/RotationController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/ScalePagesController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/ScalePagesController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/ScalePagesController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/ScalePagesController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/SettingsController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/SettingsController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/SettingsController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/SettingsController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/SplitPDFController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/SplitPDFController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/SplitPDFController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/SplitPDFController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/SplitPdfByChaptersController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/SplitPdfByChaptersController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/SplitPdfByChaptersController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/SplitPdfByChaptersController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/SplitPdfBySectionsController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/SplitPdfBySectionsController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/SplitPdfBySectionsController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/SplitPdfBySectionsController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/SplitPdfBySizeController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/SplitPdfBySizeController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/SplitPdfBySizeController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/SplitPdfBySizeController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/ToSinglePageController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/ToSinglePageController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/ToSinglePageController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/ToSinglePageController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertEmlToPDF.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertEmlToPDF.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertEmlToPDF.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertEmlToPDF.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertHtmlToPDF.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertHtmlToPDF.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertHtmlToPDF.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertHtmlToPDF.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertMarkdownToPdf.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertMarkdownToPdf.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertMarkdownToPdf.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertMarkdownToPdf.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertOfficeController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertOfficeController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertOfficeController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertOfficeController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToHtml.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToHtml.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToHtml.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToHtml.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToOffice.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToOffice.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToOffice.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToOffice.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToPDFA.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToPDFA.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToPDFA.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertPDFToPDFA.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ExtractCSVController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ExtractCSVController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/converters/ExtractCSVController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ExtractCSVController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/filters/FilterController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/filters/FilterController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/filters/FilterController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/filters/FilterController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/AttachmentController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/AttachmentController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/AttachmentController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/AttachmentController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/AutoRenameController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/AutoRenameController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/AutoRenameController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/AutoRenameController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/AutoSplitPdfController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/AutoSplitPdfController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/AutoSplitPdfController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/AutoSplitPdfController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/BlankPageController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/BlankPageController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/BlankPageController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/BlankPageController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/DecompressPdfController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/DecompressPdfController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/DecompressPdfController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/DecompressPdfController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImagesController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImagesController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImagesController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImagesController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/FakeScanController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/FakeScanController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/FakeScanController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/FakeScanController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/FlattenController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/FlattenController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/FlattenController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/FlattenController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/MetadataController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/MetadataController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/MetadataController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/MetadataController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/OCRController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/OCRController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/OCRController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/OCRController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/OverlayImageController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/OverlayImageController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/OverlayImageController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/OverlayImageController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/PageNumbersController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/PageNumbersController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/PageNumbersController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/PageNumbersController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/PrintFileController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/PrintFileController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/PrintFileController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/PrintFileController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/RepairController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/RepairController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/RepairController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/RepairController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/ReplaceAndInvertColorController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ReplaceAndInvertColorController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/ReplaceAndInvertColorController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ReplaceAndInvertColorController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/ShowJavascript.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ShowJavascript.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/ShowJavascript.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ShowJavascript.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/UnlockPDFFormsController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/UnlockPDFFormsController.java similarity index 98% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/UnlockPDFFormsController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/UnlockPDFFormsController.java index e7dfba041..21fd61d11 100644 --- a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/UnlockPDFFormsController.java +++ b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/UnlockPDFFormsController.java @@ -10,7 +10,6 @@ import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.common.PDStream; import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm; import org.apache.pdfbox.pdmodel.interactive.form.PDField; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; @@ -34,7 +33,6 @@ import stirling.software.common.util.WebResponseUtils; public class UnlockPDFFormsController { private final CustomPDFDocumentFactory pdfDocumentFactory; - @Autowired public UnlockPDFFormsController(CustomPDFDocumentFactory pdfDocumentFactory) { this.pdfDocumentFactory = pdfDocumentFactory; } diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineDirectoryProcessor.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineDirectoryProcessor.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineDirectoryProcessor.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineDirectoryProcessor.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessor.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessor.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessor.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessor.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/CertSignController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/security/CertSignController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/CertSignController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/security/CertSignController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/PasswordController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/security/PasswordController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/PasswordController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/security/PasswordController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/RedactController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/security/RedactController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/RedactController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/security/RedactController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/RemoveCertSignController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/security/RemoveCertSignController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/RemoveCertSignController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/security/RemoveCertSignController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/SanitizeController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/security/SanitizeController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/SanitizeController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/security/SanitizeController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/ValidateSignatureController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/security/ValidateSignatureController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/ValidateSignatureController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/security/ValidateSignatureController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/ConverterWebController.java b/app/core/src/main/java/stirling/software/SPDF/controller/web/ConverterWebController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/ConverterWebController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/web/ConverterWebController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java b/app/core/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java b/app/core/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java b/app/core/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java b/app/core/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/SecurityWebController.java b/app/core/src/main/java/stirling/software/SPDF/controller/web/SecurityWebController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/SecurityWebController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/web/SecurityWebController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/SignatureController.java b/app/core/src/main/java/stirling/software/SPDF/controller/web/SignatureController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/SignatureController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/web/SignatureController.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java b/app/core/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java rename to app/core/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/ApiEndpoint.java b/app/core/src/main/java/stirling/software/SPDF/model/ApiEndpoint.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/ApiEndpoint.java rename to app/core/src/main/java/stirling/software/SPDF/model/ApiEndpoint.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/Dependency.java b/app/core/src/main/java/stirling/software/SPDF/model/Dependency.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/Dependency.java rename to app/core/src/main/java/stirling/software/SPDF/model/Dependency.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/PDFText.java b/app/core/src/main/java/stirling/software/SPDF/model/PDFText.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/PDFText.java rename to app/core/src/main/java/stirling/software/SPDF/model/PDFText.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/PipelineConfig.java b/app/core/src/main/java/stirling/software/SPDF/model/PipelineConfig.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/PipelineConfig.java rename to app/core/src/main/java/stirling/software/SPDF/model/PipelineConfig.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/PipelineOperation.java b/app/core/src/main/java/stirling/software/SPDF/model/PipelineOperation.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/PipelineOperation.java rename to app/core/src/main/java/stirling/software/SPDF/model/PipelineOperation.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/PipelineResult.java b/app/core/src/main/java/stirling/software/SPDF/model/PipelineResult.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/PipelineResult.java rename to app/core/src/main/java/stirling/software/SPDF/model/PipelineResult.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/SignatureFile.java b/app/core/src/main/java/stirling/software/SPDF/model/SignatureFile.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/SignatureFile.java rename to app/core/src/main/java/stirling/software/SPDF/model/SignatureFile.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/SortTypes.java b/app/core/src/main/java/stirling/software/SPDF/model/SortTypes.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/SortTypes.java rename to app/core/src/main/java/stirling/software/SPDF/model/SortTypes.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/EditTableOfContentsRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/EditTableOfContentsRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/EditTableOfContentsRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/EditTableOfContentsRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/HandleDataRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/HandleDataRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/HandleDataRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/HandleDataRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/ImageFile.java b/app/core/src/main/java/stirling/software/SPDF/model/api/ImageFile.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/ImageFile.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/ImageFile.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/MultiplePDFFiles.java b/app/core/src/main/java/stirling/software/SPDF/model/api/MultiplePDFFiles.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/MultiplePDFFiles.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/MultiplePDFFiles.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/PDFComparison.java b/app/core/src/main/java/stirling/software/SPDF/model/api/PDFComparison.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/PDFComparison.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/PDFComparison.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/PDFComparisonAndCount.java b/app/core/src/main/java/stirling/software/SPDF/model/api/PDFComparisonAndCount.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/PDFComparisonAndCount.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/PDFComparisonAndCount.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/PDFExtractImagesRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/PDFExtractImagesRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/PDFExtractImagesRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/PDFExtractImagesRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/PDFWithImageFormatRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/PDFWithImageFormatRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/PDFWithImageFormatRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/PDFWithImageFormatRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/PDFWithPageNums.java b/app/core/src/main/java/stirling/software/SPDF/model/api/PDFWithPageNums.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/PDFWithPageNums.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/PDFWithPageNums.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/PDFWithPageSize.java b/app/core/src/main/java/stirling/software/SPDF/model/api/PDFWithPageSize.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/PDFWithPageSize.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/PDFWithPageSize.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/SplitPdfByChaptersRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/SplitPdfByChaptersRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/SplitPdfByChaptersRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/SplitPdfByChaptersRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/SplitPdfBySectionsRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/SplitPdfBySectionsRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/SplitPdfBySectionsRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/SplitPdfBySectionsRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/ConvertPDFToMarkdown.java b/app/core/src/main/java/stirling/software/SPDF/model/api/converters/ConvertPDFToMarkdown.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/ConvertPDFToMarkdown.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/converters/ConvertPDFToMarkdown.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/ConvertToImageRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/converters/ConvertToImageRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/ConvertToImageRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/converters/ConvertToImageRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/ConvertToPdfRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/converters/ConvertToPdfRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/ConvertToPdfRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/converters/ConvertToPdfRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/PdfToBookRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/converters/PdfToBookRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/PdfToBookRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/converters/PdfToBookRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/PdfToPdfARequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/converters/PdfToPdfARequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/PdfToPdfARequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/converters/PdfToPdfARequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/PdfToPresentationRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/converters/PdfToPresentationRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/PdfToPresentationRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/converters/PdfToPresentationRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/PdfToTextOrRTFRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/converters/PdfToTextOrRTFRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/PdfToTextOrRTFRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/converters/PdfToTextOrRTFRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/PdfToWordRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/converters/PdfToWordRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/PdfToWordRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/converters/PdfToWordRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/UrlToPdfRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/converters/UrlToPdfRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/converters/UrlToPdfRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/converters/UrlToPdfRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/filter/ContainsTextRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/filter/ContainsTextRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/filter/ContainsTextRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/filter/ContainsTextRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/filter/FileSizeRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/filter/FileSizeRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/filter/FileSizeRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/filter/FileSizeRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/filter/PageRotationRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/filter/PageRotationRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/filter/PageRotationRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/filter/PageRotationRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/filter/PageSizeRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/filter/PageSizeRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/filter/PageSizeRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/filter/PageSizeRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/CropPdfForm.java b/app/core/src/main/java/stirling/software/SPDF/model/api/general/CropPdfForm.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/CropPdfForm.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/general/CropPdfForm.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/MergeMultiplePagesRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/general/MergeMultiplePagesRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/MergeMultiplePagesRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/general/MergeMultiplePagesRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/MergePdfsRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/general/MergePdfsRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/MergePdfsRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/general/MergePdfsRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/OverlayPdfsRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/general/OverlayPdfsRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/OverlayPdfsRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/general/OverlayPdfsRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/RearrangePagesRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/general/RearrangePagesRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/RearrangePagesRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/general/RearrangePagesRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/RotatePDFRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/general/RotatePDFRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/RotatePDFRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/general/RotatePDFRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/ScalePagesRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/general/ScalePagesRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/ScalePagesRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/general/ScalePagesRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/SplitPdfBySizeOrCountRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/general/SplitPdfBySizeOrCountRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/general/SplitPdfBySizeOrCountRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/general/SplitPdfBySizeOrCountRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/AddAttachmentRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/AddAttachmentRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/AddAttachmentRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/AddAttachmentRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/AddPageNumbersRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/AddPageNumbersRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/AddPageNumbersRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/AddPageNumbersRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/AddStampRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/AddStampRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/AddStampRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/AddStampRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/AutoSplitPdfRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/AutoSplitPdfRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/AutoSplitPdfRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/AutoSplitPdfRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/ExtractHeaderRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/ExtractHeaderRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/ExtractHeaderRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/ExtractHeaderRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/ExtractImageScansRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/ExtractImageScansRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/ExtractImageScansRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/ExtractImageScansRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/FakeScanRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/FakeScanRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/FakeScanRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/FakeScanRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/FlattenRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/FlattenRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/FlattenRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/FlattenRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/MetadataRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/MetadataRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/MetadataRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/MetadataRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/OptimizePdfRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/OptimizePdfRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/OptimizePdfRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/OptimizePdfRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/OverlayImageRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/OverlayImageRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/OverlayImageRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/OverlayImageRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/PrintFileRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/PrintFileRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/PrintFileRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/PrintFileRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/ProcessPdfWithOcrRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/ProcessPdfWithOcrRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/ProcessPdfWithOcrRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/ProcessPdfWithOcrRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/RemoveBlankPagesRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/RemoveBlankPagesRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/RemoveBlankPagesRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/RemoveBlankPagesRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/ReplaceAndInvertColorRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/ReplaceAndInvertColorRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/misc/ReplaceAndInvertColorRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/ReplaceAndInvertColorRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/AddPasswordRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/security/AddPasswordRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/AddPasswordRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/security/AddPasswordRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/AddWatermarkRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/security/AddWatermarkRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/AddWatermarkRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/security/AddWatermarkRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/ManualRedactPdfRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/security/ManualRedactPdfRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/ManualRedactPdfRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/security/ManualRedactPdfRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/PDFPasswordRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/security/PDFPasswordRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/PDFPasswordRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/security/PDFPasswordRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/RedactPdfRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/security/RedactPdfRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/RedactPdfRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/security/RedactPdfRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/SanitizePdfRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/security/SanitizePdfRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/SanitizePdfRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/security/SanitizePdfRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/SignPDFWithCertRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/security/SignPDFWithCertRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/SignPDFWithCertRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/security/SignPDFWithCertRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/SignatureValidationRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/security/SignatureValidationRequest.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/SignatureValidationRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/security/SignatureValidationRequest.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/SignatureValidationResult.java b/app/core/src/main/java/stirling/software/SPDF/model/api/security/SignatureValidationResult.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/model/api/security/SignatureValidationResult.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/security/SignatureValidationResult.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/pdf/FlexibleCSVWriter.java b/app/core/src/main/java/stirling/software/SPDF/pdf/FlexibleCSVWriter.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/pdf/FlexibleCSVWriter.java rename to app/core/src/main/java/stirling/software/SPDF/pdf/FlexibleCSVWriter.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/pdf/TextFinder.java b/app/core/src/main/java/stirling/software/SPDF/pdf/TextFinder.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/pdf/TextFinder.java rename to app/core/src/main/java/stirling/software/SPDF/pdf/TextFinder.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/service/ApiDocService.java b/app/core/src/main/java/stirling/software/SPDF/service/ApiDocService.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/service/ApiDocService.java rename to app/core/src/main/java/stirling/software/SPDF/service/ApiDocService.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/service/AttachmentService.java b/app/core/src/main/java/stirling/software/SPDF/service/AttachmentService.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/service/AttachmentService.java rename to app/core/src/main/java/stirling/software/SPDF/service/AttachmentService.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/service/AttachmentServiceInterface.java b/app/core/src/main/java/stirling/software/SPDF/service/AttachmentServiceInterface.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/service/AttachmentServiceInterface.java rename to app/core/src/main/java/stirling/software/SPDF/service/AttachmentServiceInterface.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/service/CertificateValidationService.java b/app/core/src/main/java/stirling/software/SPDF/service/CertificateValidationService.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/service/CertificateValidationService.java rename to app/core/src/main/java/stirling/software/SPDF/service/CertificateValidationService.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/service/LanguageService.java b/app/core/src/main/java/stirling/software/SPDF/service/LanguageService.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/service/LanguageService.java rename to app/core/src/main/java/stirling/software/SPDF/service/LanguageService.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/service/MetricsAggregatorService.java b/app/core/src/main/java/stirling/software/SPDF/service/MetricsAggregatorService.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/service/MetricsAggregatorService.java rename to app/core/src/main/java/stirling/software/SPDF/service/MetricsAggregatorService.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/service/PdfImageRemovalService.java b/app/core/src/main/java/stirling/software/SPDF/service/PdfImageRemovalService.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/service/PdfImageRemovalService.java rename to app/core/src/main/java/stirling/software/SPDF/service/PdfImageRemovalService.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/service/SignatureService.java b/app/core/src/main/java/stirling/software/SPDF/service/SignatureService.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/service/SignatureService.java rename to app/core/src/main/java/stirling/software/SPDF/service/SignatureService.java diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/service/misc/ReplaceAndInvertColorService.java b/app/core/src/main/java/stirling/software/SPDF/service/misc/ReplaceAndInvertColorService.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/SPDF/service/misc/ReplaceAndInvertColorService.java rename to app/core/src/main/java/stirling/software/SPDF/service/misc/ReplaceAndInvertColorService.java diff --git a/stirling-pdf/src/main/java/stirling/software/common/controller/JobController.java b/app/core/src/main/java/stirling/software/common/controller/JobController.java similarity index 100% rename from stirling-pdf/src/main/java/stirling/software/common/controller/JobController.java rename to app/core/src/main/java/stirling/software/common/controller/JobController.java diff --git a/stirling-pdf/src/main/resources/application.properties b/app/core/src/main/resources/application.properties similarity index 100% rename from stirling-pdf/src/main/resources/application.properties rename to app/core/src/main/resources/application.properties diff --git a/stirling-pdf/src/main/resources/banner.txt b/app/core/src/main/resources/banner.txt similarity index 100% rename from stirling-pdf/src/main/resources/banner.txt rename to app/core/src/main/resources/banner.txt diff --git a/stirling-pdf/src/main/resources/certdata.txt b/app/core/src/main/resources/certdata.txt similarity index 100% rename from stirling-pdf/src/main/resources/certdata.txt rename to app/core/src/main/resources/certdata.txt diff --git a/stirling-pdf/src/main/resources/icc/sRGB2014.icc b/app/core/src/main/resources/icc/sRGB2014.icc similarity index 100% rename from stirling-pdf/src/main/resources/icc/sRGB2014.icc rename to app/core/src/main/resources/icc/sRGB2014.icc diff --git a/stirling-pdf/src/main/resources/logback.xml b/app/core/src/main/resources/logback.xml similarity index 100% rename from stirling-pdf/src/main/resources/logback.xml rename to app/core/src/main/resources/logback.xml diff --git a/stirling-pdf/src/main/resources/messages.properties b/app/core/src/main/resources/messages.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages.properties rename to app/core/src/main/resources/messages.properties diff --git a/stirling-pdf/src/main/resources/messages_ar_AR.properties b/app/core/src/main/resources/messages_ar_AR.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_ar_AR.properties rename to app/core/src/main/resources/messages_ar_AR.properties diff --git a/stirling-pdf/src/main/resources/messages_az_AZ.properties b/app/core/src/main/resources/messages_az_AZ.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_az_AZ.properties rename to app/core/src/main/resources/messages_az_AZ.properties diff --git a/stirling-pdf/src/main/resources/messages_bg_BG.properties b/app/core/src/main/resources/messages_bg_BG.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_bg_BG.properties rename to app/core/src/main/resources/messages_bg_BG.properties diff --git a/stirling-pdf/src/main/resources/messages_bo_CN.properties b/app/core/src/main/resources/messages_bo_CN.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_bo_CN.properties rename to app/core/src/main/resources/messages_bo_CN.properties diff --git a/stirling-pdf/src/main/resources/messages_ca_CA.properties b/app/core/src/main/resources/messages_ca_CA.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_ca_CA.properties rename to app/core/src/main/resources/messages_ca_CA.properties diff --git a/stirling-pdf/src/main/resources/messages_cs_CZ.properties b/app/core/src/main/resources/messages_cs_CZ.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_cs_CZ.properties rename to app/core/src/main/resources/messages_cs_CZ.properties diff --git a/stirling-pdf/src/main/resources/messages_da_DK.properties b/app/core/src/main/resources/messages_da_DK.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_da_DK.properties rename to app/core/src/main/resources/messages_da_DK.properties diff --git a/stirling-pdf/src/main/resources/messages_de_DE.properties b/app/core/src/main/resources/messages_de_DE.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_de_DE.properties rename to app/core/src/main/resources/messages_de_DE.properties diff --git a/stirling-pdf/src/main/resources/messages_el_GR.properties b/app/core/src/main/resources/messages_el_GR.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_el_GR.properties rename to app/core/src/main/resources/messages_el_GR.properties diff --git a/stirling-pdf/src/main/resources/messages_en_GB.properties b/app/core/src/main/resources/messages_en_GB.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_en_GB.properties rename to app/core/src/main/resources/messages_en_GB.properties diff --git a/stirling-pdf/src/main/resources/messages_en_US.properties b/app/core/src/main/resources/messages_en_US.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_en_US.properties rename to app/core/src/main/resources/messages_en_US.properties diff --git a/stirling-pdf/src/main/resources/messages_es_ES.properties b/app/core/src/main/resources/messages_es_ES.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_es_ES.properties rename to app/core/src/main/resources/messages_es_ES.properties diff --git a/stirling-pdf/src/main/resources/messages_eu_ES.properties b/app/core/src/main/resources/messages_eu_ES.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_eu_ES.properties rename to app/core/src/main/resources/messages_eu_ES.properties diff --git a/stirling-pdf/src/main/resources/messages_fa_IR.properties b/app/core/src/main/resources/messages_fa_IR.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_fa_IR.properties rename to app/core/src/main/resources/messages_fa_IR.properties diff --git a/stirling-pdf/src/main/resources/messages_fr_FR.properties b/app/core/src/main/resources/messages_fr_FR.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_fr_FR.properties rename to app/core/src/main/resources/messages_fr_FR.properties diff --git a/stirling-pdf/src/main/resources/messages_ga_IE.properties b/app/core/src/main/resources/messages_ga_IE.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_ga_IE.properties rename to app/core/src/main/resources/messages_ga_IE.properties diff --git a/stirling-pdf/src/main/resources/messages_hi_IN.properties b/app/core/src/main/resources/messages_hi_IN.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_hi_IN.properties rename to app/core/src/main/resources/messages_hi_IN.properties diff --git a/stirling-pdf/src/main/resources/messages_hr_HR.properties b/app/core/src/main/resources/messages_hr_HR.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_hr_HR.properties rename to app/core/src/main/resources/messages_hr_HR.properties diff --git a/stirling-pdf/src/main/resources/messages_hu_HU.properties b/app/core/src/main/resources/messages_hu_HU.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_hu_HU.properties rename to app/core/src/main/resources/messages_hu_HU.properties diff --git a/stirling-pdf/src/main/resources/messages_id_ID.properties b/app/core/src/main/resources/messages_id_ID.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_id_ID.properties rename to app/core/src/main/resources/messages_id_ID.properties diff --git a/stirling-pdf/src/main/resources/messages_it_IT.properties b/app/core/src/main/resources/messages_it_IT.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_it_IT.properties rename to app/core/src/main/resources/messages_it_IT.properties diff --git a/stirling-pdf/src/main/resources/messages_ja_JP.properties b/app/core/src/main/resources/messages_ja_JP.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_ja_JP.properties rename to app/core/src/main/resources/messages_ja_JP.properties diff --git a/stirling-pdf/src/main/resources/messages_ko_KR.properties b/app/core/src/main/resources/messages_ko_KR.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_ko_KR.properties rename to app/core/src/main/resources/messages_ko_KR.properties diff --git a/stirling-pdf/src/main/resources/messages_ml_IN.properties b/app/core/src/main/resources/messages_ml_IN.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_ml_IN.properties rename to app/core/src/main/resources/messages_ml_IN.properties diff --git a/stirling-pdf/src/main/resources/messages_nl_NL.properties b/app/core/src/main/resources/messages_nl_NL.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_nl_NL.properties rename to app/core/src/main/resources/messages_nl_NL.properties diff --git a/stirling-pdf/src/main/resources/messages_no_NB.properties b/app/core/src/main/resources/messages_no_NB.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_no_NB.properties rename to app/core/src/main/resources/messages_no_NB.properties diff --git a/stirling-pdf/src/main/resources/messages_pl_PL.properties b/app/core/src/main/resources/messages_pl_PL.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_pl_PL.properties rename to app/core/src/main/resources/messages_pl_PL.properties diff --git a/stirling-pdf/src/main/resources/messages_pt_BR.properties b/app/core/src/main/resources/messages_pt_BR.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_pt_BR.properties rename to app/core/src/main/resources/messages_pt_BR.properties diff --git a/stirling-pdf/src/main/resources/messages_pt_PT.properties b/app/core/src/main/resources/messages_pt_PT.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_pt_PT.properties rename to app/core/src/main/resources/messages_pt_PT.properties diff --git a/stirling-pdf/src/main/resources/messages_ro_RO.properties b/app/core/src/main/resources/messages_ro_RO.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_ro_RO.properties rename to app/core/src/main/resources/messages_ro_RO.properties diff --git a/stirling-pdf/src/main/resources/messages_ru_RU.properties b/app/core/src/main/resources/messages_ru_RU.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_ru_RU.properties rename to app/core/src/main/resources/messages_ru_RU.properties diff --git a/stirling-pdf/src/main/resources/messages_sk_SK.properties b/app/core/src/main/resources/messages_sk_SK.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_sk_SK.properties rename to app/core/src/main/resources/messages_sk_SK.properties diff --git a/stirling-pdf/src/main/resources/messages_sl_SI.properties b/app/core/src/main/resources/messages_sl_SI.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_sl_SI.properties rename to app/core/src/main/resources/messages_sl_SI.properties diff --git a/stirling-pdf/src/main/resources/messages_sr_LATN_RS.properties b/app/core/src/main/resources/messages_sr_LATN_RS.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_sr_LATN_RS.properties rename to app/core/src/main/resources/messages_sr_LATN_RS.properties diff --git a/stirling-pdf/src/main/resources/messages_sv_SE.properties b/app/core/src/main/resources/messages_sv_SE.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_sv_SE.properties rename to app/core/src/main/resources/messages_sv_SE.properties diff --git a/stirling-pdf/src/main/resources/messages_th_TH.properties b/app/core/src/main/resources/messages_th_TH.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_th_TH.properties rename to app/core/src/main/resources/messages_th_TH.properties diff --git a/stirling-pdf/src/main/resources/messages_tr_TR.properties b/app/core/src/main/resources/messages_tr_TR.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_tr_TR.properties rename to app/core/src/main/resources/messages_tr_TR.properties diff --git a/stirling-pdf/src/main/resources/messages_uk_UA.properties b/app/core/src/main/resources/messages_uk_UA.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_uk_UA.properties rename to app/core/src/main/resources/messages_uk_UA.properties diff --git a/stirling-pdf/src/main/resources/messages_vi_VN.properties b/app/core/src/main/resources/messages_vi_VN.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_vi_VN.properties rename to app/core/src/main/resources/messages_vi_VN.properties diff --git a/stirling-pdf/src/main/resources/messages_zh_CN.properties b/app/core/src/main/resources/messages_zh_CN.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_zh_CN.properties rename to app/core/src/main/resources/messages_zh_CN.properties diff --git a/stirling-pdf/src/main/resources/messages_zh_TW.properties b/app/core/src/main/resources/messages_zh_TW.properties similarity index 100% rename from stirling-pdf/src/main/resources/messages_zh_TW.properties rename to app/core/src/main/resources/messages_zh_TW.properties diff --git a/stirling-pdf/src/main/resources/settings.yml.template b/app/core/src/main/resources/settings.yml.template similarity index 97% rename from stirling-pdf/src/main/resources/settings.yml.template rename to app/core/src/main/resources/settings.yml.template index 96701af3b..a26f256f7 100644 --- a/stirling-pdf/src/main/resources/settings.yml.template +++ b/app/core/src/main/resources/settings.yml.template @@ -119,15 +119,15 @@ system: name: postgres # set the name of your database. Should match the name of the database you create customPaths: pipeline: - watchedFoldersDir: '' #Defaults to /pipeline/watchedFolders - finishedFoldersDir: '' #Defaults to /pipeline/finishedFolders + watchedFoldersDir: '' # Defaults to /pipeline/watchedFolders + finishedFoldersDir: '' # Defaults to /pipeline/finishedFolders operations: - weasyprint: '' #Defaults to /opt/venv/bin/weasyprint - unoconvert: '' #Defaults to /opt/venv/bin/unoconvert + weasyprint: '' # Defaults to /opt/venv/bin/weasyprint + unoconvert: '' # Defaults to /opt/venv/bin/unoconvert fileUploadLimit: '' # Defaults to "". No limit when string is empty. Set a number, between 0 and 999, followed by one of the following strings to set a limit. "KB", "MB", "GB". tempFileManagement: baseTmpDir: '' # Defaults to java.io.tmpdir/stirling-pdf - libreofficeDir: '' # Defaults to tempFileManagement.baseTmpDir/libreoffice + libreofficeDir: '' # Defaults to tempFileManagement.baseTmpDir/libreoffice systemTempDir: '' # Only used if cleanupSystemTemp is true prefix: stirling-pdf- # Prefix for temp file names maxAgeHours: 24 # Maximum age in hours before temp files are cleaned up diff --git a/stirling-pdf/src/main/resources/static/3rdPartyLicenses.json b/app/core/src/main/resources/static/3rdPartyLicenses.json similarity index 100% rename from stirling-pdf/src/main/resources/static/3rdPartyLicenses.json rename to app/core/src/main/resources/static/3rdPartyLicenses.json diff --git a/stirling-pdf/src/main/resources/static/android-chrome-192x192.png b/app/core/src/main/resources/static/android-chrome-192x192.png similarity index 100% rename from stirling-pdf/src/main/resources/static/android-chrome-192x192.png rename to app/core/src/main/resources/static/android-chrome-192x192.png diff --git a/stirling-pdf/src/main/resources/static/android-chrome-512x512.png b/app/core/src/main/resources/static/android-chrome-512x512.png similarity index 100% rename from stirling-pdf/src/main/resources/static/android-chrome-512x512.png rename to app/core/src/main/resources/static/android-chrome-512x512.png diff --git a/stirling-pdf/src/main/resources/static/apple-touch-icon.png b/app/core/src/main/resources/static/apple-touch-icon.png similarity index 100% rename from stirling-pdf/src/main/resources/static/apple-touch-icon.png rename to app/core/src/main/resources/static/apple-touch-icon.png diff --git a/stirling-pdf/src/main/resources/static/browserconfig.xml b/app/core/src/main/resources/static/browserconfig.xml similarity index 100% rename from stirling-pdf/src/main/resources/static/browserconfig.xml rename to app/core/src/main/resources/static/browserconfig.xml diff --git a/stirling-pdf/src/main/resources/static/css/account.css b/app/core/src/main/resources/static/css/account.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/account.css rename to app/core/src/main/resources/static/css/account.css diff --git a/stirling-pdf/src/main/resources/static/css/add-image.css b/app/core/src/main/resources/static/css/add-image.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/add-image.css rename to app/core/src/main/resources/static/css/add-image.css diff --git a/stirling-pdf/src/main/resources/static/css/bootstrap-icons.css b/app/core/src/main/resources/static/css/bootstrap-icons.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/bootstrap-icons.css rename to app/core/src/main/resources/static/css/bootstrap-icons.css diff --git a/stirling-pdf/src/main/resources/static/css/bootstrap-icons.min.css b/app/core/src/main/resources/static/css/bootstrap-icons.min.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/bootstrap-icons.min.css rename to app/core/src/main/resources/static/css/bootstrap-icons.min.css diff --git a/stirling-pdf/src/main/resources/static/css/bootstrap.min.css b/app/core/src/main/resources/static/css/bootstrap.min.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/bootstrap.min.css rename to app/core/src/main/resources/static/css/bootstrap.min.css diff --git a/stirling-pdf/src/main/resources/static/css/bootstrap.min.css.map b/app/core/src/main/resources/static/css/bootstrap.min.css.map similarity index 100% rename from stirling-pdf/src/main/resources/static/css/bootstrap.min.css.map rename to app/core/src/main/resources/static/css/bootstrap.min.css.map diff --git a/stirling-pdf/src/main/resources/static/css/cookieconsent.css b/app/core/src/main/resources/static/css/cookieconsent.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/cookieconsent.css rename to app/core/src/main/resources/static/css/cookieconsent.css diff --git a/stirling-pdf/src/main/resources/static/css/cookieconsentCustomisation.css b/app/core/src/main/resources/static/css/cookieconsentCustomisation.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/cookieconsentCustomisation.css rename to app/core/src/main/resources/static/css/cookieconsentCustomisation.css diff --git a/stirling-pdf/src/main/resources/static/css/dragdrop.css b/app/core/src/main/resources/static/css/dragdrop.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/dragdrop.css rename to app/core/src/main/resources/static/css/dragdrop.css diff --git a/stirling-pdf/src/main/resources/static/css/edit-table-of-contents.css b/app/core/src/main/resources/static/css/edit-table-of-contents.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/edit-table-of-contents.css rename to app/core/src/main/resources/static/css/edit-table-of-contents.css diff --git a/stirling-pdf/src/main/resources/static/css/error.css b/app/core/src/main/resources/static/css/error.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/error.css rename to app/core/src/main/resources/static/css/error.css diff --git a/stirling-pdf/src/main/resources/static/css/errorBanner.css b/app/core/src/main/resources/static/css/errorBanner.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/errorBanner.css rename to app/core/src/main/resources/static/css/errorBanner.css diff --git a/stirling-pdf/src/main/resources/static/css/fileSelect.css b/app/core/src/main/resources/static/css/fileSelect.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/fileSelect.css rename to app/core/src/main/resources/static/css/fileSelect.css diff --git a/stirling-pdf/src/main/resources/static/css/fonts/bootstrap-icons.woff b/app/core/src/main/resources/static/css/fonts/bootstrap-icons.woff similarity index 100% rename from stirling-pdf/src/main/resources/static/css/fonts/bootstrap-icons.woff rename to app/core/src/main/resources/static/css/fonts/bootstrap-icons.woff diff --git a/stirling-pdf/src/main/resources/static/css/fonts/bootstrap-icons.woff2 b/app/core/src/main/resources/static/css/fonts/bootstrap-icons.woff2 similarity index 100% rename from stirling-pdf/src/main/resources/static/css/fonts/bootstrap-icons.woff2 rename to app/core/src/main/resources/static/css/fonts/bootstrap-icons.woff2 diff --git a/stirling-pdf/src/main/resources/static/css/footer.css b/app/core/src/main/resources/static/css/footer.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/footer.css rename to app/core/src/main/resources/static/css/footer.css diff --git a/stirling-pdf/src/main/resources/static/css/game.css b/app/core/src/main/resources/static/css/game.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/game.css rename to app/core/src/main/resources/static/css/game.css diff --git a/stirling-pdf/src/main/resources/static/css/general.css b/app/core/src/main/resources/static/css/general.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/general.css rename to app/core/src/main/resources/static/css/general.css diff --git a/stirling-pdf/src/main/resources/static/css/home-legacy.css b/app/core/src/main/resources/static/css/home-legacy.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/home-legacy.css rename to app/core/src/main/resources/static/css/home-legacy.css diff --git a/stirling-pdf/src/main/resources/static/css/home.css b/app/core/src/main/resources/static/css/home.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/home.css rename to app/core/src/main/resources/static/css/home.css diff --git a/stirling-pdf/src/main/resources/static/css/imageHighlighter.css b/app/core/src/main/resources/static/css/imageHighlighter.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/imageHighlighter.css rename to app/core/src/main/resources/static/css/imageHighlighter.css diff --git a/stirling-pdf/src/main/resources/static/css/licenses.css b/app/core/src/main/resources/static/css/licenses.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/licenses.css rename to app/core/src/main/resources/static/css/licenses.css diff --git a/stirling-pdf/src/main/resources/static/css/login.css b/app/core/src/main/resources/static/css/login.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/login.css rename to app/core/src/main/resources/static/css/login.css diff --git a/stirling-pdf/src/main/resources/static/css/merge.css b/app/core/src/main/resources/static/css/merge.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/merge.css rename to app/core/src/main/resources/static/css/merge.css diff --git a/stirling-pdf/src/main/resources/static/css/multi-tool.css b/app/core/src/main/resources/static/css/multi-tool.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/multi-tool.css rename to app/core/src/main/resources/static/css/multi-tool.css diff --git a/stirling-pdf/src/main/resources/static/css/navbar.css b/app/core/src/main/resources/static/css/navbar.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/navbar.css rename to app/core/src/main/resources/static/css/navbar.css diff --git a/stirling-pdf/src/main/resources/static/css/pdfActions.css b/app/core/src/main/resources/static/css/pdfActions.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/pdfActions.css rename to app/core/src/main/resources/static/css/pdfActions.css diff --git a/stirling-pdf/src/main/resources/static/css/pipeline.css b/app/core/src/main/resources/static/css/pipeline.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/pipeline.css rename to app/core/src/main/resources/static/css/pipeline.css diff --git a/stirling-pdf/src/main/resources/static/css/prism.css b/app/core/src/main/resources/static/css/prism.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/prism.css rename to app/core/src/main/resources/static/css/prism.css diff --git a/stirling-pdf/src/main/resources/static/css/rainbow-mode.css b/app/core/src/main/resources/static/css/rainbow-mode.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/rainbow-mode.css rename to app/core/src/main/resources/static/css/rainbow-mode.css diff --git a/stirling-pdf/src/main/resources/static/css/redact.css b/app/core/src/main/resources/static/css/redact.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/redact.css rename to app/core/src/main/resources/static/css/redact.css diff --git a/stirling-pdf/src/main/resources/static/css/removeImage.css b/app/core/src/main/resources/static/css/removeImage.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/removeImage.css rename to app/core/src/main/resources/static/css/removeImage.css diff --git a/stirling-pdf/src/main/resources/static/css/rotate-pdf.css b/app/core/src/main/resources/static/css/rotate-pdf.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/rotate-pdf.css rename to app/core/src/main/resources/static/css/rotate-pdf.css diff --git a/stirling-pdf/src/main/resources/static/css/sign.css b/app/core/src/main/resources/static/css/sign.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/sign.css rename to app/core/src/main/resources/static/css/sign.css diff --git a/stirling-pdf/src/main/resources/static/css/split-pdf-by-sections.css b/app/core/src/main/resources/static/css/split-pdf-by-sections.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/split-pdf-by-sections.css rename to app/core/src/main/resources/static/css/split-pdf-by-sections.css diff --git a/stirling-pdf/src/main/resources/static/css/stamp.css b/app/core/src/main/resources/static/css/stamp.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/stamp.css rename to app/core/src/main/resources/static/css/stamp.css diff --git a/stirling-pdf/src/main/resources/static/css/tab-container.css b/app/core/src/main/resources/static/css/tab-container.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/tab-container.css rename to app/core/src/main/resources/static/css/tab-container.css diff --git a/stirling-pdf/src/main/resources/static/css/theme/componentes.css b/app/core/src/main/resources/static/css/theme/componentes.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/theme/componentes.css rename to app/core/src/main/resources/static/css/theme/componentes.css diff --git a/stirling-pdf/src/main/resources/static/css/theme/font.css b/app/core/src/main/resources/static/css/theme/font.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/theme/font.css rename to app/core/src/main/resources/static/css/theme/font.css diff --git a/stirling-pdf/src/main/resources/static/css/theme/theme.css b/app/core/src/main/resources/static/css/theme/theme.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/theme/theme.css rename to app/core/src/main/resources/static/css/theme/theme.css diff --git a/stirling-pdf/src/main/resources/static/css/theme/theme.dark.css b/app/core/src/main/resources/static/css/theme/theme.dark.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/theme/theme.dark.css rename to app/core/src/main/resources/static/css/theme/theme.dark.css diff --git a/stirling-pdf/src/main/resources/static/css/theme/theme.light.css b/app/core/src/main/resources/static/css/theme/theme.light.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/theme/theme.light.css rename to app/core/src/main/resources/static/css/theme/theme.light.css diff --git a/stirling-pdf/src/main/resources/static/css/usage.css b/app/core/src/main/resources/static/css/usage.css similarity index 100% rename from stirling-pdf/src/main/resources/static/css/usage.css rename to app/core/src/main/resources/static/css/usage.css diff --git a/stirling-pdf/src/main/resources/static/favicon-16x16.png b/app/core/src/main/resources/static/favicon-16x16.png similarity index 100% rename from stirling-pdf/src/main/resources/static/favicon-16x16.png rename to app/core/src/main/resources/static/favicon-16x16.png diff --git a/stirling-pdf/src/main/resources/static/favicon-32x32.png b/app/core/src/main/resources/static/favicon-32x32.png similarity index 100% rename from stirling-pdf/src/main/resources/static/favicon-32x32.png rename to app/core/src/main/resources/static/favicon-32x32.png diff --git a/stirling-pdf/src/main/resources/static/favicon.icns b/app/core/src/main/resources/static/favicon.icns similarity index 100% rename from stirling-pdf/src/main/resources/static/favicon.icns rename to app/core/src/main/resources/static/favicon.icns diff --git a/stirling-pdf/src/main/resources/static/favicon.ico b/app/core/src/main/resources/static/favicon.ico similarity index 100% rename from stirling-pdf/src/main/resources/static/favicon.ico rename to app/core/src/main/resources/static/favicon.ico diff --git a/stirling-pdf/src/main/resources/static/favicon.png b/app/core/src/main/resources/static/favicon.png similarity index 100% rename from stirling-pdf/src/main/resources/static/favicon.png rename to app/core/src/main/resources/static/favicon.png diff --git a/stirling-pdf/src/main/resources/static/favicon.svg b/app/core/src/main/resources/static/favicon.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/favicon.svg rename to app/core/src/main/resources/static/favicon.svg diff --git a/stirling-pdf/src/main/resources/static/files/Auto Splitter Divider (with instructions).pdf b/app/core/src/main/resources/static/files/Auto Splitter Divider (with instructions).pdf similarity index 100% rename from stirling-pdf/src/main/resources/static/files/Auto Splitter Divider (with instructions).pdf rename to app/core/src/main/resources/static/files/Auto Splitter Divider (with instructions).pdf diff --git a/stirling-pdf/src/main/resources/static/files/popularity.txt b/app/core/src/main/resources/static/files/popularity.txt similarity index 100% rename from stirling-pdf/src/main/resources/static/files/popularity.txt rename to app/core/src/main/resources/static/files/popularity.txt diff --git a/stirling-pdf/src/main/resources/static/fonts/Arimo-Regular.woff2 b/app/core/src/main/resources/static/fonts/Arimo-Regular.woff2 similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/Arimo-Regular.woff2 rename to app/core/src/main/resources/static/fonts/Arimo-Regular.woff2 diff --git a/stirling-pdf/src/main/resources/static/fonts/DancingScript-Regular.woff2 b/app/core/src/main/resources/static/fonts/DancingScript-Regular.woff2 similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/DancingScript-Regular.woff2 rename to app/core/src/main/resources/static/fonts/DancingScript-Regular.woff2 diff --git a/stirling-pdf/src/main/resources/static/fonts/Estonia.woff2 b/app/core/src/main/resources/static/fonts/Estonia.woff2 similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/Estonia.woff2 rename to app/core/src/main/resources/static/fonts/Estonia.woff2 diff --git a/stirling-pdf/src/main/resources/static/fonts/IndieFlower-Regular.woff2 b/app/core/src/main/resources/static/fonts/IndieFlower-Regular.woff2 similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/IndieFlower-Regular.woff2 rename to app/core/src/main/resources/static/fonts/IndieFlower-Regular.woff2 diff --git a/stirling-pdf/src/main/resources/static/fonts/Meiryo.ttf b/app/core/src/main/resources/static/fonts/Meiryo.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/Meiryo.ttf rename to app/core/src/main/resources/static/fonts/Meiryo.ttf diff --git a/stirling-pdf/src/main/resources/static/fonts/NotoSans-Regular.ttf b/app/core/src/main/resources/static/fonts/NotoSans-Regular.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/NotoSans-Regular.ttf rename to app/core/src/main/resources/static/fonts/NotoSans-Regular.ttf diff --git a/stirling-pdf/src/main/resources/static/fonts/NotoSansArabic-Regular.ttf b/app/core/src/main/resources/static/fonts/NotoSansArabic-Regular.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/NotoSansArabic-Regular.ttf rename to app/core/src/main/resources/static/fonts/NotoSansArabic-Regular.ttf diff --git a/stirling-pdf/src/main/resources/static/fonts/NotoSansJP-Regular.ttf b/app/core/src/main/resources/static/fonts/NotoSansJP-Regular.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/NotoSansJP-Regular.ttf rename to app/core/src/main/resources/static/fonts/NotoSansJP-Regular.ttf diff --git a/stirling-pdf/src/main/resources/static/fonts/NotoSansSC-Regular.ttf b/app/core/src/main/resources/static/fonts/NotoSansSC-Regular.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/NotoSansSC-Regular.ttf rename to app/core/src/main/resources/static/fonts/NotoSansSC-Regular.ttf diff --git a/stirling-pdf/src/main/resources/static/fonts/NotoSansThai-Regular.ttf b/app/core/src/main/resources/static/fonts/NotoSansThai-Regular.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/NotoSansThai-Regular.ttf rename to app/core/src/main/resources/static/fonts/NotoSansThai-Regular.ttf diff --git a/stirling-pdf/src/main/resources/static/fonts/SimSun.ttf b/app/core/src/main/resources/static/fonts/SimSun.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/SimSun.ttf rename to app/core/src/main/resources/static/fonts/SimSun.ttf diff --git a/stirling-pdf/src/main/resources/static/fonts/Tangerine.woff2 b/app/core/src/main/resources/static/fonts/Tangerine.woff2 similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/Tangerine.woff2 rename to app/core/src/main/resources/static/fonts/Tangerine.woff2 diff --git a/stirling-pdf/src/main/resources/static/fonts/Tinos-Regular.woff2 b/app/core/src/main/resources/static/fonts/Tinos-Regular.woff2 similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/Tinos-Regular.woff2 rename to app/core/src/main/resources/static/fonts/Tinos-Regular.woff2 diff --git a/stirling-pdf/src/main/resources/static/fonts/google-symbol.woff2 b/app/core/src/main/resources/static/fonts/google-symbol.woff2 similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/google-symbol.woff2 rename to app/core/src/main/resources/static/fonts/google-symbol.woff2 diff --git a/stirling-pdf/src/main/resources/static/fonts/malgun.ttf b/app/core/src/main/resources/static/fonts/malgun.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/malgun.ttf rename to app/core/src/main/resources/static/fonts/malgun.ttf diff --git a/stirling-pdf/src/main/resources/static/fonts/static/NotoSansArabic-Regular.ttf b/app/core/src/main/resources/static/fonts/static/NotoSansArabic-Regular.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/static/NotoSansArabic-Regular.ttf rename to app/core/src/main/resources/static/fonts/static/NotoSansArabic-Regular.ttf diff --git a/stirling-pdf/src/main/resources/static/fonts/static/NotoSansJP-Regular.ttf b/app/core/src/main/resources/static/fonts/static/NotoSansJP-Regular.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/fonts/static/NotoSansJP-Regular.ttf rename to app/core/src/main/resources/static/fonts/static/NotoSansJP-Regular.ttf diff --git a/stirling-pdf/src/main/resources/static/images/Files.svg b/app/core/src/main/resources/static/images/Files.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/Files.svg rename to app/core/src/main/resources/static/images/Files.svg diff --git a/stirling-pdf/src/main/resources/static/images/arrow-right-short.svg b/app/core/src/main/resources/static/images/arrow-right-short.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/arrow-right-short.svg rename to app/core/src/main/resources/static/images/arrow-right-short.svg diff --git a/stirling-pdf/src/main/resources/static/images/book.svg b/app/core/src/main/resources/static/images/book.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/book.svg rename to app/core/src/main/resources/static/images/book.svg diff --git a/stirling-pdf/src/main/resources/static/images/clipboard.svg b/app/core/src/main/resources/static/images/clipboard.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/clipboard.svg rename to app/core/src/main/resources/static/images/clipboard.svg diff --git a/stirling-pdf/src/main/resources/static/images/discord.svg b/app/core/src/main/resources/static/images/discord.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/discord.svg rename to app/core/src/main/resources/static/images/discord.svg diff --git a/stirling-pdf/src/main/resources/static/images/docker.svg b/app/core/src/main/resources/static/images/docker.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/docker.svg rename to app/core/src/main/resources/static/images/docker.svg diff --git a/stirling-pdf/src/main/resources/static/images/file-earmark-pdf.svg b/app/core/src/main/resources/static/images/file-earmark-pdf.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/file-earmark-pdf.svg rename to app/core/src/main/resources/static/images/file-earmark-pdf.svg diff --git a/stirling-pdf/src/main/resources/static/images/github.svg b/app/core/src/main/resources/static/images/github.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/github.svg rename to app/core/src/main/resources/static/images/github.svg diff --git a/stirling-pdf/src/main/resources/static/images/google-drive.svg b/app/core/src/main/resources/static/images/google-drive.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/google-drive.svg rename to app/core/src/main/resources/static/images/google-drive.svg diff --git a/stirling-pdf/src/main/resources/static/images/redact-auto.svg b/app/core/src/main/resources/static/images/redact-auto.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/redact-auto.svg rename to app/core/src/main/resources/static/images/redact-auto.svg diff --git a/stirling-pdf/src/main/resources/static/images/redact-manual.svg b/app/core/src/main/resources/static/images/redact-manual.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/redact-manual.svg rename to app/core/src/main/resources/static/images/redact-manual.svg diff --git a/stirling-pdf/src/main/resources/static/images/rename.svg b/app/core/src/main/resources/static/images/rename.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/rename.svg rename to app/core/src/main/resources/static/images/rename.svg diff --git a/stirling-pdf/src/main/resources/static/images/signature.png b/app/core/src/main/resources/static/images/signature.png similarity index 100% rename from stirling-pdf/src/main/resources/static/images/signature.png rename to app/core/src/main/resources/static/images/signature.png diff --git a/stirling-pdf/src/main/resources/static/images/split-auto.svg b/app/core/src/main/resources/static/images/split-auto.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/split-auto.svg rename to app/core/src/main/resources/static/images/split-auto.svg diff --git a/stirling-pdf/src/main/resources/static/images/split-chapters.svg b/app/core/src/main/resources/static/images/split-chapters.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/split-chapters.svg rename to app/core/src/main/resources/static/images/split-chapters.svg diff --git a/stirling-pdf/src/main/resources/static/images/split-size.svg b/app/core/src/main/resources/static/images/split-size.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/split-size.svg rename to app/core/src/main/resources/static/images/split-size.svg diff --git a/stirling-pdf/src/main/resources/static/images/update.svg b/app/core/src/main/resources/static/images/update.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/images/update.svg rename to app/core/src/main/resources/static/images/update.svg diff --git a/stirling-pdf/src/main/resources/static/js/DecryptFiles.js b/app/core/src/main/resources/static/js/DecryptFiles.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/DecryptFiles.js rename to app/core/src/main/resources/static/js/DecryptFiles.js diff --git a/stirling-pdf/src/main/resources/static/js/cacheFormInputs.js b/app/core/src/main/resources/static/js/cacheFormInputs.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/cacheFormInputs.js rename to app/core/src/main/resources/static/js/cacheFormInputs.js diff --git a/stirling-pdf/src/main/resources/static/js/compare/diff.js b/app/core/src/main/resources/static/js/compare/diff.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/compare/diff.js rename to app/core/src/main/resources/static/js/compare/diff.js diff --git a/stirling-pdf/src/main/resources/static/js/compare/pdfWorker.js b/app/core/src/main/resources/static/js/compare/pdfWorker.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/compare/pdfWorker.js rename to app/core/src/main/resources/static/js/compare/pdfWorker.js diff --git a/stirling-pdf/src/main/resources/static/js/csrf.js b/app/core/src/main/resources/static/js/csrf.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/csrf.js rename to app/core/src/main/resources/static/js/csrf.js diff --git a/stirling-pdf/src/main/resources/static/js/darkmode.js b/app/core/src/main/resources/static/js/darkmode.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/darkmode.js rename to app/core/src/main/resources/static/js/darkmode.js diff --git a/stirling-pdf/src/main/resources/static/js/download.js b/app/core/src/main/resources/static/js/download.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/download.js rename to app/core/src/main/resources/static/js/download.js diff --git a/stirling-pdf/src/main/resources/static/js/downloader.js b/app/core/src/main/resources/static/js/downloader.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/downloader.js rename to app/core/src/main/resources/static/js/downloader.js diff --git a/stirling-pdf/src/main/resources/static/js/draggable-utils.js b/app/core/src/main/resources/static/js/draggable-utils.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/draggable-utils.js rename to app/core/src/main/resources/static/js/draggable-utils.js diff --git a/stirling-pdf/src/main/resources/static/js/errorBanner.js b/app/core/src/main/resources/static/js/errorBanner.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/errorBanner.js rename to app/core/src/main/resources/static/js/errorBanner.js diff --git a/stirling-pdf/src/main/resources/static/js/favourites.js b/app/core/src/main/resources/static/js/favourites.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/favourites.js rename to app/core/src/main/resources/static/js/favourites.js diff --git a/stirling-pdf/src/main/resources/static/js/fetch-utils.js b/app/core/src/main/resources/static/js/fetch-utils.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/fetch-utils.js rename to app/core/src/main/resources/static/js/fetch-utils.js diff --git a/stirling-pdf/src/main/resources/static/js/file-icon-factory.js b/app/core/src/main/resources/static/js/file-icon-factory.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/file-icon-factory.js rename to app/core/src/main/resources/static/js/file-icon-factory.js diff --git a/stirling-pdf/src/main/resources/static/js/file-utils.js b/app/core/src/main/resources/static/js/file-utils.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/file-utils.js rename to app/core/src/main/resources/static/js/file-utils.js diff --git a/stirling-pdf/src/main/resources/static/js/fileInput.js b/app/core/src/main/resources/static/js/fileInput.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/fileInput.js rename to app/core/src/main/resources/static/js/fileInput.js diff --git a/stirling-pdf/src/main/resources/static/js/game.js b/app/core/src/main/resources/static/js/game.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/game.js rename to app/core/src/main/resources/static/js/game.js diff --git a/stirling-pdf/src/main/resources/static/js/githubVersion.js b/app/core/src/main/resources/static/js/githubVersion.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/githubVersion.js rename to app/core/src/main/resources/static/js/githubVersion.js diff --git a/stirling-pdf/src/main/resources/static/js/googleFilePicker.js b/app/core/src/main/resources/static/js/googleFilePicker.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/googleFilePicker.js rename to app/core/src/main/resources/static/js/googleFilePicker.js diff --git a/stirling-pdf/src/main/resources/static/js/homecard-legacy.js b/app/core/src/main/resources/static/js/homecard-legacy.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/homecard-legacy.js rename to app/core/src/main/resources/static/js/homecard-legacy.js diff --git a/stirling-pdf/src/main/resources/static/js/homecard.js b/app/core/src/main/resources/static/js/homecard.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/homecard.js rename to app/core/src/main/resources/static/js/homecard.js diff --git a/stirling-pdf/src/main/resources/static/js/languageSelection.js b/app/core/src/main/resources/static/js/languageSelection.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/languageSelection.js rename to app/core/src/main/resources/static/js/languageSelection.js diff --git a/stirling-pdf/src/main/resources/static/js/local-pdf-input-download.js b/app/core/src/main/resources/static/js/local-pdf-input-download.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/local-pdf-input-download.js rename to app/core/src/main/resources/static/js/local-pdf-input-download.js diff --git a/stirling-pdf/src/main/resources/static/js/merge.js b/app/core/src/main/resources/static/js/merge.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/merge.js rename to app/core/src/main/resources/static/js/merge.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/DragDropManager.js b/app/core/src/main/resources/static/js/multitool/DragDropManager.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/DragDropManager.js rename to app/core/src/main/resources/static/js/multitool/DragDropManager.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/ImageHighlighter.js b/app/core/src/main/resources/static/js/multitool/ImageHighlighter.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/ImageHighlighter.js rename to app/core/src/main/resources/static/js/multitool/ImageHighlighter.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/PdfActionsManager.js b/app/core/src/main/resources/static/js/multitool/PdfActionsManager.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/PdfActionsManager.js rename to app/core/src/main/resources/static/js/multitool/PdfActionsManager.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/PdfContainer.js b/app/core/src/main/resources/static/js/multitool/PdfContainer.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/PdfContainer.js rename to app/core/src/main/resources/static/js/multitool/PdfContainer.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/UndoManager.js b/app/core/src/main/resources/static/js/multitool/UndoManager.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/UndoManager.js rename to app/core/src/main/resources/static/js/multitool/UndoManager.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/commands/add-page.js b/app/core/src/main/resources/static/js/multitool/commands/add-page.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/commands/add-page.js rename to app/core/src/main/resources/static/js/multitool/commands/add-page.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/commands/command.js b/app/core/src/main/resources/static/js/multitool/commands/command.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/commands/command.js rename to app/core/src/main/resources/static/js/multitool/commands/command.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/commands/commands-sequence.js b/app/core/src/main/resources/static/js/multitool/commands/commands-sequence.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/commands/commands-sequence.js rename to app/core/src/main/resources/static/js/multitool/commands/commands-sequence.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/commands/delete-page.js b/app/core/src/main/resources/static/js/multitool/commands/delete-page.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/commands/delete-page.js rename to app/core/src/main/resources/static/js/multitool/commands/delete-page.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/commands/move-page.js b/app/core/src/main/resources/static/js/multitool/commands/move-page.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/commands/move-page.js rename to app/core/src/main/resources/static/js/multitool/commands/move-page.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/commands/page-break.js b/app/core/src/main/resources/static/js/multitool/commands/page-break.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/commands/page-break.js rename to app/core/src/main/resources/static/js/multitool/commands/page-break.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/commands/remove.js b/app/core/src/main/resources/static/js/multitool/commands/remove.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/commands/remove.js rename to app/core/src/main/resources/static/js/multitool/commands/remove.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/commands/rotate.js b/app/core/src/main/resources/static/js/multitool/commands/rotate.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/commands/rotate.js rename to app/core/src/main/resources/static/js/multitool/commands/rotate.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/commands/select.js b/app/core/src/main/resources/static/js/multitool/commands/select.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/commands/select.js rename to app/core/src/main/resources/static/js/multitool/commands/select.js diff --git a/stirling-pdf/src/main/resources/static/js/multitool/commands/split.js b/app/core/src/main/resources/static/js/multitool/commands/split.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/multitool/commands/split.js rename to app/core/src/main/resources/static/js/multitool/commands/split.js diff --git a/stirling-pdf/src/main/resources/static/js/navbar.js b/app/core/src/main/resources/static/js/navbar.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/navbar.js rename to app/core/src/main/resources/static/js/navbar.js diff --git a/stirling-pdf/src/main/resources/static/js/pages/add-image.js b/app/core/src/main/resources/static/js/pages/add-image.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/pages/add-image.js rename to app/core/src/main/resources/static/js/pages/add-image.js diff --git a/stirling-pdf/src/main/resources/static/js/pages/adjust-contrast.js b/app/core/src/main/resources/static/js/pages/adjust-contrast.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/pages/adjust-contrast.js rename to app/core/src/main/resources/static/js/pages/adjust-contrast.js diff --git a/stirling-pdf/src/main/resources/static/js/pages/change-metadata.js b/app/core/src/main/resources/static/js/pages/change-metadata.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/pages/change-metadata.js rename to app/core/src/main/resources/static/js/pages/change-metadata.js diff --git a/stirling-pdf/src/main/resources/static/js/pages/crop.js b/app/core/src/main/resources/static/js/pages/crop.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/pages/crop.js rename to app/core/src/main/resources/static/js/pages/crop.js diff --git a/stirling-pdf/src/main/resources/static/js/pages/edit-table-of-contents.js b/app/core/src/main/resources/static/js/pages/edit-table-of-contents.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/pages/edit-table-of-contents.js rename to app/core/src/main/resources/static/js/pages/edit-table-of-contents.js diff --git a/stirling-pdf/src/main/resources/static/js/pages/home.js b/app/core/src/main/resources/static/js/pages/home.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/pages/home.js rename to app/core/src/main/resources/static/js/pages/home.js diff --git a/stirling-pdf/src/main/resources/static/js/pages/pdf-to-csv.js b/app/core/src/main/resources/static/js/pages/pdf-to-csv.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/pages/pdf-to-csv.js rename to app/core/src/main/resources/static/js/pages/pdf-to-csv.js diff --git a/stirling-pdf/src/main/resources/static/js/pages/sign.js b/app/core/src/main/resources/static/js/pages/sign.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/pages/sign.js rename to app/core/src/main/resources/static/js/pages/sign.js diff --git a/stirling-pdf/src/main/resources/static/js/pipeline.js b/app/core/src/main/resources/static/js/pipeline.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/pipeline.js rename to app/core/src/main/resources/static/js/pipeline.js diff --git a/stirling-pdf/src/main/resources/static/js/redact.js b/app/core/src/main/resources/static/js/redact.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/redact.js rename to app/core/src/main/resources/static/js/redact.js diff --git a/stirling-pdf/src/main/resources/static/js/search.js b/app/core/src/main/resources/static/js/search.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/search.js rename to app/core/src/main/resources/static/js/search.js diff --git a/stirling-pdf/src/main/resources/static/js/settings.js b/app/core/src/main/resources/static/js/settings.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/settings.js rename to app/core/src/main/resources/static/js/settings.js diff --git a/stirling-pdf/src/main/resources/static/js/sign/signature-canvas.js b/app/core/src/main/resources/static/js/sign/signature-canvas.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/sign/signature-canvas.js rename to app/core/src/main/resources/static/js/sign/signature-canvas.js diff --git a/stirling-pdf/src/main/resources/static/js/tab-container.js b/app/core/src/main/resources/static/js/tab-container.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/tab-container.js rename to app/core/src/main/resources/static/js/tab-container.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/bootstrap.min.js b/app/core/src/main/resources/static/js/thirdParty/bootstrap.min.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/bootstrap.min.js rename to app/core/src/main/resources/static/js/thirdParty/bootstrap.min.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/bootstrap.min.js.map b/app/core/src/main/resources/static/js/thirdParty/bootstrap.min.js.map similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/bootstrap.min.js.map rename to app/core/src/main/resources/static/js/thirdParty/bootstrap.min.js.map diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/chart.umd.min.js b/app/core/src/main/resources/static/js/thirdParty/chart.umd.min.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/chart.umd.min.js rename to app/core/src/main/resources/static/js/thirdParty/chart.umd.min.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/cookieconsent-config.js b/app/core/src/main/resources/static/js/thirdParty/cookieconsent-config.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/cookieconsent-config.js rename to app/core/src/main/resources/static/js/thirdParty/cookieconsent-config.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/cookieconsent.umd.js b/app/core/src/main/resources/static/js/thirdParty/cookieconsent.umd.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/cookieconsent.umd.js rename to app/core/src/main/resources/static/js/thirdParty/cookieconsent.umd.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/fontfaceobserver.standalone.js b/app/core/src/main/resources/static/js/thirdParty/fontfaceobserver.standalone.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/fontfaceobserver.standalone.js rename to app/core/src/main/resources/static/js/thirdParty/fontfaceobserver.standalone.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/interact.min.js b/app/core/src/main/resources/static/js/thirdParty/interact.min.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/interact.min.js rename to app/core/src/main/resources/static/js/thirdParty/interact.min.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/interact.min.js.map b/app/core/src/main/resources/static/js/thirdParty/interact.min.js.map similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/interact.min.js.map rename to app/core/src/main/resources/static/js/thirdParty/interact.min.js.map diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/jquery.min.js b/app/core/src/main/resources/static/js/thirdParty/jquery.min.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/jquery.min.js rename to app/core/src/main/resources/static/js/thirdParty/jquery.min.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/jquery.validate.min.js b/app/core/src/main/resources/static/js/thirdParty/jquery.validate.min.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/jquery.validate.min.js rename to app/core/src/main/resources/static/js/thirdParty/jquery.validate.min.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/jszip.min.js b/app/core/src/main/resources/static/js/thirdParty/jszip.min.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/jszip.min.js rename to app/core/src/main/resources/static/js/thirdParty/jszip.min.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/pdf-lib.min.js b/app/core/src/main/resources/static/js/thirdParty/pdf-lib.min.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/pdf-lib.min.js rename to app/core/src/main/resources/static/js/thirdParty/pdf-lib.min.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/pdf-lib.min.js.map b/app/core/src/main/resources/static/js/thirdParty/pdf-lib.min.js.map similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/pdf-lib.min.js.map rename to app/core/src/main/resources/static/js/thirdParty/pdf-lib.min.js.map diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/popper.min.js b/app/core/src/main/resources/static/js/thirdParty/popper.min.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/popper.min.js rename to app/core/src/main/resources/static/js/thirdParty/popper.min.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/popper.min.js.map b/app/core/src/main/resources/static/js/thirdParty/popper.min.js.map similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/popper.min.js.map rename to app/core/src/main/resources/static/js/thirdParty/popper.min.js.map diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/prism.js b/app/core/src/main/resources/static/js/thirdParty/prism.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/prism.js rename to app/core/src/main/resources/static/js/thirdParty/prism.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/signature_pad.umd.min.js b/app/core/src/main/resources/static/js/thirdParty/signature_pad.umd.min.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/signature_pad.umd.min.js rename to app/core/src/main/resources/static/js/thirdParty/signature_pad.umd.min.js diff --git a/stirling-pdf/src/main/resources/static/js/thirdParty/signature_pad.umd.min.js.map b/app/core/src/main/resources/static/js/thirdParty/signature_pad.umd.min.js.map similarity index 100% rename from stirling-pdf/src/main/resources/static/js/thirdParty/signature_pad.umd.min.js.map rename to app/core/src/main/resources/static/js/thirdParty/signature_pad.umd.min.js.map diff --git a/stirling-pdf/src/main/resources/static/js/usage.js b/app/core/src/main/resources/static/js/usage.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/usage.js rename to app/core/src/main/resources/static/js/usage.js diff --git a/stirling-pdf/src/main/resources/static/js/uuid.js b/app/core/src/main/resources/static/js/uuid.js similarity index 100% rename from stirling-pdf/src/main/resources/static/js/uuid.js rename to app/core/src/main/resources/static/js/uuid.js diff --git a/stirling-pdf/src/main/resources/static/manifest.json b/app/core/src/main/resources/static/manifest.json similarity index 100% rename from stirling-pdf/src/main/resources/static/manifest.json rename to app/core/src/main/resources/static/manifest.json diff --git a/stirling-pdf/src/main/resources/static/moon.svg b/app/core/src/main/resources/static/moon.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/moon.svg rename to app/core/src/main/resources/static/moon.svg diff --git a/stirling-pdf/src/main/resources/static/mstile-144x144.png b/app/core/src/main/resources/static/mstile-144x144.png similarity index 100% rename from stirling-pdf/src/main/resources/static/mstile-144x144.png rename to app/core/src/main/resources/static/mstile-144x144.png diff --git a/stirling-pdf/src/main/resources/static/mstile-150x150.png b/app/core/src/main/resources/static/mstile-150x150.png similarity index 100% rename from stirling-pdf/src/main/resources/static/mstile-150x150.png rename to app/core/src/main/resources/static/mstile-150x150.png diff --git a/stirling-pdf/src/main/resources/static/mstile-310x150.png b/app/core/src/main/resources/static/mstile-310x150.png similarity index 100% rename from stirling-pdf/src/main/resources/static/mstile-310x150.png rename to app/core/src/main/resources/static/mstile-310x150.png diff --git a/stirling-pdf/src/main/resources/static/mstile-310x310.png b/app/core/src/main/resources/static/mstile-310x310.png similarity index 100% rename from stirling-pdf/src/main/resources/static/mstile-310x310.png rename to app/core/src/main/resources/static/mstile-310x310.png diff --git a/stirling-pdf/src/main/resources/static/mstile-70x70.png b/app/core/src/main/resources/static/mstile-70x70.png similarity index 100% rename from stirling-pdf/src/main/resources/static/mstile-70x70.png rename to app/core/src/main/resources/static/mstile-70x70.png diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/78-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/78-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/78-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/78-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/83pv-RKSJ-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/83pv-RKSJ-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/83pv-RKSJ-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/83pv-RKSJ-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Add-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Add-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Add-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Add-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Add-RKSJ-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Add-RKSJ-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Add-RKSJ-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Add-RKSJ-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Add-RKSJ-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Add-RKSJ-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Add-RKSJ-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Add-RKSJ-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Add-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Add-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Add-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Add-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-0.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-0.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-0.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-0.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-1.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-1.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-1.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-1.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-2.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-2.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-2.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-2.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-3.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-3.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-3.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-3.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-4.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-4.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-4.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-4.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-5.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-5.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-5.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-5.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-6.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-6.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-6.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-6.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-UCS2.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-UCS2.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-UCS2.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-UCS2.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-0.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-0.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-0.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-0.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-1.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-1.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-1.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-1.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-2.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-2.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-2.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-2.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-3.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-3.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-3.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-3.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-4.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-4.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-4.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-4.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-5.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-5.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-5.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-5.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-UCS2.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-UCS2.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-UCS2.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-UCS2.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-0.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-0.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-0.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-0.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-1.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-1.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-1.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-1.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-2.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-2.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-2.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-2.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-3.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-3.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-3.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-3.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-4.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-4.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-4.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-4.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-5.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-5.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-5.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-5.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-6.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-6.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-6.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-6.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-UCS2.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-UCS2.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-UCS2.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-UCS2.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-0.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-0.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-0.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-0.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-1.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-1.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-1.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-1.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-2.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-2.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-2.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-2.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-UCS2.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-UCS2.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-UCS2.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-UCS2.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/B5-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/B5-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/B5-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/B5-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/B5-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/B5-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/B5-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/B5-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/EUC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/EUC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/EUC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/EUC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/EUC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/EUC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/EUC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/EUC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Ext-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Ext-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Ext-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Ext-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Ext-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Ext-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Ext-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Ext-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GB-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GB-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GB-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GB-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GB-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GB-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GB-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GB-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBT-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBT-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBT-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBT-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBT-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBT-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBT-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBT-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKdlb-B5-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKdlb-B5-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKdlb-B5-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKdlb-B5-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKdlb-B5-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKdlb-B5-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKdlb-B5-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKdlb-B5-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Hankaku.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Hankaku.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Hankaku.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Hankaku.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Hiragana.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Hiragana.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Hiragana.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Hiragana.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Katakana.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Katakana.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Katakana.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Katakana.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/LICENSE b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/LICENSE similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/LICENSE rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/LICENSE diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/NWP-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/NWP-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/NWP-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/NWP-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/NWP-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/NWP-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/NWP-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/NWP-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/RKSJ-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/RKSJ-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/RKSJ-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/RKSJ-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/RKSJ-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/RKSJ-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/RKSJ-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/RKSJ-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Roman.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/Roman.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/Roman.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/Roman.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF16-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF16-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF16-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF16-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF16-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF16-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF16-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF16-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF8-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF8-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF8-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF8-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF8-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF8-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF8-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF8-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF8-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF8-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF8-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF8-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF8-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF8-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF8-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF8-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-HW-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-HW-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-HW-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-HW-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UTF8-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UTF8-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UTF8-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UTF8-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-H.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-H.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-H.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-H.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/V.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/V.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/V.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/V.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/WP-Symbol.bcmap b/app/core/src/main/resources/static/pdfjs-legacy/cmaps/WP-Symbol.bcmap similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/cmaps/WP-Symbol.bcmap rename to app/core/src/main/resources/static/pdfjs-legacy/cmaps/WP-Symbol.bcmap diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/css/debugger.css b/app/core/src/main/resources/static/pdfjs-legacy/css/debugger.css similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/css/debugger.css rename to app/core/src/main/resources/static/pdfjs-legacy/css/debugger.css diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/css/viewer-redact.css b/app/core/src/main/resources/static/pdfjs-legacy/css/viewer-redact.css similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/css/viewer-redact.css rename to app/core/src/main/resources/static/pdfjs-legacy/css/viewer-redact.css diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/css/viewer.css b/app/core/src/main/resources/static/pdfjs-legacy/css/viewer.css similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/css/viewer.css rename to app/core/src/main/resources/static/pdfjs-legacy/css/viewer.css diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/example/Welcome.pdf b/app/core/src/main/resources/static/pdfjs-legacy/example/Welcome.pdf similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/example/Welcome.pdf rename to app/core/src/main/resources/static/pdfjs-legacy/example/Welcome.pdf diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/example/Welcome_old.pdf b/app/core/src/main/resources/static/pdfjs-legacy/example/Welcome_old.pdf similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/example/Welcome_old.pdf rename to app/core/src/main/resources/static/pdfjs-legacy/example/Welcome_old.pdf diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/altText_add.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/altText_add.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/altText_add.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/altText_add.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/altText_done.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/altText_done.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/altText_done.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/altText_done.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-check.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/annotation-check.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-check.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/annotation-check.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-comment.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/annotation-comment.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-comment.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/annotation-comment.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-help.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/annotation-help.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-help.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/annotation-help.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-insert.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/annotation-insert.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-insert.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/annotation-insert.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-key.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/annotation-key.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-key.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/annotation-key.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-newparagraph.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/annotation-newparagraph.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-newparagraph.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/annotation-newparagraph.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-noicon.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/annotation-noicon.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-noicon.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/annotation-noicon.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-note.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/annotation-note.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-note.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/annotation-note.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-paperclip.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/annotation-paperclip.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-paperclip.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/annotation-paperclip.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-paragraph.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/annotation-paragraph.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-paragraph.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/annotation-paragraph.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-pushpin.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/annotation-pushpin.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/annotation-pushpin.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/annotation-pushpin.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeHighlight.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeHighlight.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeHighlight.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeHighlight.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeText.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeText.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeText.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeText.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/cursor-editorInk.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/cursor-editorInk.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/cursor-editorInk.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/cursor-editorInk.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/cursor-editorTextHighlight.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/cursor-editorTextHighlight.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/cursor-editorTextHighlight.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/cursor-editorTextHighlight.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/editor-toolbar-delete.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/editor-toolbar-delete.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/editor-toolbar-delete.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/editor-toolbar-delete.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/findbarButton-next.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/findbarButton-next.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/findbarButton-next.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/findbarButton-next.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/findbarButton-previous.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/findbarButton-previous.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/findbarButton-previous.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/findbarButton-previous.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/gv-toolbarButton-download.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/gv-toolbarButton-download.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/gv-toolbarButton-download.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/gv-toolbarButton-download.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/loading-icon.gif b/app/core/src/main/resources/static/pdfjs-legacy/images/loading-icon.gif similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/loading-icon.gif rename to app/core/src/main/resources/static/pdfjs-legacy/images/loading-icon.gif diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/loading.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/loading.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/loading.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/loading.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-documentProperties.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-documentProperties.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-documentProperties.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-documentProperties.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-firstPage.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-firstPage.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-firstPage.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-firstPage.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-handTool.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-handTool.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-handTool.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-handTool.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-lastPage.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-lastPage.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-lastPage.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-lastPage.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCcw.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCcw.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCcw.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCcw.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCw.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCw.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCw.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCw.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollHorizontal.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollHorizontal.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollHorizontal.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollHorizontal.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollPage.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollPage.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollPage.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollPage.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollVertical.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollVertical.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollVertical.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollVertical.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollWrapped.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollWrapped.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollWrapped.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollWrapped.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-selectTool.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-selectTool.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-selectTool.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-selectTool.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadEven.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadEven.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadEven.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadEven.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadNone.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadNone.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadNone.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadNone.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadOdd.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadOdd.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadOdd.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadOdd.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-bookmark.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-bookmark.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-bookmark.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-bookmark.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-currentOutlineItem.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-currentOutlineItem.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-currentOutlineItem.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-currentOutlineItem.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-download.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-download.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-download.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-download.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorFreeText.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorFreeText.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorFreeText.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorFreeText.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorHighlight.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorHighlight.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorHighlight.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorHighlight.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorInk.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorInk.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorInk.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorInk.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorStamp.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorStamp.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorStamp.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorStamp.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-home.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-home.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-home.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-home.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-menuArrow.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-menuArrow.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-menuArrow.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-menuArrow.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-openFile.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-openFile.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-openFile.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-openFile.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageDown.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageDown.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageDown.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageDown.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageUp.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageUp.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageUp.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageUp.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-presentationMode.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-presentationMode.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-presentationMode.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-presentationMode.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-print.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-print.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-print.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-print.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-search.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-search.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-search.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-search.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-secondaryToolbarToggle.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-secondaryToolbarToggle.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-secondaryToolbarToggle.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-secondaryToolbarToggle.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-sidebarToggle.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-sidebarToggle.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-sidebarToggle.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-sidebarToggle.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewAttachments.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewAttachments.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewAttachments.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewAttachments.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewLayers.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewLayers.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewLayers.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewLayers.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewOutline.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewOutline.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewOutline.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewOutline.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewThumbnail.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewThumbnail.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewThumbnail.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewThumbnail.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomIn.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomIn.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomIn.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomIn.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomOut.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomOut.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomOut.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomOut.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/treeitem-collapsed.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/treeitem-collapsed.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/treeitem-collapsed.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/treeitem-collapsed.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/images/treeitem-expanded.svg b/app/core/src/main/resources/static/pdfjs-legacy/images/treeitem-expanded.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/images/treeitem-expanded.svg rename to app/core/src/main/resources/static/pdfjs-legacy/images/treeitem-expanded.svg diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/js/viewer.mjs b/app/core/src/main/resources/static/pdfjs-legacy/js/viewer.mjs similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/js/viewer.mjs rename to app/core/src/main/resources/static/pdfjs-legacy/js/viewer.mjs diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/js/viewer.mjs.map b/app/core/src/main/resources/static/pdfjs-legacy/js/viewer.mjs.map similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/js/viewer.mjs.map rename to app/core/src/main/resources/static/pdfjs-legacy/js/viewer.mjs.map diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ach/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ach/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ach/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ach/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/af/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/af/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/af/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/af/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/an/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/an/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/an/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/an/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ar/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ar/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ar/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ar/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ast/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ast/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ast/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ast/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/az/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/az/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/az/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/az/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/be/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/be/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/be/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/be/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/bg/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/bg/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/bg/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/bg/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/bn/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/bn/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/bn/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/bn/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/bo/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/bo/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/bo/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/bo/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/br/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/br/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/br/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/br/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/brx/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/brx/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/brx/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/brx/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/bs/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/bs/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/bs/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/bs/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ca/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ca/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ca/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ca/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/cak/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/cak/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/cak/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/cak/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ckb/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ckb/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ckb/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ckb/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/cs/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/cs/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/cs/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/cs/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/cy/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/cy/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/cy/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/cy/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/da/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/da/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/da/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/da/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/de/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/de/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/de/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/de/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/dsb/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/dsb/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/dsb/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/dsb/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/el/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/el/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/el/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/el/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/en-CA/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/en-CA/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/en-CA/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/en-CA/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/en-GB/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/en-GB/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/en-GB/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/en-GB/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/en-US/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/en-US/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/en-US/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/en-US/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/eo/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/eo/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/eo/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/eo/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/es-AR/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/es-AR/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/es-AR/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/es-AR/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/es-CL/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/es-CL/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/es-CL/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/es-CL/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/es-ES/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/es-ES/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/es-ES/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/es-ES/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/es-MX/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/es-MX/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/es-MX/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/es-MX/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/et/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/et/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/et/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/et/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/eu/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/eu/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/eu/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/eu/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/fa/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/fa/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/fa/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/fa/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ff/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ff/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ff/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ff/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/fi/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/fi/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/fi/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/fi/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/fr/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/fr/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/fr/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/fr/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/fur/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/fur/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/fur/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/fur/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/fy-NL/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/fy-NL/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/fy-NL/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/fy-NL/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ga-IE/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ga-IE/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ga-IE/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ga-IE/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/gd/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/gd/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/gd/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/gd/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/gl/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/gl/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/gl/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/gl/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/gn/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/gn/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/gn/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/gn/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/gu-IN/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/gu-IN/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/gu-IN/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/gu-IN/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/he/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/he/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/he/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/he/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/hi-IN/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/hi-IN/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/hi-IN/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/hi-IN/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/hr/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/hr/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/hr/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/hr/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/hsb/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/hsb/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/hsb/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/hsb/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/hu/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/hu/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/hu/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/hu/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/hy-AM/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/hy-AM/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/hy-AM/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/hy-AM/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/hye/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/hye/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/hye/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/hye/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ia/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ia/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ia/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ia/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/id/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/id/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/id/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/id/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/is/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/is/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/is/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/is/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/it/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/it/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/it/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/it/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ja/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ja/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ja/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ja/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ka/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ka/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ka/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ka/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/kab/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/kab/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/kab/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/kab/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/kk/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/kk/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/kk/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/kk/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/km/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/km/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/km/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/km/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/kn/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/kn/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/kn/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/kn/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ko/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ko/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ko/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ko/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/lij/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/lij/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/lij/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/lij/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/lo/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/lo/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/lo/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/lo/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/locale.json b/app/core/src/main/resources/static/pdfjs-legacy/locale/locale.json similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/locale.json rename to app/core/src/main/resources/static/pdfjs-legacy/locale/locale.json diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/lt/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/lt/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/lt/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/lt/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ltg/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ltg/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ltg/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ltg/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/lv/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/lv/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/lv/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/lv/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/meh/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/meh/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/meh/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/meh/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/mk/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/mk/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/mk/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/mk/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/mr/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/mr/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/mr/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/mr/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ms/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ms/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ms/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ms/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/my/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/my/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/my/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/my/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/nb-NO/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/nb-NO/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/nb-NO/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/nb-NO/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ne-NP/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ne-NP/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ne-NP/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ne-NP/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/nl/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/nl/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/nl/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/nl/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/nn-NO/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/nn-NO/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/nn-NO/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/nn-NO/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/oc/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/oc/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/oc/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/oc/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/pa-IN/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/pa-IN/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/pa-IN/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/pa-IN/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/pl/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/pl/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/pl/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/pl/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/pt-BR/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/pt-BR/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/pt-BR/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/pt-BR/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/pt-PT/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/pt-PT/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/pt-PT/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/pt-PT/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/rm/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/rm/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/rm/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/rm/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ro/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ro/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ro/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ro/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ru/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ru/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ru/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ru/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sat/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/sat/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sat/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/sat/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sc/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/sc/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sc/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/sc/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/scn/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/scn/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/scn/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/scn/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sco/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/sco/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sco/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/sco/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/si/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/si/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/si/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/si/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sk/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/sk/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sk/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/sk/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/skr/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/skr/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/skr/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/skr/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sl/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/sl/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sl/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/sl/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/son/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/son/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/son/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/son/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sq/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/sq/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sq/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/sq/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sr/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/sr/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sr/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/sr/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sv-SE/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/sv-SE/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/sv-SE/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/sv-SE/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/szl/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/szl/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/szl/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/szl/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ta/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ta/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ta/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ta/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/te/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/te/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/te/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/te/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/tg/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/tg/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/tg/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/tg/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/th/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/th/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/th/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/th/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/tl/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/tl/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/tl/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/tl/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/tr/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/tr/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/tr/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/tr/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/trs/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/trs/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/trs/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/trs/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/uk/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/uk/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/uk/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/uk/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ur/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/ur/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/ur/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/ur/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/uz/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/uz/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/uz/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/uz/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/vi/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/vi/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/vi/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/vi/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/wo/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/wo/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/wo/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/wo/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/xh/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/xh/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/xh/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/xh/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/zh-CN/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/zh-CN/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/zh-CN/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/zh-CN/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/zh-TW/viewer.ftl b/app/core/src/main/resources/static/pdfjs-legacy/locale/zh-TW/viewer.ftl similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/locale/zh-TW/viewer.ftl rename to app/core/src/main/resources/static/pdfjs-legacy/locale/zh-TW/viewer.ftl diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.mjs b/app/core/src/main/resources/static/pdfjs-legacy/pdf.mjs similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.mjs rename to app/core/src/main/resources/static/pdfjs-legacy/pdf.mjs diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.mjs.map b/app/core/src/main/resources/static/pdfjs-legacy/pdf.mjs.map similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.mjs.map rename to app/core/src/main/resources/static/pdfjs-legacy/pdf.mjs.map diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.sandbox.mjs b/app/core/src/main/resources/static/pdfjs-legacy/pdf.sandbox.mjs similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.sandbox.mjs rename to app/core/src/main/resources/static/pdfjs-legacy/pdf.sandbox.mjs diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.sandbox.mjs.map b/app/core/src/main/resources/static/pdfjs-legacy/pdf.sandbox.mjs.map similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.sandbox.mjs.map rename to app/core/src/main/resources/static/pdfjs-legacy/pdf.sandbox.mjs.map diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.worker.entry.js b/app/core/src/main/resources/static/pdfjs-legacy/pdf.worker.entry.js similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.worker.entry.js rename to app/core/src/main/resources/static/pdfjs-legacy/pdf.worker.entry.js diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.worker.mjs b/app/core/src/main/resources/static/pdfjs-legacy/pdf.worker.mjs similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.worker.mjs rename to app/core/src/main/resources/static/pdfjs-legacy/pdf.worker.mjs diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.worker.mjs.map b/app/core/src/main/resources/static/pdfjs-legacy/pdf.worker.mjs.map similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/pdf.worker.mjs.map rename to app/core/src/main/resources/static/pdfjs-legacy/pdf.worker.mjs.map diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitDingbats.pfb b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitDingbats.pfb similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitDingbats.pfb rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitDingbats.pfb diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixed.pfb b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixed.pfb similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixed.pfb rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixed.pfb diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedBold.pfb b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedBold.pfb similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedBold.pfb rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedBold.pfb diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedBoldItalic.pfb b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedBoldItalic.pfb similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedBoldItalic.pfb rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedBoldItalic.pfb diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedItalic.pfb b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedItalic.pfb similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedItalic.pfb rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedItalic.pfb diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerif.pfb b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerif.pfb similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerif.pfb rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerif.pfb diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifBold.pfb b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifBold.pfb similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifBold.pfb rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifBold.pfb diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifBoldItalic.pfb b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifBoldItalic.pfb similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifBoldItalic.pfb rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifBoldItalic.pfb diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifItalic.pfb b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifItalic.pfb similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifItalic.pfb rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifItalic.pfb diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSymbol.pfb b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSymbol.pfb similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSymbol.pfb rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSymbol.pfb diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/LICENSE_FOXIT b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/LICENSE_FOXIT similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/LICENSE_FOXIT rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/LICENSE_FOXIT diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/LICENSE_LIBERATION b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/LICENSE_LIBERATION similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/LICENSE_LIBERATION rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/LICENSE_LIBERATION diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Bold.ttf b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Bold.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Bold.ttf rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Bold.ttf diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-BoldItalic.ttf b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-BoldItalic.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-BoldItalic.ttf rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-BoldItalic.ttf diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Italic.ttf b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Italic.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Italic.ttf rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Italic.ttf diff --git a/stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Regular.ttf b/app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Regular.ttf similarity index 100% rename from stirling-pdf/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Regular.ttf rename to app/core/src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Regular.ttf diff --git a/stirling-pdf/src/main/resources/static/rainbow.svg b/app/core/src/main/resources/static/rainbow.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/rainbow.svg rename to app/core/src/main/resources/static/rainbow.svg diff --git a/stirling-pdf/src/main/resources/static/safari-pinned-tab.svg b/app/core/src/main/resources/static/safari-pinned-tab.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/safari-pinned-tab.svg rename to app/core/src/main/resources/static/safari-pinned-tab.svg diff --git a/stirling-pdf/src/main/resources/static/site.webmanifest b/app/core/src/main/resources/static/site.webmanifest similarity index 100% rename from stirling-pdf/src/main/resources/static/site.webmanifest rename to app/core/src/main/resources/static/site.webmanifest diff --git a/stirling-pdf/src/main/resources/static/sun.svg b/app/core/src/main/resources/static/sun.svg similarity index 100% rename from stirling-pdf/src/main/resources/static/sun.svg rename to app/core/src/main/resources/static/sun.svg diff --git a/stirling-pdf/src/main/resources/templates/about.html b/app/core/src/main/resources/templates/about.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/about.html rename to app/core/src/main/resources/templates/about.html diff --git a/stirling-pdf/src/main/resources/templates/account.html b/app/core/src/main/resources/templates/account.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/account.html rename to app/core/src/main/resources/templates/account.html diff --git a/stirling-pdf/src/main/resources/templates/adminSettings.html b/app/core/src/main/resources/templates/adminSettings.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/adminSettings.html rename to app/core/src/main/resources/templates/adminSettings.html diff --git a/stirling-pdf/src/main/resources/templates/auto-split-pdf.html b/app/core/src/main/resources/templates/auto-split-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/auto-split-pdf.html rename to app/core/src/main/resources/templates/auto-split-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/change-creds.html b/app/core/src/main/resources/templates/change-creds.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/change-creds.html rename to app/core/src/main/resources/templates/change-creds.html diff --git a/stirling-pdf/src/main/resources/templates/convert/eml-to-pdf.html b/app/core/src/main/resources/templates/convert/eml-to-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/eml-to-pdf.html rename to app/core/src/main/resources/templates/convert/eml-to-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/convert/file-to-pdf.html b/app/core/src/main/resources/templates/convert/file-to-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/file-to-pdf.html rename to app/core/src/main/resources/templates/convert/file-to-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/convert/html-to-pdf.html b/app/core/src/main/resources/templates/convert/html-to-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/html-to-pdf.html rename to app/core/src/main/resources/templates/convert/html-to-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/convert/img-to-pdf.html b/app/core/src/main/resources/templates/convert/img-to-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/img-to-pdf.html rename to app/core/src/main/resources/templates/convert/img-to-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/convert/markdown-to-pdf.html b/app/core/src/main/resources/templates/convert/markdown-to-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/markdown-to-pdf.html rename to app/core/src/main/resources/templates/convert/markdown-to-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/convert/pdf-to-csv.html b/app/core/src/main/resources/templates/convert/pdf-to-csv.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/pdf-to-csv.html rename to app/core/src/main/resources/templates/convert/pdf-to-csv.html diff --git a/stirling-pdf/src/main/resources/templates/convert/pdf-to-html.html b/app/core/src/main/resources/templates/convert/pdf-to-html.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/pdf-to-html.html rename to app/core/src/main/resources/templates/convert/pdf-to-html.html diff --git a/stirling-pdf/src/main/resources/templates/convert/pdf-to-img.html b/app/core/src/main/resources/templates/convert/pdf-to-img.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/pdf-to-img.html rename to app/core/src/main/resources/templates/convert/pdf-to-img.html diff --git a/stirling-pdf/src/main/resources/templates/convert/pdf-to-markdown.html b/app/core/src/main/resources/templates/convert/pdf-to-markdown.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/pdf-to-markdown.html rename to app/core/src/main/resources/templates/convert/pdf-to-markdown.html diff --git a/stirling-pdf/src/main/resources/templates/convert/pdf-to-pdfa.html b/app/core/src/main/resources/templates/convert/pdf-to-pdfa.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/pdf-to-pdfa.html rename to app/core/src/main/resources/templates/convert/pdf-to-pdfa.html diff --git a/stirling-pdf/src/main/resources/templates/convert/pdf-to-presentation.html b/app/core/src/main/resources/templates/convert/pdf-to-presentation.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/pdf-to-presentation.html rename to app/core/src/main/resources/templates/convert/pdf-to-presentation.html diff --git a/stirling-pdf/src/main/resources/templates/convert/pdf-to-text.html b/app/core/src/main/resources/templates/convert/pdf-to-text.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/pdf-to-text.html rename to app/core/src/main/resources/templates/convert/pdf-to-text.html diff --git a/stirling-pdf/src/main/resources/templates/convert/pdf-to-word.html b/app/core/src/main/resources/templates/convert/pdf-to-word.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/pdf-to-word.html rename to app/core/src/main/resources/templates/convert/pdf-to-word.html diff --git a/stirling-pdf/src/main/resources/templates/convert/pdf-to-xml.html b/app/core/src/main/resources/templates/convert/pdf-to-xml.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/pdf-to-xml.html rename to app/core/src/main/resources/templates/convert/pdf-to-xml.html diff --git a/stirling-pdf/src/main/resources/templates/convert/url-to-pdf.html b/app/core/src/main/resources/templates/convert/url-to-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/convert/url-to-pdf.html rename to app/core/src/main/resources/templates/convert/url-to-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/crop.html b/app/core/src/main/resources/templates/crop.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/crop.html rename to app/core/src/main/resources/templates/crop.html diff --git a/stirling-pdf/src/main/resources/templates/database.html b/app/core/src/main/resources/templates/database.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/database.html rename to app/core/src/main/resources/templates/database.html diff --git a/stirling-pdf/src/main/resources/templates/edit-table-of-contents.html b/app/core/src/main/resources/templates/edit-table-of-contents.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/edit-table-of-contents.html rename to app/core/src/main/resources/templates/edit-table-of-contents.html diff --git a/stirling-pdf/src/main/resources/templates/error.html b/app/core/src/main/resources/templates/error.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/error.html rename to app/core/src/main/resources/templates/error.html diff --git a/stirling-pdf/src/main/resources/templates/extract-page.html b/app/core/src/main/resources/templates/extract-page.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/extract-page.html rename to app/core/src/main/resources/templates/extract-page.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/card.html b/app/core/src/main/resources/templates/fragments/card.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/card.html rename to app/core/src/main/resources/templates/fragments/card.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/common.html b/app/core/src/main/resources/templates/fragments/common.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/common.html rename to app/core/src/main/resources/templates/fragments/common.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/errorBanner.html b/app/core/src/main/resources/templates/fragments/errorBanner.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/errorBanner.html rename to app/core/src/main/resources/templates/fragments/errorBanner.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/errorBannerPerPage.html b/app/core/src/main/resources/templates/fragments/errorBannerPerPage.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/errorBannerPerPage.html rename to app/core/src/main/resources/templates/fragments/errorBannerPerPage.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/featureGroupHeader.html b/app/core/src/main/resources/templates/fragments/featureGroupHeader.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/featureGroupHeader.html rename to app/core/src/main/resources/templates/fragments/featureGroupHeader.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/featureGroupHeaderLegacy.html b/app/core/src/main/resources/templates/fragments/featureGroupHeaderLegacy.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/featureGroupHeaderLegacy.html rename to app/core/src/main/resources/templates/fragments/featureGroupHeaderLegacy.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/footer.html b/app/core/src/main/resources/templates/fragments/footer.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/footer.html rename to app/core/src/main/resources/templates/fragments/footer.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/languageEntry.html b/app/core/src/main/resources/templates/fragments/languageEntry.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/languageEntry.html rename to app/core/src/main/resources/templates/fragments/languageEntry.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/languages.html b/app/core/src/main/resources/templates/fragments/languages.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/languages.html rename to app/core/src/main/resources/templates/fragments/languages.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/multi-toolAdvert.html b/app/core/src/main/resources/templates/fragments/multi-toolAdvert.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/multi-toolAdvert.html rename to app/core/src/main/resources/templates/fragments/multi-toolAdvert.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/navElements.html b/app/core/src/main/resources/templates/fragments/navElements.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/navElements.html rename to app/core/src/main/resources/templates/fragments/navElements.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/navbar.html b/app/core/src/main/resources/templates/fragments/navbar.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/navbar.html rename to app/core/src/main/resources/templates/fragments/navbar.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/navbarEntry.html b/app/core/src/main/resources/templates/fragments/navbarEntry.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/navbarEntry.html rename to app/core/src/main/resources/templates/fragments/navbarEntry.html diff --git a/stirling-pdf/src/main/resources/templates/fragments/navbarEntryCustom.html b/app/core/src/main/resources/templates/fragments/navbarEntryCustom.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/fragments/navbarEntryCustom.html rename to app/core/src/main/resources/templates/fragments/navbarEntryCustom.html diff --git a/stirling-pdf/src/main/resources/templates/home-legacy.html b/app/core/src/main/resources/templates/home-legacy.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/home-legacy.html rename to app/core/src/main/resources/templates/home-legacy.html diff --git a/stirling-pdf/src/main/resources/templates/home.html b/app/core/src/main/resources/templates/home.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/home.html rename to app/core/src/main/resources/templates/home.html diff --git a/stirling-pdf/src/main/resources/templates/licenses.html b/app/core/src/main/resources/templates/licenses.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/licenses.html rename to app/core/src/main/resources/templates/licenses.html diff --git a/stirling-pdf/src/main/resources/templates/login.html b/app/core/src/main/resources/templates/login.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/login.html rename to app/core/src/main/resources/templates/login.html diff --git a/stirling-pdf/src/main/resources/templates/merge-pdfs.html b/app/core/src/main/resources/templates/merge-pdfs.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/merge-pdfs.html rename to app/core/src/main/resources/templates/merge-pdfs.html diff --git a/stirling-pdf/src/main/resources/templates/misc/add-attachments.html b/app/core/src/main/resources/templates/misc/add-attachments.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/add-attachments.html rename to app/core/src/main/resources/templates/misc/add-attachments.html diff --git a/stirling-pdf/src/main/resources/templates/misc/add-image.html b/app/core/src/main/resources/templates/misc/add-image.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/add-image.html rename to app/core/src/main/resources/templates/misc/add-image.html diff --git a/stirling-pdf/src/main/resources/templates/misc/add-page-numbers.html b/app/core/src/main/resources/templates/misc/add-page-numbers.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/add-page-numbers.html rename to app/core/src/main/resources/templates/misc/add-page-numbers.html diff --git a/stirling-pdf/src/main/resources/templates/misc/adjust-contrast.html b/app/core/src/main/resources/templates/misc/adjust-contrast.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/adjust-contrast.html rename to app/core/src/main/resources/templates/misc/adjust-contrast.html diff --git a/stirling-pdf/src/main/resources/templates/misc/auto-crop.html b/app/core/src/main/resources/templates/misc/auto-crop.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/auto-crop.html rename to app/core/src/main/resources/templates/misc/auto-crop.html diff --git a/stirling-pdf/src/main/resources/templates/misc/auto-rename.html b/app/core/src/main/resources/templates/misc/auto-rename.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/auto-rename.html rename to app/core/src/main/resources/templates/misc/auto-rename.html diff --git a/stirling-pdf/src/main/resources/templates/misc/change-metadata.html b/app/core/src/main/resources/templates/misc/change-metadata.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/change-metadata.html rename to app/core/src/main/resources/templates/misc/change-metadata.html diff --git a/stirling-pdf/src/main/resources/templates/misc/compare.html b/app/core/src/main/resources/templates/misc/compare.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/compare.html rename to app/core/src/main/resources/templates/misc/compare.html diff --git a/stirling-pdf/src/main/resources/templates/misc/compress-pdf.html b/app/core/src/main/resources/templates/misc/compress-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/compress-pdf.html rename to app/core/src/main/resources/templates/misc/compress-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/misc/extract-image-scans.html b/app/core/src/main/resources/templates/misc/extract-image-scans.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/extract-image-scans.html rename to app/core/src/main/resources/templates/misc/extract-image-scans.html diff --git a/stirling-pdf/src/main/resources/templates/misc/extract-images.html b/app/core/src/main/resources/templates/misc/extract-images.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/extract-images.html rename to app/core/src/main/resources/templates/misc/extract-images.html diff --git a/stirling-pdf/src/main/resources/templates/misc/fake-scan.html b/app/core/src/main/resources/templates/misc/fake-scan.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/fake-scan.html rename to app/core/src/main/resources/templates/misc/fake-scan.html diff --git a/stirling-pdf/src/main/resources/templates/misc/flatten.html b/app/core/src/main/resources/templates/misc/flatten.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/flatten.html rename to app/core/src/main/resources/templates/misc/flatten.html diff --git a/stirling-pdf/src/main/resources/templates/misc/ocr-pdf.html b/app/core/src/main/resources/templates/misc/ocr-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/ocr-pdf.html rename to app/core/src/main/resources/templates/misc/ocr-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/misc/print-file.html b/app/core/src/main/resources/templates/misc/print-file.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/print-file.html rename to app/core/src/main/resources/templates/misc/print-file.html diff --git a/stirling-pdf/src/main/resources/templates/misc/remove-annotations.html b/app/core/src/main/resources/templates/misc/remove-annotations.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/remove-annotations.html rename to app/core/src/main/resources/templates/misc/remove-annotations.html diff --git a/stirling-pdf/src/main/resources/templates/misc/remove-blanks.html b/app/core/src/main/resources/templates/misc/remove-blanks.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/remove-blanks.html rename to app/core/src/main/resources/templates/misc/remove-blanks.html diff --git a/stirling-pdf/src/main/resources/templates/misc/repair.html b/app/core/src/main/resources/templates/misc/repair.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/repair.html rename to app/core/src/main/resources/templates/misc/repair.html diff --git a/stirling-pdf/src/main/resources/templates/misc/replace-color.html b/app/core/src/main/resources/templates/misc/replace-color.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/replace-color.html rename to app/core/src/main/resources/templates/misc/replace-color.html diff --git a/stirling-pdf/src/main/resources/templates/misc/show-javascript.html b/app/core/src/main/resources/templates/misc/show-javascript.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/show-javascript.html rename to app/core/src/main/resources/templates/misc/show-javascript.html diff --git a/stirling-pdf/src/main/resources/templates/misc/stamp.html b/app/core/src/main/resources/templates/misc/stamp.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/stamp.html rename to app/core/src/main/resources/templates/misc/stamp.html diff --git a/stirling-pdf/src/main/resources/templates/misc/unlock-pdf-forms.html b/app/core/src/main/resources/templates/misc/unlock-pdf-forms.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/misc/unlock-pdf-forms.html rename to app/core/src/main/resources/templates/misc/unlock-pdf-forms.html diff --git a/stirling-pdf/src/main/resources/templates/multi-page-layout.html b/app/core/src/main/resources/templates/multi-page-layout.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/multi-page-layout.html rename to app/core/src/main/resources/templates/multi-page-layout.html diff --git a/stirling-pdf/src/main/resources/templates/multi-tool.html b/app/core/src/main/resources/templates/multi-tool.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/multi-tool.html rename to app/core/src/main/resources/templates/multi-tool.html diff --git a/stirling-pdf/src/main/resources/templates/overlay-pdf.html b/app/core/src/main/resources/templates/overlay-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/overlay-pdf.html rename to app/core/src/main/resources/templates/overlay-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/pdf-organizer.html b/app/core/src/main/resources/templates/pdf-organizer.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/pdf-organizer.html rename to app/core/src/main/resources/templates/pdf-organizer.html diff --git a/stirling-pdf/src/main/resources/templates/pdf-to-single-page.html b/app/core/src/main/resources/templates/pdf-to-single-page.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/pdf-to-single-page.html rename to app/core/src/main/resources/templates/pdf-to-single-page.html diff --git a/stirling-pdf/src/main/resources/templates/pipeline.html b/app/core/src/main/resources/templates/pipeline.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/pipeline.html rename to app/core/src/main/resources/templates/pipeline.html diff --git a/stirling-pdf/src/main/resources/templates/releases.html b/app/core/src/main/resources/templates/releases.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/releases.html rename to app/core/src/main/resources/templates/releases.html diff --git a/stirling-pdf/src/main/resources/templates/remove-image-pdf.html b/app/core/src/main/resources/templates/remove-image-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/remove-image-pdf.html rename to app/core/src/main/resources/templates/remove-image-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/remove-pages.html b/app/core/src/main/resources/templates/remove-pages.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/remove-pages.html rename to app/core/src/main/resources/templates/remove-pages.html diff --git a/stirling-pdf/src/main/resources/templates/rotate-pdf.html b/app/core/src/main/resources/templates/rotate-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/rotate-pdf.html rename to app/core/src/main/resources/templates/rotate-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/scale-pages.html b/app/core/src/main/resources/templates/scale-pages.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/scale-pages.html rename to app/core/src/main/resources/templates/scale-pages.html diff --git a/stirling-pdf/src/main/resources/templates/security/add-password.html b/app/core/src/main/resources/templates/security/add-password.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/security/add-password.html rename to app/core/src/main/resources/templates/security/add-password.html diff --git a/stirling-pdf/src/main/resources/templates/security/add-watermark.html b/app/core/src/main/resources/templates/security/add-watermark.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/security/add-watermark.html rename to app/core/src/main/resources/templates/security/add-watermark.html diff --git a/stirling-pdf/src/main/resources/templates/security/auto-redact.html b/app/core/src/main/resources/templates/security/auto-redact.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/security/auto-redact.html rename to app/core/src/main/resources/templates/security/auto-redact.html diff --git a/stirling-pdf/src/main/resources/templates/security/cert-sign.html b/app/core/src/main/resources/templates/security/cert-sign.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/security/cert-sign.html rename to app/core/src/main/resources/templates/security/cert-sign.html diff --git a/stirling-pdf/src/main/resources/templates/security/change-permissions.html b/app/core/src/main/resources/templates/security/change-permissions.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/security/change-permissions.html rename to app/core/src/main/resources/templates/security/change-permissions.html diff --git a/stirling-pdf/src/main/resources/templates/security/get-info-on-pdf.html b/app/core/src/main/resources/templates/security/get-info-on-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/security/get-info-on-pdf.html rename to app/core/src/main/resources/templates/security/get-info-on-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/security/redact.html b/app/core/src/main/resources/templates/security/redact.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/security/redact.html rename to app/core/src/main/resources/templates/security/redact.html diff --git a/stirling-pdf/src/main/resources/templates/security/remove-cert-sign.html b/app/core/src/main/resources/templates/security/remove-cert-sign.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/security/remove-cert-sign.html rename to app/core/src/main/resources/templates/security/remove-cert-sign.html diff --git a/stirling-pdf/src/main/resources/templates/security/remove-password.html b/app/core/src/main/resources/templates/security/remove-password.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/security/remove-password.html rename to app/core/src/main/resources/templates/security/remove-password.html diff --git a/stirling-pdf/src/main/resources/templates/security/remove-watermark.html b/app/core/src/main/resources/templates/security/remove-watermark.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/security/remove-watermark.html rename to app/core/src/main/resources/templates/security/remove-watermark.html diff --git a/stirling-pdf/src/main/resources/templates/security/sanitize-pdf.html b/app/core/src/main/resources/templates/security/sanitize-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/security/sanitize-pdf.html rename to app/core/src/main/resources/templates/security/sanitize-pdf.html diff --git a/stirling-pdf/src/main/resources/templates/security/validate-signature.html b/app/core/src/main/resources/templates/security/validate-signature.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/security/validate-signature.html rename to app/core/src/main/resources/templates/security/validate-signature.html diff --git a/stirling-pdf/src/main/resources/templates/sign.html b/app/core/src/main/resources/templates/sign.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/sign.html rename to app/core/src/main/resources/templates/sign.html diff --git a/stirling-pdf/src/main/resources/templates/split-by-size-or-count.html b/app/core/src/main/resources/templates/split-by-size-or-count.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/split-by-size-or-count.html rename to app/core/src/main/resources/templates/split-by-size-or-count.html diff --git a/stirling-pdf/src/main/resources/templates/split-pdf-by-chapters.html b/app/core/src/main/resources/templates/split-pdf-by-chapters.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/split-pdf-by-chapters.html rename to app/core/src/main/resources/templates/split-pdf-by-chapters.html diff --git a/stirling-pdf/src/main/resources/templates/split-pdf-by-sections.html b/app/core/src/main/resources/templates/split-pdf-by-sections.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/split-pdf-by-sections.html rename to app/core/src/main/resources/templates/split-pdf-by-sections.html diff --git a/stirling-pdf/src/main/resources/templates/split-pdfs.html b/app/core/src/main/resources/templates/split-pdfs.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/split-pdfs.html rename to app/core/src/main/resources/templates/split-pdfs.html diff --git a/stirling-pdf/src/main/resources/templates/usage.html b/app/core/src/main/resources/templates/usage.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/usage.html rename to app/core/src/main/resources/templates/usage.html diff --git a/stirling-pdf/src/main/resources/templates/view-pdf.html b/app/core/src/main/resources/templates/view-pdf.html similarity index 100% rename from stirling-pdf/src/main/resources/templates/view-pdf.html rename to app/core/src/main/resources/templates/view-pdf.html diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/SPDFApplicationTest.java b/app/core/src/test/java/stirling/software/SPDF/SPDFApplicationTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/SPDFApplicationTest.java rename to app/core/src/test/java/stirling/software/SPDF/SPDFApplicationTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/EditTableOfContentsControllerTest.java b/app/core/src/test/java/stirling/software/SPDF/controller/api/EditTableOfContentsControllerTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/EditTableOfContentsControllerTest.java rename to app/core/src/test/java/stirling/software/SPDF/controller/api/EditTableOfContentsControllerTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/MergeControllerTest.java b/app/core/src/test/java/stirling/software/SPDF/controller/api/MergeControllerTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/MergeControllerTest.java rename to app/core/src/test/java/stirling/software/SPDF/controller/api/MergeControllerTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/RearrangePagesPDFControllerTest.java b/app/core/src/test/java/stirling/software/SPDF/controller/api/RearrangePagesPDFControllerTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/RearrangePagesPDFControllerTest.java rename to app/core/src/test/java/stirling/software/SPDF/controller/api/RearrangePagesPDFControllerTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/RotationControllerTest.java b/app/core/src/test/java/stirling/software/SPDF/controller/api/RotationControllerTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/RotationControllerTest.java rename to app/core/src/test/java/stirling/software/SPDF/controller/api/RotationControllerTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPdfTest.java b/app/core/src/test/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPdfTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPdfTest.java rename to app/core/src/test/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPdfTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/misc/AttachmentControllerTest.java b/app/core/src/test/java/stirling/software/SPDF/controller/api/misc/AttachmentControllerTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/misc/AttachmentControllerTest.java rename to app/core/src/test/java/stirling/software/SPDF/controller/api/misc/AttachmentControllerTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessorTest.java b/app/core/src/test/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessorTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessorTest.java rename to app/core/src/test/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessorTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/controller/web/UploadLimitServiceTest.java b/app/core/src/test/java/stirling/software/SPDF/controller/web/UploadLimitServiceTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/controller/web/UploadLimitServiceTest.java rename to app/core/src/test/java/stirling/software/SPDF/controller/web/UploadLimitServiceTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/service/AttachmentServiceTest.java b/app/core/src/test/java/stirling/software/SPDF/service/AttachmentServiceTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/service/AttachmentServiceTest.java rename to app/core/src/test/java/stirling/software/SPDF/service/AttachmentServiceTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/service/CertificateValidationServiceTest.java b/app/core/src/test/java/stirling/software/SPDF/service/CertificateValidationServiceTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/service/CertificateValidationServiceTest.java rename to app/core/src/test/java/stirling/software/SPDF/service/CertificateValidationServiceTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/service/LanguageServiceBasicTest.java b/app/core/src/test/java/stirling/software/SPDF/service/LanguageServiceBasicTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/service/LanguageServiceBasicTest.java rename to app/core/src/test/java/stirling/software/SPDF/service/LanguageServiceBasicTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/service/LanguageServiceTest.java b/app/core/src/test/java/stirling/software/SPDF/service/LanguageServiceTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/service/LanguageServiceTest.java rename to app/core/src/test/java/stirling/software/SPDF/service/LanguageServiceTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/service/PdfImageRemovalServiceTest.java b/app/core/src/test/java/stirling/software/SPDF/service/PdfImageRemovalServiceTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/service/PdfImageRemovalServiceTest.java rename to app/core/src/test/java/stirling/software/SPDF/service/PdfImageRemovalServiceTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/service/PdfMetadataServiceBasicTest.java b/app/core/src/test/java/stirling/software/SPDF/service/PdfMetadataServiceBasicTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/service/PdfMetadataServiceBasicTest.java rename to app/core/src/test/java/stirling/software/SPDF/service/PdfMetadataServiceBasicTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/service/PdfMetadataServiceTest.java b/app/core/src/test/java/stirling/software/SPDF/service/PdfMetadataServiceTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/service/PdfMetadataServiceTest.java rename to app/core/src/test/java/stirling/software/SPDF/service/PdfMetadataServiceTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/SPDF/service/SignatureServiceTest.java b/app/core/src/test/java/stirling/software/SPDF/service/SignatureServiceTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/SPDF/service/SignatureServiceTest.java rename to app/core/src/test/java/stirling/software/SPDF/service/SignatureServiceTest.java diff --git a/stirling-pdf/src/test/java/stirling/software/common/controller/JobControllerTest.java b/app/core/src/test/java/stirling/software/common/controller/JobControllerTest.java similarity index 100% rename from stirling-pdf/src/test/java/stirling/software/common/controller/JobControllerTest.java rename to app/core/src/test/java/stirling/software/common/controller/JobControllerTest.java diff --git a/proprietary/.gitignore b/app/proprietary/.gitignore similarity index 99% rename from proprietary/.gitignore rename to app/proprietary/.gitignore index 51fc2457f..13c974646 100644 --- a/proprietary/.gitignore +++ b/app/proprietary/.gitignore @@ -124,7 +124,7 @@ SwaggerDoc.json *.rar *.db /build -/proprietary/build/ +/app/proprietary/build/ # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/proprietary/LICENSE b/app/proprietary/LICENSE similarity index 100% rename from proprietary/LICENSE rename to app/proprietary/LICENSE diff --git a/proprietary/build.gradle b/app/proprietary/build.gradle similarity index 100% rename from proprietary/build.gradle rename to app/proprietary/build.gradle diff --git a/proprietary/src/main/java/stirling/software/proprietary/audit/AuditAspect.java b/app/proprietary/src/main/java/stirling/software/proprietary/audit/AuditAspect.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/audit/AuditAspect.java rename to app/proprietary/src/main/java/stirling/software/proprietary/audit/AuditAspect.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/audit/AuditEventType.java b/app/proprietary/src/main/java/stirling/software/proprietary/audit/AuditEventType.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/audit/AuditEventType.java rename to app/proprietary/src/main/java/stirling/software/proprietary/audit/AuditEventType.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/audit/AuditLevel.java b/app/proprietary/src/main/java/stirling/software/proprietary/audit/AuditLevel.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/audit/AuditLevel.java rename to app/proprietary/src/main/java/stirling/software/proprietary/audit/AuditLevel.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/audit/AuditUtils.java b/app/proprietary/src/main/java/stirling/software/proprietary/audit/AuditUtils.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/audit/AuditUtils.java rename to app/proprietary/src/main/java/stirling/software/proprietary/audit/AuditUtils.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/audit/Audited.java b/app/proprietary/src/main/java/stirling/software/proprietary/audit/Audited.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/audit/Audited.java rename to app/proprietary/src/main/java/stirling/software/proprietary/audit/Audited.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/audit/ControllerAuditAspect.java b/app/proprietary/src/main/java/stirling/software/proprietary/audit/ControllerAuditAspect.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/audit/ControllerAuditAspect.java rename to app/proprietary/src/main/java/stirling/software/proprietary/audit/ControllerAuditAspect.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/config/AsyncConfig.java b/app/proprietary/src/main/java/stirling/software/proprietary/config/AsyncConfig.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/config/AsyncConfig.java rename to app/proprietary/src/main/java/stirling/software/proprietary/config/AsyncConfig.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/config/AuditConfigurationProperties.java b/app/proprietary/src/main/java/stirling/software/proprietary/config/AuditConfigurationProperties.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/config/AuditConfigurationProperties.java rename to app/proprietary/src/main/java/stirling/software/proprietary/config/AuditConfigurationProperties.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/config/AuditJpaConfig.java b/app/proprietary/src/main/java/stirling/software/proprietary/config/AuditJpaConfig.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/config/AuditJpaConfig.java rename to app/proprietary/src/main/java/stirling/software/proprietary/config/AuditJpaConfig.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/config/CustomAuditEventRepository.java b/app/proprietary/src/main/java/stirling/software/proprietary/config/CustomAuditEventRepository.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/config/CustomAuditEventRepository.java rename to app/proprietary/src/main/java/stirling/software/proprietary/config/CustomAuditEventRepository.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/controller/AdminJobController.java b/app/proprietary/src/main/java/stirling/software/proprietary/controller/AdminJobController.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/controller/AdminJobController.java rename to app/proprietary/src/main/java/stirling/software/proprietary/controller/AdminJobController.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/controller/AuditDashboardController.java b/app/proprietary/src/main/java/stirling/software/proprietary/controller/AuditDashboardController.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/controller/AuditDashboardController.java rename to app/proprietary/src/main/java/stirling/software/proprietary/controller/AuditDashboardController.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/model/Team.java b/app/proprietary/src/main/java/stirling/software/proprietary/model/Team.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/model/Team.java rename to app/proprietary/src/main/java/stirling/software/proprietary/model/Team.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/model/dto/TeamWithUserCountDTO.java b/app/proprietary/src/main/java/stirling/software/proprietary/model/dto/TeamWithUserCountDTO.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/model/dto/TeamWithUserCountDTO.java rename to app/proprietary/src/main/java/stirling/software/proprietary/model/dto/TeamWithUserCountDTO.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/model/security/PersistentAuditEvent.java b/app/proprietary/src/main/java/stirling/software/proprietary/model/security/PersistentAuditEvent.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/model/security/PersistentAuditEvent.java rename to app/proprietary/src/main/java/stirling/software/proprietary/model/security/PersistentAuditEvent.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/repository/PersistentAuditEventRepository.java b/app/proprietary/src/main/java/stirling/software/proprietary/repository/PersistentAuditEventRepository.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/repository/PersistentAuditEventRepository.java rename to app/proprietary/src/main/java/stirling/software/proprietary/repository/PersistentAuditEventRepository.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/CustomAuthenticationFailureHandler.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/CustomAuthenticationFailureHandler.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/CustomAuthenticationFailureHandler.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/CustomAuthenticationFailureHandler.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/CustomAuthenticationSuccessHandler.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/CustomAuthenticationSuccessHandler.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/CustomAuthenticationSuccessHandler.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/CustomAuthenticationSuccessHandler.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/CustomLogoutSuccessHandler.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/CustomLogoutSuccessHandler.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/CustomLogoutSuccessHandler.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/CustomLogoutSuccessHandler.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/InitialSecuritySetup.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/InitialSecuritySetup.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/InitialSecuritySetup.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/InitialSecuritySetup.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/RateLimitResetScheduler.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/RateLimitResetScheduler.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/RateLimitResetScheduler.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/RateLimitResetScheduler.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/config/AccountWebController.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/config/AccountWebController.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/config/AccountWebController.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/config/AccountWebController.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/config/EnterpriseEndpoint.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/config/EnterpriseEndpoint.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/config/EnterpriseEndpoint.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/config/EnterpriseEndpoint.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/config/EnterpriseEndpointAspect.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/config/EnterpriseEndpointAspect.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/config/EnterpriseEndpointAspect.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/config/EnterpriseEndpointAspect.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/config/PremiumEndpoint.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/config/PremiumEndpoint.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/config/PremiumEndpoint.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/config/PremiumEndpoint.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/config/PremiumEndpointAspect.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/config/PremiumEndpointAspect.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/config/PremiumEndpointAspect.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/config/PremiumEndpointAspect.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/configuration/DatabaseConfig.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/DatabaseConfig.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/configuration/DatabaseConfig.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/DatabaseConfig.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/configuration/MailConfig.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/MailConfig.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/configuration/MailConfig.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/MailConfig.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/configuration/SecurityConfiguration.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/SecurityConfiguration.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/configuration/SecurityConfiguration.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/SecurityConfiguration.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/configuration/ee/EEAppConfig.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/ee/EEAppConfig.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/configuration/ee/EEAppConfig.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/ee/EEAppConfig.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/configuration/ee/KeygenLicenseVerifier.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/ee/KeygenLicenseVerifier.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/configuration/ee/KeygenLicenseVerifier.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/ee/KeygenLicenseVerifier.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/configuration/ee/LicenseKeyChecker.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/ee/LicenseKeyChecker.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/configuration/ee/LicenseKeyChecker.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/ee/LicenseKeyChecker.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/DatabaseController.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/DatabaseController.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/controller/api/DatabaseController.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/DatabaseController.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/EmailController.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/EmailController.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/controller/api/EmailController.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/EmailController.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/TeamController.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/TeamController.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/controller/api/TeamController.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/TeamController.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/UserController.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/UserController.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/controller/api/UserController.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/UserController.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/controller/web/DatabaseWebController.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/controller/web/DatabaseWebController.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/controller/web/DatabaseWebController.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/controller/web/DatabaseWebController.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/controller/web/TeamWebController.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/controller/web/TeamWebController.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/controller/web/TeamWebController.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/controller/web/TeamWebController.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/database/H2SQLCondition.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/database/H2SQLCondition.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/database/H2SQLCondition.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/database/H2SQLCondition.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/database/ScheduledTasks.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/database/ScheduledTasks.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/database/ScheduledTasks.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/database/ScheduledTasks.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/AuthorityRepository.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/AuthorityRepository.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/database/repository/AuthorityRepository.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/AuthorityRepository.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/JPATokenRepositoryImpl.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/JPATokenRepositoryImpl.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/database/repository/JPATokenRepositoryImpl.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/JPATokenRepositoryImpl.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/PersistentLoginRepository.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/PersistentLoginRepository.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/database/repository/PersistentLoginRepository.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/PersistentLoginRepository.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/SessionRepository.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/SessionRepository.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/database/repository/SessionRepository.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/SessionRepository.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/UserRepository.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/UserRepository.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/database/repository/UserRepository.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/database/repository/UserRepository.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/filter/EnterpriseEndpointFilter.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/filter/EnterpriseEndpointFilter.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/filter/EnterpriseEndpointFilter.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/filter/EnterpriseEndpointFilter.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/filter/FirstLoginFilter.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/filter/FirstLoginFilter.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/filter/FirstLoginFilter.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/filter/FirstLoginFilter.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/filter/IPRateLimitingFilter.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/filter/IPRateLimitingFilter.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/filter/IPRateLimitingFilter.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/filter/IPRateLimitingFilter.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/filter/UserAuthenticationFilter.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/filter/UserAuthenticationFilter.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/filter/UserAuthenticationFilter.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/filter/UserAuthenticationFilter.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/filter/UserBasedRateLimitingFilter.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/filter/UserBasedRateLimitingFilter.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/filter/UserBasedRateLimitingFilter.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/filter/UserBasedRateLimitingFilter.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/ApiKeyAuthenticationToken.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/ApiKeyAuthenticationToken.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/ApiKeyAuthenticationToken.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/ApiKeyAuthenticationToken.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/AttemptCounter.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/AttemptCounter.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/AttemptCounter.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/AttemptCounter.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/AuthenticationType.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/AuthenticationType.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/AuthenticationType.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/AuthenticationType.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/Authority.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/Authority.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/Authority.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/Authority.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/PersistentLogin.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/PersistentLogin.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/PersistentLogin.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/PersistentLogin.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/SessionEntity.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/SessionEntity.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/SessionEntity.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/SessionEntity.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/User.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/User.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/User.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/User.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/api/Email.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/api/Email.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/api/Email.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/api/Email.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/UpdateUserDetails.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/UpdateUserDetails.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/UpdateUserDetails.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/UpdateUserDetails.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/UpdateUserUsername.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/UpdateUserUsername.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/UpdateUserUsername.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/UpdateUserUsername.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/Username.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/Username.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/Username.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/Username.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/UsernameAndPass.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/UsernameAndPass.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/UsernameAndPass.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/api/user/UsernameAndPass.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/exception/BackupNotFoundException.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/exception/BackupNotFoundException.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/exception/BackupNotFoundException.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/exception/BackupNotFoundException.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/model/exception/NoProviderFoundException.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/model/exception/NoProviderFoundException.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/model/exception/NoProviderFoundException.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/model/exception/NoProviderFoundException.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/oauth2/CustomOAuth2AuthenticationFailureHandler.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/oauth2/CustomOAuth2AuthenticationFailureHandler.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/oauth2/CustomOAuth2AuthenticationFailureHandler.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/oauth2/CustomOAuth2AuthenticationFailureHandler.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/oauth2/CustomOAuth2AuthenticationSuccessHandler.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/oauth2/CustomOAuth2AuthenticationSuccessHandler.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/oauth2/CustomOAuth2AuthenticationSuccessHandler.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/oauth2/CustomOAuth2AuthenticationSuccessHandler.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/oauth2/OAuth2Configuration.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/oauth2/OAuth2Configuration.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/oauth2/OAuth2Configuration.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/oauth2/OAuth2Configuration.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/repository/TeamRepository.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/repository/TeamRepository.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/repository/TeamRepository.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/repository/TeamRepository.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CertificateUtils.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CertificateUtils.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/saml2/CertificateUtils.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CertificateUtils.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticatedPrincipal.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticatedPrincipal.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticatedPrincipal.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticatedPrincipal.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticationFailureHandler.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticationFailureHandler.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticationFailureHandler.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticationFailureHandler.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticationSuccessHandler.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticationSuccessHandler.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticationSuccessHandler.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2AuthenticationSuccessHandler.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2ResponseAuthenticationConverter.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2ResponseAuthenticationConverter.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2ResponseAuthenticationConverter.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2ResponseAuthenticationConverter.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/saml2/SAML2Configuration.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/SAML2Configuration.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/saml2/SAML2Configuration.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/SAML2Configuration.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/service/AppUpdateAuthService.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/service/AppUpdateAuthService.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/service/AppUpdateAuthService.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/service/AppUpdateAuthService.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/service/CustomOAuth2UserService.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/service/CustomOAuth2UserService.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/service/CustomOAuth2UserService.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/service/CustomOAuth2UserService.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/service/CustomUserDetailsService.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/service/CustomUserDetailsService.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/service/CustomUserDetailsService.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/service/CustomUserDetailsService.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/service/DatabaseService.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/service/DatabaseService.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/service/DatabaseService.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/service/DatabaseService.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/service/DatabaseServiceInterface.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/service/DatabaseServiceInterface.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/service/DatabaseServiceInterface.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/service/DatabaseServiceInterface.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/service/EmailService.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/service/EmailService.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/service/EmailService.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/service/EmailService.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/service/LoginAttemptService.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/service/LoginAttemptService.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/service/LoginAttemptService.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/service/LoginAttemptService.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/service/TeamService.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/service/TeamService.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/service/TeamService.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/service/TeamService.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/service/UserService.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/service/UserService.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/service/UserService.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/service/UserService.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/session/CustomHttpSessionListener.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/session/CustomHttpSessionListener.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/session/CustomHttpSessionListener.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/session/CustomHttpSessionListener.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/session/SessionPersistentRegistry.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/session/SessionPersistentRegistry.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/session/SessionPersistentRegistry.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/session/SessionPersistentRegistry.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/session/SessionRegistryConfig.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/session/SessionRegistryConfig.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/session/SessionRegistryConfig.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/session/SessionRegistryConfig.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/security/session/SessionScheduled.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/session/SessionScheduled.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/security/session/SessionScheduled.java rename to app/proprietary/src/main/java/stirling/software/proprietary/security/session/SessionScheduled.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/service/AuditCleanupService.java b/app/proprietary/src/main/java/stirling/software/proprietary/service/AuditCleanupService.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/service/AuditCleanupService.java rename to app/proprietary/src/main/java/stirling/software/proprietary/service/AuditCleanupService.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/service/AuditService.java b/app/proprietary/src/main/java/stirling/software/proprietary/service/AuditService.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/service/AuditService.java rename to app/proprietary/src/main/java/stirling/software/proprietary/service/AuditService.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/util/SecretMasker.java b/app/proprietary/src/main/java/stirling/software/proprietary/util/SecretMasker.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/util/SecretMasker.java rename to app/proprietary/src/main/java/stirling/software/proprietary/util/SecretMasker.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/web/AuditWebFilter.java b/app/proprietary/src/main/java/stirling/software/proprietary/web/AuditWebFilter.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/web/AuditWebFilter.java rename to app/proprietary/src/main/java/stirling/software/proprietary/web/AuditWebFilter.java diff --git a/proprietary/src/main/java/stirling/software/proprietary/web/CorrelationIdFilter.java b/app/proprietary/src/main/java/stirling/software/proprietary/web/CorrelationIdFilter.java similarity index 100% rename from proprietary/src/main/java/stirling/software/proprietary/web/CorrelationIdFilter.java rename to app/proprietary/src/main/java/stirling/software/proprietary/web/CorrelationIdFilter.java diff --git a/proprietary/src/main/resources/application-proprietary.properties b/app/proprietary/src/main/resources/application-proprietary.properties similarity index 100% rename from proprietary/src/main/resources/application-proprietary.properties rename to app/proprietary/src/main/resources/application-proprietary.properties diff --git a/proprietary/src/main/resources/static/css/audit-dashboard.css b/app/proprietary/src/main/resources/static/css/audit-dashboard.css similarity index 100% rename from proprietary/src/main/resources/static/css/audit-dashboard.css rename to app/proprietary/src/main/resources/static/css/audit-dashboard.css diff --git a/proprietary/src/main/resources/static/css/modern-tables.css b/app/proprietary/src/main/resources/static/css/modern-tables.css similarity index 100% rename from proprietary/src/main/resources/static/css/modern-tables.css rename to app/proprietary/src/main/resources/static/css/modern-tables.css diff --git a/proprietary/src/main/resources/static/js/audit/dashboard.js b/app/proprietary/src/main/resources/static/js/audit/dashboard.js similarity index 100% rename from proprietary/src/main/resources/static/js/audit/dashboard.js rename to app/proprietary/src/main/resources/static/js/audit/dashboard.js diff --git a/proprietary/src/main/resources/templates/AUDIT_HELP.md b/app/proprietary/src/main/resources/templates/AUDIT_HELP.md similarity index 100% rename from proprietary/src/main/resources/templates/AUDIT_HELP.md rename to app/proprietary/src/main/resources/templates/AUDIT_HELP.md diff --git a/proprietary/src/main/resources/templates/AUDIT_USAGE.md b/app/proprietary/src/main/resources/templates/AUDIT_USAGE.md similarity index 100% rename from proprietary/src/main/resources/templates/AUDIT_USAGE.md rename to app/proprietary/src/main/resources/templates/AUDIT_USAGE.md diff --git a/proprietary/src/main/resources/templates/accounts/team-details.html b/app/proprietary/src/main/resources/templates/accounts/team-details.html similarity index 100% rename from proprietary/src/main/resources/templates/accounts/team-details.html rename to app/proprietary/src/main/resources/templates/accounts/team-details.html diff --git a/proprietary/src/main/resources/templates/accounts/teams.html b/app/proprietary/src/main/resources/templates/accounts/teams.html similarity index 100% rename from proprietary/src/main/resources/templates/accounts/teams.html rename to app/proprietary/src/main/resources/templates/accounts/teams.html diff --git a/proprietary/src/main/resources/templates/audit/dashboard.html b/app/proprietary/src/main/resources/templates/audit/dashboard.html similarity index 100% rename from proprietary/src/main/resources/templates/audit/dashboard.html rename to app/proprietary/src/main/resources/templates/audit/dashboard.html diff --git a/proprietary/src/test/java/stirling/software/proprietary/security/CustomLogoutSuccessHandlerTest.java b/app/proprietary/src/test/java/stirling/software/proprietary/security/CustomLogoutSuccessHandlerTest.java similarity index 100% rename from proprietary/src/test/java/stirling/software/proprietary/security/CustomLogoutSuccessHandlerTest.java rename to app/proprietary/src/test/java/stirling/software/proprietary/security/CustomLogoutSuccessHandlerTest.java diff --git a/proprietary/src/test/java/stirling/software/proprietary/security/configuration/DatabaseConfigTest.java b/app/proprietary/src/test/java/stirling/software/proprietary/security/configuration/DatabaseConfigTest.java similarity index 100% rename from proprietary/src/test/java/stirling/software/proprietary/security/configuration/DatabaseConfigTest.java rename to app/proprietary/src/test/java/stirling/software/proprietary/security/configuration/DatabaseConfigTest.java diff --git a/proprietary/src/test/java/stirling/software/proprietary/security/configuration/ee/LicenseKeyCheckerTest.java b/app/proprietary/src/test/java/stirling/software/proprietary/security/configuration/ee/LicenseKeyCheckerTest.java similarity index 100% rename from proprietary/src/test/java/stirling/software/proprietary/security/configuration/ee/LicenseKeyCheckerTest.java rename to app/proprietary/src/test/java/stirling/software/proprietary/security/configuration/ee/LicenseKeyCheckerTest.java diff --git a/proprietary/src/test/java/stirling/software/proprietary/security/controller/api/EmailControllerTest.java b/app/proprietary/src/test/java/stirling/software/proprietary/security/controller/api/EmailControllerTest.java similarity index 100% rename from proprietary/src/test/java/stirling/software/proprietary/security/controller/api/EmailControllerTest.java rename to app/proprietary/src/test/java/stirling/software/proprietary/security/controller/api/EmailControllerTest.java diff --git a/proprietary/src/test/java/stirling/software/proprietary/security/service/EmailServiceTest.java b/app/proprietary/src/test/java/stirling/software/proprietary/security/service/EmailServiceTest.java similarity index 100% rename from proprietary/src/test/java/stirling/software/proprietary/security/service/EmailServiceTest.java rename to app/proprietary/src/test/java/stirling/software/proprietary/security/service/EmailServiceTest.java diff --git a/proprietary/src/test/java/stirling/software/proprietary/security/service/MailConfigTest.java b/app/proprietary/src/test/java/stirling/software/proprietary/security/service/MailConfigTest.java similarity index 100% rename from proprietary/src/test/java/stirling/software/proprietary/security/service/MailConfigTest.java rename to app/proprietary/src/test/java/stirling/software/proprietary/security/service/MailConfigTest.java diff --git a/proprietary/src/test/java/stirling/software/proprietary/security/service/TeamServiceTest.java b/app/proprietary/src/test/java/stirling/software/proprietary/security/service/TeamServiceTest.java similarity index 100% rename from proprietary/src/test/java/stirling/software/proprietary/security/service/TeamServiceTest.java rename to app/proprietary/src/test/java/stirling/software/proprietary/security/service/TeamServiceTest.java diff --git a/proprietary/src/test/java/stirling/software/proprietary/security/service/UserServiceTest.java b/app/proprietary/src/test/java/stirling/software/proprietary/security/service/UserServiceTest.java similarity index 100% rename from proprietary/src/test/java/stirling/software/proprietary/security/service/UserServiceTest.java rename to app/proprietary/src/test/java/stirling/software/proprietary/security/service/UserServiceTest.java diff --git a/build.gradle b/build.gradle index 84f2c1cb3..3cdfbc72c 100644 --- a/build.gradle +++ b/build.gradle @@ -66,7 +66,7 @@ allprojects { } tasks.register('writeVersion') { - def propsFile = file("$projectDir/common/src/main/resources/version.properties") + def propsFile = file("$projectDir/app/common/src/main/resources/version.properties") def propsDir = propsFile.parentFile doLast { @@ -209,7 +209,8 @@ tasks.withType(JavaCompile).configureEach { licenseReport { projects = [project] renderers = [new JsonReportRenderer()] - allowedLicensesFile = new File("$projectDir/allowed-licenses.json") + allowedLicensesFile = project.layout.projectDirectory.file("app/allowed-licenses.json").asFile + outputDir = project.layout.buildDirectory.dir("reports/dependency-license").get().asFile.path } sourceSets { @@ -260,14 +261,14 @@ static def getMacVersion(String version) { jpackage { dependsOn(":stirling-pdf:bootJar") - input = layout.projectDirectory.dir("stirling-pdf/build/libs") + input = layout.projectDirectory.dir("app/core/build/libs") destination = layout.projectDirectory.dir("build/jpackage") mainJar = "Stirling-PDF-${project.version}.jar" appName = "Stirling PDF" appVersion = project.version vendor = "Stirling PDF Inc" appDescription = "Stirling PDF - Your Local PDF Editor" - icon = layout.projectDirectory.file("stirling-pdf/src/main/resources/static/favicon.ico") + icon = layout.projectDirectory.file("app/core/src/main/resources/static/favicon.ico") verbose = true // mainClass = "org.springframework.boot.loader.launch.JarLauncher" @@ -309,7 +310,7 @@ jpackage { // MacOS-specific configuration mac { appVersion = getMacVersion(project.version.toString()) - icon = layout.projectDirectory.file("stirling-pdf/src/main/resources/static/favicon.icns") + icon = layout.projectDirectory.file("app/core/src/main/resources/static/favicon.icns") type = ImageType.DMG macPackageIdentifier = "Stirling PDF" macPackageName = "Stirling PDF" @@ -331,7 +332,7 @@ jpackage { // Linux-specific configuration linux { appVersion = project.version - icon = layout.projectDirectory.file("stirling-pdf/src/main/resources/static/favicon.png") + icon = layout.projectDirectory.file("app/core/src/main/resources/static/favicon.png") type = ImageType.DEB // Can also use "rpm" for Red Hat-based systems // Debian package configuration @@ -403,12 +404,12 @@ tasks.register('jpackageMacX64') { commandLine 'jpackage', '--type', 'dmg', '--name', 'Stirling PDF (x86_64)', - '--input', 'stirling-pdf/build/libs', + '--input', 'app/core/build/libs', '--main-jar', "Stirling-PDF-${project.version}.jar", '--main-class', 'org.springframework.boot.loader.launch.JarLauncher', '--runtime-image', file(jrePath + "/zulu-17.jre/Contents/Home"), '--dest', 'build/jpackage/x86_64', - '--icon', 'stirling-pdf/src/main/resources/static/favicon.icns', + '--icon', 'app/core/src/main/resources/static/favicon.icns', '--app-version', getMacVersion(project.version.toString()), '--mac-package-name', 'Stirling PDF (x86_64)', '--mac-package-identifier', 'Stirling PDF (x86_64)', @@ -494,7 +495,7 @@ tasks.register('cleanTempJre') { } launch4j { - icon = "${projectDir}/stirling-pdf/src/main/resources/static/favicon.ico" + icon = "${projectDir}/app/core/src/main/resources/static/favicon.ico" outfile="Stirling-PDF.exe" diff --git a/devGuide/DeveloperGuide.md b/devGuide/DeveloperGuide.md index c04b66dab..c37be9b84 100644 --- a/devGuide/DeveloperGuide.md +++ b/devGuide/DeveloperGuide.md @@ -332,7 +332,7 @@ Thymeleaf is a server-side Java HTML template engine. It is used in Stirling-PDF ### Thymeleaf overview -In Stirling-PDF, Thymeleaf is used to create HTML templates that are rendered on the server side. These templates are located in the `stirling-pdf/src/main/resources/templates` directory. Thymeleaf templates use a combination of HTML and special Thymeleaf attributes to dynamically generate content. +In Stirling-PDF, Thymeleaf is used to create HTML templates that are rendered on the server side. These templates are located in the `app/core/src/main/resources/templates` directory. Thymeleaf templates use a combination of HTML and special Thymeleaf attributes to dynamically generate content. Some examples of this are: @@ -384,7 +384,7 @@ This would generate n entries of tr for each person in exampleData ### Adding a New Feature to the Backend (API) 1. **Create a New Controller:** - - Create a new Java class in the `stirling-pdf/src/main/java/stirling/software/SPDF/controller/api` directory. + - Create a new Java class in the `app/core/src/main/java/stirling/software/SPDF/controller/api` directory. - Annotate the class with `@RestController` and `@RequestMapping` to define the API endpoint. - Ensure to add API documentation annotations like `@Tag(name = "General", description = "General APIs")` and `@Operation(summary = "Crops a PDF document", description = "This operation takes an input PDF file and crops it according to the given coordinates. Input:PDF Output:PDF Type:SISO")`. @@ -411,7 +411,7 @@ This would generate n entries of tr for each person in exampleData ``` 2. **Define the Service Layer:** (Not required but often useful) - - Create a new service class in the `stirling-pdf/src/main/java/stirling/software/SPDF/service` directory. + - Create a new service class in the `app/core/src/main/java/stirling/software/SPDF/service` directory. - Implement the business logic for the new feature. ```java @@ -463,7 +463,7 @@ This would generate n entries of tr for each person in exampleData ### Adding a New Feature to the Frontend (UI) 1. **Create a New Thymeleaf Template:** - - Create a new HTML file in the `stirling-pdf/src/main/resources/templates` directory. + - Create a new HTML file in the `app/core/src/main/resources/templates` directory. - Use Thymeleaf attributes to dynamically generate content. - Use `extract-page.html` as a base example for the HTML template, which is useful to ensure importing of the general layout, navbar, and footer. @@ -507,7 +507,7 @@ This would generate n entries of tr for each person in exampleData ``` 2. **Create a New Controller for the UI:** - - Create a new Java class in the `stirling-pdf/src/main/java/stirling/software/SPDF/controller/ui` directory. + - Create a new Java class in the `app/core/src/main/java/stirling/software/SPDF/controller/ui` directory. - Annotate the class with `@Controller` and `@RequestMapping` to define the UI endpoint. ```java @@ -537,7 +537,7 @@ This would generate n entries of tr for each person in exampleData 3. **Update the Navigation Bar:** - Add a link to the new feature page in the navigation bar. - - Update the `stirling-pdf/src/main/resources/templates/fragments/navbar.html` file. + - Update the `app/core/src/main/resources/templates/fragments/navbar.html` file. ```html diff --git a/app/core/src/main/resources/templates/view-pdf.html b/app/core/src/main/resources/templates/view-pdf.html index 5851e85bd..a50b362a2 100644 --- a/app/core/src/main/resources/templates/view-pdf.html +++ b/app/core/src/main/resources/templates/view-pdf.html @@ -30,10 +30,6 @@ See https://github.com/adobe-type-tools/cmap-resources PDF.js viewer - - - - From e60efaf24641b36a588bc8fa2ffb1f3af8de2e18 Mon Sep 17 00:00:00 2001 From: Angel <41905618+TheShadowAngel@users.noreply.github.com> Date: Wed, 16 Jul 2025 16:13:02 +0700 Subject: [PATCH 18/18] Update messages_ru_RU.properties (#3959) Updated the Russian language --- .../main/resources/messages_ru_RU.properties | 322 +++++++++--------- 1 file changed, 161 insertions(+), 161 deletions(-) diff --git a/app/core/src/main/resources/messages_ru_RU.properties b/app/core/src/main/resources/messages_ru_RU.properties index 329d054db..66a1bc93d 100644 --- a/app/core/src/main/resources/messages_ru_RU.properties +++ b/app/core/src/main/resources/messages_ru_RU.properties @@ -142,9 +142,9 @@ multiPdfPrompt=Выберите PDF-файлы (2+) multiPdfDropPrompt=Выберите (или перетащите) все необходимые PDF-файлы imgPrompt=Выберите изображение(я) genericSubmit=Отправить -uploadLimit=Maximum file size: -uploadLimitExceededSingular=is too large. Maximum allowed size is -uploadLimitExceededPlural=are too large. Maximum allowed size is +uploadLimit=Максимальный размер файла: +uploadLimitExceededSingular=слишком большой. Максимально допустимый размер +uploadLimitExceededPlural=слишком большой. Максимально допустимый размер processTimeWarning=Внимание: Данный процесс может занять до минуты в зависимости от размера файла pageOrderPrompt=Пользовательский порядок страниц (Введите список номеров страниц через запятую или функции типа 2n+1): pageSelectionPrompt=Выбор страниц (Введите список номеров страниц через запятую 1,5,6 или функции типа 2n+1): @@ -170,67 +170,67 @@ sizes.medium=Средний sizes.large=Большой sizes.x-large=Очень большой error.pdfPassword=PDF-документ защищен паролем, и пароль не был предоставлен или был неверным -error.pdfCorrupted=PDF file appears to be corrupted or damaged. Please try using the 'Repair PDF' feature first to fix the file before proceeding with this operation. -error.pdfCorruptedMultiple=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them. -error.pdfCorruptedDuring=Error {0}: PDF file appears to be corrupted or damaged. Please try using the 'Repair PDF' feature first to fix the file before proceeding with this operation. +error.pdfCorrupted=Файл PDF, по-видимому, поврежден. Пожалуйста, попробуйте сначала воспользоваться функцией "Восстановить PDF", чтобы исправить файл, прежде чем приступать к этой операции. +error.pdfCorruptedMultiple=Один или несколько PDF-файлов, по-видимому, повреждены. Пожалуйста, попробуйте сначала использовать функцию "Восстановить PDF" для каждого файла, прежде чем пытаться объединить их. +error.pdfCorruptedDuring=Ошибка {0}: Файл PDF, по-видимому, поврежден. Пожалуйста, попробуйте сначала воспользоваться функцией "Восстановить PDF", чтобы исправить файл, прежде чем приступать к этой операции. # Frontend corruption error messages -error.pdfInvalid=The PDF file "{0}" appears to be corrupted or has an invalid structure. Please try using the 'Repair PDF' feature to fix the file before proceeding. -error.tryRepair=Try using the Repair PDF feature to fix corrupted files. +error.pdfInvalid=Файл PDF "{0}", по-видимому, поврежден или имеет неправильную структуру. Пожалуйста, попробуйте использовать функцию "Восстановить PDF", чтобы исправить файл, прежде чем продолжить. +error.tryRepair=Попробуйте использовать функцию восстановления PDF для исправления поврежденных файлов. # Additional error messages -error.pdfEncryption=The PDF appears to have corrupted encryption data. This can happen when the PDF was created with incompatible encryption methods. Please try using the 'Repair PDF' feature first, or contact the document creator for a new copy. -error.fileProcessing=An error occurred while processing the file during {0} operation: {1} +error.pdfEncryption=Похоже, что в PDF-файле повреждены данные для шифрования. Это может произойти, если PDF-файл был создан с использованием несовместимых методов шифрования. Пожалуйста, сначала попробуйте воспользоваться функцией "Восстановить PDF" или обратитесь к создателю документа за новой копией. +error.fileProcessing=При обработке файла во время операции {0} произошла ошибка: {1} # Generic error message templates -error.toolNotInstalled={0} is not installed -error.toolRequired={0} is required for {1} -error.conversionFailed={0} conversion failed -error.commandFailed={0} command failed -error.algorithmNotAvailable={0} algorithm not available -error.optionsNotSpecified={0} options are not specified -error.fileFormatRequired=File must be in {0} format -error.invalidFormat=Invalid {0} format: {1} -error.endpointDisabled=This endpoint has been disabled by the admin -error.urlNotReachable=URL is not reachable, please provide a valid URL +error.toolNotInstalled={0} не установлен +error.toolRequired={0} требуется для {1} +error.conversionFailed={0} не удалось выполнить преобразование +error.commandFailed={0} команда не выполнена +error.algorithmNotAvailable={0} алгоритм недоступен +error.optionsNotSpecified={0} параметры не указаны +error.fileFormatRequired=Файл должен быть в формате {0} +error.invalidFormat=Недопустимый формат {0}: {1} +error.endpointDisabled=Эта конечная точка была отключена администратором +error.urlNotReachable=URL-адрес недоступен, пожалуйста, укажите действительный URL-адрес # DPI and image rendering messages - used by frontend for dynamic translation # Backend sends: [TRANSLATE:messageKey:arg1,arg2] English message # Frontend parses this and replaces with localized versions using these keys -error.dpiExceedsLimit=DPI value {0} exceeds maximum safe limit of {1}. High DPI values can cause memory issues and crashes. Please use a lower DPI value. -error.pageTooBigForDpi=PDF page {0} is too large to render at {1} DPI. Please try a lower DPI value (recommended: 150 or less). -error.pageTooBigExceedsArray=PDF page {0} is too large to render at {1} DPI. The resulting image would exceed Java's maximum array size. Please try a lower DPI value (recommended: 150 or less). -error.pageTooBigFor300Dpi=PDF page {0} is too large to render at 300 DPI. The resulting image would exceed Java's maximum array size. Please use a lower DPI value for PDF-to-image conversion. +error.dpiExceedsLimit=Значение DPI {0} превышает максимально допустимое значение {1}. Высокие значения DPI могут вызвать проблемы с памятью и сбои в работе. Пожалуйста, используйте меньшее значение DPI. +error.pageTooBigForDpi=Размер PDF-страницы {0} слишком велик для отображения с разрешением {1}. Пожалуйста, попробуйте использовать более низкое значение разрешения (рекомендуется 150 или меньше). +error.pageTooBigExceedsArray=Размер страницы PDF {0} слишком велик для отображения с разрешением {1} DPI. Результирующее изображение превысит максимальный размер массива, поддерживаемый Java. Пожалуйста, попробуйте использовать более низкое значение DPI (рекомендуется 150 или меньше). +error.pageTooBigFor300Dpi=Размер страницы PDF {0} слишком велик для отображения с разрешением 300 точек на дюйм. Результирующее изображение превысит максимальный размер массива, поддерживаемый Java. Пожалуйста, используйте меньшее значение разрешения для преобразования PDF в изображение. # URL and website conversion messages # System requirements messages # Authentication and security messages -error.apiKeyInvalid=API key is not valid. -error.userNotFound=User not found. -error.passwordRequired=Password must not be null. -error.accountLocked=Your account has been locked due to too many failed login attempts. -error.invalidEmail=Invalid email addresses provided. -error.emailAttachmentRequired=An attachment is required to send the email. -error.signatureNotFound=Signature file not found. +error.apiKeyInvalid=Ключ API недействителен. +error.userNotFound=Пользователь не найден. +error.passwordRequired=Пароль не должен быть пустым. +error.accountLocked=Ваша учетная запись была заблокирована из-за слишком большого количества неудачных попыток входа в систему. +error.invalidEmail=Указанный адрес электронной почты неверный. +error.emailAttachmentRequired=Для отправки электронного письма требуется вложение. +error.signatureNotFound=Файл подписи не найден. # File processing messages -error.fileNotFound=File not found with ID: {0} +error.fileNotFound=Файл с идентификатором: {0} не найден # Database and configuration messages -error.noBackupScripts=No backup scripts were found. -error.unsupportedProvider={0} is not currently supported. +error.noBackupScripts=Сценарий резервного копирования не найден +error.unsupportedProvider={0} в настоящее время не поддерживается. error.pathTraversalDetected=Path traversal detected for security reasons. # Validation messages -error.invalidArgument=Invalid argument: {0} -error.argumentRequired={0} must not be null -error.operationFailed=Operation failed: {0} -error.angleNotMultipleOf90=Angle must be a multiple of 90 -error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document -error.fontLoadingFailed=Error processing font file -error.fontDirectoryReadFailed=Failed to read font directory +error.invalidArgument=Недопустимый аргумент: {0} +error.argumentRequired={0} не должно быть null +error.operationFailed=Операция завершилась неудачей: {0} +error.angleNotMultipleOf90=Угол наклона должен быть кратным 90 +error.pdfBookmarksNotFound=В PDF-документе не найдены закладки/сноски +error.fontLoadingFailed=Ошибка при обработке файла шрифта +error.fontDirectoryReadFailed=Не удалось прочитать каталог шрифтов delete=Удалить username=Имя пользователя password=Пароль @@ -260,7 +260,7 @@ disabledCurrentUserMessage=Текущий пользователь не може downgradeCurrentUserLongMessage=Невозможно понизить роль текущего пользователя. Следовательно, текущий пользователь не будет отображаться. userAlreadyExistsOAuthMessage=Пользователь уже существует как пользователь OAuth2. userAlreadyExistsWebMessage=Пользователь уже существует как веб-пользователь. -invalidRoleMessage=Invalid role. +invalidRoleMessage=Недопустимая роль. error=Ошибка oops=Упс! help=Помощь @@ -273,27 +273,27 @@ color=Цвет sponsor=Спонсор info=Информация pro=Pro -proFeatures=Pro Features +proFeatures=Pro-функции page=Страница pages=Страницы loading=Загрузка... addToDoc=Добавить в документ reset=Сбросить apply=Применить -noFileSelected=No file selected. Please upload one. -view=View -cancel=Cancel +noFileSelected=Файл не выбран. Пожалуйста, загрузите его. +view=Смотреть +cancel=Закрыть -back.toSettings=Back to Settings -back.toHome=Back to Home -back.toAdmin=Back to Admin +back.toSettings=Вернуться к настройкам +back.toHome=Вернуться на главную +back.toAdmin=Вернуться в админку legal.privacy=Политика конфиденциальности legal.terms=Условия использования legal.accessibility=Доступность legal.cookie=Политика использования файлов cookie legal.impressum=Выходные данные -legal.showCookieBanner=Cookie Preferences +legal.showCookieBanner=Настройки файлов cookie ############### # Pipeline # @@ -327,7 +327,7 @@ enterpriseEdition.button=Перейти на Pro enterpriseEdition.warning=Эта функция доступна только для пользователей Pro. enterpriseEdition.yamlAdvert=Stirling PDF Pro поддерживает файлы конфигурации YAML и другие функции SSO. enterpriseEdition.ssoAdvert=Ищете больше возможностей управления пользователями? Посмотрите Stirling PDF Pro -enterpriseEdition.proTeamFeatureDisabled=Team management features require a Pro licence or higher +enterpriseEdition.proTeamFeatureDisabled=Для функций управления группой требуется лицензия Pro или выше ################# @@ -408,8 +408,8 @@ account.property=Свойство account.webBrowserSettings=Настройки веб-браузера account.syncToBrowser=Синхронизировать Аккаунт -> Браузер account.syncToAccount=Синхронизировать Аккаунт <- Браузер -account.adminTitle=Administrator Tools -account.adminNotif=You have admin privileges. Access system settings and user management. +account.adminTitle=Инструменты администратора +account.adminNotif=У вас есть права администратора. Вам доступны системные настройки и управление пользователями. adminUserSettings.title=Настройки управления пользователями @@ -441,18 +441,18 @@ adminUserSettings.totalUsers=Всего пользователей: adminUserSettings.lastRequest=Последний запрос adminUserSettings.usage=View Usage adminUserSettings.teams=View/Edit Teams -adminUserSettings.team=Team -adminUserSettings.manageTeams=Manage Teams -adminUserSettings.createTeam=Create Team -adminUserSettings.viewTeam=View Team -adminUserSettings.deleteTeam=Delete Team -adminUserSettings.teamName=Team Name -adminUserSettings.teamExists=Team already exists -adminUserSettings.teamCreated=Team created successfully -adminUserSettings.teamChanged=User's team was updated -adminUserSettings.teamHidden=Hidden -adminUserSettings.totalMembers=Total Members -adminUserSettings.confirmDeleteTeam=Are you sure you want to delete this team? +adminUserSettings.team=Группа +adminUserSettings.manageTeams=Управление группами +adminUserSettings.createTeam=Создать группу +adminUserSettings.viewTeam=Смотреть группу +adminUserSettings.deleteTeam=Удалить группу +adminUserSettings.teamName=Имя группы +adminUserSettings.teamExists=Группа уже существует +adminUserSettings.teamCreated=Группа успешно создана +adminUserSettings.teamChanged=Группа пользователей была обновлена +adminUserSettings.teamHidden=Скрытая +adminUserSettings.totalMembers=Общее количество участников +adminUserSettings.confirmDeleteTeam=Вы уверены, что хотите удалить эту группу? teamCreated=Team created successfully teamExists=A team with that name already exists @@ -538,18 +538,18 @@ home.desc=Ваше локальное решение для всех потре home.searchBar=Поиск функций... -home.viewPdf.title=View/Edit PDF +home.viewPdf.title=Смотреть/Редактировать PDF home.viewPdf.desc=Просмотр, аннотирование, добавление текста или изображений viewPdf.tags=просмотр,чтение,аннотации,текст,изображение -home.setFavorites=Set Favourites -home.hideFavorites=Hide Favourites -home.showFavorites=Show Favourites -home.legacyHomepage=Old homepage -home.newHomePage=Try our new homepage! -home.alphabetical=Alphabetical -home.globalPopularity=Global Popularity -home.sortBy=Sort by: +home.setFavorites=Добавить в избранное +home.hideFavorites=Скрыть из избранного +home.showFavorites=Показать избранное +home.legacyHomepage=Старый вид главной страницы +home.newHomePage=Попробуйте нашу новую главную страницу! +home.alphabetical=Алфавиту +home.globalPopularity=Популярности +home.sortBy=Сортировать по: home.multiTool.title=Мультиинструмент PDF home.multiTool.desc=Объединение, поворот, переупорядочивание и удаление страниц @@ -585,8 +585,8 @@ home.addImage.title=Добавить изображение home.addImage.desc=Добавляет изображение в указанное место PDF addImage.tags=изображение,jpg,картинка,фото -home.attachments.title=Add Attachments -home.attachments.desc=Add or remove embedded files (attachments) to/from a PDF +home.attachments.title=Добавлять вложения +home.attachments.desc=Добавление или удаление встроенных файлов (вложений) в PDF-файл или из него attachments.tags=embed,attach,file,attachment,attachments home.watermark.title=Добавить водяной знак @@ -614,8 +614,8 @@ home.compressPdfs.title=Сжать home.compressPdfs.desc=Сжимайте PDF-файлы для уменьшения их размера. compressPdfs.tags=сжатие,маленький,крошечный -home.unlockPDFForms.title=Unlock PDF Forms -home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document. +home.unlockPDFForms.title=Разблокировать PDF-формы +home.unlockPDFForms.desc=Удалите свойство "только для чтения" для полей формы в PDF-документа. unlockPDFForms.tags=remove,delete,form,field,readonly home.changeMetadata.title=Изменить метаданные @@ -740,20 +740,20 @@ home.HTMLToPDF.desc=Преобразует любой HTML-файл или zip HTMLToPDF.tags=разметка,веб-контент,преобразование,конвертация #eml-to-pdf -home.EMLToPDF.title=Email to PDF -home.EMLToPDF.desc=Converts email (EML) files to PDF format including headers, body, and inline images +home.EMLToPDF.title=Email в PDF +home.EMLToPDF.desc=Преобразует файлы электронной почты (EML) в формат PDF, включая заголовки, основную часть и встроенные изображения EMLToPDF.tags=email,conversion,eml,message,transformation,convert,mail -EMLToPDF.title=Email To PDF -EMLToPDF.header=Email To PDF -EMLToPDF.submit=Convert -EMLToPDF.downloadHtml=Download HTML intermediate file instead of PDF -EMLToPDF.downloadHtmlHelp=This allows you to see the HTML version before PDF conversion and can help debug formatting issues -EMLToPDF.includeAttachments=Include attachments in PDF -EMLToPDF.maxAttachmentSize=Maximum attachment size (MB) -EMLToPDF.help=Converts email (EML) files to PDF format including headers, body, and inline images -EMLToPDF.troubleshootingTip1=Email to HTML is a more reliable process, so with batch-processing it is recommended to save both -EMLToPDF.troubleshootingTip2=With a small number of Emails, if the PDF is malformed, you can download HTML and override some of the problematic HTML/CSS code. +EMLToPDF.title=Email в PDF +EMLToPDF.header=Email в PDF +EMLToPDF.submit=Преобразовать +EMLToPDF.downloadHtml=Загрузить промежуточный файл HTML вместо PDF +EMLToPDF.downloadHtmlHelp=Это позволит вам просмотреть HTML-версию перед преобразованием в PDF и поможет устранить проблемы с форматированием +EMLToPDF.includeAttachments=Включать вложения в формате PDF +EMLToPDF.maxAttachmentSize=Максимальный размер вложения (MB) +EMLToPDF.help=Преобразует файлы электронной почты (EML) в формат PDF, включая заголовки, основную часть и встроенные изображения +EMLToPDF.troubleshootingTip1=Электронная почта в формате HTML является более надежным процессом, поэтому при пакетной обработке рекомендуется сохранять оба +EMLToPDF.troubleshootingTip2=При небольшом количестве электронных писем, если формат PDF искажен, вы можете загрузить HTML и переопределить часть проблемного HTML/CSS-кода. EMLToPDF.troubleshootingTip3=Embeddings, however, do not work with HTMLs home.MarkdownToPDF.title=Markdown в PDF @@ -761,7 +761,7 @@ home.MarkdownToPDF.desc=Преобразует любой файл Markdown в P MarkdownToPDF.tags=разметка,веб-контент,преобразование,конвертация home.PDFToMarkdown.title=PDF to Markdown -home.PDFToMarkdown.desc=Converts any PDF to Markdown +home.PDFToMarkdown.desc=Преобразует любой PDF-файл в формат Markdown PDFToMarkdown.tags=markup,web-content,transformation,convert,md home.getPdfInfo.title=Получить ВСЮ информацию о PDF @@ -875,7 +875,7 @@ login.userIsDisabled=Пользователь деактивирован, вхо login.alreadyLoggedIn=Вы уже вошли в login.alreadyLoggedIn2=устройств(а). Пожалуйста, выйдите из этих устройств и попробуйте снова. login.toManySessions=У вас слишком много активных сессий -login.logoutMessage=You have been logged out. +login.logoutMessage=Вы вышли из системы. #auto-redact autoRedact.title=Автоматическое редактирование @@ -914,7 +914,7 @@ redact.showAttatchments=Показать вложения redact.showLayers=Показать слои (двойной щелчок для сброса всех слоев к состоянию по умолчанию) redact.colourPicker=Выбор цвета redact.findCurrentOutlineItem=Найти текущий элемент структуры -redact.applyChanges=Apply Changes +redact.applyChanges=Применить изменения #showJS showJS.title=Показать Javascript @@ -942,15 +942,15 @@ getPdfInfo.header=Получить информацию о PDF getPdfInfo.submit=Получить информацию getPdfInfo.downloadJson=Скачать JSON getPdfInfo.summary=PDF Summary -getPdfInfo.summary.encrypted=This PDF is encrypted so may face issues with some applications -getPdfInfo.summary.permissions=This PDF has {0} restricted permissions which may limit what you can do with it -getPdfInfo.summary.compliance=This PDF complies with the {0} standard -getPdfInfo.summary.basicInfo=Basic Information -getPdfInfo.summary.docInfo=Document Information -getPdfInfo.summary.encrypted.alert=Encrypted PDF - This document is password protected -getPdfInfo.summary.not.encrypted.alert=Unencrypted PDF - No password protection -getPdfInfo.summary.permissions.alert=Restricted Permissions - {0} actions are not allowed -getPdfInfo.summary.all.permissions.alert=All Permissions Allowed +getPdfInfo.summary.encrypted=Этот PDF-файл зашифрован, поэтому с некоторыми приложениями могут возникнуть проблемы +getPdfInfo.summary.permissions=Этот PDF-файл имеет {0} ограниченные права доступа, которые могут ограничить то, что вы можете с ним делать +getPdfInfo.summary.compliance=Этот PDF-файл соответствует стандарту {0} +getPdfInfo.summary.basicInfo=Основная информация +getPdfInfo.summary.docInfo=Информация о документе +getPdfInfo.summary.encrypted.alert=Зашифрованный PDF-файл - этот документ защищен паролем +getPdfInfo.summary.not.encrypted.alert=Незашифрованный PDF-файл - без защиты паролем +getPdfInfo.summary.permissions.alert=Права доступа ограничены - {0} действия запрещены +getPdfInfo.summary.all.permissions.alert=Полные права доступа getPdfInfo.summary.compliance.alert={0} Compliant getPdfInfo.summary.no.compliance.alert=No Compliance Standards getPdfInfo.summary.security.section=Security Status @@ -974,9 +974,9 @@ MarkdownToPDF.credit=Использует WeasyPrint #pdf-to-markdown -PDFToMarkdown.title=PDF To Markdown -PDFToMarkdown.header=PDF To Markdown -PDFToMarkdown.submit=Convert +PDFToMarkdown.title=PDF в Markdown +PDFToMarkdown.header=PDF в Markdown +PDFToMarkdown.submit=Преобразовать #url-to-pdf @@ -1030,10 +1030,10 @@ sanitizePDF.title=Очистить PDF sanitizePDF.header=Очистить PDF-файл sanitizePDF.selectText.1=Удалить JavaScript-действия sanitizePDF.selectText.2=Удалить встроенные файлы -sanitizePDF.selectText.3=Remove XMP metadata +sanitizePDF.selectText.3=Удалить XMP метаданные sanitizePDF.selectText.4=Удалить ссылки sanitizePDF.selectText.5=Удалить шрифты -sanitizePDF.selectText.6=Remove Document Info Metadata +sanitizePDF.selectText.6=Удалить метаданные с информацией о документе sanitizePDF.submit=Очистить PDF @@ -1182,8 +1182,8 @@ sign.last=Последняя страница sign.next=Следующая страница sign.previous=Предыдущая страница sign.maintainRatio=Переключить сохранение пропорций -sign.undo=Undo -sign.redo=Redo +sign.undo=Отменить +sign.redo=Повторить #repair repair.title=Восстановление @@ -1254,8 +1254,8 @@ compress.title=Сжать compress.header=Сжать PDF compress.credit=Этот сервис использует qpdf для сжатия/оптимизации PDF. compress.grayscale.label=Применить шкалу серого для сжатия -compress.selectText.1=Compression Settings -compress.selectText.1.1=1-3 PDF compression,
4-6 lite image compression,
7-9 intense image compression Will dramatically reduce image quality +compress.selectText.1=Параметры сжатия +compress.selectText.1.1=1-3 сжатие PDF,
4-6 лёгкое сжатие изображений,
7-9 интенсивное сжатие изображений (значительно снижает качество изображений) compress.selectText.2=Уровень оптимизации: compress.selectText.4=Автоматический режим - автоматически настраивает качество для получения точного размера PDF compress.selectText.5=Ожидаемый размер PDF (например, 25MB, 10.8MB, 25KB) @@ -1270,11 +1270,11 @@ addImage.upload=Добавить изображение addImage.submit=Добавить изображение #attachments -attachments.title=Add Attachments -attachments.header=Add attachments -attachments.description=Allows you to add attachments to the PDF -attachments.descriptionPlaceholder=Enter a description for the attachments... -attachments.addButton=Add Attachments +attachments.title=Добавлять вложения +attachments.header=Добавлять вложения +attachments.description=Позволяет добавлять вложения в PDF-файл +attachments.descriptionPlaceholder=Введите описание для вложений... +attachments.addButton=Добавлять вложения #merge merge.title=Объединить @@ -1282,7 +1282,7 @@ merge.header=Объединение нескольких PDF (2+) merge.sortByName=Сортировать по имени merge.sortByDate=Сортировать по дате merge.removeCertSign=Удалить цифровую подпись в объединенном файле? -merge.generateToc=Generate table of contents in the merged file? +merge.generateToc=Сгенерировать оглавление в объединенном файле? merge.submit=Объединить @@ -1301,7 +1301,7 @@ pdfOrganiser.mode.7=Удалить первую pdfOrganiser.mode.8=Удалить последнюю pdfOrganiser.mode.9=Удалить первую и последнюю pdfOrganiser.mode.10=Объединение четных-нечетных -pdfOrganiser.mode.11=Duplicate all pages +pdfOrganiser.mode.11=Дублировать все страницы pdfOrganiser.placeholder=(например, 1,3,2 или 4-8,2,10-12 или 2n-1) @@ -1344,7 +1344,7 @@ decrypt.success=Файл успешно расшифрован. multiTool-advert.message=Эта функция также доступна на нашей странице мультиинструмента. Попробуйте её для улучшенного постраничного интерфейса и дополнительных возможностей! #view pdf -viewPdf.title=View/Edit PDF +viewPdf.title=Смотреть/Редактировать PDF viewPdf.header=Просмотр PDF #pageRemover @@ -1492,9 +1492,9 @@ changeMetadata.selectText.5=Добавить пользовательскую з changeMetadata.submit=Изменить #unlockPDFForms -unlockPDFForms.title=Remove Read-Only from Form Fields -unlockPDFForms.header=Unlock PDF Forms -unlockPDFForms.submit=Remove +unlockPDFForms.title=Удалить поля формы, доступные только для чтения +unlockPDFForms.header=Разблокировать PDF-формы +unlockPDFForms.submit=Удалить #pdfToPDFA pdfToPDFA.title=PDF в PDF/A @@ -1724,12 +1724,12 @@ audit.dashboard.tab.dashboard=Dashboard audit.dashboard.tab.events=Audit Events audit.dashboard.tab.export=Export # Dashboard Charts -audit.dashboard.eventsByType=Events by Type -audit.dashboard.eventsByUser=Events by User -audit.dashboard.eventsOverTime=Events Over Time -audit.dashboard.period.7days=7 Days -audit.dashboard.period.30days=30 Days -audit.dashboard.period.90days=90 Days +audit.dashboard.eventsByType=События по типу +audit.dashboard.eventsByUser=События по пользователю +audit.dashboard.eventsOverTime=События за всё время +audit.dashboard.period.7days=7 дней +audit.dashboard.period.30days=30 дней +audit.dashboard.period.90days=90 дней # Events Tab audit.dashboard.auditEvents=Audit Events @@ -1812,49 +1812,49 @@ cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. #fakeScan -fakeScan.title=Fake Scan -fakeScan.header=Fake Scan -fakeScan.description=Create a PDF that looks like it was scanned -fakeScan.selectPDF=Select PDF: -fakeScan.quality=Scan Quality -fakeScan.quality.low=Low -fakeScan.quality.medium=Medium -fakeScan.quality.high=High -fakeScan.rotation=Rotation Angle -fakeScan.rotation.none=None -fakeScan.rotation.slight=Slight -fakeScan.rotation.moderate=Moderate -fakeScan.rotation.severe=Severe -fakeScan.submit=Create Fake Scan +fakeScan.title=Поддельное сканирование +fakeScan.header=Поддельное сканирование +fakeScan.description=Создайте PDF-файл, который выглядит так, как будто он был отсканирован +fakeScan.selectPDF=Выбрать PDF: +fakeScan.quality=Качество сканирования +fakeScan.quality.low=Низкое +fakeScan.quality.medium=Среднее +fakeScan.quality.high=Хорошее +fakeScan.rotation=Угол поворота +fakeScan.rotation.none=Нет +fakeScan.rotation.slight=Незначительный +fakeScan.rotation.moderate=Умеренный +fakeScan.rotation.severe=Сильный +fakeScan.submit=Создать поддельное сканирование #home.fakeScan -home.fakeScan.title=Fake Scan -home.fakeScan.desc=Create a PDF that looks like it was scanned +home.fakeScan.title=Поддельное сканирование +home.fakeScan.desc=Создайте PDF-файл, который выглядит так, как будто он был отсканирован fakeScan.tags=scan,simulate,realistic,convert # FakeScan advanced settings (frontend) -fakeScan.advancedSettings=Enable Advanced Scan Settings -fakeScan.colorspace=Colorspace -fakeScan.colorspace.grayscale=Grayscale -fakeScan.colorspace.color=Color -fakeScan.border=Border (px) -fakeScan.rotate=Base Rotation (degrees) -fakeScan.rotateVariance=Rotation Variance (degrees) -fakeScan.brightness=Brightness -fakeScan.contrast=Contrast -fakeScan.blur=Blur -fakeScan.noise=Noise -fakeScan.yellowish=Yellowish (simulate old paper) -fakeScan.resolution=Resolution (DPI) +fakeScan.advancedSettings=Включите расширенные параметры сканирования +fakeScan.colorspace=Цветовое пространство +fakeScan.colorspace.grayscale=Оттенки серого +fakeScan.colorspace.color=Цветное +fakeScan.border=Рамка (px) +fakeScan.rotate=Базовый наклон (degrees) +fakeScan.rotateVariance=Скорость вращения (degrees) +fakeScan.brightness=Яркость +fakeScan.contrast=Контраст +fakeScan.blur=Размытие +fakeScan.noise=Шум +fakeScan.yellowish=Желтоватый оттенок (имитация старой бумаги) +fakeScan.resolution=Разрешение (DPI) # Table of Contents Feature -home.editTableOfContents.title=Edit Table of Contents -home.editTableOfContents.desc=Add or edit bookmarks and table of contents in PDF documents +home.editTableOfContents.title=Редактировать оглавление +home.editTableOfContents.desc=Добавление или редактирование закладок и оглавления в PDF-документах editTableOfContents.tags=bookmarks,toc,navigation,index,table of contents,chapters,sections,outline -editTableOfContents.title=Edit Table of Contents -editTableOfContents.header=Add or Edit PDF Table of Contents +editTableOfContents.title=Редактировать оглавление +editTableOfContents.header=Добавление или редактирование закладок и оглавления в PDF-документах editTableOfContents.replaceExisting=Replace existing bookmarks (uncheck to append to existing) editTableOfContents.editorTitle=Bookmark Editor editTableOfContents.editorDesc=Add and arrange bookmarks below. Click + to add child bookmarks.