Browse Source

【标记密文】KMRedactSelectPagesWindowController 新增

tangchao 1 year ago
parent
commit
ce17ac8ea2

+ 16 - 0
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -3335,6 +3335,12 @@
 		BB9599C72B3164B40062D346 /* KMRedactPropertiesWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB9599C62B3164B40062D346 /* KMRedactPropertiesWindowController.xib */; };
 		BB9599C82B3164B40062D346 /* KMRedactPropertiesWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB9599C62B3164B40062D346 /* KMRedactPropertiesWindowController.xib */; };
 		BB9599C92B3164B40062D346 /* KMRedactPropertiesWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB9599C62B3164B40062D346 /* KMRedactPropertiesWindowController.xib */; };
+		BB9599CB2B3184230062D346 /* KMRedactSelectPagesWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB9599CA2B3184230062D346 /* KMRedactSelectPagesWindowController.swift */; };
+		BB9599CC2B3184230062D346 /* KMRedactSelectPagesWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB9599CA2B3184230062D346 /* KMRedactSelectPagesWindowController.swift */; };
+		BB9599CD2B3184230062D346 /* KMRedactSelectPagesWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB9599CA2B3184230062D346 /* KMRedactSelectPagesWindowController.swift */; };
+		BB9599CF2B3184440062D346 /* KMRedactSelectPagesWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB9599CE2B3184430062D346 /* KMRedactSelectPagesWindowController.xib */; };
+		BB9599D02B3184440062D346 /* KMRedactSelectPagesWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB9599CE2B3184430062D346 /* KMRedactSelectPagesWindowController.xib */; };
+		BB9599D12B3184440062D346 /* KMRedactSelectPagesWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB9599CE2B3184430062D346 /* KMRedactSelectPagesWindowController.xib */; };
 		BB9695B229BDA46500FD68D3 /* SKLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = BB9695B129BDA46500FD68D3 /* SKLocalization.m */; };
 		BB9695B329BDA46500FD68D3 /* SKLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = BB9695B129BDA46500FD68D3 /* SKLocalization.m */; };
 		BB9695B429BDA46500FD68D3 /* SKLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = BB9695B129BDA46500FD68D3 /* SKLocalization.m */; };
@@ -5538,6 +5544,8 @@
 		BB93CDE82AE7B6E100B29C57 /* KMToolbarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMToolbarView.swift; sourceTree = "<group>"; };
 		BB9599C22B31647B0062D346 /* KMRedactPropertiesWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMRedactPropertiesWindowController.swift; sourceTree = "<group>"; };
 		BB9599C62B3164B40062D346 /* KMRedactPropertiesWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMRedactPropertiesWindowController.xib; sourceTree = "<group>"; };
+		BB9599CA2B3184230062D346 /* KMRedactSelectPagesWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMRedactSelectPagesWindowController.swift; sourceTree = "<group>"; };
+		BB9599CE2B3184430062D346 /* KMRedactSelectPagesWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMRedactSelectPagesWindowController.xib; sourceTree = "<group>"; };
 		BB9695B029BDA46500FD68D3 /* SKLocalization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKLocalization.h; sourceTree = "<group>"; };
 		BB9695B129BDA46500FD68D3 /* SKLocalization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKLocalization.m; sourceTree = "<group>"; };
 		BB9695B529BDB03E00FD68D3 /* InfoWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = InfoWindow.xib; sourceTree = "<group>"; };
@@ -9503,6 +9511,8 @@
 				BBB14A562978E75D00936EDB /* KMRedactMutilPageFlagWindowController.swift */,
 				BBB14A5E297929BD00936EDB /* KMRedactPageRangeWindowController.swift */,
 				BB9599C22B31647B0062D346 /* KMRedactPropertiesWindowController.swift */,
+				BB9599CA2B3184230062D346 /* KMRedactSelectPagesWindowController.swift */,
+				BB9599CE2B3184430062D346 /* KMRedactSelectPagesWindowController.xib */,
 			);
 			path = Window;
 			sourceTree = "<group>";
