diff --git a/Doc/PAGINATION_ISSUES_2026-07-06.md b/Doc/PAGINATION_ISSUES_2026-07-06.md
new file mode 100644
index 0000000..1a8f9fb
--- /dev/null
+++ b/Doc/PAGINATION_ISSUES_2026-07-06.md
@@ -0,0 +1,123 @@
+# 分页问题调查记录(2026-07-06)
+
+调查载体:《宝山辽墓材料与释读》(textReflowable / DTCoreText 路径),iPhone 15 Pro Max 尺寸(430×932,内容区 398×815pt)。当日共调查两个独立问题:
+
+---
+
+## 问题一:页底留空一行多,下一页首行未上移(已修复)
+
+### 现象
+
+第 6 页底部留有约 1.7 行高的空白,第 7 页首行"人目为帝羓,信有之也。[注]"本可容纳在第 6 页。截图实测:行距 75px@3x(25pt),第 6 页底部空隙 138px,足够再排一行。
+
+### 根因链
+
+1. `RDEPUBSemanticMarkerInjector.inferredHints` 给**所有** `
` 打上 `avoidPageBreakInside` 提示——包括行内脚注小图标(``,即"注"字图标)。
+2. `RDEPUBPageBreakPolicy.shouldTreatAvoidHintAsBlockProtection` 本有豁免:`blockKind == .attachment && placement != .centered → 不保护`。但 `applyPaginationSemantics` 按**结束标记的字符串顺序**应用属性:`
` 的结束标记先于外层 `
`,段落随后把图标位置的 `.rdPageBlockKind` 从 `attachment` 覆盖为 `paragraph`;而 `hints` 与 `placement` 因段落不携带这两个属性而幸存。豁免条件因此失效。
+3. `trimmedRangeForAvoidPageBreakInside` 把含注图标的行当作"不可分页块"的行,从页底裁掉(最多 3 行),推到下一页,留下空白。
+
+### 验证手段
+
+- Demo 启动参数 `--demo-pagination-debug` 输出 `[PAGINATION-DEBUG] avoidPageBreakInside removed N lines: …`;修复前被裁的行**全部**含 ``(脚注图标)。
+- 复现命令:`--demo-book-title 宝山 --demo-page 6 --demo-reset-state --demo-clear-cache --demo-pagination-debug`。
+
+### 修复
+
+`RDEPUBPageBreakPolicy.swift`:豁免条件放宽为 `(blockKind == .attachment || placement != nil) && placement != .centered`——不再依赖易被覆盖的 blockKind,只要附件 placement 是行内/基线(非居中)就不锁行。居中插图(bodyPic)的整块保护不受影响;同时覆盖 `s-pic`/`h-pic`/`g-pic` 等生僻字行内小图。
+
+修复后验证:含 `` 的裁剪从多处降为 0;"人目为帝羓"行回到第 6 页且下一段首行补齐;全书页数 280 → 273(消除欠填页)。
+
+> 备选方案(未采用):修 `applyPaginationSemantics` 的嵌套覆盖顺序(内层优先)。会改变列表/表格的 blockRange 语义,风险大。
+
+---
+
+## 问题二:页范围与显示内容度量错配,行中断页(2026-07-07 已定位根因,见文末新增章节)
+
+### 现象
+
+第 10 页最后一行只有孤字"相",第 11 页从"对简化,且无构造细致的翼墙。"开始——断点落在句子中间而非行边界。
+
+### 铁证推理
+
+当前设置下满行 26 字(字号 15、内容宽 398pt)。第 10 页范围要在"…而2号墓的门楼则相"后断开,要求该行装下 **27 字**——当前排版下不可能。**结论:页范围产生于另一套度量(更小字号或更宽版面),与显示时的排版不一致。** 同一套排版中分页断点必然落在行边界,孤字不可能出现。
+
+### 已排除(受控实验)
+
+在 `RDEPUBChapterLoader` 临时加 `--demo-chapter-dump` 转储(typesetString 逐属性段 + 页范围,写入 app Documents,实验后已还原):
+
+- 冷启动(`MISS(fullRender)` 全量渲染分页)与热启动(`HIT(diskSummary)` 复用磁盘页范围)两条路径的字符串与页范围**完全一致**。字体压平、双重 `normalizeReadingAttributes`、语言码缺失(`makeChapterRenderRequest` 未传 `contentLanguageCode`)、`TailNormalizer` 尾页合并均验证为无影响或幂等。
+- 持久缓存键控正确:`RDEPUBChapterCacheKey.renderSignature` 含字体名/字号/行距倍数/lineSpacing/`layoutConfig.cacheSignature`(宽高、四边距、分栏、hyphenation、schemaVersion=17)+ 章节内容哈希。同设置跨启动复用安全。
+
+### 主要嫌疑:会话中改设置的换表过渡态
+
+- 用户两组截图之间调过行距(行距 25pt/页 32 行 → 28pt/页 28 行,字号未变);出现问题时显示总页数 196,既非 1.6 档全量分页(~273)也非 1.8 档(~290)——当时显示的是**未收敛的中间页表**。
+- 代码窗口:
+ - `RDEPUBReaderRuntime.scheduleSettingsPreviewRepagination`:设置面板打开期间只重排**当前章**并 `applySettingsPreviewPageMap` 换部分页表,全量重排推迟到面板关闭(`needsFullRepaginationAfterSettingsClose`)。
+ - `RDEPUBChapterRuntimeStore.chapterDataCache` 仅按 spineIndex 键控(无样式维度);`invalidateAllForSettingsChange` 清空后,**变更前已在飞行中的构建**完成时会把旧样式章节重新 `insertChapter` 插回。
+- 这些窗口里可能出现"旧页范围 + 新排版内容"的错配。
+
+### 待办 / 复现所需
+
+1. 确认触发操作:是否在设置面板调整行距/字号后(未关面板或刚关)翻页出现。
+2. 确认重启 app 后是否自愈(受控实验表明缓存路径本身一致,理应自愈;若不自愈则有持久化的脏状态)。
+3. 修复方向(待复现后定):设置变更代(generation)标记贯穿构建流程,飞行中的旧代构建完成后丢弃、不得插回 store;或 `chapterDataCache` 键加入 renderSignature。
+
+### 经验教训
+
+- 跨启动比较"第 N 页"截图无效:章节渐进加载过程中全局页码会漂移。
+- 判断断点是否合法的快捷方法:数满行字数。断点不在行边界 ⟺ 范围与显示度量不一致。
+
+---
+
+## 相关工具与命令备忘
+
+| 用途 | 方法 |
+|---|---|
+| 分页裁剪日志 | 启动参数 `--demo-pagination-debug` |
+| 自动打开书籍/翻页 | `--demo-book-title 宝山 --demo-page N --demo-clear-cache --demo-reset-state` |
+| 注入阅读设置 | `simctl spawn defaults write cn.shen.ReadViewDemo ssreader.epub.settings -data `,JSON 形如 `{"fontSize":15,"lineHeightMultiple":1.8}` |
+| 截屏 | `xcrun simctl io screenshot <绝对路径>`(相对路径会因只读文件系统失败) |
+| 模拟器 | 预装仅 16/17 系列;`simctl create` 可建 iPhone 15 Pro Max(430×932@3x 与问题截图同尺寸) |
+| 页边界/换行一致性校验 | 启动参数 `--demo-pagination-validate`(RDEPUBTextPageBoundaryValidator,逐页比对显示换行与全章上下文换行,输出 STALE-RANGE / DISPLAY-DIVERGE / DIAGNOSE / ATTR-DIFF) |
+| 设置面板自动翻转 | 启动参数 `--demo-settings-flip`(RDEPUBSettingsFlipAutomation,自动开面板→改行距→关面板→翻页,三种时序) |
+
+---
+
+## 问题二根因(2026-07-07 续查确认)
+
+### 结论
+
+**分页与显示使用同一引擎(DTCoreText/CoreText)但输入字符串不同:分页在“全章字符串”上下文中断行;显示把页内容取成子串后重新断行。`CTTypesetterSuggestLineBreak` 在同一文字、同一属性、同一宽度下,会因字符串上下文不同而在 CJK 标点压缩/悬挂处产生 ±1 字的断点漂移。** 页范围(全章上下文产物)与显示换行(子串产物)在页内任何一行发生漂移,累积到页尾就出现孤字(用户看到的「相」)或半空行。
+
+与缓存、设置换表竞态无关:设置变更只是**搬动了页边界位置**,让某个边界恰好落在漂移点上,症状因此看似随设置变化出现/消失。这同时解释了此前所有观察:冷/热启动转储完全一致(分页自身是一致的,错配发生在分页 vs 显示);重启后"第 N 页"不复现(边界挪走了)。
+
+### 证据(宝山书 spine 3,字号 15 / 行距 1.6 / 宽 398pt)
+
+`--demo-pagination-validate` 基线运行(无任何设置操作)即命中,前 8 页中 5 页分叉。决定性样本 page 8/55 第 11 行(行首 offset 4224):
+
+- 显示端断点 4252(行尾"…可以相"——孤字机制当场复现),全章上下文断点 4253("…可以相当")
+- 逐字符属性 diff:**完全一致**(无 ATTR-DIFF)
+- 对照排版:原始子串 = 4252,段落级上下文 = 4252,**只有全章上下文 = 4253**
+- page 6/55 的上下文探针行宽 408.39 > 框宽 398 —— 标点悬挂/压缩越界的直接证据
+
+即断点差异既不是首行缩进归一化(`normalizedPageContent` 的 firstLineHeadIndent 处理本身是正确的),也不是属性差异,而是 CoreText 断行对字符串上下文(跨段落!)敏感。
+
+### 修复(方案 A,2026-07-07 已实施)
+
+显示端改为**全章上下文排版**:`RDEPUBTextContentView.configure` 取 `page.chapterContent` 的整章副本作为显示内容,`DTCoreTextLayouter(章节副本).layoutFrame(bounds, range: page.contentRange)` 只排当页范围。断行与分页器按构造一致(同串、同起点、同宽)。
+
+配套改动:
+
+- layoutFrame 的 stringRange 因此为**章节绝对坐标**。`RDEPUBPageLayoutSnapshot.build` 去掉 +pageStartOffset 归一(本就输出绝对坐标给消费方),`RDEPUBPageInteractionController` 去掉全部 -pageOffset 反换算;选区/高亮/点击测试/装饰层的消费接口本来就是绝对坐标,无需变动。
+- 主题前景色、暗色图片调整(`RDEPUBDarkImageAdjuster` 新增 `in range:` 参数)、高亮标记只施加在章节副本的当页范围上;`applyHighlightsToContent` 改用绝对 overlap 范围。
+- 删除 DTCoreText 路径对 `normalizedPageContent` 的调用——续段首行缩进/段前距归一化 hack 由上下文排版天然取代(非 DTCoreText 回退路径仍保留)。
+- layouter(framesetter)随显示内容缓存于 cell(`coreTextLayouter`),bounds 变化只重建 layoutFrame,避免每次 layout pass 对整章重建 framesetter。
+- `RDEPUBTextPageBoundaryValidator` 适配绝对坐标,保留为回归警报。
+
+验证:`--demo-pagination-validate` 基线(原先 spine 3 前 8 页 5 处分叉)修复后 **0 命中**;第 10 页首行断点与分页一致(「…使用了更多」);Selection/Annotation UI 测试回归通过(见下)。
+
+### 遗留(独立的潜在缺陷,本次未触发)
+
+- `RDEPUBChapterRuntimeStore.chapterDataCache` 仅按 spineIndex 键控;设置变更时飞行中的旧构建完成后仍会插回(`RDEPUBChapterLoader.loadChapter` 的 `insertChapter` 无代际校验)。
+- `RDEPUBChapterLoader.pendingLoads` 按 spineIndex 合流,跨设置变更合流会把旧样式章节交给新请求。
+- 建议修复问题二后用 `--demo-settings-flip` + `--demo-pagination-validate` 回归验证这两个窗口。
diff --git a/Doc/index.md b/Doc/index.md
index 3c8db04..37384ef 100644
--- a/Doc/index.md
+++ b/Doc/index.md
@@ -37,6 +37,7 @@
| [CHAPTER_RUNTIME.md](CHAPTER_RUNTIME.md) | 章节运行时详解:按需加载、章节窗口协调、页图管理、磁盘缓存、后台补全 |
| [CFI_SUBSYSTEM.md](CFI_SUBSYSTEM.md) | CFI 子系统详解:EPUB CFI 解析、生成、序列化、范围、恢复引擎 |
| [CFI_ISSUES_REVIEW.md](CFI_ISSUES_REVIEW.md) | CFI 实现问题分析报告:11 个问题(3 高 / 5 中 / 3 低),含修复优先级建议 |
+| [PAGINATION_ISSUES_2026-07-06.md](PAGINATION_ISSUES_2026-07-06.md) | 分页问题调查记录:脚注图标 avoid-trim 裁行(已修复)+页范围/显示度量错配行中断页(待复现),含调试命令备忘 |
| [API_REFERENCE.md](API_REFERENCE.md) | 公开 API 参考:RDEPUBReaderController 公开接口、委托协议、配置模型 |
| [当前阅读器问题修复开发清单.md](当前阅读器问题修复开发清单.md) | 基于当前代码实现整理的逐任务开发计划:10 个任务、修改位置、实施步骤、风险点与验收标准 |
| [大书远距目录跳转与后台补全优化方案.md](大书远距目录跳转与后台补全优化方案.md) | 面向大书按需分页模式的完整优化方案:远距目录跳转、后台补全优先级、页图接管协议与分阶段实施路径 |
diff --git a/ReadViewDemo/Pods/Pods.xcodeproj/project.pbxproj b/ReadViewDemo/Pods/Pods.xcodeproj/project.pbxproj
index 1e15a82..7829d71 100644
--- a/ReadViewDemo/Pods/Pods.xcodeproj/project.pbxproj
+++ b/ReadViewDemo/Pods/Pods.xcodeproj/project.pbxproj
@@ -8,989 +8,998 @@
/* Begin PBXBuildFile section */
002685407B9C4D548571DA24AFD6E8F1 /* NSString+Paragraphs.m in Sources */ = {isa = PBXBuildFile; fileRef = B4A7F7402FAEE3A277A8716DDA115C95 /* NSString+Paragraphs.m */; };
- 010EFB280F4FDFBBC75CEFB1FEF1C3C9 /* RDEPUBAnnotationModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 517D111957FC986C0BE0281CA89159AF /* RDEPUBAnnotationModels.swift */; };
+ 005CFC268C4EFCB746393BB9E2F7EF89 /* RDEPUBPageResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05A13D7709B82256F12E52DC6E65F696 /* RDEPUBPageResolver.swift */; };
014449AE560FFF3C628FAE639D043004 /* DTAnchorHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 148B993AB228816D19FCB7CD13874C83 /* DTAnchorHTMLElement.m */; };
- 022C814021FFCE8343CF94BEB39F5EB3 /* DTAnimatedGIF.h in Headers */ = {isa = PBXBuildFile; fileRef = F9D9BEF72311AF9E3239F9B92A9D2842 /* DTAnimatedGIF.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 01AC80DCBF24562307ECFA24A6A945AF /* RDEPUBReaderChapterListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4EB6B49DEC8BCB1ABD8083F9B903101 /* RDEPUBReaderChapterListController.swift */; };
+ 026F7681329B00E35A480F5858301E66 /* UIApplication+DTNetworkActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 730B56BC97DFF2B1E04DD2608055D9E0 /* UIApplication+DTNetworkActivity.m */; };
+ 02A66C86950C9DD663C88120E7C09A81 /* RDEPUBTypesettingPipeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92960C67FEC64C10BA567184834F0DCC /* RDEPUBTypesettingPipeline.swift */; };
+ 02EE41B3F3006A14BADE9BA94D7454D2 /* UIView+DTFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 67DA49B61A249C2B8241D8FE166608C9 /* UIView+DTFoundation.m */; };
+ 02FAC2A406B3445930B8B3CA4A9B4998 /* RDEPUBPageLayoutSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 848DA9852FDF80FAB067E383E1D650C1 /* RDEPUBPageLayoutSnapshot.swift */; };
+ 03BEC4FA94EF8D1DD1A0D9A1187E0176 /* RDEPUBSelectionLoupeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7B0CDC00940C453637FBC66E6C05D89 /* RDEPUBSelectionLoupeView.swift */; };
03D90C831397E8636A33CE557024A136 /* NSMutableAttributedString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 044BEA679671E16EA9BA9AD627750742 /* NSMutableAttributedString+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 041DF6ADC6BC49651B1D25241076C947 /* RDEPUBTextPerformanceSampler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5B003AC0B46623423334F97FEE379B8 /* RDEPUBTextPerformanceSampler.swift */; };
+ 04CF8E10D9B5FCD1EE0637929AE30482 /* RDEPUBReaderTableOfContentsItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 315243CD0784D4E8AF97453BF5848904 /* RDEPUBReaderTableOfContentsItem.swift */; };
0561DF6793C8516F469D9813F5CE3211 /* DTCoreTextLayouter.m in Sources */ = {isa = PBXBuildFile; fileRef = D80A72D8B7941D30246858D840EE1EF5 /* DTCoreTextLayouter.m */; };
- 06F29198808875D4FE864F420CF6DDBE /* RDEPUBChapterWarmupOrchestrator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C66C203D247690A4DDE08BF5A5D56B3B /* RDEPUBChapterWarmupOrchestrator.swift */; };
- 07102A5412AC8C8BA0812CF5F0F77C23 /* RDEPUBReaderSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 277A48279BD4FD22C6C552AAC4F282B2 /* RDEPUBReaderSettings.swift */; };
- 0758EE7A9DEC9BD31DCDAC2CFB03D837 /* URL+ZIP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6430501430329643C8280B3985C48711 /* URL+ZIP.swift */; };
- 08C0E1DFA612AF20B227EB4583BD4EF1 /* RDEPUBCFIParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5E771C978D8EFB4DD05E81447873572 /* RDEPUBCFIParser.swift */; };
- 08E9FC7DEE3A8A6347C38CDDE34F0102 /* RDEPUBWebView+Search.swift in Sources */ = {isa = PBXBuildFile; fileRef = 130135CFECAE1E38379F213C3C298BD1 /* RDEPUBWebView+Search.swift */; };
- 09256EEFCDBDEBF3090658C24D7C4B88 /* wxread-replace-latin.css in Resources */ = {isa = PBXBuildFile; fileRef = 6E7E8438D5E5533B7BE96AC6FA8FD8BD /* wxread-replace-latin.css */; };
- 095FB08EBCD23A3E4A12955EBD443C79 /* RDEPUBReaderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61A1D30B96ADD9D1660073E9207329CF /* RDEPUBReaderDelegate.swift */; };
- 097C7CC4E0B27F7D78515547494AA566 /* RDEPUBJumpSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 943DB891CA340D3E0A65D0267100C3E7 /* RDEPUBJumpSession.swift */; };
- 09B30CACFD89784529196FCA970E706F /* RDEPUBReaderController+DataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C012576F77900AEF84ACA075FF174D12 /* RDEPUBReaderController+DataSource.swift */; };
+ 057A9674B9EE73622350A746C47C478E /* RDEPUBReaderTopToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52816DCF8A866861EFF13A58D6D32CA8 /* RDEPUBReaderTopToolView.swift */; };
+ 0603811BC44846AC6334DB02B797BEFB /* RDEPUBReaderController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75D73CEEFC4AA6AFA6EBF279221F5330 /* RDEPUBReaderController.swift */; };
+ 06F1FB0ED2F7B7830C124D239480AD2C /* RDEPUBWebView+FixedLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8F015377F898E4B0229FF584685390 /* RDEPUBWebView+FixedLayout.swift */; };
+ 06FF798F5DE1149DAB8763B64724E6D0 /* RDEPUBCFIMarkerInjector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11C3B7C93919D787AAC0C4D25E52805A /* RDEPUBCFIMarkerInjector.swift */; };
+ 0771856A5605A336983E6D12A566C042 /* NSDictionary+DTError.m in Sources */ = {isa = PBXBuildFile; fileRef = 45A67761829BBB3974CE24FE50E459EA /* NSDictionary+DTError.m */; };
+ 082E3BF2BAC5436D6A7ECE404707A9E0 /* RDEPUBReaderAssemblyCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A50D413DFA43820BCD76D668C0C7868 /* RDEPUBReaderAssemblyCoordinator.swift */; };
+ 09342D52B30E176B4A1D263799590FC6 /* RDEPUBPageMapReconciliationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC2EC4ECF9C8015EDECE928DCA3CC4B3 /* RDEPUBPageMapReconciliationCoordinator.swift */; };
+ 0A5EF9E22D7DF24CEB0E9F5395C5C2D9 /* RDEPUBReaderBottomToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FDE14B76D550FCBD28D3B30AA9D883D /* RDEPUBReaderBottomToolView.swift */; };
0AAA5BB1DBF584102B15CF8738F1815E /* NSScanner+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 057DBFBFC99448A0B77A3C0DBB13B4A9 /* NSScanner+HTML.m */; };
0ABC4D62588EABAA636441FD9A82C940 /* CTLineUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C6CE93FAA68605C6B90FF844A98E440 /* CTLineUtils.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 0AEAE6D5DA18AA7DF57813BABF4AD048 /* RDEPUBWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09608C067F73D7A137B9F22AF1384DF2 /* RDEPUBWebView.swift */; };
0B6FA1F22150D7F8B1865F41FF70C922 /* DTImage+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = E3CAAC46883B74B071843E5D38B5BF85 /* DTImage+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 0BEA894C5656FF4CCAEDA1F447A31F9C /* RDEPUBAttachmentTooltipOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0886011FDDE07A5C7BBC2168C401EAD2 /* RDEPUBAttachmentTooltipOverlayView.swift */; };
- 0BF855C140122F5D1D410BA83E44DD50 /* DTTiledLayerWithoutFade.m in Sources */ = {isa = PBXBuildFile; fileRef = 23006DBAC610AEB0A4B3EAFEA4FB0567 /* DTTiledLayerWithoutFade.m */; };
- 0C0FD53B17B17CC557667AE50CE8A86B /* Archive+WritingDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2373DCA0FC45287BFC063BEA661B8367 /* Archive+WritingDeprecated.swift */; };
- 0C798C4A69D1C2F7DD26AD589C05F260 /* DTVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = CCC633BF76C79E0B4A6750337D5DCDB8 /* DTVersion.m */; };
- 0CF68C435484E592181D2666B7661988 /* RDReaderFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4C4605A9B7326DBE0CED7EB66A7416F /* RDReaderFlowLayout.swift */; };
- 0EBABF6BEEA7615626818E066C16AF18 /* DTAnimatedGIF.m in Sources */ = {isa = PBXBuildFile; fileRef = A3DE08AC23FE36A6C3F33A04700FDE57 /* DTAnimatedGIF.m */; };
- 0F5153F35326C04F32AC77F5FEB668A5 /* UIView+DTFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 67DA49B61A249C2B8241D8FE166608C9 /* UIView+DTFoundation.m */; };
+ 0D242CECCC8FE1C19BB2D952BBA21D1D /* RDEPUBPageCountCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0742A5B640EA32CFFCB23C98EA7E4E02 /* RDEPUBPageCountCache.swift */; };
+ 0E3FD7C77166CB18C2CF32EECBB7678C /* RDEPUBCFIResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFC3591CDAEE16F7444AC3B176EFDAFD /* RDEPUBCFIResolver.swift */; };
+ 0FC610B1799A81BB1A05C679012C5372 /* wxread-dark.css in Resources */ = {isa = PBXBuildFile; fileRef = EB7C7A670C851744ACBCA45DA70795C8 /* wxread-dark.css */; };
0FCBC8C64D8862F2A0E8794EDADDECBD /* UIFont+DTCoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = 398DC798680E2CA64D46B9E19B380356 /* UIFont+DTCoreText.h */; settings = {ATTRIBUTES = (Public, ); }; };
100BFFBD24F234C095EDB001B8088DB1 /* DTCoreTextLayoutFrameAccessibilityElementGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 4476B58B93EE7476A4762FE0E26E8178 /* DTCoreTextLayoutFrameAccessibilityElementGenerator.m */; };
+ 1021F59A6B7DFA8B0869C7B6D09AFB36 /* NSURL+DTAppLinks.h in Headers */ = {isa = PBXBuildFile; fileRef = A3F7613E99CAA29881A015D0ED969B86 /* NSURL+DTAppLinks.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 102F6AF59C2B2A5C59BE45741F913A37 /* RDEPUBTextLayoutFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E94387C53C6E054A73F8EE89787003D /* RDEPUBTextLayoutFrame.swift */; };
109458F9D48FD4F381F0E40E2DB3D91C /* DTLazyImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = D5DD4142DF33E1BE0B5A057101E851C5 /* DTLazyImageView.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 112DBB191F130CA6D495E71077A80009 /* RDEPUBPaginationModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FCEDA49EDECD7CEEEF8A65685B9870A /* RDEPUBPaginationModels.swift */; };
- 118AB54026EBE9D225066649DE548A7D /* RDEPUBViewportTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B4EAD9C5D3D276887E0AC6A35F10659 /* RDEPUBViewportTypes.swift */; };
11AB1902A68385851FB81E870991F9A0 /* DTImageTextAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = 57642B518C047A428FE1266A09E0513F /* DTImageTextAttachment.m */; };
+ 11D3A99648318629F6FB214C405A81E2 /* RDReaderPreloadController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82B54A69DF5E94D0D1B34E9D31C0D997 /* RDReaderPreloadController.swift */; };
12B4A35B8E40C112E18A7C5511F023E9 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4472755F83C121DE5E1E505D145F6DBE /* CoreText.framework */; };
+ 12B89F026E1CA877A5DB9901F1F84B41 /* RDEPUBBuildDiagnosticsReporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B0AAC7948C4A103B284B0F3DCC1262 /* RDEPUBBuildDiagnosticsReporter.swift */; };
130C3A85D9F9F445222C2E31EC245B0A /* NSScanner+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = DD0A5FF70CDBE87597264762EC20EF43 /* NSScanner+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 14A68E9E3880E51FBA491021429E40B7 /* Archive+MemoryFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFF51E56E09E095C92CB5B9F21384027 /* Archive+MemoryFile.swift */; };
+ 139CF8823D81F64DAE0E06F777B9C4CD /* RDReaderContentCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 410C5BB742936BFF1A02BAB0970CAF34 /* RDReaderContentCell.swift */; };
+ 14AB1A24C2510D7BF36C5E66BE5C0464 /* RDEPUBRuntimeChapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D80571A5CC74FDE8F5CE6E70B50023F /* RDEPUBRuntimeChapter.swift */; };
14BDD9FB7A7AC5C8ABFF8D24C381F3DA /* NSAttributedString+DTCoreText.m in Sources */ = {isa = PBXBuildFile; fileRef = 978449466D53EA6F5D40FCF0F353DDCA /* NSAttributedString+DTCoreText.m */; };
+ 153B1C6A72B6CF391E99A104D1C2422D /* RDEPUBResourceResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 677182E8663D93C2C9E5617999F649C7 /* RDEPUBResourceResolver.swift */; };
15A7ED15DA03DD3B9F26A017D270D1C2 /* DTCSSListStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C24F592C4F38F15DC8C46BE0442B59C /* DTCSSListStyle.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 166B717008CCE1407B5319095FB04439 /* RDEPUBReaderToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF346DB5BE7AF7245DCDDACEFDC59732 /* RDEPUBReaderToolView.swift */; };
- 16B7824735E1261E1F14697461BAEF56 /* Archive.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3E162E0261A5B0850158D3403191E62 /* Archive.swift */; };
- 188C43C05E6BB8EB5DD88514568913DF /* RDReaderView+ContentAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D170B1455CB3C94EFC34D7B67EDC001 /* RDReaderView+ContentAccess.swift */; };
- 18D8C814B264B9DA4BC897F587005B3E /* RDReaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FE1D4A863768FC78F6B76B6A181267C /* RDReaderView.swift */; };
+ 1800E2951954DDB7A2A8F3871A4D1175 /* DTExtendedFileAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = 56E8939081946D090FD77A04F879754C /* DTExtendedFileAttributes.m */; };
+ 184EFEEA4A34812A9891FE7D667A3A98 /* RDEPUBReaderController+ExternalLinks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E381C002AE6ECE51B0B77AA5007FE27 /* RDEPUBReaderController+ExternalLinks.swift */; };
+ 186B46C750706F83ECE93BFA3CACD661 /* RDEPUBBookPageMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 523F6E31441155AAFAC1E88316C623A4 /* RDEPUBBookPageMap.swift */; };
+ 187FC12F4FE210C3276E0F256BBC287F /* RDEPUBBackgroundCoverageStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EB2B007B49D93FC696248480F4CB984 /* RDEPUBBackgroundCoverageStore.swift */; };
191824B2B1E1B0A7DD3B6298100B4B8A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE4821B98DDE6C71411EC139EC6D2762 /* CoreGraphics.framework */; };
- 191C07ED00D17BBF103144D016F5D907 /* RDEPUBPageLayoutSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6901981E3F4F05F9FAC5ECE00D8983E /* RDEPUBPageLayoutSnapshot.swift */; };
- 191F106462110C3B72DC586D721BEB57 /* NSDictionary+DTError.m in Sources */ = {isa = PBXBuildFile; fileRef = 45A67761829BBB3974CE24FE50E459EA /* NSDictionary+DTError.m */; };
- 194722F12D32D0016CD564ACD01C0710 /* RDEPUBJavaScriptBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = A191A2F7DD62299E8945911DC282FFA0 /* RDEPUBJavaScriptBridge.swift */; };
19649ED312D92A6F5D2D6AF4E540CE75 /* DTHorizontalRuleHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 89268DC8F1FBDE4F3167647B6A4F9216 /* DTHorizontalRuleHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 1BC970E8467ECAEB1D53445CC11855A2 /* RDEPUBReaderController+PublicAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29075A60F0C3B46C5143EC971A0D16D4 /* RDEPUBReaderController+PublicAPI.swift */; };
- 1D25B72B2C7F472F87A66B5754B9F756 /* Data+CompressionDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B46EF6F055A721AF370D705D026E9E /* Data+CompressionDeprecated.swift */; };
+ 1A7C6254C0BF1C6C8E1D1D8DED658D52 /* RDEPUBReaderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF393040BF2038B940EA74164A6214F3 /* RDEPUBReaderDelegate.swift */; };
+ 1BBEC939F5D35EEDA2A20D8CE4244A82 /* UIColor+RDEPUBHex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7076326835119DD963CB9ABC0DF78460 /* UIColor+RDEPUBHex.swift */; };
+ 1BE507A499436093EC10EC6E72902516 /* RDEPUBTextRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B35A0451D9A3CF5477258E38D363189 /* RDEPUBTextRenderer.swift */; };
1D460603DCA4A4E5ECFE8FF1F1CACC10 /* DTColorFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4544C4444DCA90E700611D1281969883 /* DTColorFunctions.m */; };
- 1EA2F5468DD943AC4B44C77EAD623852 /* RDEPUBNotePopupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45441D548F125483949D77F61F85AFE3 /* RDEPUBNotePopupViewController.swift */; };
- 1F66D9C63831F3D2D103D49FCAF87DB3 /* Entry+ZIP64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 288589D0B52F73505B43C743D9837578 /* Entry+ZIP64.swift */; };
- 20BE095312DB8DB101C02F8983C5A6E1 /* DTWeakSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C5EB3F8F005C65005C101A9DBE488A /* DTWeakSupport.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 211C3A8308C726611C02F30211A23812 /* RDEPUBChapterSummaryDiskCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4E711A4F76E5BF2095569B5A9B3F5BB /* RDEPUBChapterSummaryDiskCache.swift */; };
+ 1D731AAC78FF62ED86F99DD0285427E5 /* Archive+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55B9309F0BDDDE2C3EE13C97BF2C0F1E /* Archive+Helpers.swift */; };
+ 1E8EB32F9CEB5F27573296A05433CA86 /* RDReaderView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 36606A851BDB5FFF6E9BFFDD7FB72455 /* RDReaderView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 1E9BE89829042FF203DBA620E39BF082 /* RDEPUBCFIUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6CA207039A89EF3323F6FFEA38A1C3F /* RDEPUBCFIUtilities.swift */; };
+ 1E9FF2DE2C53AD68B7278F808358E763 /* RDEPUBTextBookCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 696C8561F8104D867B50A79E1147DE02 /* RDEPUBTextBookCache.swift */; };
+ 1FD443A9AEFF8858D8B039BD378F964D /* RDEPUBWebView+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8E6795B0D648B27CC7EB030E7550566 /* RDEPUBWebView+Configuration.swift */; };
+ 1FEAB861BB1CF892743651C907B28B12 /* RDEPUBReadingLocationModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = E67A535D80CEA637777BC317BCFE28C6 /* RDEPUBReadingLocationModels.swift */; };
+ 20805FA52C28B4FBEF32D3F55FA8C015 /* RDReaderView+ContentAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8BB0B072E5F24B51A6D348D8F9745CC /* RDReaderView+ContentAccess.swift */; };
2203356EEA94A9172BC7902923E43CBE /* DTCoreTextFontCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 25DDD76CA572F0C7AB5A8178CF80169D /* DTCoreTextFontCollection.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 224A7654E294D21374C015DB3050A57B /* DTTiledLayerWithoutFade.h in Headers */ = {isa = PBXBuildFile; fileRef = 0764D155F69503AACFA7AD976825E986 /* DTTiledLayerWithoutFade.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 22D04776C5F0F8CB8DDAC334EAA4FCF3 /* RDEPUBReaderPersistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE90A6C0DA3B5094237AACF4D06C944A /* RDEPUBReaderPersistence.swift */; };
- 240BD2C5D299C399725B5F227F313D46 /* RDEPUBReaderDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8811A5F210087839AA7746D9D4CFEB23 /* RDEPUBReaderDependencies.swift */; };
+ 222066D6F66889D7810BE1F9C135DA22 /* RDEPUBParser+Archive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 482C32ED3E6D23BBCED7BBE64E370A91 /* RDEPUBParser+Archive.swift */; };
+ 233716F1EE82F10DA779D6DD5139CE95 /* RDEPUBBackgroundTrace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3652433CDE5ACCD783B54CBDD0CBB5C6 /* RDEPUBBackgroundTrace.swift */; };
+ 24152828C7910BA76155AD09435B0326 /* RDPlainTextBookBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75F44A99D2304FE5397B4DCD6BABAF2B /* RDPlainTextBookBuilder.swift */; };
24395BEB3C360D9DA5180BFB955B04A0 /* DTAttributedLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EFAE8DFDDEA1E6047289C86D66381C0 /* DTAttributedLabel.m */; };
- 244078AD98E31B83FD032D370F549ED8 /* Archive+Writing.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0218A7B243387C79E099CA947CF243D /* Archive+Writing.swift */; };
2445709667CB3820E51CD4AA915E6943 /* DTHTMLParserTextNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 558FCD3F7E481B782EBFA127486ED15D /* DTHTMLParserTextNode.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 247EA0EE361F6CB4BA1EE9CB7FD17E4E /* epub-bridge.js in Resources */ = {isa = PBXBuildFile; fileRef = 091E53DC8215AED45D88A2ABA24A2140 /* epub-bridge.js */; };
24C5B52FD2AA9C49731DC6859ABA7CDE /* NSDictionary+DTCoreText.m in Sources */ = {isa = PBXBuildFile; fileRef = 78887827FF15DE20865DF3A00660993B /* NSDictionary+DTCoreText.m */; };
- 24E9A646A1B686FD9C6F696E203C19C8 /* FileManager+ZIPDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = F49FC82A04EE9B3B49CBA6CB88ACBC67 /* FileManager+ZIPDeprecated.swift */; };
- 26EEB00355253DED239D675F0DA12E46 /* RDEPUBTextRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B4081F4EC77470F1257F11DB2A4B55D /* RDEPUBTextRenderer.swift */; };
+ 24FB53BAB9B501F996DF90066CB53225 /* epub-bridge.js in Resources */ = {isa = PBXBuildFile; fileRef = 64676B6C8A9F9195A481010213F37B6C /* epub-bridge.js */; };
+ 253969CCB942DD6826234506CC2B2635 /* RDEPUBNavigatorLayoutContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 055B53D0A60DC351390338A48800AE77 /* RDEPUBNavigatorLayoutContext.swift */; };
+ 2620B16F7321A5A1A158E71EE88EEFDB /* DTCustomColoredAccessory.h in Headers */ = {isa = PBXBuildFile; fileRef = BAE45673EE2875DB23FA7BDD61FDE1EF /* DTCustomColoredAccessory.h */; settings = {ATTRIBUTES = (Public, ); }; };
270C5C10028F0BC5A62548326CCB379B /* DTColor+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FAAF640165FC1B4B47C546F80D98B1E /* DTColor+Compatibility.m */; };
- 275DD4A76FB5411D0063B35878480D1F /* RDEPUBWebViewDebug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9117DB8611498A875CF9CF11D092BFA5 /* RDEPUBWebViewDebug.swift */; };
- 279D463D1EAD8ABD6654EF919B9D8F06 /* RDEPUBWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74CB908492A655C93144CB03E59A2CAB /* RDEPUBWebView.swift */; };
- 28E2212F4B36A12943E74DD92D67A7A8 /* RDEPUBParser+Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = E38BEF27B99CFAA178DE8917D69F11F8 /* RDEPUBParser+Package.swift */; };
- 28F019DEE9E4CE70EEF128BCFDF3AD81 /* RDEPUBWebContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A98D6A8053F65B3872BF49A978E18042 /* RDEPUBWebContentView.swift */; };
+ 27CFC84B39BCFB67A6163AAF8E319335 /* NSURL+DTComparing.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F1F7BFB63DE15D627EB8F64829B8AAD /* NSURL+DTComparing.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 27E0CC7EF5D20F0A61D27E439B780BDC /* RDEPUBFixedLayoutTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2159ABBE19F1408CF16A6EF0271404D /* RDEPUBFixedLayoutTemplate.swift */; };
+ 2927A35D1B8067A776EA968F816E7326 /* RDEPUBStyleSheetComposer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0796C7E8BEEA96989FCE6698868366D /* RDEPUBStyleSheetComposer.swift */; };
+ 296BA2D5C5458F0CCF2BA11548275985 /* RDEPUBParser+TOC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43197856E7D06A21EF9B252FD37456A5 /* RDEPUBParser+TOC.swift */; };
+ 29CB36BD8C153BD78CA8B1F28DCF6ACF /* Archive+ReadingDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5193541848D2D1BF115A45D8A730611C /* Archive+ReadingDeprecated.swift */; };
29D9B32DFFC59A157EDEF005DB92A5AC /* DTCoreTextLayoutLine.m in Sources */ = {isa = PBXBuildFile; fileRef = EB850927957E35DB8CE0F109188C99A9 /* DTCoreTextLayoutLine.m */; };
- 2A926090C1E12A6A8CD28E8D06305AF1 /* DTVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C9575F05D72C239E7E6F079BACDF4C7 /* DTVersion.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 2AAB6A070A5D84CF783783F2084187EB /* RDEPUBRenderDiagnosticsCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = B898A07D2E7D8E62F64BD28BAFA3DEFA /* RDEPUBRenderDiagnosticsCollector.swift */; };
2AAF9361720FC2D8FFCA93B5FAE42019 /* NSMutableString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 126E6ACAC7C0427806B58DA8E10BDD78 /* NSMutableString+HTML.m */; };
- 2AD11C72A693A0F3F851ED95D52588FC /* RDEPUBCFIError.swift in Sources */ = {isa = PBXBuildFile; fileRef = CED923CC25493B9CA28F24D209A33540 /* RDEPUBCFIError.swift */; };
- 2AF7BC9CAE7E399AF1AD18F6C24CF447 /* RDEPUBChapterOffsetMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBE38B3A4D9E60E2B1683A475513E46 /* RDEPUBChapterOffsetMap.swift */; };
- 2B008846F9C2624D2A913AE6ED869A2B /* RDEPUBReaderHighlightsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E5956AA678A9521257D99891E823DE2 /* RDEPUBReaderHighlightsViewController.swift */; };
- 2B2EEB3514D2D3BF37F8BCA6CC781B4D /* RDEPUBParser+ReadingProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58C72D7DF4220C0907CE8795E8900E79 /* RDEPUBParser+ReadingProfile.swift */; };
- 2C5CD798B8403E020FEDADEBC8D5AAE9 /* RDEPUBReaderSearchCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C690372BDD5CA6E2A01A295EDE7C24 /* RDEPUBReaderSearchCoordinator.swift */; };
- 2E65C9632095C9EA0FA98EF1F5B21C27 /* RDEPUBReaderChromeCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3FEF8716C99974FB6997BFBF339FD91 /* RDEPUBReaderChromeCoordinator.swift */; };
- 2F4CAA81001F11E515585DA5F50DC1CD /* wxread-replace.css in Resources */ = {isa = PBXBuildFile; fileRef = F81B70DF51F9CD64A7DC5AAF3941F72C /* wxread-replace.css */; };
+ 2BC65213EE316B42A750CE7EC423E1AE /* RDEPUBChapterLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D3A41F50CE425FA2929A6FBE743A84 /* RDEPUBChapterLocation.swift */; };
+ 2BE0013FE0DDC77B462B69584C04E5EF /* RDEPUBCFI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976DBE312D138856488A4DEF88606BC9 /* RDEPUBCFI.swift */; };
+ 2C2DC59C72FEC3C928CBF9D92F8FFDD4 /* RDEPUBModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFEB59EC6040AB3CF58E4E1045A8913 /* RDEPUBModels.swift */; };
+ 2E056A2117F8E13CDE6E665C89A8B1BA /* RDEPUBAttachmentTooltipOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45A7967FB601D8BED750A9E37E7899C /* RDEPUBAttachmentTooltipOverlayView.swift */; };
+ 2F2BA46AF49A6918CC279C5610290542 /* DTCustomColoredAccessory.m in Sources */ = {isa = PBXBuildFile; fileRef = 9542AFE3A82C8AE56576254CE196E71A /* DTCustomColoredAccessory.m */; };
2FD7360250C2255A80583D4CF518FBFA /* DTTextAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = 4944FE0BE3205F2EC91A6A0550D30B75 /* DTTextAttachment.m */; };
30C01FE491C26314F776AD8B2AF136FA /* NSAttributedStringRunDelegates.m in Sources */ = {isa = PBXBuildFile; fileRef = C69C7A531B5E021499D8FBF1DBE0E3BB /* NSAttributedStringRunDelegates.m */; };
- 312374CF0C9CBCDBEFFB71B6AAD7386B /* RDEPUBCFIPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 129154729E86D56457FE6DC7DEEA55B6 /* RDEPUBCFIPath.swift */; };
- 3134ACF38EC778DF668C6DDA8E4473C2 /* RDEPUBChapterLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF8CFF30D6E79EDA9ADA4C8B8B5F52B2 /* RDEPUBChapterLoader.swift */; };
+ 3120641E5E2540AFC3E1F47E0BE4E35B /* RDEPUBPaginationModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 422DAC763888F8667708F7B66F9C701E /* RDEPUBPaginationModels.swift */; };
31B805C50E0E187E6242B0C878C4D30D /* DTCoreTextMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = C495C74844982FAA1B846A2A89023D12 /* DTCoreTextMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 32844568EDF13978B21D3A12652DD1E9 /* NSString+DTFormatNumbers.m in Sources */ = {isa = PBXBuildFile; fileRef = C5005A9E8F746647585CCAB26853E922 /* NSString+DTFormatNumbers.m */; };
+ 328F47247FA2E27D2495C01F1D0729D1 /* RDEPUBSemanticMarkerInjector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F4881006C6FAE4DFADBE2ACE4E9A744 /* RDEPUBSemanticMarkerInjector.swift */; };
+ 333E9440E6755615B7423D2E897C5869 /* FileManager+ZIP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C3F8DF48C6EB28BFD05F5BB49793DDA /* FileManager+ZIP.swift */; };
343E794F88AA503F5139C2244DC1A2B1 /* DTTextAttachmentHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B8FDAF9E8370366F7FA8524CB0D80B3 /* DTTextAttachmentHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 34539BC8F7E91B2997308C21E0B12120 /* RDEPUBParser+Resources.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD161DA5F1982A4BA70B86D3D27455A3 /* RDEPUBParser+Resources.swift */; };
+ 34BBE7EC94EB4244DB72A9C38FACCDDA /* RDEPUBReaderState.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1843DDD87F5732183A424372B8F57F3 /* RDEPUBReaderState.swift */; };
35C5BE59CA712CCDF93D6E7010D93883 /* DTAttributedTextContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = E96C0EEB2032D3CC18F4B37A7C34C84C /* DTAttributedTextContentView.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 36C22841B8927E609AA29CD05D5132B5 /* DTBase64Coding.h in Headers */ = {isa = PBXBuildFile; fileRef = 519087D9CD0F5E440E6D2C3B1AA1DFA2 /* DTBase64Coding.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 36302E89132B67217F8D1B91040072C8 /* NSString+DTFormatNumbers.h in Headers */ = {isa = PBXBuildFile; fileRef = A3BD3ED7913130D32E14D5572CBCC921 /* NSString+DTFormatNumbers.h */; settings = {ATTRIBUTES = (Public, ); }; };
372E907DF08263D0E1AF904F1FCD66EB /* DTTextAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = E853AAB3B09E0662567752431CEF1D33 /* DTTextAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 382705D8475B9DBFAAD8B20BC386F2CF /* RDEPUBParser+Archive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F653BA6E911AE149EB7FF7471D9D9BD /* RDEPUBParser+Archive.swift */; };
+ 383AFA3F295427EA56530C70024DBD2F /* RDEPUBFontFallbackResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29DE76CD63BD47DC86DF55C349B1CF91 /* RDEPUBFontFallbackResolver.swift */; };
389F7C8400F9223C019F2D7825CD2369 /* NSCharacterSet+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F242FC1357DD90FA4FD67E1DB90A837 /* NSCharacterSet+HTML.m */; };
- 39EA92DA1B85B808BA7C6B96E9550BFE /* UIImage+DTFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1300CC5794E609DB8FBA6FFF90A09408 /* UIImage+DTFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 3A14E77E5539416CB3616992AE1908EE /* UIScreen+DTFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = AF436E76C893E223A4F0BE86C1276054 /* UIScreen+DTFoundation.m */; };
- 3A23E0FBA148987E6982F243C17FCDB3 /* RDEPUBCFIMarkerInjector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05ECE185AAFC5A857734DF5495F8E7C2 /* RDEPUBCFIMarkerInjector.swift */; };
- 3A4AE693C64AC6FC51F627954661289C /* RDReaderPagingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7F40EAB66363D681DA68981B17FB492 /* RDReaderPagingController.swift */; };
- 3A5317D34FDA7B91C27C6CA5BEFFB7B3 /* UIApplication+DTNetworkActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 730B56BC97DFF2B1E04DD2608055D9E0 /* UIApplication+DTNetworkActivity.m */; };
- 3B192524D86C6ABC91B555608D15C668 /* RDEPUBStyleSheetBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82BD20A4273D9C421228620048787AD0 /* RDEPUBStyleSheetBuilder.swift */; };
- 3BEE80559815F3BCC244579816B11BAE /* RDEPUBCFIUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE8A25FFCA0AD1D9C167CCEE28D2378A /* RDEPUBCFIUtilities.swift */; };
- 3CCCB46BEB98DC30A241DB039C09EF4A /* epub-fixed-layout.html in Resources */ = {isa = PBXBuildFile; fileRef = 5E958924060294CE9417399BB02AB344 /* epub-fixed-layout.html */; };
+ 3A3A957A1CEC0FF2100DC093C5B0BF81 /* RDReaderSpreadResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 008302A48FE881CADADBCB02832B880B /* RDReaderSpreadResolver.swift */; };
+ 3AD2C1CA7E9FC21A2D74EA080B6D962B /* RDEPUBPageInteractionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1961705269BD266F52EBD357EAE068A5 /* RDEPUBPageInteractionController.swift */; };
+ 3B2F4E4DC50638762591D58890B11DB3 /* RDEPUBPresentationRuntime.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACD11D2C8694B9E3BDD175F1EEBEB64D /* RDEPUBPresentationRuntime.swift */; };
+ 3B9A2BDE8A4970A10A72EF271D89773B /* RDEPUBWebView+JavaScriptBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321FA16FF2FAD7985CCAC14EF5A221D4 /* RDEPUBWebView+JavaScriptBridge.swift */; };
+ 3C5E435F6F4211B7A41CC9B6CC9FA413 /* String+RDEPUB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DFBB7A0C649F48591647E3C08CE6852 /* String+RDEPUB.swift */; };
3DC8F9474FC6A0BB7E81A703CE958966 /* NSAttributedString+DTDebug.h in Headers */ = {isa = PBXBuildFile; fileRef = A8A086525BF509F4581693115438B82B /* NSAttributedString+DTDebug.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 3EF196811F910116B9EBE129278C219E /* RDEPUBDTCoreTextRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E160FF00EF4B6DB318FEDCD72A026F3 /* RDEPUBDTCoreTextRenderer.swift */; };
- 400C60DBDB9C174EAEF5D5D6C5E3497E /* ZIPFoundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D8AB18960B56A997408E3235751624 /* ZIPFoundation-dummy.m */; };
- 4037C1C90ECAA2029911262DA5ACF321 /* Archive+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3C9CA544EBF55130625F6C3AD2ABFB4 /* Archive+Deprecated.swift */; };
- 40DD9B73CA10C5AE995E85263A325144 /* RDEPUBReaderEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F6776D2868DE1A8CAC80752CB023567 /* RDEPUBReaderEnvironment.swift */; };
- 40FD1F3E37657243BDB8B6F651B94C26 /* Entry+Serialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76C1831768CE55090EADD902B29B6CD1 /* Entry+Serialization.swift */; };
- 415EF47917ED52680E29DAC90B4C110A /* RDReaderSpreadResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0786D6430A29C2F90E4832048559BE21 /* RDReaderSpreadResolver.swift */; };
- 416A7BBE1A28D974E1CEA60B22420031 /* RDEPUBTextRendererSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = B55E6E99C6F879CFD19D3674CE20075C /* RDEPUBTextRendererSupport.swift */; };
- 4373F2A4F3253DD14440D8B9FA7A0AD8 /* NSURL+DTComparing.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F1F7BFB63DE15D627EB8F64829B8AAD /* NSURL+DTComparing.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 3FC7C093B838D87DA42A363F11850D9C /* NSFileWrapper+DTCopying.h in Headers */ = {isa = PBXBuildFile; fileRef = B43D7603C0D66635268842EC0A2655AC /* NSFileWrapper+DTCopying.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 404FBD43D1380F605264FD23756845FA /* RDEPUBChapterSummaryDiskCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CA5ED27523EC3D3AFC0F01E05891FBB /* RDEPUBChapterSummaryDiskCache.swift */; };
+ 40F9FE365AD1E9DF0AC2552C9E57F374 /* NSString+DTUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C80941DE172AF972D2247659684D93A /* NSString+DTUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 417B820CB812E2EB595D0A260C3C8B43 /* RDEPUBTextAnchor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F81C81E7CF8B0AE4646712FC2ADD8B0 /* RDEPUBTextAnchor.swift */; };
+ 41A990E0E4CAE5BADCB5E1643D508DFB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; };
+ 42D1958B37CBF9EFB3CEB6A8CAFF76AF /* DTActivityTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 662D30C1E74D1D5122921475F4024F73 /* DTActivityTitleView.m */; };
+ 433265EE781060B73077244642255314 /* RDEPUBPaginationCacheCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 528643F4F0CD2FEC7AD5C0ACA9895D9D /* RDEPUBPaginationCacheCoordinator.swift */; };
44B1FBF893C06F314F8C9BD1405897D8 /* DTCoreTextGlyphRun.m in Sources */ = {isa = PBXBuildFile; fileRef = ED049C791713944233EE10C7A111C691 /* DTCoreTextGlyphRun.m */; };
+ 44D7D8E32201729CC581FC5A0EE319A0 /* RDEPUBReaderDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1718601130E0F134E893F2A5CE605C6 /* RDEPUBReaderDependencies.swift */; };
45133E47CC5FBCF78BFCD38981BA027F /* DTDictationPlaceholderView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C12A4A5BB42D0F68DABBD3BDF103BC5 /* DTDictationPlaceholderView.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 4523590069A7CFC158A4A7DE4571B4B9 /* RDEPUBSearchModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA6B5FFFF22D8A36CC593817C0494CD1 /* RDEPUBSearchModels.swift */; };
- 456A968F9CE6080256CE5B65DBF79AAF /* RDEPUBFragmentMarkerInjector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E8C914D69561C6C9736FCB3C6698CCC /* RDEPUBFragmentMarkerInjector.swift */; };
- 458D53C484D2470508819D1D41376EE7 /* DTFoundationConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F80AC45FB1DBF50E0E3AA4F26BFA676 /* DTFoundationConstants.m */; };
45F90B98546FDBA03AB112DFE859A185 /* DTCSSStylesheet.m in Sources */ = {isa = PBXBuildFile; fileRef = B37118B8D16847B0F82E06A5B33898AB /* DTCSSStylesheet.m */; };
- 4651629ECB6C6EA549A9E880D86B7648 /* UIView+DTFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 29DEA4D201BB179BB6E228E9F688CD4C /* UIView+DTFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 465616864A71819A08EE6637652A11D5 /* RDReaderView+ToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 648D6AC5A8FA53918EDB418D8A36710E /* RDReaderView+ToolView.swift */; };
- 46AEC0EB14BA522889FD7812A1139CB7 /* NSDictionary+DTError.h in Headers */ = {isa = PBXBuildFile; fileRef = 05838D65DEC339C51AADB17346B7E287 /* NSDictionary+DTError.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 46E5721034DC56B07DAF847D01818D1B /* RDEPUBChapterPageCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B62755E9A395FF22E7405C3FE192D5F3 /* RDEPUBChapterPageCounter.swift */; };
46EF32D586FF590CE2C60C66364B9357 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB14A8F8170777DB7CCC3F27C8EA57A /* ImageIO.framework */; };
- 4701EA34789A6B21772EC0B428C8CEF5 /* DTFolderMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = BEA46E51E3616ECEAF0ACCEA9B8C67EF /* DTFolderMonitor.m */; };
- 476C43CF774C35C590EB31D941DBFC0C /* RDEPUBTextBookModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F34FF3B7E71CCE4E9C73115AA710B1C /* RDEPUBTextBookModels.swift */; };
- 490CDA6344D7BD1DA6B7D38EA5CCD199 /* RDEPUBReaderBottomToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A88F1371931B82C966232F059409D412 /* RDEPUBReaderBottomToolView.swift */; };
- 49B5370942C4D7AC9B1E1EF77AA3B5DF /* RDEPUBImageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 254C03130C9163149B80FEBC8128119F /* RDEPUBImageViewController.swift */; };
- 4A0183DE2E5E4464957883E97CB91EC7 /* RDEPUBPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52E599D70519E92FCD9A508E1C821637 /* RDEPUBPreferences.swift */; };
+ 46F7CEDA8A932C39B2536B68CE3889EE /* RDEPUBTextRendererSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E000FE659A8C4AE6C55AE7B9CC951AA /* RDEPUBTextRendererSupport.swift */; };
+ 48580F0EDA4D384E5AA73A9BC814DC20 /* UIView+DTFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 29DEA4D201BB179BB6E228E9F688CD4C /* UIView+DTFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 4907E32CCD484D56610C0399A79D23BD /* DTFolderMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = A8CC38EFEF171FFEE008C32A6319BE6A /* DTFolderMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 4964E6E0330E161B8B118F6B0638236C /* DTFoundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 23588B63FC4026A371F5C683744A664C /* DTFoundation-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 4969CE5602CC934D55680248A5A5ABC1 /* DTLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 199E2ECC77BDAC03F644C20040F042D4 /* DTLog.m */; };
+ 49D58CFE47CAF677E9442BC792640A4C /* RDEPUBTextAnnotationOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFCD03AC792A6CF8550BC44A4339D9FE /* RDEPUBTextAnnotationOverlay.swift */; };
4A13B4E5EA8616A8F09D90BC6EAEEA64 /* CTLineUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FF4A2A7F2C7CFB5DD757BE1A6E59C7B /* CTLineUtils.m */; };
- 4B308D78F9D167B58BDD5695045F7756 /* RDEPUBReaderUIState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56158B68400B5C946109EDFD7555A8A7 /* RDEPUBReaderUIState.swift */; };
- 4B58554A575684981F3BB1A6F90E4124 /* DTHTMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BBE6384315D7F00F5ECFFF67A85AF9 /* DTHTMLParser.m */; };
- 4C317DFF96CA0063EF6CF687527431CC /* RDEPUBPublication.swift in Sources */ = {isa = PBXBuildFile; fileRef = A30017EA232AF10EF5AEF1A20891306E /* RDEPUBPublication.swift */; };
- 4CB9152E2F9F37608FF3BED957CEAA10 /* RDEPUBCFITextAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3170B05B50679D6D7029E693A4A6024 /* RDEPUBCFITextAssertion.swift */; };
+ 4BBDFB14A9E1E663B672696A77A39F0B /* DTCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F653EFBBEDAAC96A34BC93B4211E792 /* DTCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 4CE2C34EB81CD8336960B667033A6325 /* RDEPUBWebView+Search.swift in Sources */ = {isa = PBXBuildFile; fileRef = CADF4452F89F7A5F419D2841FABC8CBC /* RDEPUBWebView+Search.swift */; };
+ 4D66BE87981E3058D5C54D88CEB4EB8F /* RDEPUBCFIGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 104930ADAD326C90EB587485A6BFF755 /* RDEPUBCFIGenerator.swift */; };
4DA6EC46F8968265B96C6D7B2260C4E5 /* DTTextBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = C508E49F6BF9F50B05918C230B033069 /* DTTextBlock.m */; };
+ 4E2123336537AC8648B8B3928D80FD88 /* URL+ZIP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6430501430329643C8280B3985C48711 /* URL+ZIP.swift */; };
4E4939F6592B06D2CA764DCACFB47871 /* NSString+Paragraphs.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B8321AB80CFE0B94537AEA63E9A79F5 /* NSString+Paragraphs.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 4E90223029F18880D771B8A854B1D710 /* NSString+DTUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C80941DE172AF972D2247659684D93A /* NSString+DTUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 4F2B6AFB35C163DBC1F8E20681D46BB9 /* RDEPUBCFIMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0390F2BB06B9CE8FCBCD30D60C154B9 /* RDEPUBCFIMap.swift */; };
4F50C703427747B88405080B221349A1 /* DTLinkButton.h in Headers */ = {isa = PBXBuildFile; fileRef = B12CE4962CDC324FB47FB92D6706D149 /* DTLinkButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 4FD0B3D2431E89EFA74A02280F4DFA54 /* NSURL+DTAppLinks.m in Sources */ = {isa = PBXBuildFile; fileRef = 3453CFB9BDBF6F9D0937EDF5FB2BD07B /* NSURL+DTAppLinks.m */; };
5065D99E1588E8CC60677E74916A5C03 /* DTAttributedTextCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 814315319ED50AF916C3C8A68C0A47A0 /* DTAttributedTextCell.m */; };
- 508227AD9DDEBDCC5811DF5DFE4B72B8 /* RDEPUBReaderController+LocationResolution.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DE569B9F47EAF5135750BCF2E934C0F /* RDEPUBReaderController+LocationResolution.swift */; };
+ 50EBC14A5BB65993E1FAC38130135074 /* ZIPFoundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D8AB18960B56A997408E3235751624 /* ZIPFoundation-dummy.m */; };
51A1B5800D23C355B1712E8D1103780C /* DTTextBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = EA2BF1D7535B036E1356E8DF42A04954 /* DTTextBlock.h */; settings = {ATTRIBUTES = (Public, ); }; };
528DBAC7FCEFC7D6575C1F6CB4399AEA /* DTStylesheetHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A88AA04D7B29A217B432C19AC48AB6B /* DTStylesheetHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 52BEFEA715FD0B9BC31F2F7C44DD188A /* RDEPUBDarkImageAdjuster.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0580E9407862B9D452289BBF1C4CA01 /* RDEPUBDarkImageAdjuster.swift */; };
- 53D4340F38B1EAF75FD1534AE908A11E /* RDEPUBRuntimePageCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2FB12B4D5D80C72658331C61991766C /* RDEPUBRuntimePageCount.swift */; };
- 54FC0EC0F7CE25F7D1E846C8CFFEA363 /* DTCustomColoredAccessory.h in Headers */ = {isa = PBXBuildFile; fileRef = BAE45673EE2875DB23FA7BDD61FDE1EF /* DTCustomColoredAccessory.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 549EA467E837EC2A6054D44B6376423A /* DTBase64Coding.m in Sources */ = {isa = PBXBuildFile; fileRef = E5D4D6E12779C54F17AE98A1E6C9B699 /* DTBase64Coding.m */; };
+ 5510021D8090D3D2051AEB591A7D90BB /* RDEPUBChapterOffsetMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA22FB2A1729AFA909E9AAE06BCDC019 /* RDEPUBChapterOffsetMap.swift */; };
5582735073EBB9F5078E6E8AEEFB646A /* DTCoreTextLayoutLine.h in Headers */ = {isa = PBXBuildFile; fileRef = 37327141DC73DE2D5742BE6F989094CE /* DTCoreTextLayoutLine.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 56EE6779284C6A7868A1AF9F8462EB79 /* RDEPUBParser+TOC.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A0D1E77F50E5274CCC99EEA427C15E /* RDEPUBParser+TOC.swift */; };
+ 57399D051CD4E2CC012F3308031BE592 /* WeReadApi.js in Resources */ = {isa = PBXBuildFile; fileRef = 3AF63806C4793F384C4CF28201BC756C /* WeReadApi.js */; };
57D5228C8A85628772D4D78E7FBEAF3C /* DTDictationPlaceholderTextAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DA0F94C0870C1F0DFADE5E9045E5E6E /* DTDictationPlaceholderTextAttachment.m */; };
- 5856C4A656C1EAD5559B96C283308910 /* RDEPUBSelectionOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEE95CBD7B492C5453D2FFA983C5CC02 /* RDEPUBSelectionOverlayView.swift */; };
- 58571B37B421D30C46E60547A3F572C4 /* RDEPUBPageResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC7BE59730389C1EC7BF65734D0D6776 /* RDEPUBPageResolver.swift */; };
- 58ACB3DC0AC4EA63B6DC65585DC75509 /* DTBase64Coding.m in Sources */ = {isa = PBXBuildFile; fileRef = E5D4D6E12779C54F17AE98A1E6C9B699 /* DTBase64Coding.m */; };
- 591C7326E09322733574F5D607BDDFF7 /* FileManager+ZIP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C3F8DF48C6EB28BFD05F5BB49793DDA /* FileManager+ZIP.swift */; };
- 5966F7524564265D493279F72B6BEF10 /* DTLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 199E2ECC77BDAC03F644C20040F042D4 /* DTLog.m */; };
- 5967C134F418B959CE1967A3CC15A3AF /* RDEPUBBuildDiagnosticsReporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD0C3C872488B6341E22BF47B6F9BBD6 /* RDEPUBBuildDiagnosticsReporter.swift */; };
+ 57E15358F55891E25FA5979425011B2D /* ZIPFoundation-ZIPFoundation_Privacy in Resources */ = {isa = PBXBuildFile; fileRef = CA4A114775B98CEA4A566C18123B145F /* ZIPFoundation-ZIPFoundation_Privacy */; };
+ 58ED82220D20D2DD9ABDAC9ABDD4BB4A /* RDEPUBReaderController+LocationResolution.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9493E87BC278E65DA39B0F098CC01B9 /* RDEPUBReaderController+LocationResolution.swift */; };
+ 5911713F9239050AD67855C5FE5C09CE /* RDEPUBImageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1791083E7546C2EB443048851C122E32 /* RDEPUBImageViewController.swift */; };
597DE4CDF5C674E269F03F6AA0AFFCC1 /* NSAttributedString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 71EE0B4D4D1B3D0A55E903E7E0CA44E7 /* NSAttributedString+HTML.m */; };
- 59A7C28A73DE8E3754AF97C359EE2460 /* RDEPUBChapterData.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1AF2749008FE67A3281B83EE327E41D /* RDEPUBChapterData.swift */; };
- 5A0FD2132C522ED3FFB86E966FE288F9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; };
- 5A3D08398FCDB7FAD5A8210F31AA533C /* cssInjector.js in Resources */ = {isa = PBXBuildFile; fileRef = ECBE8305E343FF00B5DDF4F8F9D18623 /* cssInjector.js */; };
- 5BE96578F3A236ED2544FB20A4996165 /* NSString+DTPaths.h in Headers */ = {isa = PBXBuildFile; fileRef = B76B1E836C34CB755AEE1FBF7DC26BDD /* NSString+DTPaths.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 5BF5ECEFD1384679A310688AFC7160C9 /* RDEPUBReaderTopToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 982FBB7B62F54B7806EAD1C178B6A083 /* RDEPUBReaderTopToolView.swift */; };
- 5C70C7532D7C43C97806677F40FB2336 /* RDEPUBMetadataParseCancellationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 842DE3099F95A155AF00FCEC57A65821 /* RDEPUBMetadataParseCancellationController.swift */; };
+ 5991435101718DD89D53293B2B2CF58E /* RDEPUBTextBookModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33643E88B779A3DB1B3A14C7A194045B /* RDEPUBTextBookModels.swift */; };
+ 59D84D2F01364873C8C8BAB4C33C2261 /* RDEPUBTextPageDecorationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E42A81201784E7976A4C546739DE6ED5 /* RDEPUBTextPageDecorationView.swift */; };
+ 5A06B30AC6A40A95582441D67FC337C9 /* DTTiledLayerWithoutFade.h in Headers */ = {isa = PBXBuildFile; fileRef = 0764D155F69503AACFA7AD976825E986 /* DTTiledLayerWithoutFade.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5ADF1544DE3754D1E2AA8A10BE3CC09A /* RDEPUBReaderSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0901D33C8FF8497CDC7A4365D0D84218 /* RDEPUBReaderSettingsViewController.swift */; };
+ 5B0FDAA3C42B8CB5248BC4ACF21FB3F2 /* NSString+DTFormatNumbers.m in Sources */ = {isa = PBXBuildFile; fileRef = C5005A9E8F746647585CCAB26853E922 /* NSString+DTFormatNumbers.m */; };
+ 5B7E3DABCEB0DED90BD7C9F6FF076384 /* RDEPUBReaderViewportMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7045AD2296EB5CDE847902C39A59F370 /* RDEPUBReaderViewportMonitor.swift */; };
+ 5BBCAA7A6098938497E444933CC62556 /* RDEPUBReaderController+RuntimeBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = E844B3375520F01C6CCE1468B53CCC6C /* RDEPUBReaderController+RuntimeBridge.swift */; };
5D03A5B9DC067875CFEC9D4EA7B059E8 /* DTCoreTextLayoutFrameAccessibilityElementGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 671C2429406FDB36B677F4B6EC85B52F /* DTCoreTextLayoutFrameAccessibilityElementGenerator.h */; settings = {ATTRIBUTES = (Public, ); }; };
5D8D65121E87E419D8D2F23F8AF43673 /* DTColor+Compatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 68D81DF1BB2A14F9C186F75BBA5CF50D /* DTColor+Compatibility.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5DC896B6277CFD4745B6FFC1B65436E9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; };
5E90EBD876ED4E50AB890FB56C4BFA57 /* DTHTMLParserNode.h in Headers */ = {isa = PBXBuildFile; fileRef = D28A3E79D83EA4B807E2D3A5EE086B8B /* DTHTMLParserNode.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 5EE6776180341CF72714528684FA7254 /* ZIPFoundation-ZIPFoundation_Privacy in Resources */ = {isa = PBXBuildFile; fileRef = CA4A114775B98CEA4A566C18123B145F /* ZIPFoundation-ZIPFoundation_Privacy */; };
+ 5EBCDBA71D6A9A0B165DA802A3DB791A /* wxread-default.css in Resources */ = {isa = PBXBuildFile; fileRef = 7667AF77CBF47AFAA7D5F190B16A51FF /* wxread-default.css */; };
+ 5EF29ED9DAD773DB59A8F506A4170C8B /* RDEPUBWebDecorationOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A220EF1E6F5821B91990AAED74A4FFC /* RDEPUBWebDecorationOverlayView.swift */; };
+ 5F91E431D40AE218D7A3774E0A9B4FCC /* RDEPUBCoreTextPageFrameFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09336B106D598DCD38F6B79AEA629066 /* RDEPUBCoreTextPageFrameFactory.swift */; };
+ 5FD041841462D5467C316ABFECA32B75 /* UIColor+RDEPUB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92ED368A3AC26AAF26FEB59577BBF3F4 /* UIColor+RDEPUB.swift */; };
60532A2E06CCFF814933D2FAE6793AE9 /* DTCoreTextLayouter.h in Headers */ = {isa = PBXBuildFile; fileRef = 72225FB74594FCF18DA8064E7DB3947E /* DTCoreTextLayouter.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 606B416E975EF1F02EFC8945656B7C28 /* Archive+BackingConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 765A94769106D14615FFB30EE1BD5E65 /* Archive+BackingConfiguration.swift */; };
+ 609A47F8B6B778E7C09C4A3173716231 /* RDEPUBPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1EAAFA56DA59E80D53DA0DC7C6532D2 /* RDEPUBPreferences.swift */; };
+ 60B755A36A2122D9509C47B59B977F64 /* DTCoreGraphicsUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 0372FD1824BC43F7BD6B337430201420 /* DTCoreGraphicsUtils.m */; };
+ 6112DAD7FA7F9CDFF6798D061A776AA6 /* RDEPUBTextPaginationInterfaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8ED87665B0B64B6E8153C0490203E43B /* RDEPUBTextPaginationInterfaces.swift */; };
61BE3607EABD2657BC71AF8ACB1C25D4 /* DTHTMLAttributedStringBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E1066A8FE63AD2C818E26DDCE62DF58 /* DTHTMLAttributedStringBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 631A75A5E333844E48AB0655E65E8619 /* RDEPUBReaderAssemblyCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7031B493810918D5B50450340CA6652B /* RDEPUBReaderAssemblyCoordinator.swift */; };
- 631E5B681577106CA3DA1EE532B50D75 /* RDEPUBCFICompatibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA33898232E2ED58D3A5B60A8F56BAC6 /* RDEPUBCFICompatibility.swift */; };
- 63DE1ECD08743BC4A556ACA90FDB4BAD /* RDEPUBTypesettingPipeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3424A6DFBC2AC519C7C599F18DCDC89D /* RDEPUBTypesettingPipeline.swift */; };
- 640349287B1EC3A07C397EEE5A4510C7 /* RDEPUBFontFallbackResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F9FE9924520900BBDF724D9903C5309 /* RDEPUBFontFallbackResolver.swift */; };
- 65957BA854E8610EA216E8323B136C5B /* NSURL+DTUnshorten.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A6A858B976D032A3C61540AFF19DEE4 /* NSURL+DTUnshorten.m */; };
+ 6271C496EAB502AD3055465A5D827878 /* Archive+Progress.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE83356F8FBC1801D29CA93C1A190D81 /* Archive+Progress.swift */; };
+ 632192A26D2997E04711F37A141B8099 /* RDEPUBReadingSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314E39CF7ADE645354AC8873D80957CA /* RDEPUBReadingSession.swift */; };
+ 63A0F02E81586CA14D5EFD53E7E09EC5 /* RDEPUBSafeArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA068568A9B92FE52049E190968609A8 /* RDEPUBSafeArea.swift */; };
+ 64F90689CBA4FBC32D6A4D65BAE984A8 /* RDEPUBTextPositionConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BE089AF845973208A11AA41A9B6AAB /* RDEPUBTextPositionConverter.swift */; };
+ 65D4A26423DC3811E2E647A7E6401653 /* RDEPUBReaderSearchBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50BEBB47FE6ED062DE6363BFDCC7D84C /* RDEPUBReaderSearchBarView.swift */; };
6634D568E49F5610242E1454680E5885 /* NSAttributedString+SmallCaps.h in Headers */ = {isa = PBXBuildFile; fileRef = CACF20969583778CAC1BC92BB96F27FD /* NSAttributedString+SmallCaps.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 66E707F0227EB649C9693BBA35384DE9 /* RDEPUBBackgroundCoverageStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F4858380CB626A893FA6803F5574F89 /* RDEPUBBackgroundCoverageStore.swift */; };
67AE2AC8D9B961D45871077774E11FD3 /* DTObjectTextAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 13597E7190F2C08C5906D7D128E43E99 /* DTObjectTextAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 68991FD1C811CDB7C212E0221F7DBD52 /* NSString+DTURLEncoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 131C1D8C96DF2D44A2D4F50C5AEFFF11 /* NSString+DTURLEncoding.m */; };
+ 692CDFFEE07CA9C09D1257448154707D /* RDEPUBCFICompatibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F08538F2728E3B8B81113D12DB74E3A /* RDEPUBCFICompatibility.swift */; };
69674FEA70899F07BE6098AAEC849978 /* DTAccessibilityViewProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AC1E707308CDBC9FFC09CECE3117A9A /* DTAccessibilityViewProxy.m */; };
- 6B4E7177F034E79B8C3F932183E84011 /* NSData+DTCrypto.h in Headers */ = {isa = PBXBuildFile; fileRef = 94705DADD1F09F4162F7D733318238F4 /* NSData+DTCrypto.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 6CAA09C46E273F8880234AA28B07542B /* RDEPUBReaderLoadCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FF7BBD4C881AD7327290471E9484E1F /* RDEPUBReaderLoadCoordinator.swift */; };
- 6CDF59BFF3F212BD65C009C7080542BE /* DTPieProgressIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 173194D38C897D8E38AD8A194E47DB5C /* DTPieProgressIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 6D4144C4D4DF772F31A8362BB63252A8 /* RDEPUBStyleCompatibilityModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5077339D9632D68EDAB64BBEF622E154 /* RDEPUBStyleCompatibilityModels.swift */; };
- 6D7CDF15EC821BD18B9E6FFBDCF8C033 /* RDEPUBReaderConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66D0B6D4C75424B340D7C9861D7DF6F6 /* RDEPUBReaderConfiguration.swift */; };
- 6DA8B5EB829C2AFB0891E6EF583C6C0E /* NSMutableArray+DTMoving.h in Headers */ = {isa = PBXBuildFile; fileRef = 3046397381A83C2F6BAF344B86AD176E /* NSMutableArray+DTMoving.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6B49DC82B42CA0E117265F6CD43EEF8D /* default.css in Resources */ = {isa = PBXBuildFile; fileRef = 47DC174612C98B2CFB4E7D158169139E /* default.css */; };
+ 6BF4DC0E327C667AC9D4709AD022FA7F /* RDEPUBRenderRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 564F072D0966350F4C3986E01EB3EB2C /* RDEPUBRenderRequest.swift */; };
+ 6C906CF9FFC1697C72A93D4FC543B6A3 /* RDEPUBFragmentMarkerInjector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 587C2E270D5414FF4E3786D14BD36694 /* RDEPUBFragmentMarkerInjector.swift */; };
+ 6D705FC78684FAA20879A13095661E8F /* RDEPUBNoteDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0430034A7AFBCEC269D7C46517004DF0 /* RDEPUBNoteDetector.swift */; };
+ 6DD5C44F5661E614F21FE810AFB6E8BE /* RDEPUBSelectionState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71E8149D8D8A8F61C09D98F329F11CA0 /* RDEPUBSelectionState.swift */; };
+ 6E0E63C1AAA2E75F7C040815B6A342DA /* RDEPUBReaderPersistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93A16F63ABA3D0BA695CC9F1F7D6F3DA /* RDEPUBReaderPersistence.swift */; };
6E3D0FDD78ECC20F4B3697ED21D64224 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C2B218B5EAA5831A036BBF7E1EFC1B9 /* MediaPlayer.framework */; };
- 6F9A6FA6D8D87257F9426AF3E118F7E0 /* RDReaderView+CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4682C38E0A66C0E9760FC62C00A327 /* RDReaderView+CollectionView.swift */; };
+ 6E8441F463F68A5FEC44C69BCF77EAD8 /* RDEPUBAnnotationModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 685FE9B1A888D8D05E9AC049787CBC8D /* RDEPUBAnnotationModels.swift */; };
+ 6F0D1C67B483AE83D93F884A04CF6EC8 /* RDURLReaderController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02CABD2C55EE6F8759C2702014273F00 /* RDURLReaderController.swift */; };
+ 6F5B9493A5058F7DD16AEA802C1C76EC /* UIScreen+DTFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C5E29D728B8CD4EABC0B3DD9CD9DE99 /* UIScreen+DTFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6F8ABC6B6D2316E3533A21E86DC3C1A7 /* NSDictionary+DTError.h in Headers */ = {isa = PBXBuildFile; fileRef = 05838D65DEC339C51AADB17346B7E287 /* NSDictionary+DTError.h */; settings = {ATTRIBUTES = (Public, ); }; };
6FA0125F16DDEDAD341DB75DEB084F4B /* DTHTMLWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = B23C5F038DAC52B75213C0760C431F2B /* DTHTMLWriter.m */; };
7027EF8D77D4082C1BB9B80FF61FCADC /* DTCoreTextLayoutFrame+Cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 214F0FC87DE99D3FCE69D98B357F3FFC /* DTCoreTextLayoutFrame+Cursor.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 71AA63D206360F5BEC6B89C738C192F3 /* RDEPUBReaderLocationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1570DC08749A3866877CAF0A6BD877C /* RDEPUBReaderLocationCoordinator.swift */; };
- 7301973ED8F52DCDC8E16A64066C9158 /* RDEPUBBackgroundPriorityPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1776D2B8346E3DE2D2CFF9AA994D50DF /* RDEPUBBackgroundPriorityPolicy.swift */; };
+ 7137779222F4F680762DF31046A48EAE /* DTLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 207CC0EEB74CECEB43A870FF80560E0F /* DTLog.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 7153939E3B654645EC94EA0E03470D23 /* Archive.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3E162E0261A5B0850158D3403191E62 /* Archive.swift */; };
+ 717C9A6838893A778C48AE1A4ADC1D93 /* RDEPUBTextContentInteractionCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D53EA3F44C0602B1BEB2F85B59B32CB3 /* RDEPUBTextContentInteractionCoordinator.swift */; };
+ 71D61645B7F86868B09D2D8628FB02DB /* RDReaderFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56A9260F17C4825708B83598BEC99365 /* RDReaderFlowLayout.swift */; };
+ 72CA345F4639CA9C6AF9C164515070B6 /* RDEPUBReaderLocationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60FB0E099208100165A2E44F44CA76B1 /* RDEPUBReaderLocationCoordinator.swift */; };
730ACB99580C5982DC08D50FC5084D41 /* DTAttributedTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = B4D20A2B33F9F4DD8499FB462DE2731F /* DTAttributedTextView.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 7398A6AEB47EA308F2E93FE03B1A3D06 /* DTFoundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 23588B63FC4026A371F5C683744A664C /* DTFoundation-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 73BB353CA378834928C3946524DF2D12 /* DTLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 207CC0EEB74CECEB43A870FF80560E0F /* DTLog.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 73E26B43FD89D6F9E5D6E53888DCDA0C /* DTBlockFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D2316F422A6C97F95F9CF43E6F8E94F /* DTBlockFunctions.m */; };
+ 73EA755F8A8DD59544C39033CEDDE43F /* NSArray+DTError.h in Headers */ = {isa = PBXBuildFile; fileRef = C7E09A6C247D465CA0EF71B939B2A040 /* NSArray+DTError.h */; settings = {ATTRIBUTES = (Public, ); }; };
7408D293C24C3BD9CBBCBB530B50938B /* Pods-ReadViewDemo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AA0811310099A4BCB3D52683B70DB3D1 /* Pods-ReadViewDemo-dummy.m */; };
+ 741FC27B73B2FC912CE6940374608E74 /* RDEPUBReaderServices.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FDF74546728C05BFEA4B3BC4D6905AF /* RDEPUBReaderServices.swift */; };
7459A1656EDC29D685073B83561B783E /* NSNumber+RomanNumerals.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CFFB65C5D340A4B5C627B3EF02CD127 /* NSNumber+RomanNumerals.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 74794205BE245B73D21939B91C6191C6 /* NSString+DTUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = F3E93C4AC73A09DE1EAE805B0ADE3306 /* NSString+DTUtilities.m */; };
- 75D6249689F5C1F38EBF86A5D5C1490D /* RDEPUBTextLayouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F8C64CB3F3D0B7D4AA66798C740CB20 /* RDEPUBTextLayouter.swift */; };
- 7721B54B344CC91C75F3508F8A38B094 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; };
+ 7528B559334EFD3C17196C52EA4B28F0 /* RDEPUBWebContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F66DD9D0E36BCFB8D70F713B112FFC5A /* RDEPUBWebContentView.swift */; };
+ 75BA64D63D4FEA1DA5BF5C89CAD4963D /* NSURL+DTUnshorten.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A6A858B976D032A3C61540AFF19DEE4 /* NSURL+DTUnshorten.m */; };
+ 76BF72753C25298968F8446D1FEDD9C5 /* RDEPUBPageBreakPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD3430DE68FE0020F68C496C24E87470 /* RDEPUBPageBreakPolicy.swift */; };
+ 7730A0D6848C96EE7307338241444A1D /* DTWeakSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = E4C5EB3F8F005C65005C101A9DBE488A /* DTWeakSupport.h */; settings = {ATTRIBUTES = (Public, ); }; };
7821105EF320619993B3BF7FB90C7ADA /* DTCSSStylesheet.h in Headers */ = {isa = PBXBuildFile; fileRef = 796EF27FF6AA4B62367B6BD9CEBD85A8 /* DTCSSStylesheet.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 78BB61196C1CCF2870544CCCC3D6FCCD /* RDEPUBChapterRuntimeStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D9C9D60B2B26F9890D35189DEBC7580 /* RDEPUBChapterRuntimeStore.swift */; };
+ 789E8F623B7EC480E167CCFB17B32328 /* RDEPUBPaginator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65572083A10EE0C48AA7F493F923BCC0 /* RDEPUBPaginator.swift */; };
78D24D82D98D77E744FF73C9040618A8 /* DTHTMLParserNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 5001C74FB9506AEC71E458047698A4AB /* DTHTMLParserNode.m */; };
- 790C14D6DF0311FD4053970359D34649 /* RDEPUBReaderController+RenderSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF49CE19D9F09A60F438FF3612F43069 /* RDEPUBReaderController+RenderSupport.swift */; };
- 792ACF8BA7BA68E9534E4B8D095690D6 /* NSData+DTCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = F63EBF2BF3000B3391F6E693581EA129 /* NSData+DTCrypto.m */; };
- 79CDB0BF339D6E5BF3D168BBED6553FD /* RDEPUBTextPaginationSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78C97EDF23543CE63904C4D8A066A7A1 /* RDEPUBTextPaginationSupport.swift */; };
- 7A23AEADBD4DD223D472D162A54A6789 /* RDEPUBReaderContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EDB136931B7075E5A4F6BD8E5E2DBE6 /* RDEPUBReaderContext.swift */; };
- 7A34803D14D56A92E9FA400C7305B19B /* wxread-default.css in Resources */ = {isa = PBXBuildFile; fileRef = 0D253DF65322509913DE34899979C30B /* wxread-default.css */; };
- 7A3B9F9A741756370C23FCE449D10FBF /* DTBlockFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 35417EC94F2D58CB80C991F875CE15C2 /* DTBlockFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 797848B2163C1E4E5F1446D9B867BA30 /* epub-fixed-layout.html in Resources */ = {isa = PBXBuildFile; fileRef = C229DC7F5A2BB8C2A3C586FF6CF41D47 /* epub-fixed-layout.html */; };
+ 7A1CB3B032A352C23503837C966FE021 /* RDEPUBReaderController+ContentDelegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3416C45A5E4AEF922A7D3804F0A05EB4 /* RDEPUBReaderController+ContentDelegates.swift */; };
7A48CDFB40202EFD09A2A9AB0EE0770D /* DTCoreTextFontDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EF19AD0EF4889156D46061FB43E0F5D /* DTCoreTextFontDescriptor.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 7A748D28C60A0065C777DE834CA1B5A7 /* RDReaderView+PageCurl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E281F0688B1D356CF1654C6063AE77D /* RDReaderView+PageCurl.swift */; };
+ 7BF06C839584BC5C3F22B7922B2135C0 /* RDEPUBReaderLoadCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77CF002A64746DB8BE37C9DC0941C805 /* RDEPUBReaderLoadCoordinator.swift */; };
7C05F56B62B15EFF344C5CDE4A52B8FB /* DTHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A4E9E54E556A72BC885CCC08B3791C1 /* DTHTMLElement.m */; };
- 7C2173CC58496721A7DCDCBC31840068 /* Archive+Reading.swift in Sources */ = {isa = PBXBuildFile; fileRef = E865600EE9117A9153716299FFA7912D /* Archive+Reading.swift */; };
- 7C68A32E44AAE4EDBEAE68473BB9EDE7 /* RDEPUBNotePopupCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C906FDE0E26C697C4D2FB2502F7D798 /* RDEPUBNotePopupCoordinator.swift */; };
- 7C68BB97D96CCA378A99B1AEDF75F2AA /* RDEPUBCFISerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADA1EB57E3C97548261B7AE9E5975272 /* RDEPUBCFISerializer.swift */; };
- 7D411155326150312CD1649A73AE55A8 /* RDEPUBNavigatorLayoutContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2092D0DAEE6507B0B448DAA0A4888191 /* RDEPUBNavigatorLayoutContext.swift */; };
- 7D6EFD0580A8BCD609B2076F8A6EB4C8 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB14A8F8170777DB7CCC3F27C8EA57A /* ImageIO.framework */; };
- 7DD3E3DDBF44D68361F090E0EB4B0737 /* RDEPUBWebView+FixedLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F41DCAB71A589008105D8C3AB0F8878 /* RDEPUBWebView+FixedLayout.swift */; };
- 7F9B8AAB4623E3CC58C37D8EBFF514B4 /* DTExtendedFileAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = 56E8939081946D090FD77A04F879754C /* DTExtendedFileAttributes.m */; };
+ 7C12C095DE7472FF95E05E35601C3988 /* RDReaderViewProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF55DCBC3A5B0BEC5B1A4C6187F20D38 /* RDReaderViewProtocols.swift */; };
+ 7D68FBD206B150ECFB850BF21DFF1D54 /* NSMutableArray+DTMoving.h in Headers */ = {isa = PBXBuildFile; fileRef = 3046397381A83C2F6BAF344B86AD176E /* NSMutableArray+DTMoving.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 7DC14CAF5CB1827AB6622A3468247D05 /* DTTiledLayerWithoutFade.m in Sources */ = {isa = PBXBuildFile; fileRef = 23006DBAC610AEB0A4B3EAFEA4FB0567 /* DTTiledLayerWithoutFade.m */; };
+ 7E082BDFF91E79A320FFE58301A4611F /* RDEPUBReaderController+TableOfContents.swift in Sources */ = {isa = PBXBuildFile; fileRef = F08981630C2BB2DF438340C175302A5D /* RDEPUBReaderController+TableOfContents.swift */; };
+ 7EC0B3F00E142D2EF8AD8C426519B8FB /* rangy-serializer.js in Resources */ = {isa = PBXBuildFile; fileRef = 1527510DA54482E3557D6BB3EB651015 /* rangy-serializer.js */; };
+ 7F06B128ECF3428FDAB9B0CDAEB50527 /* RDEPUBResourceURLSchemeHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B5686B2CD1ADB2443ECF94B15903873 /* RDEPUBResourceURLSchemeHandler.swift */; };
+ 7F40491F86024E8AFE5253431DD93405 /* NSData+DTCrypto.h in Headers */ = {isa = PBXBuildFile; fileRef = 94705DADD1F09F4162F7D733318238F4 /* NSData+DTCrypto.h */; settings = {ATTRIBUTES = (Public, ); }; };
7F9CC306B17D409DB903DF850FEDA64C /* DTListItemHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B18088896D291E0CE7718DFE82FAC1 /* DTListItemHTMLElement.m */; };
- 7FC6815502492DF1D663D87A2D9AB207 /* DTFoundationConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = FF63F5E8902D6F3F5E845A924EBBC6D3 /* DTFoundationConstants.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 7FDB342E7990D04F20D66B54DD3288F3 /* DTActivityTitleView.h in Headers */ = {isa = PBXBuildFile; fileRef = AF1516035C269F7A41EE064AAB14D562 /* DTActivityTitleView.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 80293565A6D64BAAD1917E1688E7FD5B /* RDEPUBPageInteractionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 252AFCFB40C36621E9C98C6644A56EE6 /* RDEPUBPageInteractionController.swift */; };
- 803C702E95B286938CC3916511A242F4 /* RDEPUBImageViewerCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F17DB32BEDD4A7738B4AC8201E5BD91B /* RDEPUBImageViewerCoordinator.swift */; };
- 8041514FE1856F94EBD1E317A1E9ABBE /* RDEPUBAttachmentNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5847BF261408B9B82FB3BF7A9390AB3 /* RDEPUBAttachmentNormalizer.swift */; };
+ 80922C1B7510E10B313BBC0BC457314B /* RDEPUBReaderPaginationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EF9571672022F0A84D66AC6E6F91305 /* RDEPUBReaderPaginationCoordinator.swift */; };
8099F1E613A15275EF5FC59ED3C73579 /* NSAttributedString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 7805DFC2CB71F5B6BBF7891876360EFB /* NSAttributedString+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 80A9DF9B66A59153F911FB540BB88DAD /* RDEPUBReaderController+AttachmentTooltip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDD971696985E60155A09E16CD844C5 /* RDEPUBReaderController+AttachmentTooltip.swift */; };
- 811584EBB417D8EAC8674773013DA313 /* wxread-dark.css in Resources */ = {isa = PBXBuildFile; fileRef = 8AE69217E6A738AC11FEB58F2603B17F /* wxread-dark.css */; };
811D7CBCD710AE45FF80A4B05BFE444C /* UIFont+DTCoreText.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBA01360577AAD3FD089B6B17C24260 /* UIFont+DTCoreText.m */; };
814D0D63E5FD4AB7231E63064FE9EB5C /* NSAttributedString+DTDebug.m in Sources */ = {isa = PBXBuildFile; fileRef = 5096458D9BD2818F786BC3B61B91EAC7 /* NSAttributedString+DTDebug.m */; };
81905A7717925A17E6B98E934A75B8BA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0834E84632886CDD9911CAB76183F1CE /* QuartzCore.framework */; };
- 81F2EDDCDE14E41755685147F75D02D5 /* RDEPUBHTMLNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0F6036722A2FEED169B57120EB274D1 /* RDEPUBHTMLNormalizer.swift */; };
+ 81B117A37A8476877A9F52EB0E1519F7 /* RDReaderView+ToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83041D1E40ECC246DB5539C712499A09 /* RDReaderView+ToolView.swift */; };
82119A0DC4981CC2AF389C7C4CC08186 /* DTListItemHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DB480D0B78911DBF96986E64A714907 /* DTListItemHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 8329F87853CB379C84A455A9C72F0E97 /* NSFileWrapper+DTCopying.m in Sources */ = {isa = PBXBuildFile; fileRef = D9A812C3E577A3ADC36BAE3FF7AA4D9C /* NSFileWrapper+DTCopying.m */; };
83A4BC9FE4765C9B848DD4925D99F362 /* DTAccessibilityElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D146C3F4B7878B5CE8EFF38765580C2 /* DTAccessibilityElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 83A5346560A82E6CA50BCC12E8D76FBB /* RDEPUBSelectionState.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6E041555AFAC5F8BD987FCA9DAC0949 /* RDEPUBSelectionState.swift */; };
- 851D7CADE59C83C2E79791EFBD2F1B9E /* DTFolderMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = A8CC38EFEF171FFEE008C32A6319BE6A /* DTFolderMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 852C505B9BC6E6CE207559DB6F65F526 /* NSString+DTFormatNumbers.h in Headers */ = {isa = PBXBuildFile; fileRef = A3BD3ED7913130D32E14D5572CBCC921 /* NSString+DTFormatNumbers.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 859B45A8A4A1B9FBEB3002EE8BEE46E1 /* NSArray+DTError.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E5297E7F5769C61C1838962BA76D4F5 /* NSArray+DTError.m */; };
- 892B8712F2112DDFA6619A0913DE30B3 /* UIImage+DTFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 499E135F1FEB31C26EB0EF793A90086C /* UIImage+DTFoundation.m */; };
+ 83E65FA5AC30BF60417B8D6D19556359 /* DTAnimatedGIF.h in Headers */ = {isa = PBXBuildFile; fileRef = F9D9BEF72311AF9E3239F9B92A9D2842 /* DTAnimatedGIF.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 83EA663B7BB067DD5EDF4ABAD045622C /* RDEPUBCFIParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ADCC15F3965570C3568420F9A75845E /* RDEPUBCFIParser.swift */; };
+ 8557BEDD77A0FABC469CDA90D3402C2B /* RDEPUBTextLayouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86526ADF32337683AA173B5FC1E6A94C /* RDEPUBTextLayouter.swift */; };
+ 86D6DD3DAA214DF9228D219A1C15B12A /* RDEPUBTextPageVerticalJustifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCD1EE67D4C520598E5975F0489DCB87 /* RDEPUBTextPageVerticalJustifier.swift */; };
+ 86EB794495FA09BC2E166B43002DAFC5 /* RDEPUBReaderController+PublicAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1859C9EC3263145CE262EC15A12B6BE4 /* RDEPUBReaderController+PublicAPI.swift */; };
+ 879B5366A6BB373F77010F2CCE776F4C /* RDEPUBReaderSearchCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD4E4C38FE23EEF72D4049DBFADB922C /* RDEPUBReaderSearchCoordinator.swift */; };
+ 881E6C18B19215333585C4A16E3F413A /* UIImage+DTFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 499E135F1FEB31C26EB0EF793A90086C /* UIImage+DTFoundation.m */; };
+ 88F114C6286AA4DABEFC5A4A4659C539 /* RDEPUBReaderConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C5B9705D72218CB383307A329C9060B /* RDEPUBReaderConfiguration.swift */; };
8A0A0FB23DB0021ADC9AD0D90631883A /* NSMutableString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 52053ABC9CD3D4A72CD8A22173428AEB /* NSMutableString+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; };
8A35CC67F0AA6B26397C10D756EA34E8 /* DTTextHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = ED9A1EBDA0FD72671C7F6FE15F37B906 /* DTTextHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 8A5A271780D55E365E441781D2143538 /* UIScreen+DTFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C5E29D728B8CD4EABC0B3DD9CD9DE99 /* UIScreen+DTFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 8ABB70BC85808639BE2820ED576705EF /* NSString+DTPaths.m in Sources */ = {isa = PBXBuildFile; fileRef = D30DBDF1EDB20CF83690AC6619AA0C48 /* NSString+DTPaths.m */; };
+ 8A666D6696060E7CD204E87C00BE5B14 /* RDEPUBChapterTailNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59C77DC849EDF86936A25873E674F72 /* RDEPUBChapterTailNormalizer.swift */; };
+ 8AA93AAAC288A910A46B6418DEDBA643 /* RDEPUBPublication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FA2158447C66C1AA074403C4AEF1BD9 /* RDEPUBPublication.swift */; };
+ 8AC8341ED75EF88F3C8EF4B750ADA8E9 /* RDEPUBTextIndexTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80F1F9A3C3AD1C55622B17CA5D503766 /* RDEPUBTextIndexTable.swift */; };
8AC90941E71199090BCED76DE89EFB60 /* DTAttributedTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = F46010C3A0C82AE5ABEC814D7EC6351B /* DTAttributedTextView.m */; };
- 8AFC5D133F47D2D83D972F007FB5E975 /* RDEPUBTextContentInteractionCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890B65045CA1A5D01EDF09F7FD14C6C3 /* RDEPUBTextContentInteractionCoordinator.swift */; };
8B405CE13E7D718A9340A82B52766AB2 /* NSCharacterSet+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = A7E167717A18E0C858C6FD95804249E4 /* NSCharacterSet+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 8B452A6989E55D4D4256B16F379F7831 /* RDEPUBFixedLayoutTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38459BA6DDC11AC3B9574C4E48F48ADC /* RDEPUBFixedLayoutTemplate.swift */; };
- 8BF07B59FD97F89AD9AE7ABE953C5229 /* RDEPUBBackgroundTrace.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4B2389196B50CE10DE62C6DF588B1D9 /* RDEPUBBackgroundTrace.swift */; };
- 8C154F19B995AAAF0BCB771F5CC3A906 /* RDEPUBResourceURLSchemeHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ED2C72C44EE3717E5F3B45933FC5F5C /* RDEPUBResourceURLSchemeHandler.swift */; };
- 8CF6E628158B190D0FFEF62AF059FD12 /* RDEPUBTextBookBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72BE58BB9BF4DCDFDC6D5430AA2E82E9 /* RDEPUBTextBookBuilder.swift */; };
- 8E1DC7355706F3565B8A0B38A59AAED9 /* DTBlockFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D2316F422A6C97F95F9CF43E6F8E94F /* DTBlockFunctions.m */; };
- 8E85166218F63FF359E769813A2444C6 /* RDReaderPreloadController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5D2C72E80EF71ECCFDFE5C476ADADE /* RDReaderPreloadController.swift */; };
+ 8D3C1C271D61E160F1F39548AB40B82D /* RDEPUBReaderHighlightsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4537790EA93442CD0FA48609D7ADDD13 /* RDEPUBReaderHighlightsViewController.swift */; };
+ 8D7B76D2BE87960C41554815520FBFD4 /* RDEPUBParser+Resources.swift in Sources */ = {isa = PBXBuildFile; fileRef = 170D81239AF3CE5CD64BA2E44A505872 /* RDEPUBParser+Resources.swift */; };
+ 8E7372FDB503AAE2B99CAF40DF2083C5 /* DTPieProgressIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BA617294E6371DD7FAC32B61E0873F2 /* DTPieProgressIndicator.m */; };
8E8726381CBCFB1EDB350183456D4EF7 /* DTHTMLParserTextNode.m in Sources */ = {isa = PBXBuildFile; fileRef = E5377786E80195587BF3E8A7589E5925 /* DTHTMLParserTextNode.m */; };
- 8E88C2B80FBFC142610DDB8A57EB8D84 /* RDEPUBChapterCacheKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC5131ADC7B6C3869C5CA5A5CB52C06F /* RDEPUBChapterCacheKey.swift */; };
- 8FCBD7D14FE4C1CF881E0DC8EB0EDD75 /* RDEPUBSemanticMarkerInjector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AE0BE26FBA95F74B6173965BEC302EB /* RDEPUBSemanticMarkerInjector.swift */; };
- 8FFDDFA77ACE0DCC142C857189E867C7 /* Archive+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55B9309F0BDDDE2C3EE13C97BF2C0F1E /* Archive+Helpers.swift */; };
- 91CF281A86EC3D57E8E4D5B5988D7D45 /* RDEPUBReaderRuntime.swift in Sources */ = {isa = PBXBuildFile; fileRef = A12918D1D6A305DDE8B4249CCE38BB1F /* RDEPUBReaderRuntime.swift */; };
- 91EA145D5B76F9BDCD03FB801F3ACB3D /* DTSmartPagingScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 21CCCCAAF832BE9C859BEDDC79B4E9E2 /* DTSmartPagingScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 8FC3334B09D284CB92164B6109124472 /* RDReaderPagingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C99F4EC07FF6B3DD8C8B72E54DEB008 /* RDReaderPagingController.swift */; };
+ 8FC40E552134EC459638871941437C41 /* RDEPUBReaderUIState.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFDE9DF5F8221764CC5AD1218EC24236 /* RDEPUBReaderUIState.swift */; };
91FDA47810CE5CE2C48AED9205AE89B5 /* DTStylesheetHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 354C1C3A74DB75C8B8608D538212A963 /* DTStylesheetHTMLElement.m */; };
- 923002983AC3675E5D249839481F6DDC /* RDEPUBTextBuildPipelineInterfaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59036F71583DAE2641D9DAA567DBD208 /* RDEPUBTextBuildPipelineInterfaces.swift */; };
+ 921EA744654E430A9220D70229C58FF6 /* RDEPUBDarkImageAdjuster.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F899D2164D781FF192129E1C659613F /* RDEPUBDarkImageAdjuster.swift */; };
92C59F96D443525E8833676479FA60C5 /* DTVideoTextAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 50C2868064310B16D2B5FD9901C846DC /* DTVideoTextAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9304920D7E3F5289F47FB0F78FD33CB5 /* default.css in Resources */ = {isa = PBXBuildFile; fileRef = 47DC174612C98B2CFB4E7D158169139E /* default.css */; };
- 932899B4CB64E52B2764F095C3923F1D /* RDEPUBTextAnnotationOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B8EBA6DFDDDD074E804C1689727074E /* RDEPUBTextAnnotationOverlay.swift */; };
- 93760CA1B3EB5AD5D859FBFB7B7F5757 /* RDEPUBTextPageRenderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B879D43D53D77B2C9BA10AE5CDC71CED /* RDEPUBTextPageRenderView.swift */; };
+ 9312AA458DE13E4AAA10D6E6F063F30C /* RDReaderGestureController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE6582B1336C77B6C366DAA669570B4A /* RDReaderGestureController.swift */; };
+ 945A2981673EAAB7C06985B69E0B8B5D /* NSString+DTUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = F3E93C4AC73A09DE1EAE805B0ADE3306 /* NSString+DTUtilities.m */; };
+ 9478E840174081089888DA0CA4AB6F01 /* RDEPUBTextPaginationSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4609798012DB9C5B85641224CD6081D /* RDEPUBTextPaginationSupport.swift */; };
+ 94C4899B76DF8F45F3E49243780A055D /* RDEPUBMetadataParseCancellationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 995E88CDC3691BA531FF7951E4C809EC /* RDEPUBMetadataParseCancellationController.swift */; };
94F5846979DBC90E2B646E975F5ECBA8 /* DTHTMLWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 14E63A0D35D4A07BD0123021EA161C99 /* DTHTMLWriter.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 952DAB01617035A1AD4F1A794BB5A850 /* RDEPUBAttachmentTooltipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90FB64A00D5B29274A1EDAFD38A2A8B9 /* RDEPUBAttachmentTooltipView.swift */; };
- 96004CF12BD7134A79FA77102546C620 /* Archive+ZIP64.swift in Sources */ = {isa = PBXBuildFile; fileRef = D18519BCA8FAA9B01A704A0F0B9FFC78 /* Archive+ZIP64.swift */; };
+ 96FEC32CA46D2AB578F12624B72D2E9C /* DTFoundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FF1C41D226C0957F715EFF3F23893386 /* DTFoundation-dummy.m */; };
+ 9822E3B0CC3AF9A72FC29DEC11ECEAAF /* Archive+Reading.swift in Sources */ = {isa = PBXBuildFile; fileRef = E865600EE9117A9153716299FFA7912D /* Archive+Reading.swift */; };
+ 98444DBE3A27073D4853E86F5CAD39C1 /* RDEPUBCFIRecoveryEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35803D654BE44326A28A0947DD178B63 /* RDEPUBCFIRecoveryEngine.swift */; };
9854DC3F1763B6272C2EA3FC6EC40B95 /* NSAttributedStringRunDelegates.h in Headers */ = {isa = PBXBuildFile; fileRef = 30EB4CF4AD4114DE53786C318621EB19 /* NSAttributedStringRunDelegates.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9872A011777E0E50DDD196FA54ED0284 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB14A8F8170777DB7CCC3F27C8EA57A /* ImageIO.framework */; };
987538B07E11741899878EA8BC947F51 /* NSCoder+DTCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = A592A34CA2EA792DDFAFAEB516FE8A10 /* NSCoder+DTCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9914ED7075FAF9F04BB3C4154952C9B9 /* DTFoundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FF1C41D226C0957F715EFF3F23893386 /* DTFoundation-dummy.m */; };
+ 989D55577D97CF4AEDF31A7A2BB2CF78 /* Entry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D93C2002AAECD29B3ED5A14026D3DFE /* Entry.swift */; };
9917E9B804CD33AF3BE2A992A3510C97 /* NSNumber+RomanNumerals.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E21B10EE150F00F245D297EAB7F2BA2 /* NSNumber+RomanNumerals.m */; };
992B7C8C824B5EA190EF1DB096064DB7 /* DTDictationPlaceholderTextAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = D0856C3894240A673B5AB7C2704E9144 /* DTDictationPlaceholderTextAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 999817CC2779F3811583CDAA23A26213 /* RDEPUBTextPositionConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A971ECCC1DDFDE6D5417E949E3B1FD2 /* RDEPUBTextPositionConverter.swift */; };
- 9A4C1165863623D562E7DB43A6CBC62A /* RDEPUBMetadataParseWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDA3C47F4EB23BAB5E96FD4DF3DFA59D /* RDEPUBMetadataParseWorker.swift */; };
- 9ABA0CB256F84F56B971D4EAA8019C9A /* RDEPUBTextAnchor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAAB1142496F4E594573D85EF76670A8 /* RDEPUBTextAnchor.swift */; };
+ 9968BDA6D208A701E8014B01B9683683 /* RDReaderView+PageCurl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 499C327E148794A7F09BAF1C83BE59EF /* RDReaderView+PageCurl.swift */; };
9B199D71D2F48B2055A7FDF9BD7051CC /* NSString+CSS.m in Sources */ = {isa = PBXBuildFile; fileRef = 8718F2DB8F0DC085CB012D9996596F3F /* NSString+CSS.m */; };
+ 9B1CEC717F3D521122785DB02A077BED /* wxread-replace-latin.css in Resources */ = {isa = PBXBuildFile; fileRef = 4F5A145710C3E212B771C4E38BED9926 /* wxread-replace-latin.css */; };
9BD146F72B29C703798001F138B069C2 /* NSCoder+DTCompatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 753994141ACB981C898B36B761321C23 /* NSCoder+DTCompatibility.m */; };
- 9C31FA2081B8126C6634902705D6434A /* RDEPUBCFIMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 427D3D938726077995A928BFEDDC6632 /* RDEPUBCFIMap.swift */; };
- 9D41E4DA56705B0149988B175623233D /* WeReadApi.js in Resources */ = {isa = PBXBuildFile; fileRef = F46977FAF9F0EAEDF840BDA49288CC99 /* WeReadApi.js */; };
+ 9D4364E686CE29303EEA24086C549C2A /* RDEPUBNoteModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D0BFFD14B93A2F313B937F14652738C /* RDEPUBNoteModels.swift */; };
9DE04C83A68C7512C0A860FFF5CEC113 /* DTCoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CF7CEB31BED0554F3EF3D3442A89B47 /* DTCoreText.h */; settings = {ATTRIBUTES = (Public, ); }; };
9E4AB71DE8B3E7218B53B2C8EF6B843A /* DTAttributedTextContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7203B4D9D997037E0F9D154A3B049738 /* DTAttributedTextContentView.m */; };
- 9E85C29B5E66B3CBDA79C8C04770B169 /* UIColor+RDEPUB.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE51FACCCAC4F6FE003BD3914F7B9071 /* UIColor+RDEPUB.swift */; };
- 9EA64874ED208ECC988584D8D6346033 /* NSFileWrapper+DTCopying.h in Headers */ = {isa = PBXBuildFile; fileRef = B43D7603C0D66635268842EC0A2655AC /* NSFileWrapper+DTCopying.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9F03124BA4BCE5C24E3E2B879205DF47 /* RDPlainTextBookBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2739EAD69AB2F5F6FA80E254D294440D /* RDPlainTextBookBuilder.swift */; };
- A12DBBB039A09A7F1BB62E384E41E190 /* RDEPUBSafeArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DD088C35A5559FEE1027DAE37417E3D /* RDEPUBSafeArea.swift */; };
+ 9F09BFBCF74E17B9BFD3FBB37BFAC7A6 /* RDEPUBParser+Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = F94780553A2ED7BE5E972D634F7F52DE /* RDEPUBParser+Package.swift */; };
+ A0313009309C859841F55118BC23E3EA /* NSFileWrapper+DTCopying.m in Sources */ = {isa = PBXBuildFile; fileRef = D9A812C3E577A3ADC36BAE3FF7AA4D9C /* NSFileWrapper+DTCopying.m */; };
A132A0C9EB13B65FB886B11AA2E6304C /* NSDictionary+DTCoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C891B983F0CC956CAE3978A15875819 /* NSDictionary+DTCoreText.h */; settings = {ATTRIBUTES = (Public, ); }; };
- A26C8915823F92017865B00FC0F16B22 /* RDEPUBWebDecorationOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCC938C9AB37D0B094B0CF78C098CBE6 /* RDEPUBWebDecorationOverlayView.swift */; };
+ A17B2DB5E14E8116012BF21BB7721638 /* RDEPUBSearchEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B43BA14CD70F5448082DE1EE73B034 /* RDEPUBSearchEngine.swift */; };
A2CA9C27EB2B77637A12723F8CFE7AAB /* NSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = FA107BE47514D01B94B7A2670A9F83E5 /* NSString+HTML.m */; };
- A305D671B126FEC47981A8F62D0DAE9E /* RDEPUBReaderViewportMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 455F46F5F9EA1B2EAF47E54361B9E5F1 /* RDEPUBReaderViewportMonitor.swift */; };
+ A2FA7374B3F6D6E723AC19A380DF704C /* DTHTMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BBE6384315D7F00F5ECFFF67A85AF9 /* DTHTMLParser.m */; };
A30D5C1E413A3D319A83D3410A8A549F /* DTCoreTextParagraphStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = B7C4233DF4FA80BF4A9E6FA5082D49E5 /* DTCoreTextParagraphStyle.m */; };
- A43DAC6C9656DF7A74DCC11AB44433B5 /* NSMutableArray+DTMoving.m in Sources */ = {isa = PBXBuildFile; fileRef = ADD5B2F66FCCFB58393314E7B9FE4384 /* NSMutableArray+DTMoving.m */; };
- A633C89374604FFFE5119DA09B8C5088 /* NSURL+DTComparing.m in Sources */ = {isa = PBXBuildFile; fileRef = 467CC59CEC3B3BC7ACDCA776FDCBDC1D /* NSURL+DTComparing.m */; };
+ A4123ABB5380886FB6EEB339384892F5 /* UIScreen+DTFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = AF436E76C893E223A4F0BE86C1276054 /* UIScreen+DTFoundation.m */; };
+ A4B441D1E79D04445DAFA6865FFE41D9 /* RDReaderView+CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D24E48ADEAADE831B2F5FAFBF67CD53D /* RDReaderView+CollectionView.swift */; };
+ A4E1287AFDA66235AD864D556D56D867 /* RDEPUBRuntimePageCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = C52AC0144029821AA538D6165315C585 /* RDEPUBRuntimePageCount.swift */; };
+ A6C87CC6692C9C833DA11D0A3D9F6477 /* RDEPUBNotePopupCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FAD41FF83513826720C6497B7A818B6 /* RDEPUBNotePopupCoordinator.swift */; };
A72E9F983E5BBFA7485EFB482B80E89E /* DTWeakSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = E687628EF2FE92D093E3005D21B578E5 /* DTWeakSupport.h */; settings = {ATTRIBUTES = (Public, ); }; };
- A7CAF507A75914C9CB2904256449478E /* RDEPUBChapterTailNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68A8597AE94ED09E9828E2EEA0D8FFFA /* RDEPUBChapterTailNormalizer.swift */; };
- A7CE2EB98E19E07AB9B917415ACDF380 /* RDEPUBTextSelectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6550AF614406015AE2CCD348C28A3BE /* RDEPUBTextSelectionController.swift */; };
A7D665BBDADBE3D64023FF52E218FCFA /* DTCoreTextConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = E89F199ECDE796B15CAF8E0C1775FAA6 /* DTCoreTextConstants.m */; };
+ A948E3CF55F94BD4F4B4D1D27463F350 /* RDEPUBSearchModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E07EEE45C5439A207C5647210A4A7F /* RDEPUBSearchModels.swift */; };
+ A97EAA78ADAB17BFF4DB70AD2CE36A2A /* RDEPUBJavaScriptBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = F69C9651823EAB579B078EC3B7435D16 /* RDEPUBJavaScriptBridge.swift */; };
AA3722CC8B4992EDA8A9F5E9116835B7 /* DTCoreText-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B6CA8CC4525EF64AA5CEE4A722737F1C /* DTCoreText-dummy.m */; };
- ABB194A853B15FBB547244E93F3AFA87 /* RDEPUBFontNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 545DD46BEAB1D1F7E0530E787095FCB2 /* RDEPUBFontNormalizer.swift */; };
- ABB6259EA3066E7A829C17510410F5A1 /* RDEPUBWebView+Reflowable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32AD569BCA384A60FC2E1E08CE3529AD /* RDEPUBWebView+Reflowable.swift */; };
+ AA5731890291922E24FB7FFCC22F41A9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; };
+ AA7629F822C3DCAECBB5DCD1BC495E84 /* cssInjector.js in Resources */ = {isa = PBXBuildFile; fileRef = 2EBD41467F344F6091AD0C1A3981EDC3 /* cssInjector.js */; };
+ AA7761395401FB118FB850405492811D /* RDReaderPageChildViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33452E6D078F6CC1EF8A17DF42966CAA /* RDReaderPageChildViewController.swift */; };
+ AC13F15F74244055FDC349A8D8BCD78F /* RDEPUBTextPageBoundaryValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F77E0B31CE94ED97B9E5C254BF0DB072 /* RDEPUBTextPageBoundaryValidator.swift */; };
AC7000465258822B466855B12F1F97A3 /* DTCoreTextGlyphRun.h in Headers */ = {isa = PBXBuildFile; fileRef = 771E0D5CBCBC013BF5780FEE5BBA81FF /* DTCoreTextGlyphRun.h */; settings = {ATTRIBUTES = (Public, ); }; };
- ACA98E6A9A6E8D58A22021AB40351E66 /* RDEPUBCSSCompatibilityLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30EE98BBC2688DFF0B50F9C417007886 /* RDEPUBCSSCompatibilityLayer.swift */; };
- AEA089F602E66B4E0CB655D1BF625880 /* DTActivityTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 662D30C1E74D1D5122921475F4024F73 /* DTActivityTitleView.m */; };
- AF5E584EB1F14EC57A5DC51D5CD93FF2 /* NSString+DTURLEncoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 131C1D8C96DF2D44A2D4F50C5AEFFF11 /* NSString+DTURLEncoding.m */; };
- AF6CFED7C7CF1B8D9384BCE97D1DF7D9 /* RDEPUBTextSearchEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06733E30802CA08ACF312C763BD37795 /* RDEPUBTextSearchEngine.swift */; };
+ AC7BC683CD9A6CE43F2473EAA729C0FA /* RDEPUBCFIError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C1CDD44F96B466A619015AA0A7B2D17 /* RDEPUBCFIError.swift */; };
+ AD63555565A9FC36E9AD69AE8E7D1147 /* RDEPUBDTCoreTextRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505D658FEB22042EEDC51D402700F8C9 /* RDEPUBDTCoreTextRenderer.swift */; };
+ ADD3B6D991C8DB8AB9DCA9568787D344 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0834E84632886CDD9911CAB76183F1CE /* QuartzCore.framework */; };
+ AE1553D719D16EEC2847D111B5903892 /* RDEPUBAttachmentTooltipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC75B34F4CE50854BC099CE73D139FCC /* RDEPUBAttachmentTooltipView.swift */; };
+ AEE390923BE11EF94ABB8172930A261B /* RDEPUBCFIRange.swift in Sources */ = {isa = PBXBuildFile; fileRef = 842B11843F82FBEA1D725543ACAB02CE /* RDEPUBCFIRange.swift */; };
AF7A1DC953992A149CB0815C90769529 /* DTIframeTextAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = D4C731AA2088D7E873D8E3D21B95D215 /* DTIframeTextAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; };
- AFE5927149FB4AFE9FB27235C2FCB8A2 /* RDEPUBNoteResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = A184BC6F2CCE83350332C9F00071A2B9 /* RDEPUBNoteResolver.swift */; };
- B0984EA45A82B8CF021C4BA7CE6B2473 /* DTCoreGraphicsUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 0372FD1824BC43F7BD6B337430201420 /* DTCoreGraphicsUtils.m */; };
- B0AA422A606376E1DE651B23D3849CAD /* Data+Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22B69C9433F2FBE5CE8409BD4266DFE8 /* Data+Compression.swift */; };
- B178C87ED370EA79E30224072DDD026B /* RDEPUBReaderTableOfContentsItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C4658670F6EBD43067CF1D859518D23 /* RDEPUBReaderTableOfContentsItem.swift */; };
- B20B3B8D2C3958BE32BABBBA48E0ECF4 /* RDEPUBNoteDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC0E8A0B81E73D17CDACE523F47D124B /* RDEPUBNoteDetector.swift */; };
- B21AC2FBB25F091A5AE9A0602A9F4937 /* NSURL+DTAppLinks.m in Sources */ = {isa = PBXBuildFile; fileRef = 3453CFB9BDBF6F9D0937EDF5FB2BD07B /* NSURL+DTAppLinks.m */; };
+ AF7EF16703AD0BAF5F926A254B0C9E9C /* Archive+WritingDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2373DCA0FC45287BFC063BEA661B8367 /* Archive+WritingDeprecated.swift */; };
+ AFCEC5571D0C75E38AD2D3AB0B027CA3 /* Entry+ZIP64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 288589D0B52F73505B43C743D9837578 /* Entry+ZIP64.swift */; };
+ B11B4F2E3F64763587B6C27C0F09E0E8 /* RDEPUBStyleSheetBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72F99D96321DF0F2BC595BC7B6A66EA2 /* RDEPUBStyleSheetBuilder.swift */; };
B24FAD34A7915FC4B90FE9038E814FF2 /* DTLazyImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA5630DC0E663F38A9EC713323697EE1 /* DTLazyImageView.m */; };
- B35EC704CCE46CFDFE734E94643B89CA /* RDReaderView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A61F5753AE7B5122FE65CF07CF1AD5FD /* RDReaderView-dummy.m */; };
- B3AC4D5487C5FEFFBEF018ABF5F4800A /* RDEPUBTextPaginationInterfaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4721E12B4121C46B8368D085D91EC2B /* RDEPUBTextPaginationInterfaces.swift */; };
- B3D89EAA9B5A3729A4BD440B66A36F4B /* RDReaderGestureController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10617286346E2E6D7BB30203A65302CA /* RDReaderGestureController.swift */; };
- B509E539D0E9DD3A7E1CBF4E87518C2A /* RDEPUBRenderRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25C6A0883824F05CF90F21478E019975 /* RDEPUBRenderRequest.swift */; };
- B553EE0E95DCEDE9EE2738F649F197DB /* RDEPUBTextLayoutFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C08997AE3D75194E400010A0AE4820 /* RDEPUBTextLayoutFrame.swift */; };
- B59EFFCF83F578900B1B193189689FD0 /* RDReaderView-RDReaderViewAssets in Resources */ = {isa = PBXBuildFile; fileRef = 83410CC9CF2ABE63B90A92F2F988BF65 /* RDReaderView-RDReaderViewAssets */; };
- B5C61DFC1CFBA8ECA4AF7779F5089816 /* rangy-core.js in Resources */ = {isa = PBXBuildFile; fileRef = 8F9C05A5DE7C804D6531F4BBF31A3045 /* rangy-core.js */; };
- B5D0238A617645F81C5604A014065B3F /* RDEPUBReaderSearchBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DFE7162E90DAF71A557E4822C252E4F /* RDEPUBReaderSearchBarView.swift */; };
- B61F165888A356AF744580232D727A20 /* RDEPUBPaginator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8514F67C3335EEA160B6A502DC380C6B /* RDEPUBPaginator.swift */; };
- B662098EC7A098D0BF449F33D06B22F1 /* RDEPUBTextIndexTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89755690B804A64EE69FE2D7321CA9B6 /* RDEPUBTextIndexTable.swift */; };
+ B3D6FFE321D38B8F43578FDBAF537B71 /* RDEPUBTextBuildPipelineInterfaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = FECC02C082DBCB6126A7ECBA72C258B3 /* RDEPUBTextBuildPipelineInterfaces.swift */; };
+ B40171D88891B3A07003A19EB6A4BFC0 /* DTHTMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = CB2BD1F8CFECB82D427DF046439E68D6 /* DTHTMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B600901A9F54CF17B27D65FAF248F495 /* RDEPUBAttachmentNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63A75BF0478FAC7398F5E66A509F639D /* RDEPUBAttachmentNormalizer.swift */; };
+ B604DFE0CDD1FAA2DFED73DD0EE1A31A /* RDEPUBWebView+Reflowable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AAC2FDC24D8604A39BD25111689D06A /* RDEPUBWebView+Reflowable.swift */; };
B7BDD79FC06A1E4E0E17592860844108 /* NSAttributedString+DTCoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = 3985FED7BD8EC49191663BEF73FB2C79 /* NSAttributedString+DTCoreText.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B7D3EAF9CD1638EE59CF9127E46D5811 /* RDEPUBNoteResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11D2090101EA891F21834863EE859AE8 /* RDEPUBNoteResolver.swift */; };
+ B7E5AB4E36C8E357A4DBA8F6451CE8A0 /* RDEPUBChapterDataCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD5DB51D2F628791D4E0EB41C4B81AF1 /* RDEPUBChapterDataCache.swift */; };
B8332F36582F7A001FE85A8D54B27C9E /* DTCoreTextParagraphStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = BD65B936E2A6FEB74718EA86D9AC1899 /* DTCoreTextParagraphStyle.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B8522579F034294C6982DCB37DE15086 /* NSArray+DTError.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E5297E7F5769C61C1838962BA76D4F5 /* NSArray+DTError.m */; };
B86493B996A888D1DA7814ECB6028E22 /* DTHorizontalRuleHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = DD7A2DE5BDF72ABC066484CE554BDEF0 /* DTHorizontalRuleHTMLElement.m */; };
- B88D8C43A79A645555A6683A10D01258 /* RDEPUBReaderAnnotationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E0EF27F41F1DF49C126E34B404497CF /* RDEPUBReaderAnnotationCoordinator.swift */; };
+ B91D4B37570E0FDFB186D4622D05D2A4 /* RDReaderView-RDReaderViewAssets in Resources */ = {isa = PBXBuildFile; fileRef = 83410CC9CF2ABE63B90A92F2F988BF65 /* RDReaderView-RDReaderViewAssets */; };
B94CD41727DFCA8791EED8FB2CA397DD /* DTCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C3D91FFA65414A2787FEB95576E0097 /* DTCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; };
- B97D761BA5C5055277DC351A493C5568 /* RDEPUBCFI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0AFCECD74F73D7D40C6F3053AF6FEE /* RDEPUBCFI.swift */; };
- B9E5CDDBF46CDA23D5D282EFDB6456BA /* RDEPUBResourceResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29D1AFEDD39DE3A55D023DCF1DD8E100 /* RDEPUBResourceResolver.swift */; };
- BA83048DCDDD496C26B492BD891FC411 /* String+RDEPUB.swift in Sources */ = {isa = PBXBuildFile; fileRef = C60EBAD7361BD011961D6A1FB94B914C /* String+RDEPUB.swift */; };
- BB8A21A84B763070E340A3E4687D3110 /* RDEPUBCoreTextPageFrameFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81211446372A6A55789AA7E7152E7084 /* RDEPUBCoreTextPageFrameFactory.swift */; };
- BB8ACA21944B2A96E8DF8B0C7E6D30F9 /* ZIPFoundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B41F7D27C2336F89BB0185ACB0B19EA9 /* ZIPFoundation-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
- BBB18335BC72FBF4584F8B5F4132CCBE /* NSString+DTURLEncoding.h in Headers */ = {isa = PBXBuildFile; fileRef = CEEC8715398E89B42F9B04E290E8E4FE /* NSString+DTURLEncoding.h */; settings = {ATTRIBUTES = (Public, ); }; };
- BC519A74D986F53A3800079B6ACAB7A3 /* RDEPUBCFIGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9F5010D098DC3538CB8BAF64A54BF7B /* RDEPUBCFIGenerator.swift */; };
+ B9A197E275617D9B2A65077B69E4A2F4 /* RDEPUBReaderToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C525E69EA51BC555374CC559F2996233 /* RDEPUBReaderToolView.swift */; };
+ BA464E5503BF2C730FADD4DE36DE6868 /* Archive+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3C9CA544EBF55130625F6C3AD2ABFB4 /* Archive+Deprecated.swift */; };
+ BB1A3A67759025DE4B7F03BC318AF516 /* RDEPUBParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AACA59CA4CBD2AFAACC3D162C2C75B5 /* RDEPUBParser.swift */; };
+ BBE45BB7EAE6DC693F8B2D47AD8727E7 /* RDEPUBTextPerformanceSampler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8300EA716892548FEA44EC27801F5987 /* RDEPUBTextPerformanceSampler.swift */; };
BE12CD112F82AD9050D7FB29395F27F9 /* DTVideoTextAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = B83D7A73677A2C3141EDEF56B9CE6584 /* DTVideoTextAttachment.m */; };
- BE6A7554B48972B5D4EF22028274696E /* RDEPUBReadingLocationModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FA1C7B2B5D3FE43AB0598F027C50377 /* RDEPUBReadingLocationModels.swift */; };
- BF9D1A78B1C4C7613937CC99EB1702D4 /* RDEPUBNoteModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D474A46702BFAA8E3AAFAC5EE0E3C20 /* RDEPUBNoteModels.swift */; };
- C018E6B3B58F3C3537511ED0EE553A94 /* RDEPUBReaderState.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF369892013F3178789ADFC74384ADC2 /* RDEPUBReaderState.swift */; };
- C065855BFB7C44A88BC0E41EDB67F138 /* DTCoreGraphicsUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C1A7359A45BB880877A672C57F522FE /* DTCoreGraphicsUtils.h */; settings = {ATTRIBUTES = (Public, ); }; };
- C1C04AC61695CB3E392C98A66F8C78F0 /* Archive+ReadingDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5193541848D2D1BF115A45D8A730611C /* Archive+ReadingDeprecated.swift */; };
- C31BEDEE98899BAF229DE4FE3F3FE1A5 /* RDEPUBReaderController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEB68ED963D81A187618710413C3B523 /* RDEPUBReaderController.swift */; };
- C5BE7B683B2F31C0DFD21809C17FEAD2 /* UIColor+RDEPUBHex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 933E1AC7CA1ADECA318762103FAC0AF3 /* UIColor+RDEPUBHex.swift */; };
+ C14C1329982852C841EBF7A6A8F47FD6 /* Data+Serialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C3615C94C147AEA92F022E119810E9F /* Data+Serialization.swift */; };
+ C1678A88827D582EAE2921342ACAD5F4 /* DTAnimatedGIF.m in Sources */ = {isa = PBXBuildFile; fileRef = A3DE08AC23FE36A6C3F33A04700FDE57 /* DTAnimatedGIF.m */; };
+ C224A4A04B5C6638D21FD2CE77B69443 /* Data+CompressionDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B46EF6F055A721AF370D705D026E9E /* Data+CompressionDeprecated.swift */; };
+ C2E5F9A4B9F366EDA48329415CF0057A /* DTFolderMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = BEA46E51E3616ECEAF0ACCEA9B8C67EF /* DTFolderMonitor.m */; };
+ C3463BB24D53EA7809BB5E1C3276B94B /* RDEPUBCFITextAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE1B490DE56DE55724779E3E8BF6D14A /* RDEPUBCFITextAssertion.swift */; };
+ C4C2F1441BF40302D432BC6420C0F50C /* NSData+DTCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = F63EBF2BF3000B3391F6E693581EA129 /* NSData+DTCrypto.m */; };
+ C578EC0E752DEA0929FDC0A0CAAE4CA3 /* NSString+DTPaths.m in Sources */ = {isa = PBXBuildFile; fileRef = D30DBDF1EDB20CF83690AC6619AA0C48 /* NSString+DTPaths.m */; };
C5EE8E7373FBD24E66C678356393D871 /* DTCoreTextFontCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = 722AF38F5106ADDE6F98D282F886A769 /* DTCoreTextFontCollection.m */; };
- C60D3562E8D9105111D9441E55F500BB /* RDEPUBPageMapReconciliationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2A2130B4AB4BB4B5E30E4442A0FD644 /* RDEPUBPageMapReconciliationCoordinator.swift */; };
+ C6B4C453194DE8011ADA4C0FA2092028 /* DTBase64Coding.h in Headers */ = {isa = PBXBuildFile; fileRef = 519087D9CD0F5E440E6D2C3B1AA1DFA2 /* DTBase64Coding.h */; settings = {ATTRIBUTES = (Public, ); }; };
C6B65C0EA759DF426FBBBB113BA3C3E8 /* DTBreakHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D8AE4BEBD1998839BA83AD05CA6CAC5 /* DTBreakHTMLElement.m */; };
+ C704ACCB4F169F948102B6D90B81F835 /* RDEPUBTextContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27FE2A0ABB2E40A2D8D3B4BDECE106A7 /* RDEPUBTextContentView.swift */; };
C72CE4B974DFAE2C3037D425EB559314 /* DTCoreTextLayoutFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = C46FCF109DBCB37595D2A3366CF1D765 /* DTCoreTextLayoutFrame.h */; settings = {ATTRIBUTES = (Public, ); }; };
- C760D0A16A9A1F449A81EC7B91766E3A /* RDEPUBReaderSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6777CA743F90F1D44EE010F6ED6A1F7F /* RDEPUBReaderSettingsViewController.swift */; };
- C8E9353276833F3362D26F17A2FF2939 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; };
C8F753B56A6C4D2A938B6EA68CF522F8 /* DTColorFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 720396ED306E768BAD28007D5E96B757 /* DTColorFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C8FADC9D72A57A061C6666713FF02524 /* RDEPUBReaderController+RenderSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5C8F91E6B08B08138B628331DAAEC16 /* RDEPUBReaderController+RenderSupport.swift */; };
+ C90B928D22ABD4A4019ADF634B3C9252 /* RDEPUBBackgroundPriorityPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = F67C99E329F6EE4951953549B099CE46 /* RDEPUBBackgroundPriorityPolicy.swift */; };
+ C91D5DECB736752FDEE511F0B3B4AED8 /* Archive+ZIP64.swift in Sources */ = {isa = PBXBuildFile; fileRef = D18519BCA8FAA9B01A704A0F0B9FFC78 /* Archive+ZIP64.swift */; };
C9DD05EF2D27FFEBFA7BF6F437168501 /* DTCoreTextConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = A61C8F1BDD76EA59082F65269083BD08 /* DTCoreTextConstants.h */; settings = {ATTRIBUTES = (Public, ); }; };
- CABB55F416696E222EDD9355BE162423 /* DTCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F653EFBBEDAAC96A34BC93B4211E792 /* DTCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; };
- CAC5255B7B613B25FA9731E5C6EDD5CB /* RDEPUBPageBreakPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE10A5C6934704218EB16F8966AA0814 /* RDEPUBPageBreakPolicy.swift */; };
- CAEFA4FFA33FD3C1DF8F288814B55054 /* RDEPUBReaderController+ContentDelegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44369E6800A89D0C5818CA884729D20F /* RDEPUBReaderController+ContentDelegates.swift */; };
- CB1E78A4E24418D8E1486735D8C13A48 /* RDEPUBAssetRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = A472A71A962C2E34AB358EC26AEA60B4 /* RDEPUBAssetRepository.swift */; };
- CC11A163D3F74290FE540D1BBAA9C518 /* RDEPUBTextBookCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF164505A477C6ED40FE8EF0CB2E6693 /* RDEPUBTextBookCache.swift */; };
+ CA7FDFDF278504C0C1D5EEB88B044DCB /* RDEPUBChapterWarmupOrchestrator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64254678E1440D40D4BC39AE8B62BB27 /* RDEPUBChapterWarmupOrchestrator.swift */; };
+ CAB581FD7C03A91D7BCF31F9B7DFD2C1 /* RDEPUBFontNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63D23A912F5F91D0D3D83DF9E05515D0 /* RDEPUBFontNormalizer.swift */; };
+ CAD914075CB713FC15413D6FEF558094 /* Entry+Serialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76C1831768CE55090EADD902B29B6CD1 /* Entry+Serialization.swift */; };
+ CC1A14092E38C024B59039247A9A7F1E /* wxread-replace.css in Resources */ = {isa = PBXBuildFile; fileRef = E15D7179C6CF82530CF5E7264BBA1679 /* wxread-replace.css */; };
CC8B8F3D758E98B51F69EDFAA69663A4 /* NSString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = DC7D3AB85C954DA41E1500936C166C0E /* NSString+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; };
- CDE3205D4F1E8D99CE2BE54F2505133F /* RDEPUBTextContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9435D40191E13E2949BA08196EFE296F /* RDEPUBTextContentView.swift */; };
- CE5D85573015B5EF9AA8A9F512239835 /* NSURL+DTUnshorten.h in Headers */ = {isa = PBXBuildFile; fileRef = ACA6D26B26D2653D6E1C871A482BD6DF /* NSURL+DTUnshorten.h */; settings = {ATTRIBUTES = (Public, ); }; };
- CE60D90670F8D3049025C34F2CA4A172 /* RDEPUBReaderTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DC061242C98566FE767A2179BE8D9A9 /* RDEPUBReaderTheme.swift */; };
- CE737F28C68393FDC49DD943ADB95015 /* RDEPUBSelectionLoupeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD431E9FF16247D6AFF1148D33F06DEA /* RDEPUBSelectionLoupeView.swift */; };
+ CD7F05300518F738E9EEA966B76252E6 /* DTExtendedFileAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F75437CE9F9324D315E417014797C1D /* DTExtendedFileAttributes.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ CD8D29DA6C83EF687425C3DA6947612F /* RDEPUBChapterPageCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 328AA616EE25AB53BFB60EFE1C7AAFCE /* RDEPUBChapterPageCounter.swift */; };
+ CE1461B66FE25A3E3194B13B80B938AB /* Archive+Writing.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0218A7B243387C79E099CA947CF243D /* Archive+Writing.swift */; };
+ CE8A5F13186A9A7C5F40A75C17466DBF /* RDEPUBReaderEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12422B421A127464A62DF332C3EAF31E /* RDEPUBReaderEnvironment.swift */; };
CFC49467FE75BFABC22A1CE2FFA26570 /* DTImage+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = CF1CED3ED65443999913BC0D96ACA151 /* DTImage+HTML.m */; };
- D040A70EB575CF6ECE381FD408BD42B2 /* RDEPUBPageCountCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4912F524E40CC6107099AB780A0E0BF /* RDEPUBPageCountCache.swift */; };
D063317214AFF5143D9C958E5FAFBB38 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; };
- D118781E14C557A8428DB61DFECB6CC2 /* RDEPUBCFIRange.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF4AF0ABB6117B18C8AE08E883BEA7C6 /* RDEPUBCFIRange.swift */; };
- D1744173283F238280FBFDFA6FAC791A /* Archive+Progress.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE83356F8FBC1801D29CA93C1A190D81 /* Archive+Progress.swift */; };
+ D07D22E99828FC135DA82CD9D5D473BC /* NSString+DTPaths.h in Headers */ = {isa = PBXBuildFile; fileRef = B76B1E836C34CB755AEE1FBF7DC26BDD /* NSString+DTPaths.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D14D8383FFEFB43EA9BA5BCECAD38DFB /* DTSmartPagingScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 21CCCCAAF832BE9C859BEDDC79B4E9E2 /* DTSmartPagingScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; };
D1A93B2D7F1B312755C48790338D7712 /* DTIframeTextAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = BA8A527A4CCB2AF1C1E26744B301F6B8 /* DTIframeTextAttachment.m */; };
- D1E238CAEA8D1BE33C0D7EC543A66665 /* DTHTMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = CB2BD1F8CFECB82D427DF046439E68D6 /* DTHTMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
- D20113877C525B2FA078EEDB723906D9 /* RDEPUBChapterLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C5CA885255B08C8AD10778C62071BCD /* RDEPUBChapterLocation.swift */; };
- D2232DDB9C06A5F370FBE1CF4F022992 /* NSArray+DTError.h in Headers */ = {isa = PBXBuildFile; fileRef = C7E09A6C247D465CA0EF71B939B2A040 /* NSArray+DTError.h */; settings = {ATTRIBUTES = (Public, ); }; };
- D299C2B1A237A61C7DDE0C52371D0AAB /* RDReaderContentCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76919E99E9F16C30FA06F643643AA997 /* RDReaderContentCell.swift */; };
- D2F1AEC45494E9E795B6D06C06FC0E61 /* Date+ZIP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18D23D8D10719754D93032F66EB98536 /* Date+ZIP.swift */; };
- D402B6E51343FEA249C715ED3FC6689A /* RDEPUBReaderChapterListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 570429F8DD1951A554862120993C46B1 /* RDEPUBReaderChapterListController.swift */; };
- D43F2636F9AEA19B2933A6C4B71E7D44 /* RDEPUBReaderController+ExternalLinks.swift in Sources */ = {isa = PBXBuildFile; fileRef = A16FEBBEDD32F8EAE312AADBE815BF49 /* RDEPUBReaderController+ExternalLinks.swift */; };
- D512CC6A4C2AF2DE2B950125BD900706 /* Entry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D93C2002AAECD29B3ED5A14026D3DFE /* Entry.swift */; };
+ D2225CA8427BEB882D82DE38019DD126 /* DTFoundationConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F80AC45FB1DBF50E0E3AA4F26BFA676 /* DTFoundationConstants.m */; };
+ D2BD52C739EE9121C2DBB30B9AA20E04 /* RDEPUBCFIPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDCA21771B2D145D7DCFEEDE00FEDADC /* RDEPUBCFIPath.swift */; };
+ D40CA87330F4D56B6E6ADBE2FD59C2FC /* ZIPFoundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B41F7D27C2336F89BB0185ACB0B19EA9 /* ZIPFoundation-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D46DA22E948819A50DAB9055B3B453FF /* RDEPUBRenderDiagnosticsCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B7FCEEAD833F7C1706659E688B09BEA /* RDEPUBRenderDiagnosticsCollector.swift */; };
+ D4D42191C9EC85914D0E6BD19884009E /* RDEPUBChapterLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D5537F73FD04F43BE1E354A25710C9E /* RDEPUBChapterLoader.swift */; };
+ D4E5594D3EC3FFEFD78C4867AD0671CD /* RDReaderView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C3DEA097D20AC964CFB673C39B4A8AF /* RDReaderView-dummy.m */; };
D526E03C098DA6CF8F01C1BC126C9BBA /* DTCoreText-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 13F8FC8B51AD434F5D4B0CF5150D7563 /* DTCoreText-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
- D5C798C8EC872BADE62917619D1DF400 /* RDEPUBRuntimeChapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 579B1DD9DCEE9A1C8B88EB7D4FC7328B /* RDEPUBRuntimeChapter.swift */; };
- D6139C08D650C40629D29CE3B04263F2 /* RDEPUBBookPageMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83E9A6D890549C856C0277BE3A9B01A4 /* RDEPUBBookPageMap.swift */; };
- D7E9F39F5A7AF9C7170ACBC890EE55DB /* RDEPUBCFIResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 418CF402E2B3A6359A720876AF83E1F3 /* RDEPUBCFIResolver.swift */; };
+ D68C9E460307CB1FDFEF1622B2905ED4 /* RDEPUBReaderAnnotationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78D2759A8A01919CE516A30C1A04B967 /* RDEPUBReaderAnnotationCoordinator.swift */; };
+ D6F1A867D418237980B1B066F777AE36 /* RDEPUBTextSearchEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24130F5639CFFFA28D8BE6C2BD7A45FE /* RDEPUBTextSearchEngine.swift */; };
+ D7473BF91981294A067CB035F7695D99 /* RDEPUBParser+ReadingProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31B49361D4C4F119B135F85B7A8219DB /* RDEPUBParser+ReadingProfile.swift */; };
+ D74A865537CEEFB45C5951EBA2A43B90 /* Archive+BackingConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 765A94769106D14615FFB30EE1BD5E65 /* Archive+BackingConfiguration.swift */; };
+ D7E6418C29E54343D2587D20DAD787EC /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 006D002D86B43AA52E0AFD2E18459107 /* PrivacyInfo.xcprivacy */; };
D82DDA4C1E5C4D5378A9E5EA3F8E9DFE /* DTBreakHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 14283024FA4A0231B32CA22AA907FEFA /* DTBreakHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
- DA090B9ED29C67FCC620AAE26A6DFC2A /* RDEPUBWebView+JavaScriptBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D24B9DBA8D8A1B00CEF2E2238C16681 /* RDEPUBWebView+JavaScriptBridge.swift */; };
DA5B51E5D80C161D2902B6FC60DA5EC8 /* DTImageTextAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 27372A23AA4B051867E7D2C749D1DE81 /* DTImageTextAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; };
- DABA6DF4CDB6C3098DDB1972D9B8D47F /* DTExtendedFileAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F75437CE9F9324D315E417014797C1D /* DTExtendedFileAttributes.h */; settings = {ATTRIBUTES = (Public, ); }; };
DAD16D3E6EBB32FF96C63BFE6037065F /* DTLinkButton.m in Sources */ = {isa = PBXBuildFile; fileRef = CE761A55BD57C0BFD6336CD073F85C31 /* DTLinkButton.m */; };
- DB584734160C920EAC6C819D8F05CA23 /* RDEPUBTextPageDecorationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53B7AB6E967C804E556A13DA6CC254A0 /* RDEPUBTextPageDecorationView.swift */; };
- DB860EFC2F1DB67CE1160CEEAA78FB57 /* RDEPUBWebView+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 843CB00ED0D033E72DD79F0B27BE82E0 /* RDEPUBWebView+Configuration.swift */; };
- DBBA4E0A5CC421EEDAB45FDBF7A90906 /* RDReaderPageChildViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB3DF251DDD78EDAEE82FBEBDF9CE79B /* RDReaderPageChildViewController.swift */; };
+ DB453710016DF142F6E628FFBC4A3C7A /* RDEPUBTextBookBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F5110430A322C853C80F6041B0EDF94 /* RDEPUBTextBookBuilder.swift */; };
DBCA42F7E1697F4EC82E0E7C9657851D /* DTAttributedTextCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 068885F1B54CFD5DBBE6E2DC253F7819 /* DTAttributedTextCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ DBD78AD2493F9A171BBBFF8AD648B93B /* RDEPUBReaderContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CF48E002B64BF7AF8BDBEB9A572C13F /* RDEPUBReaderContext.swift */; };
DC3E2932A82AD5D88D8B1EFBF004BEC8 /* DTCSSListStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = 40FD7C9E2E05FB4A73F4C4C70A3AFAF0 /* DTCSSListStyle.m */; };
- DC9CA5F234D2AA505F70686BAC03C27B /* rangy-serializer.js in Resources */ = {isa = PBXBuildFile; fileRef = 25E8E62C9DC0A4AE49F168F04CF8B9D3 /* rangy-serializer.js */; };
+ DCD0A2ABC337BCEB54C478ED1F8889D9 /* RDEPUBImageViewerCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BFC2AF3C2082F2A0D9950A1B8256229 /* RDEPUBImageViewerCoordinator.swift */; };
DD73CD0E5148961D1ABD80E050122314 /* DTCoreTextFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA2ED17D0DDF5F1C5606BFFD9A512DE4 /* DTCoreTextFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; };
- DDBA184A2654FDBC731798EF79052111 /* RDEPUBReadingSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DE6AC16B3AE09561A7557F826881E3D /* RDEPUBReadingSession.swift */; };
- DDE3BF42B0D4938C6E1B125885F69A35 /* RDReaderViewProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1058DD74F97F43193DBA11E135ACFF22 /* RDReaderViewProtocols.swift */; };
+ DE1BAA17B95E7CD4F1FFB609726D4616 /* RDEPUBStyleCompatibilityModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DFA3BB3F5BC48BF4CA6F8DE4559318C /* RDEPUBStyleCompatibilityModels.swift */; };
DE68AD2F426FD462BC70F968E5AF5553 /* DTTextAttachmentHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = AC0A4ED7E936923A29A5EEB1D95D6B55 /* DTTextAttachmentHTMLElement.m */; };
+ DF9D50C1C5F9F22238392605B3F74438 /* DTVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C9575F05D72C239E7E6F079BACDF4C7 /* DTVersion.h */; settings = {ATTRIBUTES = (Public, ); }; };
DFB5A1C64C7908FD05BEFF7C7B571353 /* DTAttributedLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = 09FF858DC29B73E9B67B32B03CFF4084 /* DTAttributedLabel.h */; settings = {ATTRIBUTES = (Public, ); }; };
- DFC8567EED9764161A51DB808255D041 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0834E84632886CDD9911CAB76183F1CE /* QuartzCore.framework */; };
+ E1985223C4218E5241401FCE8E7A3008 /* RDEPUBTextPageRenderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 854840B8F97C908AB5B51EDF03E54D52 /* RDEPUBTextPageRenderView.swift */; };
+ E1B932FF7C930EF7F7604680E8FD3E14 /* DTVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = CCC633BF76C79E0B4A6750337D5DCDB8 /* DTVersion.m */; };
E1DA58105A72D6C0B77A8A9F7822BD68 /* DTCoreTextLayoutFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 4641C3C93CE32054665ACF80457A7A94 /* DTCoreTextLayoutFrame.m */; };
+ E2A911CAA42ED21FC0675B662B58B8B8 /* Archive+MemoryFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFF51E56E09E095C92CB5B9F21384027 /* Archive+MemoryFile.swift */; };
+ E3240129AF117F28A4CC9A39E48C7CE5 /* RDEPUBJumpSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE6769FF56092F4EB6B5EDCD64F8E6A7 /* RDEPUBJumpSession.swift */; };
+ E355E9E35DEEF09E5F05A76BCBBC35F6 /* RDReaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9B4C7EA8E0601A462DDA753AFA93E66 /* RDReaderView.swift */; };
E38FC7829B5BDD1588FA487E0FBAC208 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B50104DE2E35D820ECA22CDB3E6F96EA /* Foundation.framework */; };
- E56D82B0707AAD37277F90302EA4A4C4 /* RDEPUBModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4646F47318195C5CDADF0D93A4A2FC91 /* RDEPUBModels.swift */; };
- E5B7FC56FA951AD4542B3EC0EBB7C6A6 /* DTSmartPagingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = A20F6F0463A998DC3BD53DE9E63B63DE /* DTSmartPagingScrollView.m */; };
- E63936A1FBECCD5431B219748E9652B7 /* RDReaderView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D28F67E16027AF4FA4F9D501C4D0712 /* RDReaderView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E6E0FEA82C76D2AD4209048886206854 /* RDEPUBSearchEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B24B2EBB40F90487F5EF3A6451834A8 /* RDEPUBSearchEngine.swift */; };
- E85C78871193D79CF936573FC5F1136B /* RDEPUBReaderPaginationCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7F6AAF70ED1162640040B9969BBE6D5 /* RDEPUBReaderPaginationCoordinator.swift */; };
+ E3A31EB088966F290BC0FA8F9E84990A /* NSMutableArray+DTMoving.m in Sources */ = {isa = PBXBuildFile; fileRef = ADD5B2F66FCCFB58393314E7B9FE4384 /* NSMutableArray+DTMoving.m */; };
+ E61F35DFF62E486B472E57CB49399D1B /* FileManager+ZIPDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = F49FC82A04EE9B3B49CBA6CB88ACBC67 /* FileManager+ZIPDeprecated.swift */; };
+ E776DCFFEECF2D8AAA859BB2FC3DD14E /* DTCoreGraphicsUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C1A7359A45BB880877A672C57F522FE /* DTCoreGraphicsUtils.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ E7B84139E33FBD60C90F546750B66179 /* RDEPUBCFISerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F54575506F65B0B0E12AABF25A9E6C6F /* RDEPUBCFISerializer.swift */; };
+ E8050CB03DC17469F13A823B666075C7 /* Data+Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22B69C9433F2FBE5CE8409BD4266DFE8 /* Data+Compression.swift */; };
+ E87011B94A31EF3C96486633494CF851 /* UIImage+DTFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1300CC5794E609DB8FBA6FFF90A09408 /* UIImage+DTFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; };
E8AB5CE26A5224EF09E9E363D70C7775 /* DTDictationPlaceholderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FA88D00B7B2B2F0BA98BB92DF035906 /* DTDictationPlaceholderView.m */; };
- E8E67096ED90348922DD8A3D1E4B92B6 /* RDURLReaderController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ECA70C45BE80D444EBFE0DA40424702 /* RDURLReaderController.swift */; };
- E90131918E21F84D6E5CBFA20E27E5ED /* RDEPUBPresentationRuntime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72C909891BE902A0BB13D4A142EE982F /* RDEPUBPresentationRuntime.swift */; };
+ E8BC727E48847123C80C6487E4B6D155 /* NSURL+DTUnshorten.h in Headers */ = {isa = PBXBuildFile; fileRef = ACA6D26B26D2653D6E1C871A482BD6DF /* NSURL+DTUnshorten.h */; settings = {ATTRIBUTES = (Public, ); }; };
EA0040823CCF8E97363DB5891F5DA6D0 /* DTCoreTextFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4917E08E6E59460594AC443EDDAB7E77 /* DTCoreTextFunctions.m */; };
- EACD47B345480FC9DE37F1BBEBC3E6E8 /* DTCustomColoredAccessory.m in Sources */ = {isa = PBXBuildFile; fileRef = 9542AFE3A82C8AE56576254CE196E71A /* DTCustomColoredAccessory.m */; };
- EAF560B47F3FBA36DB7C1690D2155C24 /* RDEPUBReaderServices.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC8B39E69CFC5D4DD1D47A29F6D9E852 /* RDEPUBReaderServices.swift */; };
+ EA2CEDE8F391ED85A9601DEB7D8044F2 /* RDEPUBReaderController+DataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31C306314EF985A32E583A25AAA39960 /* RDEPUBReaderController+DataSource.swift */; };
+ EA75620DF32C36B44E170275F2551BB5 /* RDReaderTapRegionHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D75F5147BF67C9935CC45C16F0118C14 /* RDReaderTapRegionHandler.swift */; };
+ EA9AC5EE45C33187D248C64FC46AF85C /* RDEPUBSelectionOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40FFA046E3AFCD87D8592AEFB6CFD987 /* RDEPUBSelectionOverlayView.swift */; };
+ EB83224969E7CCA0D8528DD55A753FDF /* Date+ZIP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18D23D8D10719754D93032F66EB98536 /* Date+ZIP.swift */; };
EBB7E4D4DB253B5F1267CF9B4DDB4E93 /* DTCoreTextFontDescriptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 88464D2E3579F1A5B25DCCA128528938 /* DTCoreTextFontDescriptor.m */; };
- EC2221DF39BF4ABE42B4D74B98EE26BD /* DTPieProgressIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BA617294E6371DD7FAC32B61E0873F2 /* DTPieProgressIndicator.m */; };
+ EC6CE6065F48F2022717FE73027CF1F9 /* RDEPUBSettingsFlipAutomation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849DFA0D192A6586FCC90DE7E300D812 /* RDEPUBSettingsFlipAutomation.swift */; };
+ ED83D5746B2CB139C2A53D97CEAA8AC1 /* RDEPUBReaderChromeCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B9450CAB183FFD7F4018D819E02321C /* RDEPUBReaderChromeCoordinator.swift */; };
EDA269B595D70EC2B9D81DC890157D63 /* DTAccessibilityViewProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 399AED6BF151EC39BE4450784795A832 /* DTAccessibilityViewProxy.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ EDC97063261083047D0D636FE47AC003 /* RDEPUBChapterRuntimeStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2135D2A77CD609485DAF400E1E3396F /* RDEPUBChapterRuntimeStore.swift */; };
EE4F0992A0F597320FF7BDE4691D0FD4 /* NSString+CSS.h in Headers */ = {isa = PBXBuildFile; fileRef = 3578B97A85BCDC60888FDF87B8F2600C /* NSString+CSS.h */; settings = {ATTRIBUTES = (Public, ); }; };
- EFE445E56D466D8A8B40FD6BDE4CE778 /* RDEPUBReaderController+TableOfContents.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE93E7F2D03E5848ADB6C91620D5A245 /* RDEPUBReaderController+TableOfContents.swift */; };
+ EEE82C0D019E833A59DB98BA96CBA446 /* RDEPUBNotePopupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9736CC5317A5E8F2EE1A03A963197BDF /* RDEPUBNotePopupViewController.swift */; };
F006F73F17F2E3CC0E7852E9357BA946 /* DTAnchorHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 599172147A32B6978EB5AAE1BE55FF7A /* DTAnchorHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
- F0CC9ADA3DC9C7D3780646C7B31BBBDC /* RDEPUBParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFFC77747115ACAF9EE13A1CEAEEA539 /* RDEPUBParser.swift */; };
+ F02681BD4DFFDABD54753610438BE05F /* RDEPUBAssetRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = E97B6B6C59BBCD6685CE808E64981E76 /* RDEPUBAssetRepository.swift */; };
+ F09A27FF0030DBB58443F1B41F256B86 /* RDEPUBTextSelectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36BCDC7F25B3DB9F7FC2F681DD27B93E /* RDEPUBTextSelectionController.swift */; };
+ F0DDD6C446D5E4F9712C70CE21AB2CF8 /* RDEPUBHTMLNormalizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3B908A78A947A1A9D66C368CB616DE4 /* RDEPUBHTMLNormalizer.swift */; };
F0F631056BADA32253528247DF493272 /* DTHTMLElement.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C508BE899A1397560A767CAEADB7B9 /* DTHTMLElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
- F12A5C7183CC8152D0A36E1C7963E139 /* RDEPUBChapterDataCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3667CE400B3A606C7BE2D736B10AB546 /* RDEPUBChapterDataCache.swift */; };
- F33B238CDBEAE3BA81136D519B27483A /* RDEPUBPaginationCacheCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3008F6944BA740CD6E6F5CA33733C911 /* RDEPUBPaginationCacheCoordinator.swift */; };
+ F12AC7A30166F9013C095231D43E7DA7 /* DTFoundationConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = FF63F5E8902D6F3F5E845A924EBBC6D3 /* DTFoundationConstants.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ F21A55B28E25C3B9D00D8E2D6EB58544 /* RDEPUBCFIDOMPathBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49DF44BF9FBD9CCC9CDE0A998C428D86 /* RDEPUBCFIDOMPathBuilder.swift */; };
+ F3650B2D64F692BEFD95976185B5DB15 /* RDEPUBReaderController+AttachmentTooltip.swift in Sources */ = {isa = PBXBuildFile; fileRef = E52802E06864FE60CFBAE21EAA6F3F0F /* RDEPUBReaderController+AttachmentTooltip.swift */; };
+ F38EAD024D5BB401AF2476100E7B7822 /* NSString+DTURLEncoding.h in Headers */ = {isa = PBXBuildFile; fileRef = CEEC8715398E89B42F9B04E290E8E4FE /* NSString+DTURLEncoding.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ F3DFAD0104D9A6520E75A5874F499F66 /* RDEPUBReaderTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F60D4A5E3A44B1AB998E185EFF5C046 /* RDEPUBReaderTheme.swift */; };
+ F425E895C294B7E62878166C248F073A /* RDEPUBWebViewDebug.swift in Sources */ = {isa = PBXBuildFile; fileRef = C59CB44187E054E80CA13F60FF8EE303 /* RDEPUBWebViewDebug.swift */; };
F4A2E3C4237B8931F61B72FF0BDD6D69 /* DTObjectTextAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EDA1618562CC224690CF6FC03AFED38 /* DTObjectTextAttachment.m */; };
- F50A5A2A8E51049641FDFEC90E76F1B9 /* RDEPUBReaderController+RuntimeBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B2DF9409FC76691EAC579DDF7247899 /* RDEPUBReaderController+RuntimeBridge.swift */; };
- F580E10ABA4F035DD6C016EF8E917F2C /* RDReaderTapRegionHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C1B2F1D8E3F93A60375AA8853FF1842 /* RDReaderTapRegionHandler.swift */; };
- F582DBD2110DC7E2BD25731A220D85FA /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 006D002D86B43AA52E0AFD2E18459107 /* PrivacyInfo.xcprivacy */; };
+ F5064819F680614ACF6503287451E4C6 /* rangy-core.js in Resources */ = {isa = PBXBuildFile; fileRef = 15A5AF469CA067562D1516F98913D4DF /* rangy-core.js */; };
F58ABA106C6200175DF574DF05A75BA8 /* DTAccessibilityElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F842408AB76A580B80255453F2FDF6 /* DTAccessibilityElement.m */; };
F5A424E67F41C4F7B830CE2F7E71570D /* DTCoreText-Resources in Resources */ = {isa = PBXBuildFile; fileRef = F4E2B1AC73977F10254628C0B7EBE38F /* DTCoreText-Resources */; };
F6036BBDFE7484F5A453F6876C97C098 /* NSAttributedString+SmallCaps.m in Sources */ = {isa = PBXBuildFile; fileRef = 98CF9C5D504838741E399811F4D5A0B7 /* NSAttributedString+SmallCaps.m */; };
F61102C9BF3D6296CB6C6B754ABF98C5 /* DTTextHTMLElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 69076FC9D4201719C319547346DA3E21 /* DTTextHTMLElement.m */; };
- F97B3F528A2B7417D2843479548CDF40 /* UIApplication+DTNetworkActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 55423549E54A01F039B5F379B264C73F /* UIApplication+DTNetworkActivity.h */; settings = {ATTRIBUTES = (Public, ); }; };
- F9959EB035DFB0335495915F6A4DF232 /* RDEPUBCFIDOMPathBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54F135677B8806216984881B2333BF4E /* RDEPUBCFIDOMPathBuilder.swift */; };
- F9ADC220D598CC27EF1B9F8277966E01 /* NSURL+DTAppLinks.h in Headers */ = {isa = PBXBuildFile; fileRef = A3F7613E99CAA29881A015D0ED969B86 /* NSURL+DTAppLinks.h */; settings = {ATTRIBUTES = (Public, ); }; };
- F9AE08B54720440E62FC671424610C66 /* RDEPUBCFIRecoveryEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FBB458EDD978CBC54464EA28336F977 /* RDEPUBCFIRecoveryEngine.swift */; };
+ F6367EF2E50441DF4512B27FFD788D91 /* DTActivityTitleView.h in Headers */ = {isa = PBXBuildFile; fileRef = AF1516035C269F7A41EE064AAB14D562 /* DTActivityTitleView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ F6504C7DCCD538BD0696B381952DECB4 /* RDEPUBCSSCompatibilityLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F3B770A5B6ED1C21FDA2BD1A8B06EE6 /* RDEPUBCSSCompatibilityLayer.swift */; };
+ F7147DD0CF0BBAE9A181448FC68CF9AA /* DTSmartPagingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = A20F6F0463A998DC3BD53DE9E63B63DE /* DTSmartPagingScrollView.m */; };
+ F8073C63A8EFDF857AA51C52455545F0 /* RDEPUBMetadataParseWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1977F26E5E225E266FC92C775A41E1F3 /* RDEPUBMetadataParseWorker.swift */; };
+ F9510879C3D8131EEED997499C6ACF14 /* UIApplication+DTNetworkActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 55423549E54A01F039B5F379B264C73F /* UIApplication+DTNetworkActivity.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ FB3D0E7A431E12F09F3EFEA34560164D /* RDEPUBChapterData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317357794EF461FA4C6992E798C900DF /* RDEPUBChapterData.swift */; };
+ FBAC3FF19329EDF1CC7D494263CA728D /* RDEPUBReaderSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22FF6CAA8966DB1B4C14A695E355C881 /* RDEPUBReaderSettings.swift */; };
+ FBCBAE5842CAA34316A0963C2ED3FFE6 /* RDEPUBChapterCacheKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE8C9E2C878448571156DFC0E41979AF /* RDEPUBChapterCacheKey.swift */; };
FC5F52919451A15639442B46B38E4C67 /* DTCoreTextLayoutFrame+Cursor.m in Sources */ = {isa = PBXBuildFile; fileRef = EF625CF6A790938F5CE0F0C7DC36E340 /* DTCoreTextLayoutFrame+Cursor.m */; };
+ FC7E79D4D97B65B3546B66BE1B024F7B /* DTBlockFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 35417EC94F2D58CB80C991F875CE15C2 /* DTBlockFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ FCF14BAEC4558EE376B315BD4C0C9307 /* RDEPUBReaderRuntime.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49A29FA18CE9201BCA63615AEF3457F /* RDEPUBReaderRuntime.swift */; };
+ FD20D1EEC74F54FF4283C4C106E0BA5F /* DTPieProgressIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 173194D38C897D8E38AD8A194E47DB5C /* DTPieProgressIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; };
FD5D68887297CFA94F543C49DC68A156 /* DTHTMLAttributedStringBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = E0192469A486DA7CECFECEA37518B6B9 /* DTHTMLAttributedStringBuilder.m */; };
+ FE1D81BC7577F8C33E5D2164F29F57AD /* RDEPUBViewportTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = B137EA59DB88E982FBF8E5C775975FE5 /* RDEPUBViewportTypes.swift */; };
FEB00C614DCB6A8A7BDF8DEE11260984 /* NSMutableAttributedString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CA72FA9A4F2F42A75C58325738A44AC /* NSMutableAttributedString+HTML.m */; };
- FF183068DF62B1D2A61F46EA03A88FCB /* RDEPUBStyleSheetComposer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 361565CCC385512EA14A6A2C9CFAF08B /* RDEPUBStyleSheetComposer.swift */; };
- FFB1EA7B10054C49F85A561AF4A8D94B /* Data+Serialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C3615C94C147AEA92F022E119810E9F /* Data+Serialization.swift */; };
+ FEC18B0BF9DB6282F3B2737B03C466C6 /* NSURL+DTComparing.m in Sources */ = {isa = PBXBuildFile; fileRef = 467CC59CEC3B3BC7ACDCA776FDCBDC1D /* NSURL+DTComparing.m */; };
FFEB74D61E54DC46EFE0DBE2E76EFAA1 /* Pods-ReadViewDemo-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EBA0272559B0F7FAD8AC670AC7431188 /* Pods-ReadViewDemo-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
- 1756F289E5867FF7989F61502D8E61E6 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = AA2E57587AA8EECA63C4BE08EA3CB6D2;
- remoteInfo = RDReaderView;
- };
- 1D36C48BC78E85DBB1B5B5C63364A539 /* PBXContainerItemProxy */ = {
+ 02DA505711474C0FACBA3A4EF92D0255 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = AA15C8469D67684160CC2A7098EB841C;
remoteInfo = ZIPFoundation;
};
- 291EF29F5CECA009529D76F9FE26B4B9 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 8F6E5A5BF72D62CDFD25F91A7CFA3309;
- remoteInfo = DTFoundation;
- };
- 3AEFBA1AE6539AC7A3DA5FA7CF3F7885 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = C7A8D82E407CD3FDC3BA55CEE519B252;
- remoteInfo = "ZIPFoundation-ZIPFoundation_Privacy";
- };
- 74636C5DF9567077F30C787E0823DE39 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = AA15C8469D67684160CC2A7098EB841C;
- remoteInfo = ZIPFoundation;
- };
- 7AD1BAAD6E745A14A9201807DB7B6F66 /* PBXContainerItemProxy */ = {
+ 18EB355BC8F480499E2AE3151AC106F3 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 0C24CB0E87A728A11AA1124CB360D6A1;
remoteInfo = "DTCoreText-Resources";
};
- 99F356F4CC2B773149744B1DE33A5ED9 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = AE7F393FB7805DE2664AB4111873F907;
- remoteInfo = "RDReaderView-RDReaderViewAssets";
- };
- B1FC0CCED6BCAC632379DDDD199C72EA /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = B88F4EA0695B6B3165C64594850D72C7;
- remoteInfo = DTCoreText;
- };
- C8DB32812641B809F4A0DAC443C5EAA0 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = B88F4EA0695B6B3165C64594850D72C7;
- remoteInfo = DTCoreText;
- };
- CEF5C9FADEA582571424EA2F8593ACD3 /* PBXContainerItemProxy */ = {
+ 52128B73E472B44C45E232AF6CE036D8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8F6E5A5BF72D62CDFD25F91A7CFA3309;
remoteInfo = DTFoundation;
};
+ 7A2462400BEFE0B87FFF91506C70323F /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AA15C8469D67684160CC2A7098EB841C;
+ remoteInfo = ZIPFoundation;
+ };
+ 80521E27CBC7CED78A3F5097ABF137C3 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 8F6E5A5BF72D62CDFD25F91A7CFA3309;
+ remoteInfo = DTFoundation;
+ };
+ 8AA2F6A6BF24C94B6D48B63672A15FC1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AE7F393FB7805DE2664AB4111873F907;
+ remoteInfo = "RDReaderView-RDReaderViewAssets";
+ };
+ 8C68FC6E1E8C08E748DEFB91D8C9C468 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = C7A8D82E407CD3FDC3BA55CEE519B252;
+ remoteInfo = "ZIPFoundation-ZIPFoundation_Privacy";
+ };
+ A1FE9FFEAB3A0F41D3FD0AC3841AF317 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = B88F4EA0695B6B3165C64594850D72C7;
+ remoteInfo = DTCoreText;
+ };
+ AF23E97E0F7EF7C4C8ED414CE73B904B /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AA2E57587AA8EECA63C4BE08EA3CB6D2;
+ remoteInfo = RDReaderView;
+ };
+ C06FCB07200CA15988CA2E58AE3B4525 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = B88F4EA0695B6B3165C64594850D72C7;
+ remoteInfo = DTCoreText;
+ };
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
006D002D86B43AA52E0AFD2E18459107 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Sources/ZIPFoundation/Resources/PrivacyInfo.xcprivacy; sourceTree = ""; };
- 02946CDDA8033AFAA82187D50800FEA8 /* ResourceBundle-RDReaderViewAssets-RDReaderView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-RDReaderViewAssets-RDReaderView-Info.plist"; sourceTree = ""; };
+ 008302A48FE881CADADBCB02832B880B /* RDReaderSpreadResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderSpreadResolver.swift; sourceTree = ""; };
+ 02CABD2C55EE6F8759C2702014273F00 /* RDURLReaderController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDURLReaderController.swift; sourceTree = ""; };
0372FD1824BC43F7BD6B337430201420 /* DTCoreGraphicsUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreGraphicsUtils.m; path = Core/Source/DTCoreGraphicsUtils.m; sourceTree = ""; };
+ 0430034A7AFBCEC269D7C46517004DF0 /* RDEPUBNoteDetector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBNoteDetector.swift; sourceTree = ""; };
044BEA679671E16EA9BA9AD627750742 /* NSMutableAttributedString+HTML.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableAttributedString+HTML.h"; path = "Core/Source/NSMutableAttributedString+HTML.h"; sourceTree = ""; };
045ADBF2087ADD914A9CA0B62EBF2A9F /* Pods-ReadViewDemo.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ReadViewDemo.modulemap"; sourceTree = ""; };
+ 055B53D0A60DC351390338A48800AE77 /* RDEPUBNavigatorLayoutContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBNavigatorLayoutContext.swift; sourceTree = ""; };
057DBFBFC99448A0B77A3C0DBB13B4A9 /* NSScanner+HTML.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSScanner+HTML.m"; path = "Core/Source/NSScanner+HTML.m"; sourceTree = ""; };
05838D65DEC339C51AADB17346B7E287 /* NSDictionary+DTError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+DTError.h"; path = "Core/Source/NSDictionary+DTError.h"; sourceTree = ""; };
- 05ECE185AAFC5A857734DF5495F8E7C2 /* RDEPUBCFIMarkerInjector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCFIMarkerInjector.swift; sourceTree = ""; };
- 06733E30802CA08ACF312C763BD37795 /* RDEPUBTextSearchEngine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextSearchEngine.swift; sourceTree = ""; };
+ 05A13D7709B82256F12E52DC6E65F696 /* RDEPUBPageResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageResolver.swift; sourceTree = ""; };
068885F1B54CFD5DBBE6E2DC253F7819 /* DTAttributedTextCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTAttributedTextCell.h; path = Core/Source/DTAttributedTextCell.h; sourceTree = ""; };
+ 0742A5B640EA32CFFCB23C98EA7E4E02 /* RDEPUBPageCountCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageCountCache.swift; sourceTree = ""; };
0764D155F69503AACFA7AD976825E986 /* DTTiledLayerWithoutFade.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTTiledLayerWithoutFade.h; path = Core/Source/iOS/DTTiledLayerWithoutFade.h; sourceTree = ""; };
- 0786D6430A29C2F90E4832048559BE21 /* RDReaderSpreadResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderSpreadResolver.swift; sourceTree = ""; };
- 07C08997AE3D75194E400010A0AE4820 /* RDEPUBTextLayoutFrame.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextLayoutFrame.swift; sourceTree = ""; };
+ 07E07EEE45C5439A207C5647210A4A7F /* RDEPUBSearchModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBSearchModels.swift; sourceTree = ""; };
0834E84632886CDD9911CAB76183F1CE /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
- 0886011FDDE07A5C7BBC2168C401EAD2 /* RDEPUBAttachmentTooltipOverlayView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBAttachmentTooltipOverlayView.swift; sourceTree = ""; };
08F54C3D9B4AECA08A47309615DC2715 /* DTFoundation-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DTFoundation-prefix.pch"; sourceTree = ""; };
- 091E53DC8215AED45D88A2ABA24A2140 /* epub-bridge.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "epub-bridge.js"; path = "Sources/RDReaderView/EPUBCore/Resources/epub-bridge.js"; sourceTree = ""; };
+ 0901D33C8FF8497CDC7A4365D0D84218 /* RDEPUBReaderSettingsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderSettingsViewController.swift; sourceTree = ""; };
+ 09336B106D598DCD38F6B79AEA629066 /* RDEPUBCoreTextPageFrameFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCoreTextPageFrameFactory.swift; sourceTree = ""; };
+ 09608C067F73D7A137B9F22AF1384DF2 /* RDEPUBWebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBWebView.swift; sourceTree = ""; };
09FF858DC29B73E9B67B32B03CFF4084 /* DTAttributedLabel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTAttributedLabel.h; path = Core/Source/DTAttributedLabel.h; sourceTree = ""; };
- 0AE0BE26FBA95F74B6173965BEC302EB /* RDEPUBSemanticMarkerInjector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBSemanticMarkerInjector.swift; sourceTree = ""; };
+ 0ADCC15F3965570C3568420F9A75845E /* RDEPUBCFIParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCFIParser.swift; sourceTree = ""; };
0B8321AB80CFE0B94537AEA63E9A79F5 /* NSString+Paragraphs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+Paragraphs.h"; path = "Core/Source/NSString+Paragraphs.h"; sourceTree = ""; };
0C24F592C4F38F15DC8C46BE0442B59C /* DTCSSListStyle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCSSListStyle.h; path = Core/Source/DTCSSListStyle.h; sourceTree = ""; };
- 0D170B1455CB3C94EFC34D7B67EDC001 /* RDReaderView+ContentAccess.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDReaderView+ContentAccess.swift"; sourceTree = ""; };
- 0D253DF65322509913DE34899979C30B /* wxread-default.css */ = {isa = PBXFileReference; includeInIndex = 1; name = "wxread-default.css"; path = "Sources/RDReaderView/EPUBCore/Resources/wxread-default.css"; sourceTree = ""; };
0D93C2002AAECD29B3ED5A14026D3DFE /* Entry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Entry.swift; path = Sources/ZIPFoundation/Entry.swift; sourceTree = ""; };
- 0D9C9D60B2B26F9890D35189DEBC7580 /* RDEPUBChapterRuntimeStore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterRuntimeStore.swift; sourceTree = ""; };
- 0DC061242C98566FE767A2179BE8D9A9 /* RDEPUBReaderTheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderTheme.swift; sourceTree = ""; };
- 0DE6AC16B3AE09561A7557F826881E3D /* RDEPUBReadingSession.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReadingSession.swift; sourceTree = ""; };
- 0E160FF00EF4B6DB318FEDCD72A026F3 /* RDEPUBDTCoreTextRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBDTCoreTextRenderer.swift; sourceTree = ""; };
- 0E5D2C72E80EF71ECCFDFE5C476ADADE /* RDReaderPreloadController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderPreloadController.swift; sourceTree = ""; };
+ 0EA81A6E9B081AC375550C90411530B8 /* RDReaderView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RDReaderView-Info.plist"; sourceTree = ""; };
+ 0F5110430A322C853C80F6041B0EDF94 /* RDEPUBTextBookBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextBookBuilder.swift; sourceTree = ""; };
0F80AC45FB1DBF50E0E3AA4F26BFA676 /* DTFoundationConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTFoundationConstants.m; path = Core/Source/DTFoundationConstants.m; sourceTree = ""; };
- 0FF7BBD4C881AD7327290471E9484E1F /* RDEPUBReaderLoadCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderLoadCoordinator.swift; sourceTree = ""; };
- 1058DD74F97F43193DBA11E135ACFF22 /* RDReaderViewProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderViewProtocols.swift; sourceTree = ""; };
- 10617286346E2E6D7BB30203A65302CA /* RDReaderGestureController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderGestureController.swift; sourceTree = ""; };
+ 0FDF74546728C05BFEA4B3BC4D6905AF /* RDEPUBReaderServices.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderServices.swift; sourceTree = ""; };
+ 104930ADAD326C90EB587485A6BFF755 /* RDEPUBCFIGenerator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCFIGenerator.swift; sourceTree = ""; };
+ 11C3B7C93919D787AAC0C4D25E52805A /* RDEPUBCFIMarkerInjector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCFIMarkerInjector.swift; sourceTree = ""; };
+ 11D2090101EA891F21834863EE859AE8 /* RDEPUBNoteResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBNoteResolver.swift; sourceTree = ""; };
+ 12422B421A127464A62DF332C3EAF31E /* RDEPUBReaderEnvironment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderEnvironment.swift; sourceTree = ""; };
126E6ACAC7C0427806B58DA8E10BDD78 /* NSMutableString+HTML.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableString+HTML.m"; path = "Core/Source/NSMutableString+HTML.m"; sourceTree = ""; };
- 129154729E86D56457FE6DC7DEEA55B6 /* RDEPUBCFIPath.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCFIPath.swift; sourceTree = ""; };
1300CC5794E609DB8FBA6FFF90A09408 /* UIImage+DTFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+DTFoundation.h"; path = "Core/Source/iOS/UIImage+DTFoundation.h"; sourceTree = ""; };
- 130135CFECAE1E38379F213C3C298BD1 /* RDEPUBWebView+Search.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBWebView+Search.swift"; sourceTree = ""; };
131C1D8C96DF2D44A2D4F50C5AEFFF11 /* NSString+DTURLEncoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+DTURLEncoding.m"; path = "Core/Source/NSString+DTURLEncoding.m"; sourceTree = ""; };
13597E7190F2C08C5906D7D128E43E99 /* DTObjectTextAttachment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTObjectTextAttachment.h; path = Core/Source/DTObjectTextAttachment.h; sourceTree = ""; };
13F8FC8B51AD434F5D4B0CF5150D7563 /* DTCoreText-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DTCoreText-umbrella.h"; sourceTree = ""; };
14283024FA4A0231B32CA22AA907FEFA /* DTBreakHTMLElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTBreakHTMLElement.h; path = Core/Source/DTBreakHTMLElement.h; sourceTree = ""; };
148B993AB228816D19FCB7CD13874C83 /* DTAnchorHTMLElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTAnchorHTMLElement.m; path = Core/Source/DTAnchorHTMLElement.m; sourceTree = ""; };
14E63A0D35D4A07BD0123021EA161C99 /* DTHTMLWriter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTHTMLWriter.h; path = Core/Source/DTHTMLWriter.h; sourceTree = ""; };
+ 1527510DA54482E3557D6BB3EB651015 /* rangy-serializer.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "rangy-serializer.js"; path = "Sources/RDReaderView/EPUBCore/Resources/rangy-serializer.js"; sourceTree = ""; };
+ 15A5AF469CA067562D1516F98913D4DF /* rangy-core.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "rangy-core.js"; path = "Sources/RDReaderView/EPUBCore/Resources/rangy-core.js"; sourceTree = ""; };
+ 170D81239AF3CE5CD64BA2E44A505872 /* RDEPUBParser+Resources.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBParser+Resources.swift"; sourceTree = ""; };
173194D38C897D8E38AD8A194E47DB5C /* DTPieProgressIndicator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTPieProgressIndicator.h; path = Core/Source/iOS/DTPieProgressIndicator.h; sourceTree = ""; };
- 1776D2B8346E3DE2D2CFF9AA994D50DF /* RDEPUBBackgroundPriorityPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBBackgroundPriorityPolicy.swift; sourceTree = ""; };
+ 1791083E7546C2EB443048851C122E32 /* RDEPUBImageViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBImageViewController.swift; sourceTree = ""; };
+ 1859C9EC3263145CE262EC15A12B6BE4 /* RDEPUBReaderController+PublicAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+PublicAPI.swift"; sourceTree = ""; };
18D23D8D10719754D93032F66EB98536 /* Date+ZIP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Date+ZIP.swift"; path = "Sources/ZIPFoundation/Date+ZIP.swift"; sourceTree = ""; };
18F842408AB76A580B80255453F2FDF6 /* DTAccessibilityElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTAccessibilityElement.m; path = Core/Source/DTAccessibilityElement.m; sourceTree = ""; };
+ 1961705269BD266F52EBD357EAE068A5 /* RDEPUBPageInteractionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageInteractionController.swift; sourceTree = ""; };
+ 1977F26E5E225E266FC92C775A41E1F3 /* RDEPUBMetadataParseWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBMetadataParseWorker.swift; sourceTree = ""; };
199E2ECC77BDAC03F644C20040F042D4 /* DTLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTLog.m; path = Core/Source/DTLog.m; sourceTree = ""; };
+ 19D3A41F50CE425FA2929A6FBE743A84 /* RDEPUBChapterLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterLocation.swift; sourceTree = ""; };
1A88AA04D7B29A217B432C19AC48AB6B /* DTStylesheetHTMLElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTStylesheetHTMLElement.h; path = Core/Source/DTStylesheetHTMLElement.h; sourceTree = ""; };
1AD502A1FA6EB1E38200B5283F979504 /* Pods-ReadViewDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ReadViewDemo.release.xcconfig"; sourceTree = ""; };
- 1C5CA885255B08C8AD10778C62071BCD /* RDEPUBChapterLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterLocation.swift; sourceTree = ""; };
- 1D24B9DBA8D8A1B00CEF2E2238C16681 /* RDEPUBWebView+JavaScriptBridge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBWebView+JavaScriptBridge.swift"; sourceTree = ""; };
- 1DD088C35A5559FEE1027DAE37417E3D /* RDEPUBSafeArea.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBSafeArea.swift; sourceTree = ""; };
+ 1C3DEA097D20AC964CFB673C39B4A8AF /* RDReaderView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RDReaderView-dummy.m"; sourceTree = ""; };
+ 1E381C002AE6ECE51B0B77AA5007FE27 /* RDEPUBReaderController+ExternalLinks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+ExternalLinks.swift"; sourceTree = ""; };
1EF19AD0EF4889156D46061FB43E0F5D /* DTCoreTextFontDescriptor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreTextFontDescriptor.h; path = Core/Source/DTCoreTextFontDescriptor.h; sourceTree = ""; };
+ 1EF9571672022F0A84D66AC6E6F91305 /* RDEPUBReaderPaginationCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderPaginationCoordinator.swift; sourceTree = ""; };
1F1F7BFB63DE15D627EB8F64829B8AAD /* NSURL+DTComparing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURL+DTComparing.h"; path = "Core/Source/NSURL+DTComparing.h"; sourceTree = ""; };
1FA88D00B7B2B2F0BA98BB92DF035906 /* DTDictationPlaceholderView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTDictationPlaceholderView.m; path = Core/Source/DTDictationPlaceholderView.m; sourceTree = ""; };
- 1FE1D4A863768FC78F6B76B6A181267C /* RDReaderView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderView.swift; sourceTree = ""; };
2047430DF5C84E0A8FC8874A2B915FC3 /* Pods-ReadViewDemo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ReadViewDemo-acknowledgements.markdown"; sourceTree = ""; };
207CC0EEB74CECEB43A870FF80560E0F /* DTLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTLog.h; path = Core/Source/DTLog.h; sourceTree = ""; };
- 2092D0DAEE6507B0B448DAA0A4888191 /* RDEPUBNavigatorLayoutContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBNavigatorLayoutContext.swift; sourceTree = ""; };
214F0FC87DE99D3FCE69D98B357F3FFC /* DTCoreTextLayoutFrame+Cursor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DTCoreTextLayoutFrame+Cursor.h"; path = "Core/Source/DTCoreTextLayoutFrame+Cursor.h"; sourceTree = ""; };
21CCCCAAF832BE9C859BEDDC79B4E9E2 /* DTSmartPagingScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTSmartPagingScrollView.h; path = Core/Source/iOS/DTSmartPagingScrollView.h; sourceTree = ""; };
22B69C9433F2FBE5CE8409BD4266DFE8 /* Data+Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Compression.swift"; path = "Sources/ZIPFoundation/Data+Compression.swift"; sourceTree = ""; };
+ 22FF6CAA8966DB1B4C14A695E355C881 /* RDEPUBReaderSettings.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderSettings.swift; sourceTree = ""; };
23006DBAC610AEB0A4B3EAFEA4FB0567 /* DTTiledLayerWithoutFade.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTTiledLayerWithoutFade.m; path = Core/Source/iOS/DTTiledLayerWithoutFade.m; sourceTree = ""; };
23588B63FC4026A371F5C683744A664C /* DTFoundation-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DTFoundation-umbrella.h"; sourceTree = ""; };
2361BC151481D2717ED43C5659725945 /* ZIPFoundation.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ZIPFoundation.modulemap; sourceTree = ""; };
2373DCA0FC45287BFC063BEA661B8367 /* Archive+WritingDeprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+WritingDeprecated.swift"; path = "Sources/ZIPFoundation/Archive+WritingDeprecated.swift"; sourceTree = ""; };
238893C9CBD95CB9BDF069EB5A303E17 /* RDReaderView */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RDReaderView; path = RDReaderView.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 252AFCFB40C36621E9C98C6644A56EE6 /* RDEPUBPageInteractionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPageInteractionController.swift; sourceTree = ""; };
- 254C03130C9163149B80FEBC8128119F /* RDEPUBImageViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBImageViewController.swift; sourceTree = ""; };
- 25C6A0883824F05CF90F21478E019975 /* RDEPUBRenderRequest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBRenderRequest.swift; sourceTree = ""; };
+ 24130F5639CFFFA28D8BE6C2BD7A45FE /* RDEPUBTextSearchEngine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextSearchEngine.swift; sourceTree = ""; };
25DDD76CA572F0C7AB5A8178CF80169D /* DTCoreTextFontCollection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreTextFontCollection.h; path = Core/Source/DTCoreTextFontCollection.h; sourceTree = ""; };
- 25E8E62C9DC0A4AE49F168F04CF8B9D3 /* rangy-serializer.js */ = {isa = PBXFileReference; includeInIndex = 1; name = "rangy-serializer.js"; path = "Sources/RDReaderView/EPUBCore/Resources/rangy-serializer.js"; sourceTree = ""; };
27372A23AA4B051867E7D2C749D1DE81 /* DTImageTextAttachment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTImageTextAttachment.h; path = Core/Source/DTImageTextAttachment.h; sourceTree = ""; };
- 2739EAD69AB2F5F6FA80E254D294440D /* RDPlainTextBookBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDPlainTextBookBuilder.swift; sourceTree = ""; };
- 277A48279BD4FD22C6C552AAC4F282B2 /* RDEPUBReaderSettings.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderSettings.swift; sourceTree = ""; };
+ 27FE2A0ABB2E40A2D8D3B4BDECE106A7 /* RDEPUBTextContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextContentView.swift; sourceTree = ""; };
288589D0B52F73505B43C743D9837578 /* Entry+ZIP64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Entry+ZIP64.swift"; path = "Sources/ZIPFoundation/Entry+ZIP64.swift"; sourceTree = ""; };
- 29075A60F0C3B46C5143EC971A0D16D4 /* RDEPUBReaderController+PublicAPI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+PublicAPI.swift"; sourceTree = ""; };
- 29D1AFEDD39DE3A55D023DCF1DD8E100 /* RDEPUBResourceResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBResourceResolver.swift; sourceTree = ""; };
+ 29DE76CD63BD47DC86DF55C349B1CF91 /* RDEPUBFontFallbackResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBFontFallbackResolver.swift; sourceTree = ""; };
29DEA4D201BB179BB6E228E9F688CD4C /* UIView+DTFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+DTFoundation.h"; path = "Core/Source/iOS/UIView+DTFoundation.h"; sourceTree = ""; };
+ 2AACA59CA4CBD2AFAACC3D162C2C75B5 /* RDEPUBParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBParser.swift; sourceTree = ""; };
+ 2B73CF24646475E517B8FDF110972E77 /* RDReaderView.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RDReaderView.release.xcconfig; sourceTree = ""; };
+ 2B7FCEEAD833F7C1706659E688B09BEA /* RDEPUBRenderDiagnosticsCollector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBRenderDiagnosticsCollector.swift; sourceTree = ""; };
2C1A7359A45BB880877A672C57F522FE /* DTCoreGraphicsUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreGraphicsUtils.h; path = Core/Source/DTCoreGraphicsUtils.h; sourceTree = ""; };
- 2E281F0688B1D356CF1654C6063AE77D /* RDReaderView+PageCurl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDReaderView+PageCurl.swift"; sourceTree = ""; };
- 2EDB136931B7075E5A4F6BD8E5E2DBE6 /* RDEPUBReaderContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderContext.swift; sourceTree = ""; };
+ 2D80571A5CC74FDE8F5CE6E70B50023F /* RDEPUBRuntimeChapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBRuntimeChapter.swift; sourceTree = ""; };
+ 2EBD41467F344F6091AD0C1A3981EDC3 /* cssInjector.js */ = {isa = PBXFileReference; includeInIndex = 1; name = cssInjector.js; path = Sources/RDReaderView/EPUBCore/Resources/cssInjector.js; sourceTree = ""; };
2F242FC1357DD90FA4FD67E1DB90A837 /* NSCharacterSet+HTML.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSCharacterSet+HTML.m"; path = "Core/Source/NSCharacterSet+HTML.m"; sourceTree = ""; };
- 2F34FF3B7E71CCE4E9C73115AA710B1C /* RDEPUBTextBookModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextBookModels.swift; sourceTree = ""; };
- 2F653BA6E911AE149EB7FF7471D9D9BD /* RDEPUBParser+Archive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBParser+Archive.swift"; sourceTree = ""; };
2F75437CE9F9324D315E417014797C1D /* DTExtendedFileAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTExtendedFileAttributes.h; path = Core/Source/DTExtendedFileAttributes.h; sourceTree = ""; };
- 2FBB458EDD978CBC54464EA28336F977 /* RDEPUBCFIRecoveryEngine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCFIRecoveryEngine.swift; sourceTree = ""; };
- 2FCEDA49EDECD7CEEEF8A65685B9870A /* RDEPUBPaginationModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPaginationModels.swift; sourceTree = ""; };
- 3008F6944BA740CD6E6F5CA33733C911 /* RDEPUBPaginationCacheCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPaginationCacheCoordinator.swift; sourceTree = ""; };
+ 2F899D2164D781FF192129E1C659613F /* RDEPUBDarkImageAdjuster.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBDarkImageAdjuster.swift; sourceTree = ""; };
+ 2FA2158447C66C1AA074403C4AEF1BD9 /* RDEPUBPublication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPublication.swift; sourceTree = ""; };
3046397381A83C2F6BAF344B86AD176E /* NSMutableArray+DTMoving.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableArray+DTMoving.h"; path = "Core/Source/NSMutableArray+DTMoving.h"; sourceTree = ""; };
306477706BBB1E784F55BCF8EB1AD737 /* Pods-ReadViewDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ReadViewDemo.debug.xcconfig"; sourceTree = ""; };
30EB4CF4AD4114DE53786C318621EB19 /* NSAttributedStringRunDelegates.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NSAttributedStringRunDelegates.h; path = Core/Source/NSAttributedStringRunDelegates.h; sourceTree = ""; };
- 30EE98BBC2688DFF0B50F9C417007886 /* RDEPUBCSSCompatibilityLayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCSSCompatibilityLayer.swift; sourceTree = ""; };
- 32AD569BCA384A60FC2E1E08CE3529AD /* RDEPUBWebView+Reflowable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBWebView+Reflowable.swift"; sourceTree = ""; };
- 3424A6DFBC2AC519C7C599F18DCDC89D /* RDEPUBTypesettingPipeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTypesettingPipeline.swift; sourceTree = ""; };
+ 314E39CF7ADE645354AC8873D80957CA /* RDEPUBReadingSession.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReadingSession.swift; sourceTree = ""; };
+ 315243CD0784D4E8AF97453BF5848904 /* RDEPUBReaderTableOfContentsItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderTableOfContentsItem.swift; sourceTree = ""; };
+ 317357794EF461FA4C6992E798C900DF /* RDEPUBChapterData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterData.swift; sourceTree = ""; };
+ 31B49361D4C4F119B135F85B7A8219DB /* RDEPUBParser+ReadingProfile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBParser+ReadingProfile.swift"; sourceTree = ""; };
+ 31C306314EF985A32E583A25AAA39960 /* RDEPUBReaderController+DataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+DataSource.swift"; sourceTree = ""; };
+ 321FA16FF2FAD7985CCAC14EF5A221D4 /* RDEPUBWebView+JavaScriptBridge.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBWebView+JavaScriptBridge.swift"; sourceTree = ""; };
+ 328AA616EE25AB53BFB60EFE1C7AAFCE /* RDEPUBChapterPageCounter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterPageCounter.swift; sourceTree = ""; };
+ 33452E6D078F6CC1EF8A17DF42966CAA /* RDReaderPageChildViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderPageChildViewController.swift; sourceTree = ""; };
+ 33643E88B779A3DB1B3A14C7A194045B /* RDEPUBTextBookModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextBookModels.swift; sourceTree = ""; };
+ 3416C45A5E4AEF922A7D3804F0A05EB4 /* RDEPUBReaderController+ContentDelegates.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+ContentDelegates.swift"; sourceTree = ""; };
3453CFB9BDBF6F9D0937EDF5FB2BD07B /* NSURL+DTAppLinks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURL+DTAppLinks.m"; path = "Core/Source/iOS/NSURL+DTAppLinks.m"; sourceTree = ""; };
35417EC94F2D58CB80C991F875CE15C2 /* DTBlockFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTBlockFunctions.h; path = Core/Source/DTBlockFunctions.h; sourceTree = ""; };
354C1C3A74DB75C8B8608D538212A963 /* DTStylesheetHTMLElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTStylesheetHTMLElement.m; path = Core/Source/DTStylesheetHTMLElement.m; sourceTree = ""; };
3578B97A85BCDC60888FDF87B8F2600C /* NSString+CSS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+CSS.h"; path = "Core/Source/NSString+CSS.h"; sourceTree = ""; };
- 361565CCC385512EA14A6A2C9CFAF08B /* RDEPUBStyleSheetComposer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBStyleSheetComposer.swift; sourceTree = ""; };
- 3667CE400B3A606C7BE2D736B10AB546 /* RDEPUBChapterDataCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBChapterDataCache.swift; sourceTree = ""; };
+ 35803D654BE44326A28A0947DD178B63 /* RDEPUBCFIRecoveryEngine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCFIRecoveryEngine.swift; sourceTree = ""; };
+ 3652433CDE5ACCD783B54CBDD0CBB5C6 /* RDEPUBBackgroundTrace.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBBackgroundTrace.swift; sourceTree = ""; };
+ 36606A851BDB5FFF6E9BFFDD7FB72455 /* RDReaderView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RDReaderView-umbrella.h"; sourceTree = ""; };
+ 36BCDC7F25B3DB9F7FC2F681DD27B93E /* RDEPUBTextSelectionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextSelectionController.swift; sourceTree = ""; };
37327141DC73DE2D5742BE6F989094CE /* DTCoreTextLayoutLine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCoreTextLayoutLine.h; path = Core/Source/DTCoreTextLayoutLine.h; sourceTree = ""; };
- 38459BA6DDC11AC3B9574C4E48F48ADC /* RDEPUBFixedLayoutTemplate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBFixedLayoutTemplate.swift; sourceTree = ""; };
3985FED7BD8EC49191663BEF73FB2C79 /* NSAttributedString+DTCoreText.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSAttributedString+DTCoreText.h"; path = "Core/Source/NSAttributedString+DTCoreText.h"; sourceTree = ""; };
398DC798680E2CA64D46B9E19B380356 /* UIFont+DTCoreText.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIFont+DTCoreText.h"; path = "Core/Source/UIFont+DTCoreText.h"; sourceTree = ""; };
399AED6BF151EC39BE4450784795A832 /* DTAccessibilityViewProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTAccessibilityViewProxy.h; path = Core/Source/DTAccessibilityViewProxy.h; sourceTree = ""; };
3A6A858B976D032A3C61540AFF19DEE4 /* NSURL+DTUnshorten.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURL+DTUnshorten.m"; path = "Core/Source/NSURL+DTUnshorten.m"; sourceTree = ""; };
- 3C4658670F6EBD43067CF1D859518D23 /* RDEPUBReaderTableOfContentsItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderTableOfContentsItem.swift; sourceTree = ""; };
+ 3AF63806C4793F384C4CF28201BC756C /* WeReadApi.js */ = {isa = PBXFileReference; includeInIndex = 1; name = WeReadApi.js; path = Sources/RDReaderView/EPUBCore/Resources/WeReadApi.js; sourceTree = ""; };
+ 3B35A0451D9A3CF5477258E38D363189 /* RDEPUBTextRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextRenderer.swift; sourceTree = ""; };
+ 3CF48E002B64BF7AF8BDBEB9A572C13F /* RDEPUBReaderContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderContext.swift; sourceTree = ""; };
3DAC9D3802A9F165B2F6B09C2DCF0EB7 /* ResourceBundle-ZIPFoundation_Privacy-ZIPFoundation-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-ZIPFoundation_Privacy-ZIPFoundation-Info.plist"; sourceTree = ""; };
- 3ECA70C45BE80D444EBFE0DA40424702 /* RDURLReaderController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDURLReaderController.swift; sourceTree = ""; };
3EFAE8DFDDEA1E6047289C86D66381C0 /* DTAttributedLabel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTAttributedLabel.m; path = Core/Source/DTAttributedLabel.m; sourceTree = ""; };
- 3F6776D2868DE1A8CAC80752CB023567 /* RDEPUBReaderEnvironment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderEnvironment.swift; sourceTree = ""; };
40FD7C9E2E05FB4A73F4C4C70A3AFAF0 /* DTCSSListStyle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCSSListStyle.m; path = Core/Source/DTCSSListStyle.m; sourceTree = ""; };
- 418CF402E2B3A6359A720876AF83E1F3 /* RDEPUBCFIResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCFIResolver.swift; sourceTree = ""; };
- 427D3D938726077995A928BFEDDC6632 /* RDEPUBCFIMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCFIMap.swift; sourceTree = ""; };
+ 40FFA046E3AFCD87D8592AEFB6CFD987 /* RDEPUBSelectionOverlayView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBSelectionOverlayView.swift; sourceTree = ""; };
+ 410C5BB742936BFF1A02BAB0970CAF34 /* RDReaderContentCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderContentCell.swift; sourceTree = ""; };
+ 422DAC763888F8667708F7B66F9C701E /* RDEPUBPaginationModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPaginationModels.swift; sourceTree = ""; };
+ 43197856E7D06A21EF9B252FD37456A5 /* RDEPUBParser+TOC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBParser+TOC.swift"; sourceTree = ""; };
44133205D7FD87B481BF89EA607CA7A4 /* ZIPFoundation-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ZIPFoundation-Info.plist"; sourceTree = ""; };
- 44369E6800A89D0C5818CA884729D20F /* RDEPUBReaderController+ContentDelegates.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+ContentDelegates.swift"; sourceTree = ""; };
4472755F83C121DE5E1E505D145F6DBE /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/CoreText.framework; sourceTree = DEVELOPER_DIR; };
4476B58B93EE7476A4762FE0E26E8178 /* DTCoreTextLayoutFrameAccessibilityElementGenerator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreTextLayoutFrameAccessibilityElementGenerator.m; path = Core/Source/DTCoreTextLayoutFrameAccessibilityElementGenerator.m; sourceTree = ""; };
- 45441D548F125483949D77F61F85AFE3 /* RDEPUBNotePopupViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBNotePopupViewController.swift; sourceTree = ""; };
+ 4537790EA93442CD0FA48609D7ADDD13 /* RDEPUBReaderHighlightsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderHighlightsViewController.swift; sourceTree = ""; };
4544C4444DCA90E700611D1281969883 /* DTColorFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTColorFunctions.m; path = Core/Source/DTColorFunctions.m; sourceTree = ""; };
- 455F46F5F9EA1B2EAF47E54361B9E5F1 /* RDEPUBReaderViewportMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderViewportMonitor.swift; sourceTree = ""; };
45A67761829BBB3974CE24FE50E459EA /* NSDictionary+DTError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+DTError.m"; path = "Core/Source/NSDictionary+DTError.m"; sourceTree = ""; };
4641C3C93CE32054665ACF80457A7A94 /* DTCoreTextLayoutFrame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreTextLayoutFrame.m; path = Core/Source/DTCoreTextLayoutFrame.m; sourceTree = ""; };
- 4646F47318195C5CDADF0D93A4A2FC91 /* RDEPUBModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBModels.swift; sourceTree = ""; };
467CC59CEC3B3BC7ACDCA776FDCBDC1D /* NSURL+DTComparing.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURL+DTComparing.m"; path = "Core/Source/NSURL+DTComparing.m"; sourceTree = ""; };
47DC174612C98B2CFB4E7D158169139E /* default.css */ = {isa = PBXFileReference; includeInIndex = 1; name = default.css; path = Core/Source/default.css; sourceTree = ""; };
+ 482C32ED3E6D23BBCED7BBE64E370A91 /* RDEPUBParser+Archive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBParser+Archive.swift"; sourceTree = ""; };
48A4A6EDC08C8AC933D0DCD507E9D173 /* ZIPFoundation */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ZIPFoundation; path = ZIPFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4917E08E6E59460594AC443EDDAB7E77 /* DTCoreTextFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTCoreTextFunctions.m; path = Core/Source/DTCoreTextFunctions.m; sourceTree = ""; };
4944FE0BE3205F2EC91A6A0550D30B75 /* DTTextAttachment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTTextAttachment.m; path = Core/Source/DTTextAttachment.m; sourceTree = ""; };
+ 499C327E148794A7F09BAF1C83BE59EF /* RDReaderView+PageCurl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDReaderView+PageCurl.swift"; sourceTree = ""; };
499E135F1FEB31C26EB0EF793A90086C /* UIImage+DTFoundation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+DTFoundation.m"; path = "Core/Source/iOS/UIImage+DTFoundation.m"; sourceTree = ""; };
- 4C0AFCECD74F73D7D40C6F3053AF6FEE /* RDEPUBCFI.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCFI.swift; sourceTree = ""; };
+ 49DF44BF9FBD9CCC9CDE0A998C428D86 /* RDEPUBCFIDOMPathBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCFIDOMPathBuilder.swift; sourceTree = ""; };
+ 4AAC2FDC24D8604A39BD25111689D06A /* RDEPUBWebView+Reflowable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBWebView+Reflowable.swift"; sourceTree = ""; };
4C2B218B5EAA5831A036BBF7E1EFC1B9 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/MediaPlayer.framework; sourceTree = DEVELOPER_DIR; };
- 4C4682C38E0A66C0E9760FC62C00A327 /* RDReaderView+CollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDReaderView+CollectionView.swift"; sourceTree = ""; };
- 4CDD971696985E60155A09E16CD844C5 /* RDEPUBReaderController+AttachmentTooltip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+AttachmentTooltip.swift"; sourceTree = ""; };
+ 4DFBB7A0C649F48591647E3C08CE6852 /* String+RDEPUB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "String+RDEPUB.swift"; sourceTree = ""; };
4E1066A8FE63AD2C818E26DDCE62DF58 /* DTHTMLAttributedStringBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTHTMLAttributedStringBuilder.h; path = Core/Source/DTHTMLAttributedStringBuilder.h; sourceTree = ""; };
+ 4F5A145710C3E212B771C4E38BED9926 /* wxread-replace-latin.css */ = {isa = PBXFileReference; includeInIndex = 1; name = "wxread-replace-latin.css"; path = "Sources/RDReaderView/EPUBCore/Resources/wxread-replace-latin.css"; sourceTree = ""; };
+ 4F60D4A5E3A44B1AB998E185EFF5C046 /* RDEPUBReaderTheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderTheme.swift; sourceTree = ""; };
+ 4FAD41FF83513826720C6497B7A818B6 /* RDEPUBNotePopupCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBNotePopupCoordinator.swift; sourceTree = ""; };
4FF4A2A7F2C7CFB5DD757BE1A6E59C7B /* CTLineUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLineUtils.m; path = Core/Source/CTLineUtils.m; sourceTree = ""; };
5001C74FB9506AEC71E458047698A4AB /* DTHTMLParserNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTHTMLParserNode.m; path = Core/Source/DTHTMLParserNode.m; sourceTree = ""; };
- 5077339D9632D68EDAB64BBEF622E154 /* RDEPUBStyleCompatibilityModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBStyleCompatibilityModels.swift; sourceTree = ""; };
+ 505D658FEB22042EEDC51D402700F8C9 /* RDEPUBDTCoreTextRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBDTCoreTextRenderer.swift; sourceTree = ""; };
5096458D9BD2818F786BC3B61B91EAC7 /* NSAttributedString+DTDebug.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSAttributedString+DTDebug.m"; path = "Core/Source/NSAttributedString+DTDebug.m"; sourceTree = ""; };
+ 50BEBB47FE6ED062DE6363BFDCC7D84C /* RDEPUBReaderSearchBarView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderSearchBarView.swift; sourceTree = ""; };
50C2868064310B16D2B5FD9901C846DC /* DTVideoTextAttachment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTVideoTextAttachment.h; path = Core/Source/DTVideoTextAttachment.h; sourceTree = ""; };
- 517D111957FC986C0BE0281CA89159AF /* RDEPUBAnnotationModels.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBAnnotationModels.swift; sourceTree = ""; };
519087D9CD0F5E440E6D2C3B1AA1DFA2 /* DTBase64Coding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTBase64Coding.h; path = Core/Source/DTBase64Coding.h; sourceTree = ""; };
5193541848D2D1BF115A45D8A730611C /* Archive+ReadingDeprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+ReadingDeprecated.swift"; path = "Sources/ZIPFoundation/Archive+ReadingDeprecated.swift"; sourceTree = ""; };
52053ABC9CD3D4A72CD8A22173428AEB /* NSMutableString+HTML.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableString+HTML.h"; path = "Core/Source/NSMutableString+HTML.h"; sourceTree = ""; };
- 52E599D70519E92FCD9A508E1C821637 /* RDEPUBPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPreferences.swift; sourceTree = ""; };
- 53B7AB6E967C804E556A13DA6CC254A0 /* RDEPUBTextPageDecorationView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextPageDecorationView.swift; sourceTree = ""; };
- 545DD46BEAB1D1F7E0530E787095FCB2 /* RDEPUBFontNormalizer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBFontNormalizer.swift; sourceTree = ""; };
- 54F135677B8806216984881B2333BF4E /* RDEPUBCFIDOMPathBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBCFIDOMPathBuilder.swift; sourceTree = ""; };
+ 523F6E31441155AAFAC1E88316C623A4 /* RDEPUBBookPageMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBBookPageMap.swift; sourceTree = ""; };
+ 52816DCF8A866861EFF13A58D6D32CA8 /* RDEPUBReaderTopToolView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderTopToolView.swift; sourceTree = ""; };
+ 528643F4F0CD2FEC7AD5C0ACA9895D9D /* RDEPUBPaginationCacheCoordinator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBPaginationCacheCoordinator.swift; sourceTree = ""; };
+ 5514CEBB75D8BFFC1D1CA08E8E46BE62 /* RDReaderView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RDReaderView-prefix.pch"; sourceTree = ""; };
55423549E54A01F039B5F379B264C73F /* UIApplication+DTNetworkActivity.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+DTNetworkActivity.h"; path = "Core/Source/iOS/UIApplication+DTNetworkActivity.h"; sourceTree = ""; };
558FCD3F7E481B782EBFA127486ED15D /* DTHTMLParserTextNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTHTMLParserTextNode.h; path = Core/Source/DTHTMLParserTextNode.h; sourceTree = ""; };
55B9309F0BDDDE2C3EE13C97BF2C0F1E /* Archive+Helpers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Archive+Helpers.swift"; path = "Sources/ZIPFoundation/Archive+Helpers.swift"; sourceTree = ""; };
- 55CA6158EBEFCD459EB481660A12EB86 /* RDReaderView.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RDReaderView.release.xcconfig; sourceTree = ""; };
- 56158B68400B5C946109EDFD7555A8A7 /* RDEPUBReaderUIState.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderUIState.swift; sourceTree = ""; };
+ 564F072D0966350F4C3986E01EB3EB2C /* RDEPUBRenderRequest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBRenderRequest.swift; sourceTree = ""; };
+ 56A9260F17C4825708B83598BEC99365 /* RDReaderFlowLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDReaderFlowLayout.swift; sourceTree = ""; };
56E8939081946D090FD77A04F879754C /* DTExtendedFileAttributes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTExtendedFileAttributes.m; path = Core/Source/DTExtendedFileAttributes.m; sourceTree = ""; };
- 570429F8DD1951A554862120993C46B1 /* RDEPUBReaderChapterListController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderChapterListController.swift; sourceTree = ""; };
57642B518C047A428FE1266A09E0513F /* DTImageTextAttachment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DTImageTextAttachment.m; path = Core/Source/DTImageTextAttachment.m; sourceTree = ""; };
- 579B1DD9DCEE9A1C8B88EB7D4FC7328B /* RDEPUBRuntimeChapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBRuntimeChapter.swift; sourceTree = ""; };
- 58C72D7DF4220C0907CE8795E8900E79 /* RDEPUBParser+ReadingProfile.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBParser+ReadingProfile.swift"; sourceTree = ""; };
- 59036F71583DAE2641D9DAA567DBD208 /* RDEPUBTextBuildPipelineInterfaces.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextBuildPipelineInterfaces.swift; sourceTree = ""; };
+ 587C2E270D5414FF4E3786D14BD36694 /* RDEPUBFragmentMarkerInjector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBFragmentMarkerInjector.swift; sourceTree = ""; };
5977986EDFE76D5EF96A6D95483B12F7 /* Pods-ReadViewDemo-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ReadViewDemo-frameworks.sh"; sourceTree = ""; };
599172147A32B6978EB5AAE1BE55FF7A /* DTAnchorHTMLElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTAnchorHTMLElement.h; path = Core/Source/DTAnchorHTMLElement.h; sourceTree = ""; };
- 5B4081F4EC77470F1257F11DB2A4B55D /* RDEPUBTextRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBTextRenderer.swift; sourceTree = ""; };
- 5B4EAD9C5D3D276887E0AC6A35F10659 /* RDEPUBViewportTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBViewportTypes.swift; sourceTree = ""; };
+ 5B5686B2CD1ADB2443ECF94B15903873 /* RDEPUBResourceURLSchemeHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBResourceURLSchemeHandler.swift; sourceTree = ""; };
5C3D91FFA65414A2787FEB95576E0097 /* DTCompatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTCompatibility.h; path = Core/Source/DTCompatibility.h; sourceTree = ""; };
5C891B983F0CC956CAE3978A15875819 /* NSDictionary+DTCoreText.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+DTCoreText.h"; path = "Core/Source/NSDictionary+DTCoreText.h"; sourceTree = ""; };
5D146C3F4B7878B5CE8EFF38765580C2 /* DTAccessibilityElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTAccessibilityElement.h; path = Core/Source/DTAccessibilityElement.h; sourceTree = ""; };
5DB480D0B78911DBF96986E64A714907 /* DTListItemHTMLElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DTListItemHTMLElement.h; path = Core/Source/DTListItemHTMLElement.h; sourceTree = ""; };
- 5DE569B9F47EAF5135750BCF2E934C0F /* RDEPUBReaderController+LocationResolution.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBReaderController+LocationResolution.swift"; sourceTree = ""; };
- 5E5956AA678A9521257D99891E823DE2 /* RDEPUBReaderHighlightsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBReaderHighlightsViewController.swift; sourceTree = ""; };
- 5E8C914D69561C6C9736FCB3C6698CCC /* RDEPUBFragmentMarkerInjector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBFragmentMarkerInjector.swift; sourceTree = ""; };
- 5E958924060294CE9417399BB02AB344 /* epub-fixed-layout.html */ = {isa = PBXFileReference; includeInIndex = 1; name = "epub-fixed-layout.html"; path = "Sources/RDReaderView/EPUBCore/Resources/epub-fixed-layout.html"; sourceTree = ""; };
- 5F41DCAB71A589008105D8C3AB0F8878 /* RDEPUBWebView+FixedLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "RDEPUBWebView+FixedLayout.swift"; sourceTree = ""; };
- 5F9FE9924520900BBDF724D9903C5309 /* RDEPUBFontFallbackResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RDEPUBFontFallbackResolver.swift; sourceTree = "