<commit_before><?xml version="1.0" encoding="UTF-8"?>
<!--
   - Kuali Coeus, a comprehensive research administration system for higher education.
   - 
   - Copyright 2005-2015 Kuali, Inc.
   - 
   - This program is free software: you can redistribute it and/or modify
   - it under the terms of the GNU Affero General Public License as
   - published by the Free Software Foundation, either version 3 of the
   - License, or (at your option) any later version.
   - 
   - This program is distributed in the hope that it will be useful,
   - but WITHOUT ANY WARRANTY; without even the implied warranty of
   - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   - GNU Affero General Public License for more details.
   - 
   - You should have received a copy of the GNU Affero General Public License
   - along with this program.  If not, see <http://www.gnu.org/licenses/>.
 -->

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

	<bean id="PropBudget-NonPersonnelCostsPage" parent="PropBudget-NonPersonnelCostsPage-parentBean" />
	<bean id="PropBudget-NonPersonnelCostsPage-parentBean" parent="PropBudget-Page">
		<property name="items">
			<list>
				<ref bean="PropBudget-NonPersonnelCosts-TabGroup" />
            	<bean id="PropBudget-NonPersonnelCostsPage-AddNonPersonnel-Dialog" parent="PropBudget-NonPersonnelCostsPage-AddNonPersonnel"
            		p:retrieveViaAjax="true"/>
            	<bean id="PropBudget-NonPersonnelCostsPage-EditNonPersonnel-Dialog" parent="PropBudget-EditNonPersonnelPeriod-Section"
            		p:retrieveViaAjax="true"/>
            	<bean id="PropBudget-NonPersonnelCostsPage-EditParticipantSupport-Dialog" parent="PropBudget-EditNonPersonnelPeriod-ParticipantSupportSection"
            		p:retrieveViaAjax="true"/>
			</list>
		</property>
		<property name="header">
			<bean parent="Uif-PageHeader" />
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-TabGroup" parent="PropBudget-NonPersonnelCosts-TabGroup-parentBean"/>
	<bean id="PropBudget-NonPersonnelCosts-TabGroup-parentBean" abstract="true" parent="Kc-DynamicTabSection"
		p:tabCollectionPropertyName="budget.budgetPeriods" p:expressionProperties="budgetPeriod:budgetPeriod,budgetPeriodId:budgetPeriodId"
		p:idSuffixPropertyName="budgetPeriod" p:header.headerText="Non-Personnel Costs">
		<property name="groupPrototype"><bean id="PropBudget-NonPersonnelCosts-LineItemDetails" parent="PropBudget-NonPersonnelCosts-PeriodTab"/></property>
		<property name="header.lowerGroup">
			<bean parent="Uif-HeaderLowerGroup">
				<property name="items">
					<list>
						<bean parent="Uif-Message"
							p:messageText="Add and configure non-personnel items for this budget period."
							p:order="10" />
					</list>
				</property>
			</bean>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-PeriodTab" parent="PropBudget-NonPersonnelCosts-PeriodTab-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-PeriodTab-parentBean" abstract="true" parent="Uif-TableCollectionSection" p:headerText="Period @{#budgetPeriod}"
		p:collectionObjectClass="org.kuali.coeus.common.budget.framework.nonpersonnel.BudgetLineItem"
		p:propertyName="budget.budgetLineItems" 
		p:addWithDialog="false" p:renderAddLine="false" 
		p:layoutManager.renderSequenceField="false"
		p:renderInactiveToggleButton="false">
		<property name="layoutManager.groupingTitle" value="@{#lp.budgetCategory.budgetCategoryType.description} @{#lp.budgetCategory.budgetCategoryType.categoryParticipantSupport ? '[css=pull-right]' + (#lp.budgetPeriodBO.numberOfParticipants == null ? 0: #lp.budgetPeriodBO.numberOfParticipants) + ' Participants (' + '[color=#B0BED9][action=editParticipantDetails,data={budgetPeriodId:' + #budgetPeriodId + '}][b]edit[/b][/action][/color])[/css]' : ' '}"/>
		<property name="filters">
			<list>
				<bean parent="Uif-ConditionalCollectionFilter" p:expression="@{#line.budgetPeriod.toString() == #budgetPeriod and !#line.personnelLineItem}"/>
			</list>
		</property>
		<property name="layoutManager.richTable.templateOptions">
			<map>
				<entry key="sDom" value="tip" />
				<entry key="bRetrieve" value="true" />
				<entry key="bPaginate" value="false" />
				<entry key="bInfo" value="false" />
			</map>
		</property>
		<property name="header.rightGroup">
			<bean parent="Uif-HeaderRightGroup">
				<property name="items">
					<list>
						<bean parent="PropBudget-NonPersonnelCostsPage-AssignNonPersonnel" p:order="20"/>
					</list>
				</property>
			</bean>
		</property>
		<property name="items">
			<list>
				<bean parent="Uif-DataField" p:propertyName="costElementBO.description"
					p:order="10"/>
				<bean parent="Uif-DataField" p:propertyName="lineItemDescription"
					p:order="20"/>
				<bean parent="Uif-DataField" p:propertyName="quantity" 
					p:order="30"/>
				<bean parent="Uif-DataField" p:propertyName="lineItemCost"
					p:order="40"/>
			</list>
		</property>
		<property name="lineActions">
			<list>
				<bean parent="Uif-SecondaryActionButton-Mini" p:methodToCall="editNonPersonnelPeriodDetails"
					p:actionLabel="Details" p:order="10">
					<property name="additionalSubmitData">
						<map>
							<entry key="budgetPeriodId" value="@{#budgetPeriodId}"/>
						</map>
					</property>		
				</bean>
				<bean parent="Uif-DeleteLineAction-IconOnly" p:order="20" p:methodToCall="deleteBudgetLineItem"
					p:iconClass="icon-trash" p:render="@{!#parent.readOnly}">
					<property name="additionalSubmitData">
						<map>
							<entry key="budgetPeriodId" value="@{#budgetPeriodId}"/>
						</map>
					</property>		
				</bean>
			</list>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCostsPage-AssignNonPersonnel" parent="PropBudget-NonPersonnelCostsPage-AssignNonPersonnel-parentBean"/>
	<bean id="PropBudget-NonPersonnelCostsPage-AssignNonPersonnel-parentBean" abstract="true" parent="Uif-SecondaryActionButton-Mini" 
		p:actionLabel="Assign Non-Personnel..."
		p:refreshId="PropBudget-NonPersonnelCostsPage-AddNonPersonnel"
		p:methodToCall="assignLineItemToPeriod" p:render="@{!#parent.readOnly}">
		<property name="additionalSubmitData">
			<map>
				<entry key="budgetPeriodId" value="@{#budgetPeriodId}"/>
			</map>
		</property>		
	</bean>	

    <bean id="PropBudget-NonPersonnelCostsPage-AddNonPersonnel" parent="PropBudget-NonPersonnelCostsPage-AddNonPersonnel-parentBean"/>
    <bean id="PropBudget-NonPersonnelCostsPage-AddNonPersonnel-parentBean" abstract="true" parent="Uif-DialogGroup"
          p:fieldBindingObjectPath="addProjectBudgetLineItemHelper"
          p:onHideDialogScript="jQuery('#PropBudget-NonPersonnelCostsPage-AddNonPersonnel-Dialog').one(kradVariables.EVENTS.HIDDEN_MODAL, function(e){Kc.Dialog.resetDialogFields(jQuery('#PropBudget-NonPersonnelCostsPage-AddNonPersonnel-Dialog'));});"
          p:header.headerText="Add Assigned Non-Personnel" p:enterKeyAction="@DEFAULT">
        <property name="items">
            <list>
				<ref bean="PropBudget-NonPersonnelCosts-LineItem-ObjectFieldSection" />
            </list>
        </property>
        <property name="footer">
            <bean parent="Uif-FooterBase">
                <property name="items">
                    <list>
                        <bean parent="Uif-PrimaryActionButton" p:actionLabel="Add Non-Personnel Item to @{#fp.addProjectBudgetLineItemHelper.currentTabBudgetPeriod.budgetPeriod}" p:methodToCall="addLineItemToPeriod"
                              p:ajaxReturnType="update-page"
                              p:dialogDismissOption="REQUEST" p:defaultEnterKeyAction="true"
                              p:order="10" p:performClientSideValidation="true"/>
                        <bean parent="Uif-DialogDismissButton" p:actionLabel="Cancel" p:order="20"/>
                    </list>
                </property>
            </bean>
        </property>
    </bean>

	<!-- this dialog will be triggered from the controller -->
	<bean id="PropBudget-ConfirmPeriodChangesDialog" parent="Uif-DialogGroup-YesNo"
		p:promptText="You are about to enter costs in a later period. Doing so will prevent you from using the generate all periods function to auto-calculate later periods. Do you wish to continue?"/>

	<bean id="PropBudget-EditNonPersonnelPeriod-Section" parent="PropBudget-EditNonPersonnelPeriod-Section-parent" />
	<bean id="PropBudget-EditNonPersonnelPeriod-Section-parent" p:fieldBindingObjectPath="addProjectBudgetLineItemHelper" abstract="true" parent="Uif-DialogGroup" 
        p:onHideDialogScript="jQuery('#PropBudget-NonPersonnelCostsPage-EditNonPersonnel-Dialog').one(kradVariables.EVENTS.HIDDEN_MODAL, function(e){Kc.Dialog.resetDialogFields(jQuery('#PropBudget-NonPersonnelCostsPage-EditNonPersonnel-Dialog'));});"
		p:headerText="Edit Assigned Non-Personnel" p:enterKeyAction="@DEFAULT">
		<property name="items">
			<list>
				<bean parent="Uif-DataField" p:fieldLabel.labelText=" " p:propertyName="budgetLineItem.lineItemDescription"
					p:style="font-weight: bold; font-size: larger;" p:order="10"/>
				<bean parent="PropBudget-EditNonPersonnelCosts-Details-TabSection" p:order="20"/>
			</list>
		</property>
		<property name="footer">
			<bean parent="Uif-FooterBase">
				<property name="items">
					<list>
						<bean parent="Uif-PrimaryActionButton" p:actionLabel="Save Changes" p:methodToCall="saveBudgetLineItem"
							p:ajaxReturnType="update-page" 
                      		p:actionParameters="@{T(org.kuali.rice.krad.uif.UifParameters).SELECTED_COLLECTION_PATH}:budget.budgetLineItems,
                      		@{T(org.kuali.rice.krad.uif.UifParameters).SELECTED_COLLECTION_ID}:PropBudget-NonPersonnelCosts-LineItemDetails,
                      		@{T(org.kuali.rice.krad.uif.UifParameters).SELECTED_LINE_INDEX}:@{addProjectBudgetLineItemHelper.editLineIndex}"
							p:dialogDismissOption="REQUEST" p:performClientSideValidation="true" p:defaultEnterKeyAction="true"
							p:order="10" p:render="@{!#parent.readOnly}"/>
						<bean parent="Uif-SecondaryActionButton-Mini" p:actionLabel="Save And Apply To Other Periods"
							p:ajaxReturnType="update-page"
                      		p:actionParameters="@{T(org.kuali.rice.krad.uif.UifParameters).SELECTED_COLLECTION_PATH}:budget.budgetLineItems,
                      		@{T(org.kuali.rice.krad.uif.UifParameters).SELECTED_COLLECTION_ID}:PropBudget-NonPersonnelCosts-LineItemDetails,
                      		@{T(org.kuali.rice.krad.uif.UifParameters).SELECTED_LINE_INDEX}:@{addProjectBudgetLineItemHelper.editLineIndex}"
							p:dialogDismissOption="REQUEST" p:render="@{!#parent.readOnly}"
							p:methodToCall="saveAndApplyToLaterPeriods" p:order="20" p:performClientSideValidation="true"/>
						<bean parent="Uif-SecondaryActionButton-Mini" p:actionLabel="Sync To Period Direct Cost Limit"
							p:refreshId="PropBudget-NonPersonnelCostsPage-EditNonPersonnel-Dialog" p:render="@{!#parent.readOnly}"
							p:methodToCall="syncToPeriodCostDirectLimit" p:order="30" />
						<bean parent="Uif-SecondaryActionButton-Mini" p:actionLabel="Sync To Period Cost Limit"
							p:refreshId="PropBudget-NonPersonnelCostsPage-EditNonPersonnel-Dialog" p:render="@{!#parent.readOnly}"
							p:methodToCall="syncToPeriodCostLimit" p:order="40"/>
						<bean parent="Uif-DialogDismissButton" p:actionLabel="Cancel"
							p:order="50" />
					</list>
				</property>
			</bean>
		</property>
	</bean>
	
	<bean id="PropBudget-EditNonPersonnelCosts-Details-TabSection" parent="PropBudget-NonPersonnelCosts-Details-TabSection-parentBean">
		<property name="items">
			<list>
				<bean parent="PropBudget-EditNonPersonnelCosts-Details-Tab"
					p:headerText="Details" p:order="10" />
				<bean parent="PropBudget-NonPersonnelCosts-CostSharing-Tab"
					p:headerText="Cost Sharing" p:order="20" />
				<bean parent="PropBudget-NonPersonnelCosts-Rates-Tab"
					p:headerText="Rates" p:order="30" />
			</list>
		</property>
	</bean>
	<bean id="PropBudget-EditNonPersonnelCosts-Details-Tab" parent="PropBudget-NonPersonnelCosts-Details-Tab-parentBean">
		<property name="items">
			<list>
				<ref bean="PropBudget-NonPersonnelCosts-LineItem-DateFieldSection"/>
				<ref bean="PropBudget-EditNonPersonnelCosts-LineItem-ObjectFieldSection"/>
				<ref bean="PropBudget-NonPersonnelCosts-LineItem-ApplyRateFieldSection"/>
			</list>
		</property>
	</bean>
	
	<bean id="PropBudget-EditNonPersonnelCosts-LineItem-ObjectFieldSection" parent="PropBudget-NonPersonnelCosts-LineItem-ObjectFieldSection-parentBean">
		<property name="items">
			<list>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.budgetCategoryCode"
					p:label="Budget Category" p:order="10" p:required="false"
					p:optionsFinder="#{#getService('budgetNonPersonnelBudgetCategoryValuesFinder')}" 
					p:optionsFinder.addBlankOption="false">
			    	<property name="control">
			      		<bean parent="Uif-DropdownControl"/>
			    	</property>
 						</bean>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.costElement"
					p:refreshWhenChangedPropertyNames="#fp.budgetCategoryTypeCode"
					p:label="Object Code Name" p:optionsFinder="#{#getService('budgetNonPersonnelCostElementValuesFinder')}" 
					p:optionsFinder.addBlankOption="false" p:order="20"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.lineItemCost"
					p:label="Total Base Cost" p:order="30" p:required="false"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.quantity"
					p:order="40" p:required="false"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.lineItemDescription"
					p:order="50" p:required="false"/>
			</list>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-Details-TabSection" parent="PropBudget-NonPersonnelCosts-Details-TabSection-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-Details-TabSection-parentBean" parent="Uif-TabSection">
		<property name="items">
			<list>
				<bean parent="PropBudget-NonPersonnelCosts-Details-Tab"
					p:headerText="Details" p:order="10" />
				<bean parent="PropBudget-NonPersonnelCosts-CostSharing-Tab"
					p:headerText="Cost Sharing" p:order="20" />
				<bean parent="PropBudget-NonPersonnelCosts-Rates-Tab"
					p:headerText="Rates" p:order="30" />
			</list>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-Details-Tab" parent="PropBudget-NonPersonnelCosts-Details-Tab-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-Details-Tab-parentBean" abstract="true" parent="Uif-VerticalBoxSubSection">
		<property name="items">
			<list>
				<ref bean="PropBudget-NonPersonnelCosts-LineItem-DateFieldSection"/>
				<ref bean="PropBudget-NonPersonnelCosts-LineItem-ObjectFieldSection"/>
				<ref bean="PropBudget-NonPersonnelCosts-LineItem-ApplyRateFieldSection"/>
			</list>
		</property>
	</bean>
	
	<bean id="PropBudget-NonPersonnelCosts-CostSharing-Tab" parent="PropBudget-NonPersonnelCosts-CostSharing-Tab-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-CostSharing-Tab-parentBean" abstract="true" parent="Uif-VerticalBoxSubSection">
		<property name="items">
			<list>				
				<ref bean="PropBudget-NonPersonnelCosts-CostSharing-Section" />
			</list>
		</property>
	</bean>
	
	<bean id="PropBudget-NonPersonnelCosts-CostSharing-Section" parent="PropBudget-NonPersonnelCosts-CostSharing-Section-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-CostSharing-Section-parentBean" parent="Uif-CssGridSection-1FieldLabelColumn">
		<property name="items">
			<list>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.costSharingAmount"
					p:required="false" p:order="10"/>
				<bean parent="Uif-DataField" p:propertyName="budgetLineItem.underrecoveryAmount"
					p:required="false" p:order="20"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.budgetJustification"
					p:required="false" p:order="30" p:label="Justification"/>
			</list>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-Rates-Tab" parent="PropBudget-BudgetLineItem-Rates" />

	<bean id="PropBudget-NonPersonnelCosts-LineItem-ObjectFieldSection" parent="PropBudget-NonPersonnelCosts-LineItem-ObjectFieldSection-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-LineItem-ObjectFieldSection-parentBean" parent="Uif-CssGridSection-1FieldLabelColumn">
		<property name="items">
			<list>
				<bean parent="Uif-InputField" p:propertyName="budgetCategoryTypeCode"
					p:label="Category" p:order="10" p:required="false"
					p:optionsFinder="#{#getService('budgetNonPersonnelBudgetCategoryTypeValuesFinder')}" 
					p:optionsFinder.addBlankOption="false">
			    	<property name="control">
			      		<bean parent="Uif-DropdownControl"/>
			    	</property>
 						</bean>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.costElement"
					p:refreshWhenChangedPropertyNames="#fp.budgetCategoryTypeCode"
					p:label="Object Code Name" p:optionsFinder="#{#getService('budgetNonPersonnelCostElementValuesFinder')}" 
					p:optionsFinder.addBlankOption="false" p:order="20"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.lineItemCost"
					p:label="Total Base Cost" p:order="30" p:required="false"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.quantity"
					p:order="40" p:required="false"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.lineItemDescription"
					p:order="50" p:required="false"/>
			</list>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-LineItem-DateFieldSection" parent="PropBudget-NonPersonnelCosts-LineItem-DateFieldSection-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-LineItem-DateFieldSection-parentBean" parent="Uif-CssGridSection-1FieldLabelColumn">
		<property name="items">
			<list>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.startDate"
					p:required="true" p:order="10"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.endDate"
					p:required="true" p:order="20"/>
			</list>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-LineItem-ApplyRateFieldSection" parent="PropBudget-NonPersonnelCosts-LineItem-ApplyRateFieldSection-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-LineItem-ApplyRateFieldSection-parentBean" parent="Uif-CssGridSection-1FieldLabelColumn">
		<property name="items">
			<list>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.applyInRateFlag"
					p:order="10" p:label="Apply Inflation"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.submitCostSharingFlag"
					p:order="20" p:label="Submit cost sharing"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.onOffCampusFlag"
                    p:readOnly="@{budget.onOffCampusFlag != '#{T(org.kuali.kra.infrastructure.OnOffCampusFlagConstants).Default.code}'}"
					p:readOnlyDisplayReplacement="@{#fp.budgetLineItem.onOffCampusFlag ? 'Yes' : 'No'}" 
					p:order="30" p:label="On Campus"/>
			</list>
		</property>
	</bean>

	<bean id="PropBudget-EditNonPersonnelPeriod-ParticipantSupportSection" parent="PropBudget-EditNonPersonnelPeriod-ParticipantSupportSection-parent" />
	<bean id="PropBudget-EditNonPersonnelPeriod-ParticipantSupportSection-parent" p:fieldBindingObjectPath="addProjectBudgetLineItemHelper" abstract="true" parent="Uif-DialogGroup" 
        p:onHideDialogScript="jQuery('#PropBudget-NonPersonnelCostsPage-EditParticipantSupport-Dialog').one(kradVariables.EVENTS.HIDDEN_MODAL, function(e){Kc.Dialog.resetDialogFields(jQuery('#PropBudget-NonPersonnelCostsPage-EditParticipantSupport-Dialog'));});"
		p:headerText="Participants">
		<property name="items">
			<list>
				<bean parent="Uif-InputField" p:propertyName="currentTabBudgetPeriod.numberOfParticipants"
					p:order="10" p:label="Number of Participants"/>
			</list>
		</property>
		<property name="footer">
			<bean parent="Uif-FooterBase">
				<property name="items">
					<list>
						<bean parent="Uif-PrimaryActionButton" p:actionLabel="Save Changes" p:methodToCall="saveParticipantDetails"
							p:refreshId="PropBudget-NonPersonnelCosts-LineItemDetails_@{#fp.addProjectBudgetLineItemHelper.currentTabBudgetPeriod.budgetPeriod}"
							p:dialogDismissOption="REQUEST" p:render="@{!#parent.readOnly}"
							p:order="10" />
						<bean parent="Uif-DialogDismissButton" p:actionLabel="Cancel"
							p:order="20" />
					</list>
				</property>
			</bean>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-SyncToPeriodCostLimit" parent="Uif-DialogGroup-YesNo" 
	p:promptText="Period total cost is greater than the cost limit for this period. Do you want to reduce this line item cost to make the period total cost the same as the period cost limit?"/>

	<bean id="PropBudget-NonPersonnelCosts-SyncToDirectCostLimit" parent="Uif-DialogGroup-YesNo" 
	p:promptText="Period direct cost is greater than the direct cost limit for this period. Do you want to reduce this line item cost to make the period direct cost the same as the period direct cost limit?"/>

</beans>
                    
<commit_msg>KRACOEUS-8784:make sub award line items non editable from periods page<commit_after><?xml version="1.0" encoding="UTF-8"?>
<!--
   - Kuali Coeus, a comprehensive research administration system for higher education.
   - 
   - Copyright 2005-2015 Kuali, Inc.
   - 
   - This program is free software: you can redistribute it and/or modify
   - it under the terms of the GNU Affero General Public License as
   - published by the Free Software Foundation, either version 3 of the
   - License, or (at your option) any later version.
   - 
   - This program is distributed in the hope that it will be useful,
   - but WITHOUT ANY WARRANTY; without even the implied warranty of
   - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   - GNU Affero General Public License for more details.
   - 
   - You should have received a copy of the GNU Affero General Public License
   - along with this program.  If not, see <http://www.gnu.org/licenses/>.
 -->

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

	<bean id="PropBudget-NonPersonnelCostsPage" parent="PropBudget-NonPersonnelCostsPage-parentBean" />
	<bean id="PropBudget-NonPersonnelCostsPage-parentBean" parent="PropBudget-Page">
		<property name="items">
			<list>
				<ref bean="PropBudget-NonPersonnelCosts-TabGroup" />
            	<bean id="PropBudget-NonPersonnelCostsPage-AddNonPersonnel-Dialog" parent="PropBudget-NonPersonnelCostsPage-AddNonPersonnel"
            		p:retrieveViaAjax="true"/>
            	<bean id="PropBudget-NonPersonnelCostsPage-EditNonPersonnel-Dialog" parent="PropBudget-EditNonPersonnelPeriod-Section"
            		p:retrieveViaAjax="true"/>
            	<bean id="PropBudget-NonPersonnelCostsPage-EditParticipantSupport-Dialog" parent="PropBudget-EditNonPersonnelPeriod-ParticipantSupportSection"
            		p:retrieveViaAjax="true"/>
			</list>
		</property>
		<property name="header">
			<bean parent="Uif-PageHeader" />
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-TabGroup" parent="PropBudget-NonPersonnelCosts-TabGroup-parentBean"/>
	<bean id="PropBudget-NonPersonnelCosts-TabGroup-parentBean" abstract="true" parent="Kc-DynamicTabSection"
		p:tabCollectionPropertyName="budget.budgetPeriods" p:expressionProperties="budgetPeriod:budgetPeriod,budgetPeriodId:budgetPeriodId"
		p:idSuffixPropertyName="budgetPeriod" p:header.headerText="Non-Personnel Costs">
		<property name="groupPrototype"><bean id="PropBudget-NonPersonnelCosts-LineItemDetails" parent="PropBudget-NonPersonnelCosts-PeriodTab"/></property>
		<property name="header.lowerGroup">
			<bean parent="Uif-HeaderLowerGroup">
				<property name="items">
					<list>
						<bean parent="Uif-Message"
							p:messageText="Add and configure non-personnel items for this budget period."
							p:order="10" />
					</list>
				</property>
			</bean>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-PeriodTab" parent="PropBudget-NonPersonnelCosts-PeriodTab-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-PeriodTab-parentBean" abstract="true" parent="Uif-TableCollectionSection" p:headerText="Period @{#budgetPeriod}"
		p:collectionObjectClass="org.kuali.coeus.common.budget.framework.nonpersonnel.BudgetLineItem"
		p:propertyName="budget.budgetLineItems" 
		p:addWithDialog="false" p:renderAddLine="false" 
		p:layoutManager.renderSequenceField="false"
		p:renderInactiveToggleButton="false">
		<property name="layoutManager.groupingTitle" value="@{#lp.budgetCategory.budgetCategoryType.description} @{#lp.budgetCategory.budgetCategoryType.categoryParticipantSupport ? '[css=pull-right]' + (#lp.budgetPeriodBO.numberOfParticipants == null ? 0: #lp.budgetPeriodBO.numberOfParticipants) + ' Participants (' + '[color=#B0BED9][action=editParticipantDetails,data={budgetPeriodId:' + #budgetPeriodId + '}][b]edit[/b][/action][/color])[/css]' : ' '}"/>
		<property name="filters">
			<list>
				<bean parent="Uif-ConditionalCollectionFilter" p:expression="@{#line.budgetPeriod.toString() == #budgetPeriod and !#line.personnelLineItem}"/>
			</list>
		</property>
		<property name="layoutManager.richTable.templateOptions">
			<map>
				<entry key="sDom" value="tip" />
				<entry key="bRetrieve" value="true" />
				<entry key="bPaginate" value="false" />
				<entry key="bInfo" value="false" />
			</map>
		</property>
		<property name="header.rightGroup">
			<bean parent="Uif-HeaderRightGroup">
				<property name="items">
					<list>
						<bean parent="PropBudget-NonPersonnelCostsPage-AssignNonPersonnel" p:order="20"/>
					</list>
				</property>
			</bean>
		</property>
		<property name="items">
			<list>
				<bean parent="Uif-DataField" p:propertyName="costElementBO.description"
					p:order="10"/>
				<bean parent="Uif-DataField" p:propertyName="lineItemDescription"
					p:order="20"/>
				<bean parent="Uif-DataField" p:propertyName="quantity" 
					p:order="30"/>
				<bean parent="Uif-DataField" p:propertyName="lineItemCost"
					p:order="40"/>
			</list>
		</property>
		<property name="lineActions">
			<list>
				<bean parent="Uif-SecondaryActionButton-Mini" p:methodToCall="editNonPersonnelPeriodDetails"
					p:actionLabel="Details" p:order="10" p:render="@{#empty(#line.subAwardNumber) and !#parent.readOnly}">
					<property name="additionalSubmitData">
						<map>
							<entry key="budgetPeriodId" value="@{#budgetPeriodId}"/>
						</map>
					</property>		
				</bean>
				<bean parent="Uif-DeleteLineAction-IconOnly" p:order="20" p:methodToCall="deleteBudgetLineItem"
					p:iconClass="icon-trash" p:render="@{#empty(#line.subAwardNumber) and !#parent.readOnly}">
					<property name="additionalSubmitData">
						<map>
							<entry key="budgetPeriodId" value="@{#budgetPeriodId}"/>
						</map>
					</property>		
				</bean>
			</list>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCostsPage-AssignNonPersonnel" parent="PropBudget-NonPersonnelCostsPage-AssignNonPersonnel-parentBean"/>
	<bean id="PropBudget-NonPersonnelCostsPage-AssignNonPersonnel-parentBean" abstract="true" parent="Uif-SecondaryActionButton-Mini" 
		p:actionLabel="Assign Non-Personnel..."
		p:refreshId="PropBudget-NonPersonnelCostsPage-AddNonPersonnel"
		p:methodToCall="assignLineItemToPeriod" p:render="@{!#parent.readOnly}">
		<property name="additionalSubmitData">
			<map>
				<entry key="budgetPeriodId" value="@{#budgetPeriodId}"/>
			</map>
		</property>		
	</bean>	

    <bean id="PropBudget-NonPersonnelCostsPage-AddNonPersonnel" parent="PropBudget-NonPersonnelCostsPage-AddNonPersonnel-parentBean"/>
    <bean id="PropBudget-NonPersonnelCostsPage-AddNonPersonnel-parentBean" abstract="true" parent="Uif-DialogGroup"
          p:fieldBindingObjectPath="addProjectBudgetLineItemHelper"
          p:onHideDialogScript="jQuery('#PropBudget-NonPersonnelCostsPage-AddNonPersonnel-Dialog').one(kradVariables.EVENTS.HIDDEN_MODAL, function(e){Kc.Dialog.resetDialogFields(jQuery('#PropBudget-NonPersonnelCostsPage-AddNonPersonnel-Dialog'));});"
          p:header.headerText="Add Assigned Non-Personnel" p:enterKeyAction="@DEFAULT">
        <property name="items">
            <list>
				<ref bean="PropBudget-NonPersonnelCosts-LineItem-ObjectFieldSection" />
            </list>
        </property>
        <property name="footer">
            <bean parent="Uif-FooterBase">
                <property name="items">
                    <list>
                        <bean parent="Uif-PrimaryActionButton" p:actionLabel="Add Non-Personnel Item to @{#fp.addProjectBudgetLineItemHelper.currentTabBudgetPeriod.budgetPeriod}" p:methodToCall="addLineItemToPeriod"
                              p:ajaxReturnType="update-page"
                              p:dialogDismissOption="REQUEST" p:defaultEnterKeyAction="true"
                              p:order="10" p:performClientSideValidation="true"/>
                        <bean parent="Uif-DialogDismissButton" p:actionLabel="Cancel" p:order="20"/>
                    </list>
                </property>
            </bean>
        </property>
    </bean>

	<!-- this dialog will be triggered from the controller -->
	<bean id="PropBudget-ConfirmPeriodChangesDialog" parent="Uif-DialogGroup-YesNo"
		p:promptText="You are about to enter costs in a later period. Doing so will prevent you from using the generate all periods function to auto-calculate later periods. Do you wish to continue?"/>

	<bean id="PropBudget-EditNonPersonnelPeriod-Section" parent="PropBudget-EditNonPersonnelPeriod-Section-parent" />
	<bean id="PropBudget-EditNonPersonnelPeriod-Section-parent" p:fieldBindingObjectPath="addProjectBudgetLineItemHelper" abstract="true" parent="Uif-DialogGroup" 
        p:onHideDialogScript="jQuery('#PropBudget-NonPersonnelCostsPage-EditNonPersonnel-Dialog').one(kradVariables.EVENTS.HIDDEN_MODAL, function(e){Kc.Dialog.resetDialogFields(jQuery('#PropBudget-NonPersonnelCostsPage-EditNonPersonnel-Dialog'));});"
		p:headerText="Edit Assigned Non-Personnel" p:enterKeyAction="@DEFAULT">
		<property name="items">
			<list>
				<bean parent="Uif-DataField" p:fieldLabel.labelText=" " p:propertyName="budgetLineItem.lineItemDescription"
					p:style="font-weight: bold; font-size: larger;" p:order="10"/>
				<bean parent="PropBudget-EditNonPersonnelCosts-Details-TabSection" p:order="20"/>
			</list>
		</property>
		<property name="footer">
			<bean parent="Uif-FooterBase">
				<property name="items">
					<list>
						<bean parent="Uif-PrimaryActionButton" p:actionLabel="Save Changes" p:methodToCall="saveBudgetLineItem"
							p:ajaxReturnType="update-page" 
                      		p:actionParameters="@{T(org.kuali.rice.krad.uif.UifParameters).SELECTED_COLLECTION_PATH}:budget.budgetLineItems,
                      		@{T(org.kuali.rice.krad.uif.UifParameters).SELECTED_COLLECTION_ID}:PropBudget-NonPersonnelCosts-LineItemDetails,
                      		@{T(org.kuali.rice.krad.uif.UifParameters).SELECTED_LINE_INDEX}:@{addProjectBudgetLineItemHelper.editLineIndex}"
							p:dialogDismissOption="REQUEST" p:performClientSideValidation="true" p:defaultEnterKeyAction="true"
							p:order="10" p:render="@{!#parent.readOnly}"/>
						<bean parent="Uif-SecondaryActionButton-Mini" p:actionLabel="Save And Apply To Other Periods"
							p:ajaxReturnType="update-page"
                      		p:actionParameters="@{T(org.kuali.rice.krad.uif.UifParameters).SELECTED_COLLECTION_PATH}:budget.budgetLineItems,
                      		@{T(org.kuali.rice.krad.uif.UifParameters).SELECTED_COLLECTION_ID}:PropBudget-NonPersonnelCosts-LineItemDetails,
                      		@{T(org.kuali.rice.krad.uif.UifParameters).SELECTED_LINE_INDEX}:@{addProjectBudgetLineItemHelper.editLineIndex}"
							p:dialogDismissOption="REQUEST" p:render="@{!#parent.readOnly}"
							p:methodToCall="saveAndApplyToLaterPeriods" p:order="20" p:performClientSideValidation="true"/>
						<bean parent="Uif-SecondaryActionButton-Mini" p:actionLabel="Sync To Period Direct Cost Limit"
							p:refreshId="PropBudget-NonPersonnelCostsPage-EditNonPersonnel-Dialog" p:render="@{!#parent.readOnly}"
							p:methodToCall="syncToPeriodCostDirectLimit" p:order="30" />
						<bean parent="Uif-SecondaryActionButton-Mini" p:actionLabel="Sync To Period Cost Limit"
							p:refreshId="PropBudget-NonPersonnelCostsPage-EditNonPersonnel-Dialog" p:render="@{!#parent.readOnly}"
							p:methodToCall="syncToPeriodCostLimit" p:order="40"/>
						<bean parent="Uif-DialogDismissButton" p:actionLabel="Cancel"
							p:order="50" />
					</list>
				</property>
			</bean>
		</property>
	</bean>
	
	<bean id="PropBudget-EditNonPersonnelCosts-Details-TabSection" parent="PropBudget-NonPersonnelCosts-Details-TabSection-parentBean">
		<property name="items">
			<list>
				<bean parent="PropBudget-EditNonPersonnelCosts-Details-Tab"
					p:headerText="Details" p:order="10" />
				<bean parent="PropBudget-NonPersonnelCosts-CostSharing-Tab"
					p:headerText="Cost Sharing" p:order="20" />
				<bean parent="PropBudget-NonPersonnelCosts-Rates-Tab"
					p:headerText="Rates" p:order="30" />
			</list>
		</property>
	</bean>
	<bean id="PropBudget-EditNonPersonnelCosts-Details-Tab" parent="PropBudget-NonPersonnelCosts-Details-Tab-parentBean">
		<property name="items">
			<list>
				<ref bean="PropBudget-NonPersonnelCosts-LineItem-DateFieldSection"/>
				<ref bean="PropBudget-EditNonPersonnelCosts-LineItem-ObjectFieldSection"/>
				<ref bean="PropBudget-NonPersonnelCosts-LineItem-ApplyRateFieldSection"/>
			</list>
		</property>
	</bean>
	
	<bean id="PropBudget-EditNonPersonnelCosts-LineItem-ObjectFieldSection" parent="PropBudget-NonPersonnelCosts-LineItem-ObjectFieldSection-parentBean">
		<property name="items">
			<list>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.budgetCategoryCode"
					p:label="Budget Category" p:order="10" p:required="false"
					p:optionsFinder="#{#getService('budgetNonPersonnelBudgetCategoryValuesFinder')}" 
					p:optionsFinder.addBlankOption="false">
			    	<property name="control">
			      		<bean parent="Uif-DropdownControl"/>
			    	</property>
 						</bean>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.costElement"
					p:refreshWhenChangedPropertyNames="#fp.budgetCategoryTypeCode"
					p:label="Object Code Name" p:optionsFinder="#{#getService('budgetNonPersonnelCostElementValuesFinder')}" 
					p:optionsFinder.addBlankOption="false" p:order="20"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.lineItemCost"
					p:label="Total Base Cost" p:order="30" p:required="false"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.quantity"
					p:order="40" p:required="false"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.lineItemDescription"
					p:order="50" p:required="false"/>
			</list>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-Details-TabSection" parent="PropBudget-NonPersonnelCosts-Details-TabSection-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-Details-TabSection-parentBean" parent="Uif-TabSection">
		<property name="items">
			<list>
				<bean parent="PropBudget-NonPersonnelCosts-Details-Tab"
					p:headerText="Details" p:order="10" />
				<bean parent="PropBudget-NonPersonnelCosts-CostSharing-Tab"
					p:headerText="Cost Sharing" p:order="20" />
				<bean parent="PropBudget-NonPersonnelCosts-Rates-Tab"
					p:headerText="Rates" p:order="30" />
			</list>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-Details-Tab" parent="PropBudget-NonPersonnelCosts-Details-Tab-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-Details-Tab-parentBean" abstract="true" parent="Uif-VerticalBoxSubSection">
		<property name="items">
			<list>
				<ref bean="PropBudget-NonPersonnelCosts-LineItem-DateFieldSection"/>
				<ref bean="PropBudget-NonPersonnelCosts-LineItem-ObjectFieldSection"/>
				<ref bean="PropBudget-NonPersonnelCosts-LineItem-ApplyRateFieldSection"/>
			</list>
		</property>
	</bean>
	
	<bean id="PropBudget-NonPersonnelCosts-CostSharing-Tab" parent="PropBudget-NonPersonnelCosts-CostSharing-Tab-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-CostSharing-Tab-parentBean" abstract="true" parent="Uif-VerticalBoxSubSection">
		<property name="items">
			<list>				
				<ref bean="PropBudget-NonPersonnelCosts-CostSharing-Section" />
			</list>
		</property>
	</bean>
	
	<bean id="PropBudget-NonPersonnelCosts-CostSharing-Section" parent="PropBudget-NonPersonnelCosts-CostSharing-Section-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-CostSharing-Section-parentBean" parent="Uif-CssGridSection-1FieldLabelColumn">
		<property name="items">
			<list>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.costSharingAmount"
					p:required="false" p:order="10"/>
				<bean parent="Uif-DataField" p:propertyName="budgetLineItem.underrecoveryAmount"
					p:required="false" p:order="20"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.budgetJustification"
					p:required="false" p:order="30" p:label="Justification"/>
			</list>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-Rates-Tab" parent="PropBudget-BudgetLineItem-Rates" />

	<bean id="PropBudget-NonPersonnelCosts-LineItem-ObjectFieldSection" parent="PropBudget-NonPersonnelCosts-LineItem-ObjectFieldSection-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-LineItem-ObjectFieldSection-parentBean" parent="Uif-CssGridSection-1FieldLabelColumn">
		<property name="items">
			<list>
				<bean parent="Uif-InputField" p:propertyName="budgetCategoryTypeCode"
					p:label="Category" p:order="10" p:required="false"
					p:optionsFinder="#{#getService('budgetNonPersonnelBudgetCategoryTypeValuesFinder')}" 
					p:optionsFinder.addBlankOption="false">
			    	<property name="control">
			      		<bean parent="Uif-DropdownControl"/>
			    	</property>
 						</bean>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.costElement"
					p:refreshWhenChangedPropertyNames="#fp.budgetCategoryTypeCode"
					p:label="Object Code Name" p:optionsFinder="#{#getService('budgetNonPersonnelCostElementValuesFinder')}" 
					p:optionsFinder.addBlankOption="false" p:order="20"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.lineItemCost"
					p:label="Total Base Cost" p:order="30" p:required="false"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.quantity"
					p:order="40" p:required="false"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.lineItemDescription"
					p:order="50" p:required="false"/>
			</list>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-LineItem-DateFieldSection" parent="PropBudget-NonPersonnelCosts-LineItem-DateFieldSection-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-LineItem-DateFieldSection-parentBean" parent="Uif-CssGridSection-1FieldLabelColumn">
		<property name="items">
			<list>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.startDate"
					p:required="true" p:order="10"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.endDate"
					p:required="true" p:order="20"/>
			</list>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-LineItem-ApplyRateFieldSection" parent="PropBudget-NonPersonnelCosts-LineItem-ApplyRateFieldSection-parentBean" />
	<bean id="PropBudget-NonPersonnelCosts-LineItem-ApplyRateFieldSection-parentBean" parent="Uif-CssGridSection-1FieldLabelColumn">
		<property name="items">
			<list>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.applyInRateFlag"
					p:order="10" p:label="Apply Inflation"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.submitCostSharingFlag"
					p:order="20" p:label="Submit cost sharing"/>
				<bean parent="Uif-InputField" p:propertyName="budgetLineItem.onOffCampusFlag"
                    p:readOnly="@{budget.onOffCampusFlag != '#{T(org.kuali.kra.infrastructure.OnOffCampusFlagConstants).Default.code}'}"
					p:readOnlyDisplayReplacement="@{#fp.budgetLineItem.onOffCampusFlag ? 'Yes' : 'No'}" 
					p:order="30" p:label="On Campus"/>
			</list>
		</property>
	</bean>

	<bean id="PropBudget-EditNonPersonnelPeriod-ParticipantSupportSection" parent="PropBudget-EditNonPersonnelPeriod-ParticipantSupportSection-parent" />
	<bean id="PropBudget-EditNonPersonnelPeriod-ParticipantSupportSection-parent" p:fieldBindingObjectPath="addProjectBudgetLineItemHelper" abstract="true" parent="Uif-DialogGroup" 
        p:onHideDialogScript="jQuery('#PropBudget-NonPersonnelCostsPage-EditParticipantSupport-Dialog').one(kradVariables.EVENTS.HIDDEN_MODAL, function(e){Kc.Dialog.resetDialogFields(jQuery('#PropBudget-NonPersonnelCostsPage-EditParticipantSupport-Dialog'));});"
		p:headerText="Participants">
		<property name="items">
			<list>
				<bean parent="Uif-InputField" p:propertyName="currentTabBudgetPeriod.numberOfParticipants"
					p:order="10" p:label="Number of Participants"/>
			</list>
		</property>
		<property name="footer">
			<bean parent="Uif-FooterBase">
				<property name="items">
					<list>
						<bean parent="Uif-PrimaryActionButton" p:actionLabel="Save Changes" p:methodToCall="saveParticipantDetails"
							p:refreshId="PropBudget-NonPersonnelCosts-LineItemDetails_@{#fp.addProjectBudgetLineItemHelper.currentTabBudgetPeriod.budgetPeriod}"
							p:dialogDismissOption="REQUEST" p:render="@{!#parent.readOnly}"
							p:order="10" />
						<bean parent="Uif-DialogDismissButton" p:actionLabel="Cancel"
							p:order="20" />
					</list>
				</property>
			</bean>
		</property>
	</bean>

	<bean id="PropBudget-NonPersonnelCosts-SyncToPeriodCostLimit" parent="Uif-DialogGroup-YesNo" 
	p:promptText="Period total cost is greater than the cost limit for this period. Do you want to reduce this line item cost to make the period total cost the same as the period cost limit?"/>

	<bean id="PropBudget-NonPersonnelCosts-SyncToDirectCostLimit" parent="Uif-DialogGroup-YesNo" 
	p:promptText="Period direct cost is greater than the direct cost limit for this period. Do you want to reduce this line item cost to make the period direct cost the same as the period direct cost limit?"/>

</beans>
                    

{'fraction_non_alphanumeric': 0.13957733623534369, 'fraction_numerical': 0.0054295677408785605, 'mean_word_length': 4.932250451200889, 'pattern_counts': {'":': 0, '<': 529, '<?xml version=': 2, '>': 529, 'https://': 0, 'lorem ipsum': 0, 'www.': 12, 'xml': 8}, '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': '6208754', 'n_tokens_mistral': 15586, 'n_tokens_neox': 13571, 'n_words': 1918}