@@ -11432,6 +11442,7 @@
 				BB03D6902B01C7AB008C9976 /* KMPDFEditInsertBlankPageWindow.xib in Resources */,
 				9FDD0FBA295D5230000C4DAD /* KMToolbarController.xib in Resources */,
 				894A00F52976314C0070ED83 /* KMPDFViewPanelSetViewController.xib in Resources */,
+				BB9599CF2B3184440062D346 /* KMRedactSelectPagesWindowController.xib in Resources */,
 				BB6347B02AF1F0BB00F5438E /* KMBatchOperateConvertViewController.xib in Resources */,
 				9F0201912A1DDAA500C9B673 /* KMAITranslationWindowController.xib in Resources */,
 				BB1BFF7D2AEA0BE8003EB179 /* KMBatchOperateRightViewController.xib in Resources */,
@@ -12017,6 +12028,7 @@
 				BB10FAF32AFE23BE00F18D65 /* LineInspector.xib in Resources */,
 				ADD5AE5A2A64DD2600C14249 /* KMPurchaseAlertView.xib in Resources */,
 				BB89723E294B3C840045787C /* KMWatermarkPropertyController.xib in Resources */,
+				BB9599D02B3184440062D346 /* KMRedactSelectPagesWindowController.xib in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -12259,6 +12271,7 @@
 				9F02016F2A1B088700C9B673 /* KMAIOpenPDFFilesVC.xib in Resources */,
 				BB897233294B08DE0045787C /* KMWatermarkViewController.xib in Resources */,
 				9F0CB4BA2977BC1000007028 /* KMPropertiesPanelPreviewSubVC.xib in Resources */,
+				BB9599D12B3184440062D346 /* KMRedactSelectPagesWindowController.xib in Resources */,
 				ADF6B87B2A48155E0090CB78 /* KMComparativeViewCollectionItem.xib in Resources */,
 				9F56648C2988B16F00020985 /* KMTextfieldVC.xib in Resources */,
 				9FA607E328FD4C9F00B46586 /* KMHomePopViewController.xib in Resources */,
@@ -12631,6 +12644,7 @@
 				ADBC372929CA950500D93208 /* KMComparativeOutlineView.swift in Sources */,
 				9FDD0F64294AB645000C4DAD /* KMMainViewController.swift in Sources */,
 				89D2D2FB294C806000BFF5FE /* KMPDFThumbnailItem.swift in Sources */,
+				BB9599CB2B3184230062D346 /* KMRedactSelectPagesWindowController.swift in Sources */,
 				BBB9B313299A5D6D004F3235 /* DropboxModel.m in Sources */,
 				BBB9B322299A5D6D004F3235 /* KMServicesCloudFile.m in Sources */,
 				BBC745EA295F067B0072C2ED /* KMCropSettingWindowController.swift in Sources */,
@@ -13524,6 +13538,7 @@
 				BBB9B311299A5D6D004F3235 /* KMCloudDownloadOperationQueue.m in Sources */,
 				BBF729902B1960FF00576AC5 /* KMCompressOperationQueue.swift in Sources */,
 				BBF8A3FE2AE8B04100788BAC /* KMBatchOperateFile.swift in Sources */,
+				BB9599CC2B3184230062D346 /* KMRedactSelectPagesWindowController.swift in Sources */,
 				ADBC375529CAE94700D93208 /* KMComparativeOutlineSectionCell.swift in Sources */,
 				BB3D97132B301CF1007094C8 /* KMRedactPDFView.swift in Sources */,
 				BB853C7E2AF8B5D6009C20C1 /* KMBatchOperateAddPasswordViewController.swift in Sources */,
@@ -14802,6 +14817,7 @@
 				9F1FE4F529406E4700E952CA /* FastResizeView.m in Sources */,
 				9F1FE4FE29406E4700E952CA /* CTTabStripController.m in Sources */,
 				BBA762D429D2D98D00844513 /* KMCommonDefine.swift in Sources */,
+				BB9599CD2B3184230062D346 /* KMRedactSelectPagesWindowController.swift in Sources */,
 				BB135C2C29B6CD9A00FD5965 /* KMTools.swift in Sources */,
 				BBEC00B9295C2C1600A26C98 /* KMBatesPropertyHomeController.swift in Sources */,
 				BB4EEF3629764166003A3537 /* KMRedactPropertyWindowController.swift in Sources */,

