이 사이트는 아래 오픈소스 소프트웨어를 포함합니다. ================================================================ @rhwp/core 0.8.7 — https://github.com/edwardkim/rhwp ================================================================ MIT License Copyright (c) 2025-2026 Edward Kim Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------------- rhwp에 포함된 제3자 구성요소 (THIRD_PARTY_LICENSES.md 원문) ---------------------------------------------------------------- # Third-Party Licenses rhwp 프로젝트가 사용하는 서드파티 라이브러리 및 리소스의 라이선스 목록이다. 기준 파일: - `Cargo.toml` / `Cargo.lock` (`rhwp` v0.8.7) - `rhwp-studio/package.json` / `rhwp-studio/package-lock.json` - `rhwp-chrome/package.json` / `rhwp-chrome/package-lock.json` - `rhwp-firefox/package.json` / `rhwp-firefox/package-lock.json` - `rhwp-vscode/package.json` / `rhwp-vscode/package-lock.json` - `assets/fonts/FONTS.md` --- ## Rust 크레이트 ### 직접 의존성 | 크레이트 | 버전 | 라이선스 | 저장소 | 비고 | |---------|------|---------|--------|------| | aes | 0.9.2 | MIT OR Apache-2.0 | RustCrypto/block-ciphers | HWPX 암호화 | | base64 | 0.23.1 | MIT OR Apache-2.0 | marshallpierce/rust-base64 | Base64 인코딩 | | blake3 | 1.8.6 | CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception | BLAKE3-team/BLAKE3 | 해시/진단 | | byteorder | 1.5.0 | Unlicense OR MIT | BurntSushi/byteorder | 바이너리 endian 처리 | | cbc | 0.2.1 | MIT OR Apache-2.0 | RustCrypto/block-modes | HWPX 암호화 모드 | | cfb | 0.14.0 | MIT | mdsteele/rust-cfb | OLE Compound File | | cipher | 0.5.2 | MIT OR Apache-2.0 | RustCrypto/traits | 암호 trait | | codepage | 0.1.2 | Apache-2.0 OR MIT | hsivonen/codepage | 코드페이지 처리 | | console_error_panic_hook | 0.1.7 | Apache-2.0/MIT | rustwasm/console_error_panic_hook | WASM panic hook | | crc32fast | 1.5.0 | MIT OR Apache-2.0 | srijs/rust-crc32fast | HWP3 암호 키 검증 | | des | 0.9.0 | MIT OR Apache-2.0 | RustCrypto/block-ciphers | HWP3 암호화 | | ed25519-dalek | 2.2.0 | BSD-3-Clause | dalek-cryptography/curve25519-dalek | capsule 서명 | | embedded-io | 0.7.1 | MIT OR Apache-2.0 | rust-embedded/embedded-hal | IO trait | | encoding_rs | 0.8.35 | (Apache-2.0 OR MIT) AND BSD-3-Clause | hsivonen/encoding_rs | 문자 인코딩 | | flate2 | 1.1.9 | MIT OR Apache-2.0 | rust-lang/flate2-rs | 압축/해제 | | getrandom | 0.4.3 | MIT OR Apache-2.0 | rust-random/getrandom | 서명 키 난수 생성 | | hmac | 0.13.0 | MIT OR Apache-2.0 | RustCrypto/MACs | HWPX 무결성 | | image | 0.25.10 | MIT OR Apache-2.0 | image-rs/image | BMP/JPEG/PNG 디코딩 | | js-sys | 0.3.102 | MIT OR Apache-2.0 | rustwasm/wasm-bindgen | WASM JS interop | | paste | 1.0.15 | MIT OR Apache-2.0 | dtolnay/paste | 매크로 보조 | | pbkdf2 | 0.13.0 | MIT OR Apache-2.0 | RustCrypto/password-hashes | HWPX 키 파생 | | pcx | 0.2.5 | MIT OR Apache-2.0 OR WTFPL | kryptan/pcx | PCX 이미지 디코딩 | | pdf-writer | 0.12.1 | MIT OR Apache-2.0 | typst/pdf-writer | PDF 출력 | | quick-xml | 0.41.0 | MIT | tafia/quick-xml | HWPX XML 파싱 | | resvg | 0.47.0 | Apache-2.0 OR MIT | linebender/resvg | native-skia SVG raster (optional) | | roxmltree | 0.21.1 | MIT OR Apache-2.0 | RazrFalcon/roxmltree | XML 검증·정규화 | | serde | 1.0.229 | MIT OR Apache-2.0 | serde-rs/serde | 직렬화 | | serde_json | 1.0.151 | MIT OR Apache-2.0 | serde-rs/json | JSON 직렬화 | | sha1 | 0.11.0 | MIT OR Apache-2.0 | RustCrypto/hashes | HWPX 암호 키 파생 | | sha2 | 0.11.0 | MIT OR Apache-2.0 | RustCrypto/hashes | 서명·CAS 해시 | | skia-safe | 0.99.0 | MIT | rust-skia/rust-skia | native-skia PNG/PDF backend (optional) | | snafu | 0.9.2 | MIT OR Apache-2.0 | shepmaster/snafu | 에러 처리 | | strum | 0.28.0 | MIT | Peternator7/strum | enum derive | | subsecond | 0.7.10 | MIT OR Apache-2.0 | DioxusLabs/dioxus | 개발 핫패치 (optional) | | subsetter | 0.2.6 | MIT OR Apache-2.0 | typst/subsetter | 폰트 subset | | svg2pdf | 0.13.0 | MIT OR Apache-2.0 | typst/svg2pdf | SVG → PDF | | svgtypes | 0.16.1 | Apache-2.0 OR MIT | linebender/svgtypes | SVG 값 파싱 | | ttf-parser | 0.25.1 | MIT OR Apache-2.0 | harfbuzz/ttf-parser | 폰트 파싱 | | unicode-properties | 0.1.4 | MIT OR Apache-2.0 | unicode-rs/unicode-properties | 유니코드 문자 분류 | | unicode-segmentation | 1.13.3 | MIT OR Apache-2.0 | unicode-rs/unicode-segmentation | grapheme/word segmentation | | unicode-width | 0.2.2 | MIT OR Apache-2.0 | unicode-rs/unicode-width | 문자 폭 계산 | | usvg | 0.45.1 | Apache-2.0 OR MIT | linebender/resvg | SVG 파싱 | | wasm-bindgen | 0.2.125 | MIT OR Apache-2.0 | rustwasm/wasm-bindgen | WASM binding | | wasm-bindgen-test | 0.3.75 | MIT OR Apache-2.0 | rustwasm/wasm-bindgen | WASM 테스트 | | web-sys | 0.3.102 | MIT OR Apache-2.0 | rustwasm/wasm-bindgen | Web API binding | | zip | 8.6.0 | MIT | zip-rs/zip2 | HWPX ZIP 처리 | ### 전체 Rust 의존성 요약 `cargo metadata --locked` 기준 package entry는 247개이며, 그중 registry 또는 Git source를 가진 외부 Rust 크레이트는 243개다. 나머지 4개는 현재 workspace 패키지다. 주요 라이선스군: - MIT / Apache-2.0 dual license 계열 - MIT 단독 - Apache-2.0 OR MIT - BSD-2-Clause / BSD-3-Clause - Zlib - Unlicense - 0BSD - ISC - Unicode-DFS-2016 - CC0-1.0 / Apache-2.0 WITH LLVM-exception (`blake3`) - WTFPL 대체 선택지 포함 (`pcx`, MIT/Apache 선택 가능) > 모든 Rust 의존성은 MIT, Apache-2.0, BSD, Zlib, Unlicense, 0BSD, ISC 등 permissive license 계열이거나 > permissive option을 포함하며, rhwp의 MIT 라이선스와 호환된다. --- ## npm 패키지 ### npm 배포 패키지 | 패키지 | 버전 | 라이선스 | 용도 | |--------|------|---------|------| | @rhwp/core | 0.8.6 | MIT | WASM parser/renderer API | | @rhwp/editor | 0.8.6 | MIT | iframe 기반 웹 에디터 wrapper | ### rhwp-studio | 패키지 | Lock 버전 | 라이선스 | 용도 | |--------|-----------|---------|------| | canvaskit-wasm | 0.42.0 | BSD-3-Clause | CanvasKit 렌더링 backend | | @noble/hashes | 2.4.0 | MIT | 렌더 리소스 키와 문서 digest | | @types/chrome | 0.2.5 | MIT | Chrome API 타입 | | pixelmatch | 7.2.0 | ISC | 시각 diff 픽셀 비교 | | pngjs | 7.0.0 | MIT | 시각 diff PNG 처리 | | puppeteer-core | 25.5.0 | Apache-2.0 | E2E 테스트 / CDP 연결 | | typescript | 7.0.2 | Apache-2.0 | TypeScript 컴파일 | | vite | 8.2.1 | MIT | 개발 서버 + 빌드 | | vite-plugin-pwa | 1.3.0 | MIT | PWA 빌드 보조 | | workbox-window | 7.4.1 | MIT | Service worker runtime 보조 | ### rhwp-chrome / rhwp-firefox | 패키지 | Lock 버전 | 라이선스 | 용도 | |--------|-----------|---------|------| | typescript | 7.0.2 | Apache-2.0 | TypeScript 컴파일 | | vite | 8.2.1 | MIT | 확장 번들 빌드 | ### rhwp-vscode | 패키지 | Lock 버전 | 라이선스 | 용도 | |--------|-----------|---------|------| | @types/node | 18.15.13 | MIT | Node.js 타입 | | @types/vscode | 1.82.0 | MIT | VS Code API 타입 | | @typescript/native | 7.0.2 | Apache-2.0 | TypeScript native preview 컴파일러 | | copy-webpack-plugin | 14.0.0 | MIT | Webpack 파일 복사 | | null-loader | 4.0.1 | MIT | Webpack 로더 | | ts-loader | 9.6.2 | MIT | Webpack TypeScript 로더 | | typescript | 6.0.2 | Apache-2.0 | TypeScript 컴파일 | | webpack | 5.109.2 | MIT | 번들러 | | webpack-cli | 7.2.2 | MIT | Webpack CLI | | @noble/hashes | 2.4.0 | MIT | 문서 digest | | canvaskit-wasm | 0.42.0 | BSD-3-Clause | 자동 선택 CanvasKit backend | ### rhwp-shared `rhwp-shared`는 현재 별도 외부 npm 의존성이 없는 shared source package다. --- ## 웹 폰트 및 폰트 리소스 `assets/fonts/`에 포함된 canonical 폰트 목록이다. 저작권 보호가 필요한 한컴/Microsoft 폰트는 Git에 포함하지 않으며, 세부 파일 목록과 폴백 관계는 `assets/fonts/FONTS.md`를 참조한다. | 폰트/리소스 | 라이선스 | 출처 | 비고 | |-------------|---------|------|------| | Pretendard (9종) | SIL Open Font License 1.1 | github.com/orioncactus/pretendard | Sans-serif fallback | | Noto Serif KR (2종) | SIL Open Font License 1.1 | Google Fonts | Serif fallback | | Noto Sans KR (3종) | SIL Open Font License 1.1 | Google Fonts | Sans-serif fallback | | Nanum Myeongjo (3종) | SIL Open Font License 1.1 | Google Fonts | Serif fallback | | Nanum Gothic (3종) | SIL Open Font License 1.1 | Google Fonts | Sans-serif fallback | | Nanum Gothic Coding (2종) | SIL Open Font License 1.1 | Google Fonts | Monospace fallback | | Gowun Batang (2종) | SIL Open Font License 1.1 | Google Fonts | Serif fallback | | Gowun Dodum | SIL Open Font License 1.1 | Google Fonts | Sans-serif fallback | | D2 Coding (2종) | SIL Open Font License 1.1 | NAVER | Monospace fallback | | Spoqa Han Sans | SIL Open Font License 1.1 | github.com/spoqa/spoqa-han-sans | Sans-serif fallback | | Source Han Serif K Old Hangul subset | SIL Open Font License 1.1 | Adobe / Google | 옛한글 PUA fallback, `SourceHanSerifK-OFL.txt` 동봉 | | Latin Modern Math | GUST Font License | GUST / TeX ecosystem | 수식 fallback | | Cafe24 써라운드 | 카페24 무료 배포 | fonts.cafe24.com | 장식체 | | Cafe24 슈퍼매직 | 카페24 무료 배포 | fonts.cafe24.com | 장식체 | | 행복고딕 (Happiness Sans, 4종) | 무료 배포 | 행복나눔재단 | Sans-serif fallback | --- ## 도구 | 도구 | 라이선스 | 용도 | |------|---------|------| | Docker | Apache-2.0 | WASM 빌드 환경 | | wasm-pack | MIT OR Apache-2.0 | WASM 패키징 | | Chrome DevTools Protocol | BSD-3-Clause | E2E 테스트 / 브라우저 자동화 | | GitHub Actions | GitHub Terms | CI/CD | | npm Trusted Publishing / OIDC | npm Terms | npm 배포 | --- ## 직접 포팅한 알고리즘 ### Volexity hwp-extract - 출처: [volexity/hwp-extract](https://github.com/volexity/hwp-extract), commit `e5f8b5e1590dee973630666e687e919fa70da2e2` - 참조 파일: `src/hwp_extract/encrypt.py` - 적용 위치: `src/parser/crypto.rs`의 HWP5 EncryptVersion 4 키 파생 및 비트 단위 AES-CFB 복호화 - 라이선스: BSD-3-Clause Modified BSD License _Copyright © `2024`, `Volexity, Inc`_ _All rights reserved._ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the `Volexity, Inc` nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL `Volexity, Inc` BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --- ## 참조한 오픈소스 프로젝트 (스펙·설계 참조) rhwp는 아래 프로젝트들의 **코드를 직접 복사하지 않으며**, 공개된 스펙 정보(enum 값·속성 기본값·태그 이름·검증 규칙 등)만 참조한다. Apache-2.0 라이선스 고지 의무는 본 문서, 관련 기술 문서, 그리고 각 참조 파일의 헤더 주석으로 충족한다. | 프로젝트 | 라이선스 | 참조 범위 | rhwp 위치 | |---------|---------|----------|-----------| | [hancom-io/hwpx-owpml-model](https://github.com/hancom-io/hwpx-owpml-model) | Apache-2.0 © 2022 Hancom Inc. | HWPX enum 정의, 속성 기본값, 태그 전체 집합, canonical 속성·자식 순서 | `src/serializer/hwpx/canonical_defaults.rs`, `src/serializer/hwpx/{header,table,shape,picture}.rs`, `mydocs/tech/hwpx_hancom_reference.md` | | [hancom-io/dvc](https://github.com/hancom-io/dvc) | Apache-2.0 © 2022 Hancom Inc. | HWPX 검증 규칙 JSON 스키마, errorCode 체계 | `mydocs/tech/hwpx_dvc_reference.md` | --- ## 라이선스 호환성 rhwp는 **MIT 라이선스**로 배포된다. - MIT, Apache-2.0, BSD, Zlib, Unlicense, 0BSD, ISC, CC0 — MIT와 호환되는 permissive license 계열 - `encoding_rs`의 BSD-3-Clause 조항은 고지 의무를 요구하며, 이 문서로 충족 - `pcx`는 WTFPL 대체 선택지를 포함하지만 MIT/Apache-2.0 선택지가 있어 rhwp MIT 배포와 호환 - 오픈 폰트는 SIL OFL 1.1 또는 GUST Font License 등 재배포 가능한 라이선스만 Git에 포함 - 저작권 보호 대상 폰트(한컴, Microsoft 등)는 Git에 포함하지 않으며 `ttfs/FONTS.md`, `assets/fonts/FONTS.md`에서 목록과 폴백만 관리 --- *이 문서는 `Cargo.toml`, `Cargo.lock`, 각 `package.json`/`package-lock.json`, `assets/fonts/FONTS.md` 기준으로 현행화되었으며, 의존성 업데이트 시 함께 갱신해야 한다.* ================================================================ Noto Sans KR / Noto Serif KR / Noto Sans / Noto Serif / Noto Sans Math / Noto Sans Symbols / Noto Sans Symbols 2 (public/fonts/*.ttf, 서브셋) — SIL Open Font License 1.1 원본: Google Fonts. scripts/build_fonts.py 로 일부 글자만 남겨 재배포 ================================================================ Noto Sans KR, Noto Serif KR: Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source' Noto Sans, Noto Serif: Copyright 2022 The Noto Project Authors (https://github.com/notofonts/latin-greek-cyrillic) Noto Sans Math: Copyright 2022 Google LLC. All Rights Reserved. Noto Sans Symbols, Noto Sans Symbols 2: Copyright 2022 The Noto Project Authors (https://github.com/notofonts/symbols) This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: https://scripts.sil.org/OFL ----------------------------------------------------------- SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ----------------------------------------------------------- PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. "Reserved Font Name" refers to any names specified as such after the copyright statement(s). "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. TERMINATION This license becomes null and void if any of the above conditions are not met. DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. ================================================================ jspdf 4.2.1 (MIT) ================================================================ Copyright (c) 2010-2025 James Hall, https://github.com/MrRio/jsPDF (c) 2015-2025 yWorks GmbH, https://www.yworks.com/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================================ svg2pdf.js 2.8.1 (MIT) ================================================================ The MIT License (MIT) Copyright (c) 2015-2026 yWorks GmbH Copyright (c) 2013-2015 by Vitaly Puzrin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.