<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.21" id="1">
    <property name="createdBy">Eclipse BIRT Designer Version 2.6.1.v20100902 Build &lt;2.6.1.v20100915-1750></property>
    <property name="units">in</property>
    <method name="initialize"><![CDATA[
importPackage(Packages.java.math);
importPackage(Packages.java.sql);
importPackage(Packages.java.text);
importPackage(Packages.java.util);
importPackage(Packages.org.apache.ofbiz.base.util);
importPackage(Packages.org.apache.ofbiz.entity.condition);

module = "Burndown.rptdesign";

sprintId = params["sprintId"].value;
actualStartDate = params["actualStartDate"].value;
actualCompletionDate = params["actualCompletionDate"].value;
dayNumber = params["dayNumber"];
estimatedHrs = params["estimatedHrs"].value;
maxHours = params["maxHours"].value;
currentDay = -1;

userLogin = delegator.findOne("UserLogin",UtilMisc.toMap("userLoginId","admin"), false);
// caculate average diff hours
var holidayNumber = BigDecimal.ZERO;
var notHolidayNumber = BigDecimal.ZERO;
var countHoliday = 0;
while (countHoliday < dayNumber) {
    var conditionTimestampFrom = new Timestamp(actualStartDate.getTime() + (countHoliday*1000*60*60*24));
    // get public holiday
    var holidayConds = new ArrayList();
    holidayConds.add(EntityCondition.makeCondition("workEffortTypeId",EntityOperator.EQUALS, "PUBLIC_HOLIDAY"));
    holidayConds.add(EntityCondition.makeCondition("estimatedStartDate", EntityOperator.EQUALS, conditionTimestampFrom));
    var fieldsToSelect = UtilMisc.toSet("workEffortId","estimatedStartDate");
    var holidayList = delegator.findList("WorkEffort", EntityCondition.makeCondition(holidayConds), fieldsToSelect, null, null, false);
    // check holiday 
    var dayOfWeek = UtilDateTime.getDayOfWeek(conditionTimestampFrom, new java.util.SimpleTimeZone(reportContext.getTimeZone().getRawOffset(), reportContext.getTimeZone().getID()), reportContext.getLocale());
    var day = UtilDateTime.days[dayOfWeek - 2];
    if (!UtilValidate.isNotEmpty(holidayList) &amp;&amp; !"Saturday".equals(day) &amp;&amp; !"undefined".equals(day) /*Sunday*/) {
        notHolidayNumber = notHolidayNumber.add(BigDecimal.ONE);
    } else {
        holidayNumber = holidayNumber.add(BigDecimal.ONE);
    }
    countHoliday ++;
}
// get plan hours 
input =  new HashMap();
input.put("userLogin",userLogin);
input.put("sprintId",sprintId);
result = dispatcher.runSync("getScrumPlanHour", input);
var phs = result.get("initPlanHours");
maxHours = phs;
averageDiffHours = maxHours/notHolidayNumber;]]></method>
    <property name="iconFile">/templates/blank_report.gif</property>
    <property name="bidiLayoutOrientation">ltr</property>
    <property name="imageDPI">99</property>
    <parameters>
        <scalar-parameter name="actualStartDate" id="10">
            <property name="valueType">static</property>
            <property name="dataType">dateTime</property>
            <property name="distinct">true</property>
            <property name="paramType">simple</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Custom</property>
                <property name="pattern">yyyy-mm-dd hh:mm:ss</property>
            </structure>
        </scalar-parameter>
        <scalar-parameter name="actualCompletionDate" id="11">
            <property name="valueType">static</property>
            <property name="dataType">dateTime</property>
            <property name="distinct">true</property>
            <property name="paramType">simple</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Custom</property>
                <property name="pattern">yyyy-mm-dd hh:mm:ss</property>
            </structure>
        </scalar-parameter>
        <scalar-parameter name="estimatedHrs" id="12">
            <property name="valueType">static</property>
            <property name="dataType">integer</property>
            <property name="distinct">true</property>
            <property name="paramType">simple</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
        <scalar-parameter name="dayNumber" id="13">
            <property name="valueType">static</property>
            <property name="dataType">integer</property>
            <property name="distinct">true</property>
            <property name="paramType">simple</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
        <scalar-parameter name="sprintId" id="37">
            <property name="valueType">static</property>
            <property name="dataType">string</property>
            <property name="distinct">true</property>
            <property name="paramType">simple</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
        <scalar-parameter name="maxHours" id="114">
            <property name="valueType">static</property>
            <property name="dataType">decimal</property>
            <property name="distinct">true</property>
            <property name="paramType">simple</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
    </parameters>
    <data-sources>
        <script-data-source name="OFBiz" id="7"/>
    </data-sources>
    <data-sets>
        <script-data-set name="TimeEntries" id="8">
            <list-property name="resultSetHints">
                <structure>
                    <property name="position">1</property>
                    <property name="name">sprintDay</property>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">remainPlannedHours</property>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="position">3</property>
                    <property name="name">balanceActualHours</property>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="position">4</property>
                    <property name="name">dialyCompleteed</property>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="position">5</property>
                    <property name="name">averageHours</property>
                    <property name="dataType">decimal</property>
                </structure>
            </list-property>
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">sprintDay</property>
                    <text-property name="displayName">sprintDay</text-property>
                </structure>
                <structure>
                    <property name="columnName">remainPlannedHours</property>
                    <text-property name="displayName">remainPlannedHours</text-property>
                </structure>
                <structure>
                    <property name="columnName">balanceActualHours</property>
                    <text-property name="displayName">balanceActualHours</text-property>
                </structure>
                <structure>
                    <property name="columnName">dialyCompleteed</property>
                    <text-property name="displayName">dialyCompleteed</text-property>
                </structure>
                <structure>
                    <property name="columnName">averageHours</property>
                    <text-property name="displayName">averageHours</text-property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">sprintDay</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">remainPlannedHours</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">3</property>
                        <property name="name">balanceActualHours</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">4</property>
                        <property name="name">dialyCompleteed</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">5</property>
                        <property name="name">averageHours</property>
                        <property name="dataType">decimal</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">OFBiz</property>
            <method name="open"><![CDATA[// declare global variable
currentDay = -1;
dayCount = 0;
sumPlannedHours = BigDecimal.ZERO;
sumActualHours = BigDecimal.ZERO;

// calculate main total plan hours
previousAverageHours = BigDecimal.valueOf(maxHours);
previousActualHours = BigDecimal.ZERO;
previousRemainPlannedHours = BigDecimal.valueOf(maxHours);
remainPlannedHours = BigDecimal.valueOf(maxHours);
remainActualHours = BigDecimal.ZERO;

averageHours = previousAverageHours;

holidays = new ArrayList();
reportContext.getAppContext().put("holidays", holidays);
]]></method>
            <method name="fetch"><![CDATA[if (dayCount >= dayNumber || currentDay >= 0) return false;

var sprintDay = dayCount + 1;
var actualStartDay = UtilDateTime.getDayStart(new Timestamp(actualStartDate.getTime()), new java.util.SimpleTimeZone(reportContext.getTimeZone().getRawOffset(), reportContext.getTimeZone().getID()), reportContext.getLocale());
var conditionTimestampFrom = new Timestamp(actualStartDay.getTime() + (dayCount*1000*60*60*24));
var conditionTimestampTo = new Timestamp(actualStartDay.getTime() + (dayCount*1000*60*60*24) + (1000*60*60*24) - 1);

// check current day
var nowTimestamp = UtilDateTime.nowTimestamp();
if (nowTimestamp.getTime() >= conditionTimestampFrom.getTime() &amp;&amp; nowTimestamp.getTime() <= conditionTimestampTo.getTime()) {
    reportContext.getAppContext().put("sprintDayLabel", sprintDay + "");
}

// get public holiday
var holidayConds = new ArrayList();
holidayConds.add(EntityCondition.makeCondition("workEffortTypeId",EntityOperator.EQUALS, "PUBLIC_HOLIDAY"));
holidayConds.add(EntityCondition.makeCondition("estimatedStartDate", EntityOperator.EQUALS, conditionTimestampFrom));
var fieldsToSelect = UtilMisc.toSet("workEffortId","estimatedStartDate");
var holidayList = delegator.findList("WorkEffort", EntityCondition.makeCondition(holidayConds), fieldsToSelect, null, null, false);

// check holiday
var isHoliday = false;
var dayOfWeek = UtilDateTime.getDayOfWeek(conditionTimestampFrom, new java.util.SimpleTimeZone(reportContext.getTimeZone().getRawOffset(), reportContext.getTimeZone().getID()), reportContext.getLocale());
var day = UtilDateTime.days[dayOfWeek - 2];
if (UtilValidate.isNotEmpty(holidayList) || "Saturday".equals(day) || "undefined".equals(day) /*Sunday*/) {
    isHoliday = true;
}
if (isHoliday) {
    holidays.add(sprintDay + "");
    reportContext.getAppContext().put("holidays", holidays);
}
input =  new HashMap();
var plannedHours = BigDecimal.ZERO;
var actualHours = BigDecimal.ZERO;

// get times from all backlog item's tasks
var sprint = delegator.findOne("WorkEffort", UtilMisc.toMap("workEffortId", sprintId), false);
var backlogItems = sprint.getRelated("CustRequestWorkEffort", null, null, false);
for (i=0; i<backlogItems.size(); i++) {
    // get all task from backlog item
    var backlogItem = backlogItems.get(i);
    var custRequestId = backlogItem.get("custRequestId");
    var conds = new ArrayList();
    conds.add(EntityCondition.makeCondition("custRequestId", custRequestId));
    conds.add(EntityCondition.makeCondition("workEffortTypeId", EntityOperator.NOT_EQUAL, "SCRUM_SPRINT"));
    var tasks = delegator.findList("CustRequestAndWorkEffort", EntityCondition.makeCondition(conds), null, null, null, false);
    for (j=0; j<tasks.size(); j++) {
        var task = tasks.get(j);
        // get plan hours by taskId
        var workEffortId = task.get("workEffortId");
        input.put("userLogin",userLogin);
        input.put("taskId",workEffortId);
        result = dispatcher.runSync("getScrumPlanHour", input);
        var phs = result.get("planHours");
        if (phs != null) {
            plannedHours = plannedHours.add(BigDecimal.valueOf(phs));
        } else {
            var estimatedMilliSeconds = task.get("estimatedMilliSeconds");
            if (estimatedMilliSeconds != null) {
                var phs = BigDecimal.valueOf(estimatedMilliSeconds/1000/60/60);
                plannedHours = plannedHours.add(phs);
            }
        }
        // get all time entries from task
        var timeEntryConds = new ArrayList();
        timeEntryConds.add(EntityCondition.makeCondition("workEffortId", workEffortId));
        timeEntryConds.add(EntityCondition.makeCondition("fromDate", EntityOperator.GREATER_THAN_EQUAL_TO, conditionTimestampFrom));
        timeEntryConds.add(EntityCondition.makeCondition("fromDate", EntityOperator.LESS_THAN_EQUAL_TO, conditionTimestampTo));
        var timeEntries = delegator.findList("TimeEntry", EntityCondition.makeCondition(timeEntryConds), null, null, null, false);
        if (timeEntries.size() > 0) {
            // get actual hours from task
            for (k=0; k<timeEntries.size(); k++) {
                var timeEntry = timeEntries.get(k);
                var ahs = timeEntry.get("hours");
                if (ahs != null) {
                    actualHours = actualHours.add(BigDecimal.valueOf(ahs));
                }
            }
        }
    }
}

sumPlannedHours = sumPlannedHours.add(plannedHours);
sumActualHours = sumActualHours.add(actualHours);
var isPlannedOver = false;
if (previousRemainPlannedHours.compareTo(plannedHours) < 0) {
    isPlannedOver = true;
}

var dialyCompleted = BigDecimal.ZERO;

// calculate balance actual hours
var balanceActualHours = maxHours - sumActualHours;

// calculate remain plan hours
if (!isHoliday) {
    remainPlannedHours = BigDecimal.valueOf(maxHours).subtract(sumActualHours);
    previousRemainPlannedHours = remainPlannedHours;
    dialyCompleted = actualHours;
}

// calculate average hours
if (!isHoliday) {
    averageHours = previousAverageHours.subtract(BigDecimal.valueOf(averageDiffHours));
    previousAverageHours = averageHours;
} else {
    averageHours = previousAverageHours;
}

row["sprintDay"] = sprintDay;
row["balanceActualHours"] = balanceActualHours;
row["dialyCompleteed"] = dialyCompleted;
row["remainPlannedHours"] = remainPlannedHours;
row["averageHours"] = averageHours;

previousActualHours = BigDecimal.valueOf(balanceActualHours);
dayCount ++;

return true;]]></method>
        </script-data-set>
    </data-sets>
    <styles>
        <style name="report" id="4">
            <property name="fontFamily">sans-serif</property>
            <property name="fontSize">10pt</property>
        </style>
        <style name="crosstab-cell" id="5">
            <property name="borderBottomColor">#CCCCCC</property>
            <property name="borderBottomStyle">solid</property>
            <property name="borderBottomWidth">1pt</property>
            <property name="borderLeftColor">#CCCCCC</property>
            <property name="borderLeftStyle">solid</property>
            <property name="borderLeftWidth">1pt</property>
            <property name="borderRightColor">#CCCCCC</property>
            <property name="borderRightStyle">solid</property>
            <property name="borderRightWidth">1pt</property>
            <property name="borderTopColor">#CCCCCC</property>
            <property name="borderTopStyle">solid</property>
            <property name="borderTopWidth">1pt</property>
        </style>
        <style name="crosstab" id="6">
            <property name="borderBottomColor">#CCCCCC</property>
            <property name="borderBottomStyle">solid</property>
            <property name="borderBottomWidth">1pt</property>
            <property name="borderLeftColor">#CCCCCC</property>
            <property name="borderLeftStyle">solid</property>
            <property name="borderLeftWidth">1pt</property>
            <property name="borderRightColor">#CCCCCC</property>
            <property name="borderRightStyle">solid</property>
            <property name="borderRightWidth">1pt</property>
            <property name="borderTopColor">#CCCCCC</property>
            <property name="borderTopStyle">solid</property>
            <property name="borderTopWidth">1pt</property>
        </style>
    </styles>
    <page-setup>
        <simple-master-page name="Simple MasterPage" id="2">
            <property name="type">us-letter</property>
            <property name="orientation">auto</property>
            <property name="topMargin">0.25in</property>
            <property name="leftMargin">0.25in</property>
            <property name="rightMargin">0.25in</property>
        </simple-master-page>
    </page-setup>
    <body>
        <extended-item extensionName="Chart" id="113">
            <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:data="http://www.birt.eclipse.org/ChartModelData" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.5.1</Version>
  <Type>Line Chart</Type>
  <SubType>Overlay</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Burndown Chart</Value>
          <Font>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Series</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
      <ShowValue>false</ShowValue>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>540.0</Width>
      <Height>201.6</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>
