<?xml version="1.0" encoding="UTF-8"?>
<!--
 AttributeInspector.inspector
 IDECoreDataModeler
 Copyright © 2010-2023 Apple Inc. All rights reserved.
 -->
<slice>
	<section>
	    <sliver title="Name">
	        <property type="string" placeholder="Attribute Name" keyPath="inspectedObjectsController.selection.name"/>
	    </sliver>
        <sliver title="Type">
            <property
                type="enumeration"
                keyPath="inspectedObjectsController.selection.selectedAttributeTypePlaceholder"
                enumeratedValuesKeyPath="inspectedObjectsController.selection.availableAttributeTypePlaceholders"
                enumeratedDisplayValuesKeyPath="inspectedObjectsController.selection.availableAttributeTypePlaceholders.name"
                />
        </sliver>
	    <sliver>
            <property type="boolean" title="Optional" keyPath="inspectedObjectsController.selection.inspectedOptional"/>
	        <property type="boolean" title="Transient" keyPath="inspectedObjectsController.selection.transient"
                      enabledKeyPath="inspectedObjectsController.selection.inspectedCanChangeTransient" />
            <property type="boolean" title="Derived" keyPath="inspectedObjectsController.selection.inspectedDerived" />
            <property type="boolean" title="Allows Cloud Encryption" keyPath="inspectedObjectsController.selection.allowsCloudEncryption" />
	    </sliver>
        
        <!-- Value Slivers (default and otherwise) -->
        <sliver title="Transformer" visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowTransformableContent">
            <property type="string" placeholder="Value Transformer Name" keyPath="inspectedObjectsController.selection.valueTransformerName"/>
        </sliver>
        
        <sliver title="Custom Class" visibleKeyPath="inspectedObjectsController.selection.inspectedCanChangeClassName">
            <property type="string" placeholder="NSObject" keyPath="inspectedObjectsController.selection.inspectedClassName"
            allowsNilValues="YES" nilPlaceholder="NSObject" />
        </sliver>
        <sliver title="Module" visibleKeyPath="inspectedObjectsController.selection.inspectedCanChangeModuleName">
            <property type="string" placeholder="Global namespace" keyPath="inspectedObjectsController.selection.inspectedModuleName" listContentKeyPath="inspectedObjectsController.selection.possibleModuleDisplayValues" correspondingObjectsKeyPath="inspectedObjectsController.selection.possibleModuleNameObjects" allowsNilValues="true"/>
        </sliver>
        
        <sliver title="Default Value" visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowDefaultValue" visibleKeyPath2="inspectedObjectsController.selection.inspectedShouldShowIntegerContent">
            <property type="Number" keyPath="inspectedObjectsController.selection.defaultValueObject"
            allowsNilValues="YES"
            nilPlaceholder="No Value"
            nonNilValueKeyPath="inspectedObjectsController.selection.defaultValueObjectNonNilValue"/>
        </sliver>
        
        <sliver title="Default Value" visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowDefaultValue" visibleKeyPath2="inspectedObjectsController.selection.inspectedShouldShowDecimalContent">
            <property type="Number" keyPath="inspectedObjectsController.selection.defaultValueObject"
            formatStyle="decimal"
            allowsNilValues="YES"
            nilPlaceholder="No Value"
            nonNilValueKeyPath="inspectedObjectsController.selection.defaultValueObjectNonNilValue"/>
        </sliver>
        
        <sliver title="Default Value" visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowDefaultValue" visibleKeyPath2="inspectedObjectsController.selection.inspectedShouldShowStringContent">
            <property type="boolean" title="Default String" keyPath="inspectedObjectsController.selection.hasDefaultValueObject" />
            <property type="string" placeholderKeyPath="inspectedObjectsController.selection.inspectedDefaultValuePlaceholder" keyPath="inspectedObjectsController.selection.defaultValueObject"
                      allowsNilValues="YES"/>
        </sliver>
        
        <sliver title="Default Value" visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowDefaultValue" visibleKeyPath2="inspectedObjectsController.selection.inspectedShouldShowBooleanContent">
            <property type="enumeration" keyPath="inspectedObjectsController.selection.defaultValueObject" insertsNullPlaceholder="true" placeholder="None">
                <option-group>
                    <option title="YES" value="1" />
                    <option title="NO" value="0" />
                </option-group>
            </property>
        </sliver>
        
        <sliver title="Default Value" visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowDefaultValue" visibleKeyPath2="inspectedObjectsController.selection.inspectedShouldShowDateContent">
            <property type="boolean" title="Default Date" keyPath="inspectedObjectsController.selection.hasDefaultValueObject" />
            <property type="date" keyPath="inspectedObjectsController.selection.defaultValueObject" enabledKeyPath="inspectedObjectsController.selection.hasDefaultValueObject"/>
        </sliver>
        
        <sliver title="Default Value" visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowDefaultValue" visibleKeyPath2="inspectedObjectsController.selection.inspectedShouldShowUUIDContent">
            <property type="string" placeholder="Default Value" keyPath="inspectedObjectsController.selection.defaultValueObject" allowsNilValues="YES"/>
        </sliver>
        
        <sliver title="Default Value" visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowDefaultValue" visibleKeyPath2="inspectedObjectsController.selection.inspectedShouldShowURIContent">
            <property type="string" placeholder="Default Value" keyPath="inspectedObjectsController.selection.defaultValueObject" allowsNilValues="YES"/>
        </sliver>
        
        <sliver visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowBinaryDataContent">
            <property type="Boolean" title="Allows External Storage" keyPath="inspectedObjectsController.selection.allowsExternalBinaryDataStorage"/>
        </sliver>
        
        <sliver visibleKeyPath="inspectedObjectsController.selection.inspectedCanChangeScalarValueType">
            <property type="boolean" title="Use Scalar Type" keyPath="inspectedObjectsController.selection.usesScalarValueType" />
        </sliver>
    </section>

    <!-- Derivation Section -->
    
    <section visibleKeyPath="inspectedObjectsController.selection.derived">
        <sliver title="Derivation">
            <property type="expression" placeholder="Expression" keyPath="inspectedObjectsController.selection.derivationExpression" />
        </sliver>
    </section>
    
    <!-- Validation Sections -->
    <section visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowValidation" visibleKeyPath2="inspectedObjectsController.selection.inspectedShouldShowIntegerContent">
        <sliver title="Validation">
            <property type="Number" keyPath="inspectedObjectsController.selection.minValueObject"
            allowsNilValues="YES"
            nilPlaceholder="No Value"
            nonNilValueKeyPath="inspectedObjectsController.selection.minValueObjectNonNilValue"
            title="Minimum"/>
            <property type="Number" keyPath="inspectedObjectsController.selection.maxValueObject"
            allowsNilValues="YES"
            nilPlaceholder="No Value"
            nonNilValueKeyPath="inspectedObjectsController.selection.maxValueObjectNonNilValue"
            title="Maximum"/>
        </sliver>
    </section>
    
    <section visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowValidation" visibleKeyPath2="inspectedObjectsController.selection.inspectedShouldShowDecimalContent">
        <sliver title="Validation">
            <property type="Number" keyPath="inspectedObjectsController.selection.minValueObject"
            formatStyle="decimal"
            allowsNilValues="YES"
            nilPlaceholder="No Value"
            nonNilValueKeyPath="inspectedObjectsController.selection.minValueObjectNonNilValue"
            title="Minimum"/>
            <property type="Number" keyPath="inspectedObjectsController.selection.maxValueObject"
            formatStyle="decimal"
            allowsNilValues="YES"
            nilPlaceholder="No Value"
            nonNilValueKeyPath="inspectedObjectsController.selection.maxValueObjectNonNilValue"
            title="Maximum"/>
        </sliver>
    </section>
    
    <section visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowValidation" visibleKeyPath2="inspectedObjectsController.selection.inspectedShouldShowStringContent">
        <sliver title="Validation">
            <property type="Number" keyPath="inspectedObjectsController.selection.minValueObject"
            allowsNilValues="YES"
            nilPlaceholder="No Value"
            nonNilValueKeyPath="inspectedObjectsController.selection.minValueObjectNonNilValue"
            title="Min Length"/>
            <property type="Number" keyPath="inspectedObjectsController.selection.maxValueObject"
            allowsNilValues="YES"
            nilPlaceholder="No Value"
            nonNilValueKeyPath="inspectedObjectsController.selection.maxValueObjectNonNilValue"
            title="Max Length"/>
        </sliver>
        <sliver title="Reg. Ex.">
            <property type="string" placeholder="Regular Expression" keyPath="inspectedObjectsController.selection.regularExpressionString" allowsNilValues="YES"/>
        </sliver>
    </section>
    
    <section visibleKeyPath="inspectedObjectsController.selection.inspectedShouldShowValidation" visibleKeyPath2="inspectedObjectsController.selection.inspectedShouldShowDateContent">
        <sliver title="Validation">
            <property type="boolean" title="Minimum Date" keyPath="inspectedObjectsController.selection.hasMinValueObject" />
            <property type="date" keyPath="inspectedObjectsController.selection.minValueObject" enabledKeyPath="inspectedObjectsController.selection.hasMinValueObject"/>
        </sliver>
        <sliver>
            <property type="boolean" title="Maximum Date" keyPath="inspectedObjectsController.selection.hasMaxValueObject" />
            <property type="date" keyPath="inspectedObjectsController.selection.maxValueObject" enabledKeyPath="inspectedObjectsController.selection.hasMaxValueObject"/>
        </sliver>
    </section>
    
    <!-- Other Sections -->
    
    <section>
        <sliver title="Advanced">
            <property type="boolean" title="Index in Spotlight" keyPath="inspectedObjectsController.selection.spotlightIndexingEnabled"/>
        </sliver>
        <sliver>
            <property type="boolean" title="Preserve After Deletion" keyPath="inspectedObjectsController.selection.preserveAfterDeletion" />
        </sliver>
    </section>
    
    <section title="Deprecated">
        <sliver title="Spotlight">
            <property type="boolean" title="Store in External Record File" keyPath="inspectedObjectsController.selection.storedInTruthFile"/>
        </sliver>
    </section>
</slice>