+ 3 - 1
PDF Office/PDF Master/Class/PDFTools/Redact/Controller/KMPDFRedactViewController.swift

@@ -238,7 +238,9 @@ class KMPDFRedactViewController: NSViewController {
         
         if(pdfview == self.redactPdfView) {
 //            __block KMPDFRedactViewController *weak_self = self;
-//            KMRedactSelectPagesWindowController *pagesWindowController = [[KMRedactSelectPagesWindowController alloc] initWithDocument:self.redactPdfView.document];
+//            KMRedactSelectPagesWindowController * = [[ alloc] initWithDocument:self.redactPdfView.document];
+            let pagesWindowController = KMRedactSelectPagesWindowController(windowNibName: "KMRedactSelectPagesWindowController")
+            self.km_beginSheet(windowC: pagesWindowController)
 //            [pagesWindowController beginSheetModalForWindow:self.view.window completionHandler:^(NSMutableArray * _Nonnull pages) {
 //                if(pages.count > 0) {
 //                    [weak_self.redactPdfView acrossAddAnnotations:pages];

+ 18 - 0
PDF Office/PDF Master/Class/PDFTools/Redact/Window/KMRedactSelectPagesWindowController.swift

@@ -0,0 +1,18 @@
+//
+//  KMRedactSelectPagesWindowController.swift
+//  PDF Master
+//
+//  Created by tangchao on 2023/12/19.
+//
+
+import Cocoa
+
+class KMRedactSelectPagesWindowController: NSWindowController {
+
+    override func windowDidLoad() {
+        super.windowDidLoad()
+    
+        // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
+    }
+
+}

+ 172 - 0
PDF Office/PDF Master/Class/PDFTools/Redact/Window/KMRedactSelectPagesWindowController.xib

@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19162" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19162"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMRedactSelectPagesWindowController">
+            <connections>
+                <outlet property="allPagesButton" destination="CdS-l3-Vxh" id="Aix-8P-I8P"/>
+                <outlet property="cancelButton" destination="NbO-BC-f8D" id="mqd-sJ-Cmi"/>
+                <outlet property="evenPagesButton" destination="8ma-0v-p64" id="Aes-x8-jxY"/>
+                <outlet property="oddPagesButton" destination="Fgu-SN-Sca" id="AlK-bQ-6DH"/>
+                <outlet property="okButton" destination="yIl-WC-eyE" id="7ic-TD-O6F"/>
+                <outlet property="otherButton" destination="tEz-H2-F6l" id="EpT-wl-3lk"/>
+                <outlet property="otherTextField" destination="jbg-q8-hAy" id="xtV-lI-TGG"/>
+                <outlet property="pagesLabel" destination="cwg-HZ-DYS" id="zXA-7e-fdK"/>
+                <outlet property="titleLabel" destination="f5E-0u-dzS" id="TBg-Xh-izl"/>
+                <outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" hasShadow="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" titlebarAppearsTransparent="YES" id="F0z-JX-Cv5">
+            <windowStyleMask key="styleMask" titled="YES" fullSizeContentView="YES"/>
+            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
+            <rect key="contentRect" x="196" y="240" width="480" height="270"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
+            <view key="contentView" misplaced="YES" id="se5-gp-TjO">
+                <rect key="frame" x="0.0" y="0.0" width="480" height="270"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="f5E-0u-dzS">
+                        <rect key="frame" x="28" y="186" width="230" height="16"/>
+                        <textFieldCell key="cell" lineBreakMode="clipping" title="Repeat Mark Redaction Across Pages" id="TVI-3z-njy">
+                            <font key="font" usesAppearanceFont="YES"/>
+                            <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                            <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                        </textFieldCell>
+                    </textField>
+                    <box title="Box" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="zdp-fA-EQf">
+                        <rect key="frame" x="17" y="56" width="446" height="129"/>
+                        <view key="contentView" id="38S-Cv-Yip">
+                            <rect key="frame" x="3" y="3" width="440" height="123"/>
+                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                            <subviews>
+                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CdS-l3-Vxh">
+                                    <rect key="frame" x="8" y="92" width="82" height="18"/>
+                                    <buttonCell key="cell" type="radio" title="All Pages" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="k7P-h8-cnj">
+                                        <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                                        <font key="font" metaFont="system"/>
+                                    </buttonCell>
+                                    <connections>
+                                        <action selector="allpages_button:" target="-2" id="udX-s9-uKd"/>
+                                    </connections>
+                                </button>
+                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Fgu-SN-Sca">
+                                    <rect key="frame" x="8" y="64" width="124" height="18"/>
+                                    <buttonCell key="cell" type="radio" title="Odd Pages Only" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="aFp-Ab-Mqy">
+                                        <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                                        <font key="font" metaFont="system"/>
+                                    </buttonCell>
+                                    <connections>
+                                        <action selector="oddpages_button:" target="-2" id="c52-uj-qsp"/>
+                                    </connections>
+                                </button>
+                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8ma-0v-p64">
+                                    <rect key="frame" x="8" y="38" width="128" height="18"/>
+                                    <buttonCell key="cell" type="radio" title="Even Pages Only" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="Vcw-kS-aME">
+                                        <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                                        <font key="font" metaFont="system"/>
+                                    </buttonCell>
+                                    <connections>
+                                        <action selector="evenPages_button:" target="-2" id="LRG-ei-mPY"/>
+                                    </connections>
+                                </button>
+                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tEz-H2-F6l">
+                                    <rect key="frame" x="8" y="11" width="18" height="18"/>
+                                    <buttonCell key="cell" type="radio" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="9be-Gp-a72">
+                                        <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                                        <font key="font" metaFont="system"/>
+                                    </buttonCell>
+                                    <connections>
+                                        <action selector="other_button:" target="-2" id="feK-LM-VCS"/>
+                                    </connections>
+                                </button>
+                                <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jbg-q8-hAy">
+                                    <rect key="frame" x="30" y="10" width="200" height="20"/>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="200" id="cbo-lY-xyR"/>
+                                        <constraint firstAttribute="height" constant="20" id="i9c-YB-EWK"/>
+                                    </constraints>
+                                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" placeholderString="e.g 1,3 - 5,10" drawsBackground="YES" id="dLO-hq-Oh8">
+                                        <font key="font" metaFont="system"/>
+                                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cwg-HZ-DYS">
+                                    <rect key="frame" x="234" y="12" width="24" height="16"/>
+                                    <textFieldCell key="cell" lineBreakMode="clipping" title="/23" id="H26-cf-5vH">
+                                        <font key="font" metaFont="system"/>
+                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                            </subviews>
+                            <constraints>
+                                <constraint firstItem="8ma-0v-p64" firstAttribute="leading" secondItem="Fgu-SN-Sca" secondAttribute="leading" id="5d1-EQ-I0s"/>
+                                <constraint firstItem="CdS-l3-Vxh" firstAttribute="top" secondItem="38S-Cv-Yip" secondAttribute="top" constant="14" id="8RN-Ci-9Z9"/>
+                                <constraint firstItem="tEz-H2-F6l" firstAttribute="leading" secondItem="8ma-0v-p64" secondAttribute="leading" id="N5O-Yf-CY4"/>
+                                <constraint firstItem="8ma-0v-p64" firstAttribute="top" secondItem="Fgu-SN-Sca" secondAttribute="bottom" constant="10" id="Pck-8r-H9p"/>
+                                <constraint firstItem="cwg-HZ-DYS" firstAttribute="leading" secondItem="jbg-q8-hAy" secondAttribute="trailing" constant="6" id="Q3R-OH-X4k"/>
+                                <constraint firstItem="Fgu-SN-Sca" firstAttribute="top" secondItem="CdS-l3-Vxh" secondAttribute="bottom" constant="12" id="Rkm-ys-q6E"/>
+                                <constraint firstItem="Fgu-SN-Sca" firstAttribute="leading" secondItem="CdS-l3-Vxh" secondAttribute="leading" id="a2N-IC-4Df"/>
+                                <constraint firstItem="tEz-H2-F6l" firstAttribute="top" secondItem="8ma-0v-p64" secondAttribute="bottom" constant="12" id="eKg-sh-DMp"/>
+                                <constraint firstItem="jbg-q8-hAy" firstAttribute="centerY" secondItem="tEz-H2-F6l" secondAttribute="centerY" id="gNT-Nr-Puk"/>
+                                <constraint firstAttribute="bottom" secondItem="jbg-q8-hAy" secondAttribute="bottom" constant="10" id="iMC-Yw-Yr3"/>
+                                <constraint firstItem="cwg-HZ-DYS" firstAttribute="centerY" secondItem="jbg-q8-hAy" secondAttribute="centerY" id="pzM-cp-w5z"/>
+                                <constraint firstItem="jbg-q8-hAy" firstAttribute="leading" secondItem="tEz-H2-F6l" secondAttribute="trailing" constant="6" id="snH-d7-c8Z"/>
+                                <constraint firstItem="CdS-l3-Vxh" firstAttribute="leading" secondItem="38S-Cv-Yip" secondAttribute="leading" constant="10" id="zwP-dU-dDZ"/>
+                            </constraints>
+                        </view>
+                    </box>
+                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yIl-WC-eyE">
+                        <rect key="frame" x="413" y="13" width="54" height="32"/>
+                        <buttonCell key="cell" type="push" title="OK" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Qd0-aY-sUO">
+                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                            <font key="font" metaFont="system"/>
+                            <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                        </buttonCell>
+                        <connections>
+                            <action selector="sure_button:" target="-2" id="bod-1l-CCd"/>
+                        </connections>
+                    </button>
+                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NbO-BC-f8D">
+                        <rect key="frame" x="343" y="13" width="76" height="32"/>
+                        <buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="0Rt-bp-xbP">
+                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                            <font key="font" metaFont="system"/>
+                            <string key="keyEquivalent" base64-UTF8="YES">
+Gw
+</string>
+                        </buttonCell>
+                        <connections>
+                            <action selector="cancel_button:" target="-2" id="vVj-pe-cKg"/>
+                        </connections>
+                    </button>
+                </subviews>
+                <constraints>
+                    <constraint firstAttribute="bottom" secondItem="yIl-WC-eyE" secondAttribute="bottom" constant="20" id="7fu-2Y-SiA"/>
+                    <constraint firstItem="zdp-fA-EQf" firstAttribute="top" secondItem="f5E-0u-dzS" secondAttribute="bottom" constant="3" id="Cye-f5-x9Q"/>
+                    <constraint firstItem="NbO-BC-f8D" firstAttribute="centerY" secondItem="yIl-WC-eyE" secondAttribute="centerY" id="LC7-Xy-QHX"/>
+                    <constraint firstItem="f5E-0u-dzS" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="20" id="MQK-iM-7fO"/>
+                    <constraint firstItem="yIl-WC-eyE" firstAttribute="leading" secondItem="NbO-BC-f8D" secondAttribute="trailing" constant="8" id="dNT-ot-tnU"/>
+                    <constraint firstItem="yIl-WC-eyE" firstAttribute="trailing" secondItem="38S-Cv-Yip" secondAttribute="trailing" id="hXW-Mz-pxg"/>
+                    <constraint firstItem="yIl-WC-eyE" firstAttribute="top" secondItem="zdp-fA-EQf" secondAttribute="bottom" constant="20" id="kFy-VF-X3l"/>
+                    <constraint firstAttribute="trailing" secondItem="zdp-fA-EQf" secondAttribute="trailing" constant="20" id="n2p-cu-dHn"/>
+                    <constraint firstItem="zdp-fA-EQf" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="20" id="ooh-l7-nMz"/>
+                    <constraint firstItem="f5E-0u-dzS" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="30" id="pvW-v5-lex"/>
+                </constraints>
+            </view>
+            <connections>
+                <outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
+            </connections>
+            <point key="canvasLocation" x="140" y="117"/>
+        </window>
+    </objects>
+</document>