/**
 * Called before rendering each label on a given Axis.
 * 
 * @param axis
 *            Axis
 * @param label
 *            Label
 * @param icsc
 *            IChartScriptContext
 */

function beforeDrawAxisLabel( axis, label, icsc )
{
    var font = label.getCaption().getFont();
    var appContext = icsc.getExternalContext().getScriptable().getAppContext();
    
    // check label conditions
    var holidays = appContext.get(&quot;holidays&quot;);
    var sprintDayLabel = appContext.get(&quot;sprintDayLabel&quot;);
    
    if (axis.getOrientation() == org.eclipse.birt.chart.model.attribute .Orientation.HORIZONTAL_LITERAL) {
        var isHoliday = false;
        var isCurrentDay = false;
        
        // check holiday label
        if (holidays.contains(label.getCaption().getValue())) {
            // set bold font and red color
            label.getCaption().getColor().set(255, 0, 0);
            font.setBold(true);
            isHoliday = true;
        }
        
        // check current day label
        if (label.getCaption().getValue().equals(sprintDayLabel)) {
            // set bold font and green color
            label.getCaption().getColor().set(5, 162, 43);
            font.setBold(true);
            isCurrentDay = true;
        }
        
        // if it is not holiday and current day then set to normal style;
        if (!isHoliday &amp;&amp; !isCurrentDay) {
            label.getCaption().getColor().set(0, 0, 0);
            font.setBold(false);
        }
    } else {
        label.getCaption().getColor().set(0, 0, 0);
        font.setBold(false);
    }
}
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>42,91,62,9,21</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>83,03,04,41,81</DataSetRepresentation>
      <SeriesDefinitionIndex>1</SeriesDefinitionIndex>
    </OrthogonalSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>25,14,45,91,42</DataSetRepresentation>
      <SeriesDefinitionIndex>2</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity>
    <LegendBehavior>None</LegendBehavior>
  </Interactivity>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>false</Visible>
  </EmptyMessage>
  <Axes>
    <Type>Linear</Type>
    <Title>
      <Caption>
        <Value>Sprint Day</Value>
        <Font>
          <Size>9.0</Size>
          <Bold>true</Bold>
          <Alignment>
            <horizontalAlignment>Center</horizontalAlignment>
            <verticalAlignment>Center</verticalAlignment>
          </Alignment>
        </Font>
      </Caption>
      <Background xsi:type="attribute:ColorDefinition">
        <Transparency>0</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Background>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
      </Outline>
      <Insets>
        <Top>0.0</Top>
        <Left>2.0</Left>
        <Bottom>0.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Visible>true</Visible>
    </Title>
    <TitlePosition>Below</TitlePosition>
    <AssociatedAxes>
      <Type>Linear</Type>
      <Title>
        <Caption>
          <Value>Man Hours</Value>
          <Font>
            <Size>9.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
            <Rotation>90.0</Rotation>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>10.0</Left>
          <Bottom>0.0</Bottom>
          <Right>10.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Title>
      <TitlePosition>Left</TitlePosition>
      <SeriesDefinitions ZOrder="2">
        <Query>
          <Definition></Definition>
        </Query>
        <SeriesPalette>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>240</Red>
            <Green>86</Green>
            <Blue>86</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>232</Red>
            <Green>172</Green>
            <Blue>57</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>255</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>242</Red>
            <Green>88</Green>
            <Blue>106</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>170</Red>
            <Green>85</Green>
            <Blue>85</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>64</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>192</Red>
            <Green>192</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>192</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>7</Red>
            <Green>146</Green>
            <Blue>94</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>128</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>0</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>64</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>80</Red>
            <Green>240</Green>
            <Blue>120</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>64</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>0</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>0</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>64</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>0</Blue>
          </Entries>
        </SeriesPalette>
        <Series xsi:type="type:LineSeries">
          <Visible>true</Visible>
          <Label>
            <Caption>
              <Value></Value>
              <Font>
                <Alignment/>
              </Font>
            </Caption>
            <Background xsi:type="attribute:ColorDefinition">
              <Transparency>0</Transparency>
              <Red>255</Red>
              <Green>255</Green>
              <Blue>255</Blue>
            </Background>
            <Outline>
              <Style>Solid</Style>
              <Thickness>1</Thickness>
              <Color>
                <Transparency>255</Transparency>
                <Red>0</Red>
                <Green>0</Green>
                <Blue>0</Blue>
              </Color>
              <Visible>false</Visible>
            </Outline>
            <Insets>
              <Top>0.0</Top>
              <Left>2.0</Left>
              <Bottom>0.0</Bottom>
              <Right>3.0</Right>
            </Insets>
            <Visible>false</Visible>
          </Label>
          <DataDefinition>
            <Definition>row[&quot;remainPlannedHours&quot;]</Definition>
            <Grouping>
              <Enabled>false</Enabled>
              <GroupType>Text</GroupType>
              <AggregateExpression>Sum</AggregateExpression>
            </Grouping>
          </DataDefinition>
          <SeriesIdentifier>Actual Remaining Hours </SeriesIdentifier>
          <DataPoint>
            <Components>
              <Type>Orthogonal_Value</Type>
            </Components>
            <Separator>, </Separator>
          </DataPoint>
          <LabelPosition>Above</LabelPosition>
          <Stacked>false</Stacked>
          <Triggers>
            <Condition>onmouseover</Condition>
            <Action>
              <Type>Show_Tooltip</Type>
              <Value xsi:type="attribute:TooltipValue">
                <Text>row[&quot;remainPlannedHours&quot;]</Text>
                <Delay>200</Delay>
              </Value>
            </Action>
          </Triggers>
          <Translucent>false</Translucent>
          <Markers>
            <Type>Box</Type>
            <Size>4</Size>
            <Visible>true</Visible>
            <Outline>
              <Visible>true</Visible>
            </Outline>
          </Markers>
          <LineAttributes>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>true</Visible>
          </LineAttributes>
          <PaletteLineColor>true</PaletteLineColor>
        </Series>
        <Grouping>
          <GroupType>Text</GroupType>
          <AggregateExpression>Sum</AggregateExpression>
        </Grouping>
      </SeriesDefinitions>
      <SeriesDefinitions ZOrder="1">
        <Query>
          <Definition></Definition>
        </Query>
        <SeriesPalette>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>232</Red>
            <Green>172</Green>
            <Blue>57</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>255</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>242</Red>
            <Green>88</Green>
            <Blue>106</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>170</Red>
            <Green>85</Green>
            <Blue>85</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>64</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>192</Red>
            <Green>192</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>192</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>7</Red>
            <Green>146</Green>
            <Blue>94</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>128</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>0</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>64</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>80</Red>
            <Green>240</Green>
            <Blue>120</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>64</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>0</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>0</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>64</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>240</Red>
            <Green>86</Green>
            <Blue>86</Blue>
          </Entries>
        </SeriesPalette>
        <Series xsi:type="type:LineSeries">
          <Visible>true</Visible>
          <Label>
            <Caption>
              <Value></Value>
              <Font>
                <Alignment/>
              </Font>
            </Caption>
            <Background xsi:type="attribute:ColorDefinition">
              <Transparency>0</Transparency>
              <Red>255</Red>
              <Green>255</Green>
              <Blue>255</Blue>
            </Background>
            <Outline>
              <Style>Solid</Style>
              <Thickness>1</Thickness>
              <Color>
                <Transparency>255</Transparency>
                <Red>0</Red>
                <Green>0</Green>
                <Blue>0</Blue>
              </Color>
              <Visible>false</Visible>
            </Outline>
            <Insets>
              <Top>0.0</Top>
              <Left>2.0</Left>
              <Bottom>0.0</Bottom>
              <Right>3.0</Right>
            </Insets>
            <Visible>false</Visible>
          </Label>
          <DataDefinition>
            <Definition>row[&quot;averageHours&quot;].toPrecision(2)</Definition>
            <Grouping>
              <Enabled>false</Enabled>
              <GroupType>Text</GroupType>
              <AggregateExpression>Sum</AggregateExpression>
            </Grouping>
          </DataDefinition>
          <SeriesIdentifier>Ideal Remaining Hours</SeriesIdentifier>
          <DataPoint>
            <Components>
              <Type>Orthogonal_Value</Type>
            </Components>
            <Separator>, </Separator>
          </DataPoint>
          <LabelPosition>Above</LabelPosition>
          <Stacked>false</Stacked>
          <Triggers>
            <Condition>onmouseover</Condition>
            <Action>
              <Type>Show_Tooltip</Type>
              <Value xsi:type="attribute:TooltipValue">
                <Text>row[&quot;dialyCompleteed&quot;]</Text>
                <Delay>200</Delay>
              </Value>
            </Action>
          </Triggers>
          <Translucent>false</Translucent>
          <Markers>
            <Type>Box</Type>
            <Size>4</Size>
            <Visible>true</Visible>
            <Outline>
              <Visible>true</Visible>
            </Outline>
          </Markers>
          <LineAttributes>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>true</Visible>
          </LineAttributes>
          <PaletteLineColor>true</PaletteLineColor>
        </Series>
        <Grouping>
          <GroupType>Text</GroupType>
          <AggregateExpression>Sum</AggregateExpression>
        </Grouping>
      </SeriesDefinitions>
      <SeriesDefinitions>
        <Query>
          <Definition></Definition>
        </Query>
        <SeriesPalette>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>255</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>242</Red>
            <Green>88</Green>
            <Blue>106</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>170</Red>
            <Green>85</Green>
            <Blue>85</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>64</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>192</Red>
            <Green>192</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>192</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>7</Red>
            <Green>146</Green>
            <Blue>94</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>128</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>0</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>64</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>80</Red>
            <Green>240</Green>
            <Blue>120</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>64</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>0</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>0</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>64</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>240</Red>
            <Green>86</Green>
            <Blue>86</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>232</Red>
            <Green>172</Green>
            <Blue>57</Blue>
          </Entries>
        </SeriesPalette>
        <Series xsi:type="type:BarSeries">
          <Visible>true</Visible>
          <Label>
            <Caption>
              <Value></Value>
              <Font>
                <Alignment/>
              </Font>
            </Caption>
            <Background xsi:type="attribute:ColorDefinition">
              <Transparency>0</Transparency>
              <Red>255</Red>
              <Green>255</Green>
              <Blue>255</Blue>
            </Background>
            <Outline>
              <Style>Solid</Style>
              <Thickness>1</Thickness>
              <Color>
                <Transparency>255</Transparency>
                <Red>0</Red>
                <Green>0</Green>
                <Blue>0</Blue>
              </Color>
              <Visible>false</Visible>
            </Outline>
            <Insets>
              <Top>0.0</Top>
              <Left>2.0</Left>
              <Bottom>0.0</Bottom>
              <Right>3.0</Right>
            </Insets>
            <Visible>false</Visible>
          </Label>
          <DataDefinition>
            <Definition>row[&quot;dialyCompleteed&quot;]</Definition>
            <Grouping>
              <Enabled>false</Enabled>
              <GroupType>Text</GroupType>
              <AggregateExpression>Sum</AggregateExpression>
            </Grouping>
          </DataDefinition>
          <SeriesIdentifier>Daily Actual Hours</SeriesIdentifier>
          <DataPoint>
            <Components>
              <Type>Orthogonal_Value</Type>
            </Components>
            <Separator>, </Separator>
          </DataPoint>
          <LabelPosition>Outside</LabelPosition>
          <Stacked>false</Stacked>
          <Triggers>
            <Condition>onmouseover</Condition>
            <Action>
              <Type>Show_Tooltip</Type>
              <Value xsi:type="attribute:TooltipValue">
                <Text>row[&quot;balanceActualHours&quot;]</Text>
                <Delay>200</Delay>
              </Value>
            </Action>
          </Triggers>
          <Translucent>false</Translucent>
          <Riser>Rectangle</Riser>
        </Series>
        <Grouping>
          <GroupType>Text</GroupType>
          <AggregateExpression>Sum</AggregateExpression>
        </Grouping>
      </SeriesDefinitions>
      <Orientation>Vertical</Orientation>
      <LineAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Visible>true</Visible>
      </LineAttributes>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Size>9.0</Size>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
      <LabelPosition>Left</LabelPosition>
      <Staggered>true</Staggered>
      <MajorGrid>
        <LineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>196</Red>
            <Green>196</Green>
            <Blue>196</Blue>
          </Color>
          <Visible>false</Visible>
        </LineAttributes>
        <TickStyle>Across</TickStyle>
        <TickAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>196</Red>
            <Green>196</Green>
            <Blue>196</Blue>
          </Color>
          <Visible>true</Visible>
        </TickAttributes>
      </MajorGrid>
      <MinorGrid>
        <LineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>225</Red>
            <Green>225</Green>
            <Blue>225</Blue>
          </Color>
          <Visible>false</Visible>
        </LineAttributes>
        <TickStyle>Across</TickStyle>
        <TickAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>225</Red>
            <Green>225</Green>
            <Blue>225</Blue>
          </Color>
          <Visible>false</Visible>
        </TickAttributes>
      </MinorGrid>
      <Scale>
        <MinorGridsPerUnit>5</MinorGridsPerUnit>
      </Scale>
      <Origin>
        <Type>Min</Type>
        <Value xsi:type="data:NumberDataElement">
          <Value>-5.0</Value>
        </Value>
      </Origin>
      <PrimaryAxis>true</PrimaryAxis>
      <Percent>false</Percent>
    </AssociatedAxes>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>240</Red>
          <Green>86</Green>
          <Blue>86</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>232</Red>
          <Green>172</Green>
          <Blue>57</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>64</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series>
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>false</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;sprintDay&quot;]</Definition>
        </DataDefinition>
        <SeriesIdentifier></SeriesIdentifier>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
      </Series>
      <Grouping>
        <Enabled>true</Enabled>
        <GroupType>Numeric</GroupType>
        <AggregateExpression>Sum</AggregateExpression>
      </Grouping>
    </SeriesDefinitions>
    <Orientation>Horizontal</Orientation>
    <LineAttributes>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Visible>true</Visible>
    </LineAttributes>
    <Label>
      <Caption>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Caption>
      <Background xsi:type="attribute:ColorDefinition">
        <Transparency>0</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Background>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
      </Outline>
      <Insets>
        <Top>0.0</Top>
        <Left>2.0</Left>
        <Bottom>0.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Visible>true</Visible>
    </Label>
    <LabelPosition>Below</LabelPosition>
    <MajorGrid>
      <LineAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>196</Red>
          <Green>196</Green>
          <Blue>196</Blue>
        </Color>
        <Visible>false</Visible>
      </LineAttributes>
      <TickStyle>Across</TickStyle>
      <TickAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>196</Red>
          <Green>196</Green>
          <Blue>196</Blue>
        </Color>
        <Visible>true</Visible>
      </TickAttributes>
    </MajorGrid>
    <MinorGrid>
      <LineAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>225</Red>
          <Green>225</Green>
          <Blue>225</Blue>
        </Color>
        <Visible>false</Visible>
      </LineAttributes>
      <TickStyle>Across</TickStyle>
      <TickAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>225</Red>
          <Green>225</Green>
          <Blue>225</Blue>
        </Color>
        <Visible>false</Visible>
      </TickAttributes>
    </MinorGrid>
    <Scale>
      <MinorGridsPerUnit>5</MinorGridsPerUnit>
    </Scale>
    <Origin>
      <Type>Min</Type>
      <Value xsi:type="data:NumberDataElement">
        <Value>0.0</Value>
      </Value>
    </Origin>
    <PrimaryAxis>true</PrimaryAxis>
    <CategoryAxis>true</CategoryAxis>
    <Percent>false</Percent>
  </Axes>
  <Orientation>Vertical</Orientation>
  <UnitSpacing>50.0</UnitSpacing>
  <Rotation/>
</model:ChartWithAxes>
]]></xml-property>
            <property name="outputFormat">SVG</property>
            <property name="inheritColumns">true</property>
            <property name="dataSet">TimeEntries</property>
            <property name="height">2.8in</property>
            <property name="width">7.5in</property>
            <list-property name="boundDataColumns">
                <structure>
                    <property name="name">sprintDay</property>
                    <expression name="expression" type="javascript">dataSetRow["sprintDay"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">remainPlannedHours</property>
                    <expression name="expression" type="javascript">dataSetRow["remainPlannedHours"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">balanceActualHours</property>
                    <expression name="expression" type="javascript">dataSetRow["balanceActualHours"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">dialyCompleteed</property>
                    <expression name="expression" type="javascript">dataSetRow["dialyCompleteed"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">averageHours</property>
                    <expression name="expression" type="javascript">dataSetRow["averageHours"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
            </list-property>
        </extended-item>
    </body>
</report>
