<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://xbrl.sec.gov/rr/2010-02-28" elementFormDefault="qualified" xmlns:rr="http://xbrl.sec.gov/rr/2010-02-28" 
  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:us-types="http://xbrl.us/us-types/2009-01-31" xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
  xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <xs:annotation>
    <xs:appinfo>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/RiskReturn" id="RiskReturn">
        <link:definition>010000 - Document - Risk/Return Summary {Unlabeled}</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/ShareholderFeesData" id="ShareholderFeesData">
        <link:definition>020010 - Schedule - Shareholder Fees</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/OperatingExpensesData" id="OperatingExpensesData">
        <link:definition>020020 - Schedule - Annual Fund Operating Expenses</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/ExpenseExample" id="ExpenseExample">
        <link:definition>020030 - Schedule - Expense Example {Transposed}</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/ExpenseExampleNoRedemption" id="ExpenseExampleNoRedemption">
        <link:definition>020040 - Schedule - Expense Example, No Redemption {Transposed}</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/BarChartData" id="BarChartData">
        <link:definition>020050 - Schedule - Annual Total Returns</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/PerformanceTableData" id="PerformanceTableData">
        <link:definition>020060 - Schedule - Average Annual Total Returns {Transposed}</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/MarketIndexPerformanceData" id="MarketIndexPerformanceData">
        <link:definition>020070 - Schedule - Market Index Performance {Transposed}</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/RiskReturnDetail" id="RiskReturnDetail">
        <link:definition>030000 - Document - Risk/Return Detail {Unlabeled}</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/RiskReturnDetailData" id="RiskReturnDetailData">
        <link:definition>040000 - Disclosure - Risk/Return Detail Data {Elements}</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/Prospectus" id="ProspectusOnly">
        <link:definition>050000 - Document - Prospectus</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/Series" id="SeriesOnly">
        <link:definition>050010 - Document - Series</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/Class" id="ClassOnly">
        <link:definition>050020 - Document - Class</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/PerformanceMeasure" id="PerformanceMeasureOnly">
        <link:definition>050030 - Document - Performance Measure</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://xbrl.sec.gov/rr/role/Defaults" id="Defaults">
        <link:definition>060000 - Document - Defaults</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xs:import namespace="http://xbrl.org/2006/xbrldi" schemaLocation="http://www.xbrl.org/2006/xbrldi-2006.xsd"/>
  <xs:import namespace="http://xbrl.us/us-types/2009-01-31"
    schemaLocation="http://taxonomies.xbrl.us/us-gaap/2009/elts/us-types-2009-01-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2006/ref" schemaLocation="http://www.xbrl.org/2006/ref-2006-02-27.xsd"/>
  <xs:element name="ExpenseExampleNoRedemptionAbstract" id="rr_ExpenseExampleNoRedemptionAbstract" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ShareholderFeesTableTextBlock" id="rr_ShareholderFeesTableTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AnnualFundOperatingExpensesTableTextBlock" id="rr_AnnualFundOperatingExpensesTableTextBlock"
    type="us-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleWithRedemptionTableTextBlock" id="rr_ExpenseExampleWithRedemptionTableTextBlock"
    type="us-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartTableTextBlock" id="rr_BarChartTableTextBlock" type="us-types:textBlockItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableTextBlock" id="rr_PerformanceTableTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleNoRedemptionNarrativeTextBlock" id="rr_ExpenseExampleNoRedemptionNarrativeTextBlock"
    type="us-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MarketIndexPerformanceTableTextBlock" id="rr_MarketIndexPerformanceTableTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleNoRedemptionTableTextBlock" id="rr_ExpenseExampleNoRedemptionTableTextBlock"
    type="us-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="RiskReturnDetailTableTextBlock" id="rr_RiskReturnDetailTableTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceMeasureAxis" id="rr_PerformanceMeasureAxis" type="xbrli:stringItemType"
    substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceMeasureDomain" id="rr_PerformanceMeasureDomain" type="us-types:domainItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AfterTaxesOnDistributionsMember" id="rr_AfterTaxesOnDistributionsMember" type="us-types:domainItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AfterTaxesOnDistributionsAndSalesMember" id="rr_AfterTaxesOnDistributionsAndSalesMember" type="us-types:domainItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="RiskReturnHeading" id="rr_RiskReturnHeading" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="ObjectiveSectionAbstract" id="rr_ObjectiveSectionAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ObjectiveHeading" id="rr_ObjectiveHeading" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="ObjectivePrimaryTextBlock" id="rr_ObjectivePrimaryTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ObjectiveSecondaryTextBlock" id="rr_ObjectiveSecondaryTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="StrategySectionAbstract" id="rr_StrategySectionAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="StrategyHeading" id="rr_StrategyHeading" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="StrategyNarrativeTextBlock" id="rr_StrategyNarrativeTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="StrategyPortfolioConcentration" id="rr_StrategyPortfolioConcentration" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartAndPerformanceTableHeading" id="rr_BarChartAndPerformanceTableHeading" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceNarrativeTextBlock" id="rr_PerformanceNarrativeTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformancePastDoesNotIndicateFuture" id="rr_PerformancePastDoesNotIndicateFuture" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceInformationIllustratesVariabilityOfReturns" id="rr_PerformanceInformationIllustratesVariabilityOfReturns"
    type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceOneYearOrLess" id="rr_PerformanceOneYearOrLess" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceAdditionalMarketIndex" id="rr_PerformanceAdditionalMarketIndex" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartHeading" id="rr_BarChartHeading" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="BarChartNarrativeTextBlock" id="rr_BarChartNarrativeTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartDoesNotReflectSalesLoads" id="rr_BarChartDoesNotReflectSalesLoads" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartReturnsForClassNotOfferedInProspectus" id="rr_BarChartReturnsForClassNotOfferedInProspectus"
    type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartReasonSelectedClassDifferentFromImmediatelyPrecedingPeriod"
    id="rr_BarChartReasonSelectedClassDifferentFromImmediatelyPrecedingPeriod" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AnnualReturnCaption" id="rr_AnnualReturnCaption" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AnnualReturnColumnName" id="rr_AnnualReturnColumnName" type="us-types:textBlockItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AnnualReturnInceptionDate" id="rr_AnnualReturnInceptionDate" type="xbrli:dateItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn1990" id="rr_AnnualReturn1990" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn1991" id="rr_AnnualReturn1991" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn1992" id="rr_AnnualReturn1992" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn1993" id="rr_AnnualReturn1993" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn1994" id="rr_AnnualReturn1994" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn1995" id="rr_AnnualReturn1995" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn1996" id="rr_AnnualReturn1996" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn1997" id="rr_AnnualReturn1997" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn1998" id="rr_AnnualReturn1998" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn1999" id="rr_AnnualReturn1999" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2000" id="rr_AnnualReturn2000" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2001" id="rr_AnnualReturn2001" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2002" id="rr_AnnualReturn2002" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2003" id="rr_AnnualReturn2003" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2004" id="rr_AnnualReturn2004" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2005" id="rr_AnnualReturn2005" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2006" id="rr_AnnualReturn2006" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2007" id="rr_AnnualReturn2007" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2008" id="rr_AnnualReturn2008" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2009" id="rr_AnnualReturn2009" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2010" id="rr_AnnualReturn2010" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2011" id="rr_AnnualReturn2011" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2012" id="rr_AnnualReturn2012" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="YearToDateReturnLabel" id="rr_YearToDateReturnLabel" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartYearToDateReturn" id="rr_BarChartYearToDateReturn" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartYearToDateReturnDate" id="rr_BarChartYearToDateReturnDate" type="xbrli:dateItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="HighestQuarterlyReturnLabel" id="rr_HighestQuarterlyReturnLabel" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartHighestQuarterlyReturn" id="rr_BarChartHighestQuarterlyReturn" type="xbrli:pureItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartHighestQuarterlyReturnDate" id="rr_BarChartHighestQuarterlyReturnDate" type="xbrli:dateItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="LowestQuarterlyReturnLabel" id="rr_LowestQuarterlyReturnLabel" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartLowestQuarterlyReturn" id="rr_BarChartLowestQuarterlyReturn" type="xbrli:pureItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartLowestQuarterlyReturnDate" id="rr_BarChartLowestQuarterlyReturnDate" type="xbrli:dateItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartClosingTextBlock" id="rr_BarChartClosingTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableHeading" id="rr_PerformanceTableHeading" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableNarrativeTextBlock" id="rr_PerformanceTableNarrativeTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableDoesReflectSalesLoads" id="rr_PerformanceTableDoesReflectSalesLoads" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableMarketIndexChanged" id="rr_PerformanceTableMarketIndexChanged" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableUsesHighestFederalRate" id="rr_PerformanceTableUsesHighestFederalRate" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableNotRelevantToTaxDeferred" id="rr_PerformanceTableNotRelevantToTaxDeferred" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableExplanationAfterTaxHigher" id="rr_PerformanceTableExplanationAfterTaxHigher" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnCaption" id="rr_AverageAnnualReturnCaption" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnColumnName" id="rr_AverageAnnualReturnColumnName" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnLabel" id="rr_AverageAnnualReturnLabel" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnYear01" id="rr_AverageAnnualReturnYear01" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnYear05" id="rr_AverageAnnualReturnYear05" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnYear10" id="rr_AverageAnnualReturnYear10" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnSinceInception" id="rr_AverageAnnualReturnSinceInception" type="xbrli:pureItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnInceptionDate" id="rr_AverageAnnualReturnInceptionDate" type="xbrli:dateItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsLabel" id="rr_AverageAnnualReturnAfterTaxesOnDistributionsLabel"
    type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsYear01" id="rr_AverageAnnualReturnAfterTaxesOnDistributionsYear01"
    type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsYear05" id="rr_AverageAnnualReturnAfterTaxesOnDistributionsYear05"
    type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsYear10" id="rr_AverageAnnualReturnAfterTaxesOnDistributionsYear10"
    type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsSinceInception"
    id="rr_AverageAnnualReturnAfterTaxesOnDistributionsSinceInception" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsInceptionDate"
    id="rr_AverageAnnualReturnAfterTaxesOnDistributionsInceptionDate" type="xbrli:dateItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsAndSalesLabel"
    id="rr_AverageAnnualReturnAfterTaxesOnDistributionsAndSalesLabel" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsAndSalesYear01"
    id="rr_AverageAnnualReturnAfterTaxesOnDistributionsAndSalesYear01" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsAndSalesYear05"
    id="rr_AverageAnnualReturnAfterTaxesOnDistributionsAndSalesYear05" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsAndSalesYear10"
    id="rr_AverageAnnualReturnAfterTaxesOnDistributionsAndSalesYear10" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsAndSalesSinceInception"
    id="rr_AverageAnnualReturnAfterTaxesOnDistributionsAndSalesSinceInception" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsAndSalesInceptionDate"
    id="rr_AverageAnnualReturnAfterTaxesOnDistributionsAndSalesInceptionDate" type="xbrli:dateItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MoneyMarketSevenDayYieldCaption" id="rr_MoneyMarketSevenDayYieldCaption" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MoneyMarketSevenDayYieldColumnName" id="rr_MoneyMarketSevenDayYieldColumnName" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MoneyMarketSevenDayYieldPhone" id="rr_MoneyMarketSevenDayYieldPhone" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MoneyMarketSevenDayYield" id="rr_MoneyMarketSevenDayYield" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MoneyMarketSevenDayTaxEquivalentYield" id="rr_MoneyMarketSevenDayTaxEquivalentYield" type="xbrli:pureItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ThirtyDayYieldCaption" id="rr_ThirtyDayYieldCaption" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ThirtyDayYieldColumnName" id="rr_ThirtyDayYieldColumnName" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ThirtyDayYieldPhone" id="rr_ThirtyDayYieldPhone" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ThirtyDayYield" id="rr_ThirtyDayYield" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="ThirtyDayTaxEquivalentYield" id="rr_ThirtyDayTaxEquivalentYield" type="xbrli:pureItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MarketIndexReturnLabel" id="rr_MarketIndexReturnLabel" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MarketIndexReturnYear01" id="rr_MarketIndexReturnYear01" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MarketIndexReturnYear05" id="rr_MarketIndexReturnYear05" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MarketIndexReturnYear10" id="rr_MarketIndexReturnYear10" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MarketIndexReturnSinceInception" id="rr_MarketIndexReturnSinceInception" type="xbrli:pureItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MarketIndexReturnInceptionDate" id="rr_MarketIndexReturnInceptionDate" type="xbrli:dateItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableFootnotesTextBlock" id="rr_PerformanceTableFootnotesTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableClosingTextBlock" id="rr_PerformanceTableClosingTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="RiskSectionAbstract" id="rr_RiskSectionAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="RiskHeading" id="rr_RiskHeading" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="RiskNarrativeTextBlock" id="rr_RiskNarrativeTextBlock" type="us-types:textBlockItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="RiskNondiversifiedStatus" id="rr_RiskNondiversifiedStatus" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="RiskLoseMoney" id="rr_RiskLoseMoney" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="RiskMoneyMarketFund" id="rr_RiskMoneyMarketFund" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="RiskNotInsuredDepositoryInstitution" id="rr_RiskNotInsuredDepositoryInstitution" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="RiskCaption" id="rr_RiskCaption" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="RiskColumnName" id="rr_RiskColumnName" type="us-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="Risk" id="rr_Risk" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="RiskFootnotesTextBlock" id="rr_RiskFootnotesTextBlock" type="us-types:textBlockItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="RiskClosingTextBlock" id="rr_RiskClosingTextBlock" type="us-types:textBlockItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseHeading" id="rr_ExpenseHeading" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="ExpenseNarrativeTextBlock" id="rr_ExpenseNarrativeTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseBreakpointDiscounts" id="rr_ExpenseBreakpointDiscounts" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExchangeTradedFundCommissions" id="rr_ExpenseExchangeTradedFundCommissions" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ShareholderFeesCaption" id="rr_ShareholderFeesCaption" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ShareholderFeesColumnName" id="rr_ShareholderFeesColumnName" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MaximumCumulativeSalesChargeOverOfferingPrice" id="rr_MaximumCumulativeSalesChargeOverOfferingPrice"
    type="rr:NonNegativePure4Type" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MaximumCumulativeSalesChargeOverOther" id="rr_MaximumCumulativeSalesChargeOverOther" type="rr:NonNegativePure4Type"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MaximumSalesChargeImposedOnPurchasesOverOfferingPrice" id="rr_MaximumSalesChargeImposedOnPurchasesOverOfferingPrice"
    type="rr:NonNegativePure4Type" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MaximumDeferredSalesChargeOverOther" id="rr_MaximumDeferredSalesChargeOverOther" type="rr:NonNegativePure4Type"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MaximumDeferredSalesChargeOverOfferingPrice" id="rr_MaximumDeferredSalesChargeOverOfferingPrice"
    type="rr:NonNegativePure4Type" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MaximumSalesChargeOnReinvestedDividendsAndDistributionsOverOther"
    id="rr_MaximumSalesChargeOnReinvestedDividendsAndDistributionsOverOther" type="rr:NonNegativePure4Type" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="RedemptionFeeOverRedemption" id="rr_RedemptionFeeOverRedemption" type="rr:NonPositivePure4Type"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="RedemptionFee" id="rr_RedemptionFee" type="rr:NonPositiveMonetaryType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="ExchangeFeeOverRedemption" id="rr_ExchangeFeeOverRedemption" type="rr:NonNegativePure4Type"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExchangeFee" id="rr_ExchangeFee" type="rr:NonNegativeMonetaryType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="MaximumAccountFeeOverAssets" id="rr_MaximumAccountFeeOverAssets" type="rr:NonNegativePure4Type"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MaximumAccountFee" id="rr_MaximumAccountFee" type="rr:NonNegativeMonetaryType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ShareholderFeeOther" id="rr_ShareholderFeeOther" type="rr:NonNegativeMonetaryType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="OperatingExpensesCaption" id="rr_OperatingExpensesCaption" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="OperatingExpensesColumnName" id="rr_OperatingExpensesColumnName" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ManagementFeesOverAssets" id="rr_ManagementFeesOverAssets" type="rr:NonNegativePure4Type" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="DistributionAndService12b1FeesOverAssets" id="rr_DistributionAndService12b1FeesOverAssets"
    type="rr:NonNegativePure4Type" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="DistributionOrSimilarNon12b1FeesOverAssets" id="rr_DistributionOrSimilarNon12b1FeesOverAssets"
    type="rr:NonNegativePure4Type" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="OtherExpensesOverAssets" id="rr_OtherExpensesOverAssets" type="rr:NonNegativePure4Type" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="Component1OtherExpensesOverAssets" id="rr_Component1OtherExpensesOverAssets" type="rr:NonNegativePure4Type"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="Component2OtherExpensesOverAssets" id="rr_Component2OtherExpensesOverAssets" type="rr:NonNegativePure4Type"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="Component3OtherExpensesOverAssets" id="rr_Component3OtherExpensesOverAssets" type="rr:NonNegativePure4Type"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AcquiredFundFeesAndExpensesOverAssets" id="rr_AcquiredFundFeesAndExpensesOverAssets" type="rr:NonNegativePure4Type"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpensesOverAssets" id="rr_ExpensesOverAssets" type="rr:NonNegativePure4Type" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="FeeWaiverOrReimbursementOverAssets" id="rr_FeeWaiverOrReimbursementOverAssets" type="rr:NonPositivePure4Type"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="NetExpensesOverAssets" id="rr_NetExpensesOverAssets" type="rr:NonNegativePure4Type" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpensesRepresentBothMasterAndFeeder" id="rr_ExpensesRepresentBothMasterAndFeeder" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpensesOtherExpensesHadExtraordinaryExpensesBeenIncluded"
    id="rr_ExpensesOtherExpensesHadExtraordinaryExpensesBeenIncluded" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpensesRestatedToReflectCurrent" id="rr_ExpensesRestatedToReflectCurrent" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleHeading" id="rr_ExpenseExampleHeading" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleNarrativeTextBlock" id="rr_ExpenseExampleNarrativeTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleByYearHeading" id="rr_ExpenseExampleByYearHeading" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleByYearCaption" id="rr_ExpenseExampleByYearCaption" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleByYearColumnName" id="rr_ExpenseExampleByYearColumnName" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleYear01" id="rr_ExpenseExampleYear01" type="rr:NonNegativeMonetaryType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleYear03" id="rr_ExpenseExampleYear03" type="rr:NonNegativeMonetaryType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleYear05" id="rr_ExpenseExampleYear05" type="rr:NonNegativeMonetaryType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleYear10" id="rr_ExpenseExampleYear10" type="rr:NonNegativeMonetaryType" substitutionGroup="xbrli:item"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleNoRedemptionByYearCaption" id="rr_ExpenseExampleNoRedemptionByYearCaption" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleNoRedemptionByYearColumnName" id="rr_ExpenseExampleNoRedemptionByYearColumnName"
    type="us-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleNoRedemptionYear01" id="rr_ExpenseExampleNoRedemptionYear01" type="rr:NonNegativeMonetaryType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleNoRedemptionYear03" id="rr_ExpenseExampleNoRedemptionYear03" type="rr:NonNegativeMonetaryType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleNoRedemptionYear05" id="rr_ExpenseExampleNoRedemptionYear05" type="rr:NonNegativeMonetaryType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleNoRedemptionYear10" id="rr_ExpenseExampleNoRedemptionYear10" type="rr:NonNegativeMonetaryType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleClosingTextBlock" id="rr_ExpenseExampleClosingTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ProspectusDate" id="rr_ProspectusDate" type="xbrli:dateItemType" substitutionGroup="xbrli:item" abstract="false"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ProspectusTable" id="rr_ProspectusTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ProspectusShareClassAxis" id="rr_ProspectusShareClassAxis" type="xbrli:stringItemType"
    substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ShareClassDomain" id="rr_ShareClassDomain" type="us-types:domainItemType" substitutionGroup="xbrli:item"
    abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ProspectusLineItems" id="rr_ProspectusLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="FormN1aAbstract" id="rr_FormN1aAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="RiskReturnAbstract" id="rr_RiskReturnAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PortfolioTurnoverHeading" id="rr_PortfolioTurnoverHeading" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PortfolioTurnoverTextBlock" id="rr_PortfolioTurnoverTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartAndPerformanceTableSectionAbstract" id="rr_BarChartAndPerformanceTableSectionAbstract"
    type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartNarrativeAbstract" id="rr_BarChartNarrativeAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartTableAbstract" id="rr_BarChartTableAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartClosingAbstract" id="rr_BarChartClosingAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAbstract" id="rr_AverageAnnualReturnAbstract" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsAbstract" id="rr_AverageAnnualReturnAfterTaxesOnDistributionsAbstract"
    type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AverageAnnualReturnAfterTaxesOnDistributionsAndSalesAbstract"
    id="rr_AverageAnnualReturnAfterTaxesOnDistributionsAndSalesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="MarketIndexReturnAbstract" id="rr_MarketIndexReturnAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceNarrativeAbstract" id="rr_PerformanceNarrativeAbstract" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableSectionAbstract" id="rr_PerformanceTableSectionAbstract" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableClosingAbstract" id="rr_PerformanceTableClosingAbstract" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpensesAbstract" id="rr_ExpensesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true"
    nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ShareholderFeesAbstract" id="rr_ShareholderFeesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="OperatingExpensesAbstract" id="rr_OperatingExpensesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="NetExpensesOverAssetsAbstract" id="rr_NetExpensesOverAssetsAbstract" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpensesOverAssetsAbstract" id="rr_ExpensesOverAssetsAbstract" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="OtherExpensesOverAssetsAbstract" id="rr_OtherExpensesOverAssetsAbstract" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseFootnotesAbstract" id="rr_ExpenseFootnotesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseFootnotesTextBlock" id="rr_ExpenseFootnotesTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleNarrativeAbstract" id="rr_ExpenseExampleNarrativeAbstract" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleAbstract" id="rr_ExpenseExampleAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleClosingAbstract" id="rr_ExpenseExampleClosingAbstract" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseExampleFootnotesTextBlock" id="rr_ExpenseExampleFootnotesTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PortfolioTurnoverAbstract" id="rr_PortfolioTurnoverAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item"
    abstract="true" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="FeeWaiverOrReimbursementOverAssetsDateOfTermination" id="rr_FeeWaiverOrReimbursementOverAssetsDateOfTermination"
    type="us-types:dateStringItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PortfolioTurnoverRate" id="rr_PortfolioTurnoverRate" type="xbrli:pureItemType" substitutionGroup="xbrli:item"
    abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpenseBreakpointMinimumInvestmentRequiredAmount" id="rr_ExpenseBreakpointMinimumInvestmentRequiredAmount"
    type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableFootnotesReasonPerformanceInformationForClassDifferentFromImmediatelyPrecedingPeriod"
    id="rr_PerformanceTableFootnotesReasonPerformanceInformationForClassDifferentFromImmediatelyPrecedingPeriod" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="BarChartFootnotesTextBlock" id="rr_BarChartFootnotesTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceTableOneClassOfAfterTaxShown" id="rr_PerformanceTableOneClassOfAfterTaxShown" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="OtherExpensesNewFundBasedOnEstimates" id="rr_OtherExpensesNewFundBasedOnEstimates" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AcquiredFundFeesAndExpensesBasedOnEstimates" id="rr_AcquiredFundFeesAndExpensesBasedOnEstimates"
    type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpensesDeferredChargesTextBlock" id="rr_ExpensesDeferredChargesTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpensesRangeOfExchangeFeesTextBlock" id="rr_ExpensesRangeOfExchangeFeesTextBlock" type="us-types:textBlockItemType"
    substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpensesNotCorrelatedToRatioDueToAcquiredFundFees" id="rr_ExpensesNotCorrelatedToRatioDueToAcquiredFundFees"
    type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="ExpensesExplanationOfNonrecurringAccountFee" id="rr_ExpensesExplanationOfNonrecurringAccountFee"
    type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="IndexNoDeductionForFeesExpensesTaxes" id="rr_IndexNoDeductionForFeesExpensesTaxes" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2013" id="rr_AnnualReturn2013" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="AnnualReturn2014" id="rr_AnnualReturn2014" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true"
    xbrli:periodType="duration"/>
  <xs:element name="PerformanceAvailabilityWebSiteAddress" id="rr_PerformanceAvailabilityWebSiteAddress" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:element name="PerformanceAvailabilityPhone" id="rr_PerformanceAvailabilityPhone" type="xbrli:stringItemType"
    substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration"/>
  <xs:complexType name="NonNegativePure4Type">
    <xs:simpleContent>
      <xs:restriction base="xbrli:pureItemType">
        <xs:minInclusive value="0"/>
        <xs:attribute name="id" use="optional" type="xs:ID"/>
        <xs:attribute name="contextRef" use="required" type="xs:IDREF"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="NonPositivePure4Type">
    <xs:simpleContent>
      <xs:restriction base="xbrli:pureItemType">
        <xs:maxInclusive value="0"/>
        <xs:attribute name="id" use="optional" type="xs:ID"/>
        <xs:attribute name="contextRef" use="required" type="xs:IDREF"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="NonNegativeMonetaryType">
    <xs:simpleContent>
      <xs:restriction base="xbrli:monetaryItemType">
        <xs:minInclusive value="0"/>
        <xs:attribute name="id" use="optional" type="xs:ID"/>
        <xs:attribute name="contextRef" use="required" type="xs:IDREF"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="NonPositiveMonetaryType">
    <xs:simpleContent>
      <xs:restriction base="xbrli:monetaryItemType">
        <xs:maxInclusive value="0"/>
        <xs:attribute name="id" use="optional" type="xs:ID"/>
        <xs:attribute name="contextRef" use="required" type="xs:IDREF"/>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>
