<commit_before><data xmlns="ns:workflow" xsi:schemaLocation="ns:workflow resource:WorkflowData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  
  <ruleAttributes xmlns="ns:workflow/RuleAttribute" xsi:schemaLocation="ns:workflow/RuleAttribute resource:RuleAttribute">
    <ruleAttribute>
      <name>KFSPurapDocumentSearchCustomizer</name>
      <label>KFS Purchasing Document Search Customizer</label>
      <className>KFSPurapDocumentSearchCustomizer</className>
      <type>DocumentSearchCustomizer</type>
      <applicationId>KFS</applicationId>
    </ruleAttribute>
    <ruleAttribute>
      <name>PurapFinancialSystemSearchableAttribute</name>
      <className>PurapFinancialSystemSearchableAttribute</className>
      <label>Financial System Searchable Attribute</label>
      <description>Purchasing Searchable Attribute</description>
      <type>SearchableAttribute</type>
      <applicationId>KFS</applicationId>
    </ruleAttribute>
    <ruleAttribute>
      <name>NoFyiActionListAttribute</name>
      <className>PurchaseOrderActionListAttribute</className>
      <label>No FYI</label>
      <description>No FYI Action List Attribute</description>
      <type>ActionListAttribute</type>
      <applicationId>KFS</applicationId>
    </ruleAttribute>
  </ruleAttributes>
  <documentTypes xmlns="ns:workflow/DocumentType" xsi:schemaLocation="ns:workflow/DocumentType resource:DocumentType">
    <documentType>
      <name>
        AP
      </name>
      <parent>
        PRAP
      </parent>
      <label>
        AccountsPayableTransactionalDocument
      </label>
      <active>
        true
      </active>
      <routingVersion>
        2
      </routingVersion>
    </documentType>
    <documentType>
      <name>
        PUR
      </name>
      <parent>
        PRAP
      </parent>
      <label>
        PurchasingTransactionalDocument
      </label>
      <attributes>
        <attribute>
          <name>PurapFinancialSystemSearchableAttribute</name>
        </attribute>
        <attribute>
          <name>KFSPurapDocumentSearchCustomizer</name>
        </attribute>
      </attributes>
      <active>
        true
      </active>
      <routingVersion>
        2
      </routingVersion>
    </documentType>
    <documentType>
      <name>
        RCV
      </name>
      <parent>
        PRAP
      </parent>
      <label>
        ReceivingTransactionalDocument
      </label>
      <docSearchHelpURL>
        default.htm?turl=WordDocuments%2Freceiving.htm
      </docSearchHelpURL>
      <active>
        true
      </active>
      <routingVersion>
        2
      </routingVersion>
    </documentType>
    <documentType>
      <name>
        ACM
      </name>
      <parent>
        PUR
      </parent>
      <label>
        Contract Manager Assignment
      </label>
      <docHandler>
        ${kfs.url}/purapContractManagerAssignment.do?methodToCall=docHandler
      </docHandler>
      <helpDefinitionURL>
        default.htm?turl=WordDocuments%2Fcontractmanagerassignment.htm
      </helpDefinitionURL>
      <active>
        true
      </active>
      <routingVersion>
        2
      </routingVersion>
      <routePaths>
        <routePath>
          <start name="AdHoc"/>
        </routePath>
      </routePaths>
      <routeNodes>
        <start name="AdHoc"/>
      </routeNodes>
    </documentType>
    <documentType>
      <name>
        REQS
      </name>
      <parent>
        PUR
      </parent>
      <label>
        Requisition
      </label>
      <docHandler>
        ${kfs.url}/purapRequisition.do?methodToCall=docHandler
      </docHandler>
      <helpDefinitionURL>
        default.htm?turl=WordDocuments%2Frequisition.htm
      </helpDefinitionURL>
      <docSearchHelpURL>
        default.htm?turl=WordDocuments%2Frequisitions.htm
      </docSearchHelpURL>
      <active>
        true
      </active>
      <routingVersion>
        2
      </routingVersion>
      <validApplicationStatuses>
            	<status>Awaiting Content Approval</status>
            	<status>Disapproved - Content</status>
            	<status>Awaiting Accounting Lines</status>
            	<status>Disapproved - Accounting Lines</status>
            	<status>Awaiting Sub Account</status>
            	<status>Disapproved - Sub Account</status>
            	<status>Awaiting Fiscal Officer</status>
            	<status>Disapproved - Fiscal</status>
            	<status>Awaiting Base Org Review</status>
            	<status>Disapproved - Base Org Review</status>
                <status>Awaiting Commodity Code</status>
                <status>Disapproved - Commodity Code</status>
            	<status>Awaiting Separation of Duties</status>
            	<status>Disapproved - Separation of Duties</status>
            	<status>Awaiting Contract Manager Assignment</status>
            	<status>Closed</status>
            	<status>Cancelled</status>
            	<status>In Process</status>            	   
     </validApplicationStatuses>
      <policies>
        <policy>
              <name>DOCUMENT_STATUS_POLICY</name>
              <stringValue>app</stringValue>
        </policy>
      </policies>
      <routePaths>
        <routePath>
          <start name="AdHoc" nextNode="Organization" nextAppDocStatus = "Awaiting Content Approval"/>
          <role name="Organization" nextNode="HasAccountingLines" nextAppDocStatus = "Awaiting Accounting Lines"/>
          <split name="HasAccountingLines" nextNode="SubAccount">
            <branch name="True">
              <simple name="NoOpHasAccountingLines" nextNode="JoinHasAccountingLines" nextAppDocStatus = "Awaiting Sub Account" />
            </branch>
            <branch name="False">
              <role name="Initiator" nextNode="JoinHasAccountingLines" nextAppDocStatus = "Awaiting Sub Account" />
            </branch>
            <join name="JoinHasAccountingLines" />
          </split>
          <role name="SubAccount" nextNode="Account"    nextAppDocStatus = "Awaiting Fiscal Officer"/>
          <role name="Account" nextNode="AccountingOrganizationHierarchy" nextAppDocStatus="Awaiting Base Org Review" />
          <role name="AccountingOrganizationHierarchy" nextNode="Commodity" nextAppDocStatus="Awaiting Commodity Code"/>
          <role name="Commodity" nextNode="AmountRequiresSeparationOfDutiesReview" nextAppDocStatus ="Awaiting Separation of Duties"/>
          <split name="AmountRequiresSeparationOfDutiesReview">
            <branch name="True">
              <role name="SeparationOfDuties" nextNode="Join"/>
            </branch>
            <branch name="False">
              <simple name="NoOp" nextNode="Join"/>
            </branch>
            <join name="Join"/>
          </split>
        </routePath>
      </routePaths>
      <routeNodes>
        <start name="AdHoc"/>
        <role name="Organization">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
        </role>
        <split name="HasAccountingLines">
          <type>
            org.kuali.kfs.sys.document.workflow.SimpleBooleanSplitNode
          </type>
        </split>
        <simple name="NoOpHasAccountingLines">
          <type>
            org.kuali.rice.kew.engine.node.NoOpNode
          </type>
        </simple>
        <join name="JoinHasAccountingLines"/>
        <role name="Initiator">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
        </role>
        <role name="SubAccount">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
        </role>
        <role name="Account">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
          <mandatoryRoute>
            true
          </mandatoryRoute>
        </role>
        <role name="AccountingOrganizationHierarchy">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
        </role>
        <role name="Commodity">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
        </role>
        <split name="AmountRequiresSeparationOfDutiesReview">
          <type>
            org.kuali.kfs.sys.document.workflow.SimpleBooleanSplitNode
          </type>
        </split>
        <role name="SeparationOfDuties">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
        </role>
        <join name="Join"/>
        <simple name="NoOp">
          <type>
            org.kuali.rice.kew.engine.node.NoOpNode
          </type>
        </simple>
      </routeNodes>
    </documentType>
    <documentType>
      <name>
        PO
      </name>
      <parent>
        PUR
      </parent>
      <label>
        Purchase Order
      </label>
      <docHandler>
        ${kfs.url}/purapPurchaseOrder.do?methodToCall=docHandler
      </docHandler>
      <helpDefinitionURL>
        default.htm?turl=WordDocuments%2Fpurchaseorder.htm
      </helpDefinitionURL>
      <docSearchHelpURL>
        default.htm?turl=WordDocuments%2Fpurchaseorders.htm
      </docSearchHelpURL>
      <active>
        true
      </active>
      <attributes>
        <attribute>
          <name>PurapFinancialSystemSearchableAttribute</name>
        </attribute>
        <attribute>
          <name>KFSPurapDocumentSearchCustomizer</name>
        </attribute>
        <attribute>
          <name>NoFyiActionListAttribute</name>
        </attribute>
      </attributes>
      <routingVersion>
        2
      </routingVersion>
	  <validApplicationStatuses>
	  	<!--  Incomplete status start -->
	  	<status>In Process</status>
		<status>Awaiting Fiscal Officer Review</status>
		<status>Awaiting New Unordered Item Review</status>
		<status>Disapproved - New Unordered Item Review</status>
		<status>Awaiting Purchasing Approval</status>
		<status>Disapproved - Purchasing</status>
		<status>Awaiting Commodity Code Approval</status>
		<status>Disapproved - Commodity Code</status>
		<status>Awaiting C and G Approval</status>
		<status>Disapproved - C and G</status>
		<status>Awaiting Budget Approval</status>
		<status>Disapproved - Budget</status>
		<status>Awaiting Tax Approval</status>
		<status>Disapproved - Tax</status>
		<status>Error occurred sending cxml</status>
		<status>Error occurred sending fax</status>
		<status>Out for Quote</status>
		<status>Payment Hold</status>
		<status>Pending Fax</status>
		<status>Pending Print</status>
		<status>Pending cxml</status>
		<status>Waiting for Department</status>
		<status>Waiting for Vendor</status>
		<!--  Incomplete status end -->
		<!--  complete status start -->
		<status>Cancelled</status>
		<status>Cancelled Change</status>
		<status>Change in Process</status>
		<status>Closed</status>
		<status>Disapproved Budget</status>
		<status>Disapproved C and G</status>
		<status>Disapproved Change</status>
		<status>Disapproved Commodity Code</status>
		<status>Disapproved Purchasing</status>
		<status>Disapproved Tax</status>
		<status>Open</status>
		<status>Pending Amendment</status>
		<status>Pending Close</status>
		<status>Pending Payment Hold</status>
		<status>Pending Remove Hold</status>
		<status>Pending Reopen</status>
		<status>Pending Retransmit</status>
		<status>Pending Void</status>
		<status>Retired Version</status>
		<status>Void</status>
		<!--  complete status end -->
	  </validApplicationStatuses>
      <policies>
        <policy>
              <name>DOCUMENT_STATUS_POLICY</name>
              <stringValue>app</stringValue>
        </policy>
      </policies>      
      <routePaths>
        <routePath>
          <start name="AdHoc" nextNode="RequiresContractManagementReview" nextAppDocStatus="Awaiting Fiscal Officer Review" />
          <split name="RequiresContractManagementReview" nextNode="Commodity" nextAppDocStatus="Awaiting Commodity Code Approval" >
            <branch name="True">
              <role name="ContractManagement" nextNode="JoinRequiresContractManagementReview"/>
            </branch>
            <branch name="False">
              <simple name="NoOpRequiresContractManagementReview" nextNode="JoinRequiresContractManagementReview"/>
            </branch>
            <join name="JoinRequiresContractManagementReview"/>
          </split>
          <role name="Commodity" nextNode="RequiresAwardReview" nextAppDocStatus="Awaiting C and G Approval" />
          <split name="RequiresAwardReview" nextNode="RequiresBudgetReview" nextAppDocStatus="Awaiting Budget Approval">
            <branch name="True">
              <role name="Award" nextNode="JoinRequiresAwardReview"/>
            </branch>
            <branch name="False">
              <simple name="NoOpRequiresAwardReview" nextNode="JoinRequiresAwardReview"/>
            </branch>
            <join name="JoinRequiresAwardReview"/>
          </split>
          <split name="RequiresBudgetReview" nextNode="VendorIsEmployeeOrNonResidentAlien" nextAppDocStatus="Awaiting Tax Approval" >
            <branch name="True">
              <role name="Budget" nextNode="JoinRequiresBudgetReview"/>
            </branch>
            <branch name="False">
              <simple name="NoOpBudget" nextNode="JoinRequiresBudgetReview"/>
            </branch>
            <join name="JoinRequiresBudgetReview"/>
          </split>
          <split name="VendorIsEmployeeOrNonResidentAlien">
            <branch name="True">
              <role name="Tax" nextNode="JoinVendorIsEmployeeOrNonResidentAlien"/>
            </branch><commit_msg>KFSMI-8091: PO documents route path's nextAppDocStatus is moved to the role details.<commit_after><data xmlns="ns:workflow" xsi:schemaLocation="ns:workflow resource:WorkflowData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  
  <ruleAttributes xmlns="ns:workflow/RuleAttribute" xsi:schemaLocation="ns:workflow/RuleAttribute resource:RuleAttribute">
    <ruleAttribute>
      <name>KFSPurapDocumentSearchCustomizer</name>
      <label>KFS Purchasing Document Search Customizer</label>
      <className>KFSPurapDocumentSearchCustomizer</className>
      <type>DocumentSearchCustomizer</type>
      <applicationId>KFS</applicationId>
    </ruleAttribute>
    <ruleAttribute>
      <name>PurapFinancialSystemSearchableAttribute</name>
      <className>PurapFinancialSystemSearchableAttribute</className>
      <label>Financial System Searchable Attribute</label>
      <description>Purchasing Searchable Attribute</description>
      <type>SearchableAttribute</type>
      <applicationId>KFS</applicationId>
    </ruleAttribute>
    <ruleAttribute>
      <name>NoFyiActionListAttribute</name>
      <className>PurchaseOrderActionListAttribute</className>
      <label>No FYI</label>
      <description>No FYI Action List Attribute</description>
      <type>ActionListAttribute</type>
      <applicationId>KFS</applicationId>
    </ruleAttribute>
  </ruleAttributes>
  <documentTypes xmlns="ns:workflow/DocumentType" xsi:schemaLocation="ns:workflow/DocumentType resource:DocumentType">
    <documentType>
      <name>
        AP
      </name>
      <parent>
        PRAP
      </parent>
      <label>
        AccountsPayableTransactionalDocument
      </label>
      <active>
        true
      </active>
      <routingVersion>
        2
      </routingVersion>
    </documentType>
    <documentType>
      <name>
        PUR
      </name>
      <parent>
        PRAP
      </parent>
      <label>
        PurchasingTransactionalDocument
      </label>
      <attributes>
        <attribute>
          <name>PurapFinancialSystemSearchableAttribute</name>
        </attribute>
        <attribute>
          <name>KFSPurapDocumentSearchCustomizer</name>
        </attribute>
      </attributes>
      <active>
        true
      </active>
      <routingVersion>
        2
      </routingVersion>
    </documentType>
    <documentType>
      <name>
        RCV
      </name>
      <parent>
        PRAP
      </parent>
      <label>
        ReceivingTransactionalDocument
      </label>
      <docSearchHelpURL>
        default.htm?turl=WordDocuments%2Freceiving.htm
      </docSearchHelpURL>
      <active>
        true
      </active>
      <routingVersion>
        2
      </routingVersion>
    </documentType>
    <documentType>
      <name>
        ACM
      </name>
      <parent>
        PUR
      </parent>
      <label>
        Contract Manager Assignment
      </label>
      <docHandler>
        ${kfs.url}/purapContractManagerAssignment.do?methodToCall=docHandler
      </docHandler>
      <helpDefinitionURL>
        default.htm?turl=WordDocuments%2Fcontractmanagerassignment.htm
      </helpDefinitionURL>
      <active>
        true
      </active>
      <routingVersion>
        2
      </routingVersion>
      <routePaths>
        <routePath>
          <start name="AdHoc"/>
        </routePath>
      </routePaths>
      <routeNodes>
        <start name="AdHoc"/>
      </routeNodes>
    </documentType>
    <documentType>
      <name>
        REQS
      </name>
      <parent>
        PUR
      </parent>
      <label>
        Requisition
      </label>
      <docHandler>
        ${kfs.url}/purapRequisition.do?methodToCall=docHandler
      </docHandler>
      <helpDefinitionURL>
        default.htm?turl=WordDocuments%2Frequisition.htm
      </helpDefinitionURL>
      <docSearchHelpURL>
        default.htm?turl=WordDocuments%2Frequisitions.htm
      </docSearchHelpURL>
      <active>
        true
      </active>
      <routingVersion>
        2
      </routingVersion>
      <validApplicationStatuses>
            	<status>Awaiting Content Approval</status>
            	<status>Disapproved - Content</status>
            	<status>Awaiting Accounting Lines</status>
            	<status>Disapproved - Accounting Lines</status>
            	<status>Awaiting Sub Account</status>
            	<status>Disapproved - Sub Account</status>
            	<status>Awaiting Fiscal Officer</status>
            	<status>Disapproved - Fiscal</status>
            	<status>Awaiting Base Org Review</status>
            	<status>Disapproved - Base Org Review</status>
                <status>Awaiting Commodity Code</status>
                <status>Disapproved - Commodity Code</status>
            	<status>Awaiting Separation of Duties</status>
            	<status>Disapproved - Separation of Duties</status>
            	<status>Awaiting Contract Manager Assignment</status>
            	<status>Closed</status>
            	<status>Cancelled</status>
            	<status>In Process</status>            	   
     </validApplicationStatuses>
      <policies>
        <policy>
              <name>DOCUMENT_STATUS_POLICY</name>
              <stringValue>app</stringValue>
        </policy>
      </policies>
      <routePaths>
        <routePath>
          <start name="AdHoc" nextNode="Organization" nextAppDocStatus = "Awaiting Content Approval"/>
          <role name="Organization" nextNode="HasAccountingLines" nextAppDocStatus = "Awaiting Accounting Lines"/>
          <split name="HasAccountingLines" nextNode="SubAccount">
            <branch name="True">
              <simple name="NoOpHasAccountingLines" nextNode="JoinHasAccountingLines" nextAppDocStatus = "Awaiting Sub Account" />
            </branch>
            <branch name="False">
              <role name="Initiator" nextNode="JoinHasAccountingLines" nextAppDocStatus = "Awaiting Sub Account" />
            </branch>
            <join name="JoinHasAccountingLines" />
          </split>
          <role name="SubAccount" nextNode="Account"    nextAppDocStatus = "Awaiting Fiscal Officer"/>
          <role name="Account" nextNode="AccountingOrganizationHierarchy" nextAppDocStatus="Awaiting Base Org Review" />
          <role name="AccountingOrganizationHierarchy" nextNode="Commodity" nextAppDocStatus="Awaiting Commodity Code"/>
          <role name="Commodity" nextNode="AmountRequiresSeparationOfDutiesReview" nextAppDocStatus ="Awaiting Separation of Duties"/>
          <split name="AmountRequiresSeparationOfDutiesReview">
            <branch name="True">
              <role name="SeparationOfDuties" nextNode="Join"/>
            </branch>
            <branch name="False">
              <simple name="NoOp" nextNode="Join"/>
            </branch>
            <join name="Join"/>
          </split>
        </routePath>
      </routePaths>
      <routeNodes>
        <start name="AdHoc"/>
        <role name="Organization">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
        </role>
        <split name="HasAccountingLines">
          <type>
            org.kuali.kfs.sys.document.workflow.SimpleBooleanSplitNode
          </type>
        </split>
        <simple name="NoOpHasAccountingLines">
          <type>
            org.kuali.rice.kew.engine.node.NoOpNode
          </type>
        </simple>
        <join name="JoinHasAccountingLines"/>
        <role name="Initiator">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
        </role>
        <role name="SubAccount">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
        </role>
        <role name="Account">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
          <mandatoryRoute>
            true
          </mandatoryRoute>
        </role>
        <role name="AccountingOrganizationHierarchy">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
        </role>
        <role name="Commodity">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
        </role>
        <split name="AmountRequiresSeparationOfDutiesReview">
          <type>
            org.kuali.kfs.sys.document.workflow.SimpleBooleanSplitNode
          </type>
        </split>
        <role name="SeparationOfDuties">
          <qualifierResolverClass>
            org.kuali.rice.krad.workflow.attribute.DataDictionaryQualifierResolver
          </qualifierResolverClass>
        </role>
        <join name="Join"/>
        <simple name="NoOp">
          <type>
            org.kuali.rice.kew.engine.node.NoOpNode
          </type>
        </simple>
      </routeNodes>
    </documentType>
    <documentType>
      <name>
        PO
      </name>
      <parent>
        PUR
      </parent>
      <label>
        Purchase Order
      </label>
      <docHandler>
        ${kfs.url}/purapPurchaseOrder.do?methodToCall=docHandler
      </docHandler>
      <helpDefinitionURL>
        default.htm?turl=WordDocuments%2Fpurchaseorder.htm
      </helpDefinitionURL>
      <docSearchHelpURL>
        default.htm?turl=WordDocuments%2Fpurchaseorders.htm
      </docSearchHelpURL>
      <active>
        true
      </active>
      <attributes>
        <attribute>
          <name>PurapFinancialSystemSearchableAttribute</name>
        </attribute>
        <attribute>
          <name>KFSPurapDocumentSearchCustomizer</name>
        </attribute>
        <attribute>
          <name>NoFyiActionListAttribute</name>
        </attribute>
      </attributes>
      <routingVersion>
        2
      </routingVersion>
	  <validApplicationStatuses>
	  	<!--  Incomplete status start -->
	  	<status>In Process</status>
		<status>Awaiting Fiscal Officer Review</status>
		<status>Awaiting New Unordered Item Review</status>
		<status>Disapproved - New Unordered Item Review</status>
		<status>Awaiting Purchasing Approval</status>
		<status>Disapproved - Purchasing</status>
		<status>Awaiting Commodity Code Approval</status>
		<status>Disapproved - Commodity Code</status>
		<status>Awaiting C and G Approval</status>
		<status>Disapproved - C and G</status>
		<status>Awaiting Budget Approval</status>
		<status>Disapproved - Budget</status>
		<status>Awaiting Tax Approval</status>
		<status>Disapproved - Tax</status>
		<status>Error occurred sending cxml</status>
		<status>Error occurred sending fax</status>
		<status>Out for Quote</status>
		<status>Payment Hold</status>
		<status>Pending Fax</status>
		<status>Pending Print</status>
		<status>Pending cxml</status>
		<status>Waiting for Department</status>
		<status>Waiting for Vendor</status>
		<!--  Incomplete status end -->
		<!--  complete status start -->
		<status>Cancelled</status>
		<status>Cancelled Change</status>
		<status>Change in Process</status>
		<status>Closed</status>
		<status>Disapproved Budget</status>
		<status>Disapproved C and G</status>
		<status>Disapproved Change</status>
		<status>Disapproved Commodity Code</status>
		<status>Disapproved Purchasing</status>
		<status>Disapproved Tax</status>
		<status>Open</status>
		<status>Pending Amendment</status>
		<status>Pending Close</status>
		<status>Pending Payment Hold</status>
		<status>Pending Remove Hold</status>
		<status>Pending Reopen</status>
		<status>Pending Retransmit</status>
		<status>Pending Void</status>
		<status>Retired Version</status>
		<status>Void</status>
		<!--  complete status end -->
	  </validApplicationStatuses>
      <policies>
        <policy>
              <name>DOCUMENT_STATUS_POLICY</name>
              <stringValue>app</stringValue>
        </policy>
      </policies>      
      <routePaths>
        <routePath>
          <start name="AdHoc" nextNode="RequiresContractManagementReview" nextAppDocStatus="Awaiting Purchasing Approval" />
          <split name="RequiresContractManagementReview" nextNode="Commodity" >
            <branch name="True">
              <role name="ContractManagement" nextNode="JoinRequiresContractManagementReview" nextAppDocStatus="Awaiting Commodity Code Approval" />
            </branch>
            <branch name="False">
              <simple name="NoOpRequiresContractManagementReview" nextNode="JoinRequiresContractManagementReview"/>
            </branch>
            <join name="JoinRequiresContractManagementReview"/>
          </split>
          <role name="Commodity" nextNode="RequiresAwardReview" nextAppDocStatus="Awaiting C and G Approval" />
          <split name="RequiresAwardReview" nextNode="RequiresBudgetReview" >
            <branch name="True">
              <role name="Award" nextNode="JoinRequiresAwardReview"  nextAppDocStatus="Awaiting Budget Approval"/>
            </branch>
            <branch name="False">
              <simple name="NoOpRequiresAwardReview" nextNode="JoinRequiresAwardReview"/>
            </branch>
            <join name="JoinRequiresAwardReview"/>
          </split>
          <split name="RequiresBudgetReview" nextNode="VendorIsEmployeeOrNonResidentAlien" >
            <branch name="True">
              <role name="Budget" nextNode="JoinRequiresBudgetReview"  nextAppDocStatus="Awaiting Tax Approval"/>
            </branch>
            <branch name="False">
              <simple name="NoOpBudget" nextNode="JoinRequiresBudgetReview"/>
            </branch>
            <join name="JoinRequiresBudgetReview"/>
          </split>
          <split name="VendorIsEmployeeOrNonResidentAlien">
            <branch name="True">
              <role name="Tax" nextNode="JoinVendorIsEmployeeOrNonResidentAlien"/>
            </branch>
{'fraction_non_alphanumeric': 0.1109565093296229, 'fraction_numerical': 0.0013557386992043955, 'mean_word_length': 2.4832856965328696, 'pattern_counts': {'":': 0, '<': 853, '<?xml version=': 0, '>': 853, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 12}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6652892', 'n_tokens_mistral': 8154, 'n_tokens_neox': 7891, 'n_words': 1329}