<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created by DFIN IXG 1.0.0.0 using Fujitsu Interstage XWand-->
<schema targetNamespace="http://www.johnhancock.com/20241220" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:jhf="http://www.johnhancock.com/20241220" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31">
  <annotation>
    <appinfo>
      <link:linkbaseRef xlink:type="simple" xlink:href="jhf-20241220_pre.xml" xlink:title="Presentation Links, all" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="jhf-20241220_cal.xml" xlink:title="Calculation Links, all" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="jhf-20241220_def.xml" xlink:title="Definition Links, all" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="jhf-20241220_lab.xml" xlink:title="Label Links, all" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:roleType roleURI="http://www.johnhancock.com/role/DocumentDocumentandEntityInformationElements" id="httpwwwjohnhancockcomroleDocumentDocumentandEntityInformationElements">
        <link:definition>000000 - Document - Document and Entity Information {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://www.johnhancock.com/role/ScheduleAnnualFundOperatingExpenses000013" id="httpwwwjohnhancockcomroleScheduleAnnualFundOperatingExpenses000013">
        <link:definition>000013 - Schedule - Annual Fund Operating Expenses</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsAlternativeAssetAllocationFundClassACIR2R4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsAlternativeAssetAllocationFundClassACIR2R4R6">
        <link:definition>000019 - Disclosure - Risk/Return Detail Data {Elements} - Alternative Asset Allocation Fund (Class A C I R2 R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsBlueChipGrowthFundClassAC" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsBlueChipGrowthFundClassAC">
        <link:definition>000029 - Disclosure - Risk/Return Detail Data {Elements} - Blue Chip Growth Fund (Class A C)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsBlueChipGrowthFundClassI" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsBlueChipGrowthFundClassI">
        <link:definition>000039 - Disclosure - Risk/Return Detail Data {Elements} - Blue Chip Growth Fund (Class I)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsDisciplinedValueEmergingMarketsEquityFundClassACIR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsDisciplinedValueEmergingMarketsEquityFundClassACIR6">
        <link:definition>000049 - Disclosure - Risk/Return Detail Data {Elements} - Disciplined Value Emerging Markets Equity Fund (Class A C I R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsEmergingMarketsDebtFundClassACIR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsEmergingMarketsDebtFundClassACIR6">
        <link:definition>000059 - Disclosure - Risk/Return Detail Data {Elements} - Emerging Markets Debt Fund (Class A C I R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsEmergingMarketsDebtFundClassR4" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsEmergingMarketsDebtFundClassR4">
        <link:definition>000069 - Disclosure - Risk/Return Detail Data {Elements} - Emerging Markets Debt Fund (Class R4)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsEquityIncomeFundClassAC" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsEquityIncomeFundClassAC">
        <link:definition>000079 - Disclosure - Risk/Return Detail Data {Elements} - Equity Income Fund (Class A C)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsEquityIncomeFundClassI" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsEquityIncomeFundClassI">
        <link:definition>000089 - Disclosure - Risk/Return Detail Data {Elements} - Equity Income Fund (Class I)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsFloatingRateIncomeFundClassACIR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsFloatingRateIncomeFundClassACIR6">
        <link:definition>000099 - Disclosure - Risk/Return Detail Data {Elements} - Floating Rate Income Fund (Class A C I R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsFundamentalGlobalFranchiseFundClassAIR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsFundamentalGlobalFranchiseFundClassAIR6">
        <link:definition>000109 - Disclosure - Risk/Return Detail Data {Elements} - Fundamental Global Franchise Fund (Class A I R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsGlobalEquityFundClassACIR2R4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsGlobalEquityFundClassACIR2R4R6">
        <link:definition>000119 - Disclosure - Risk/Return Detail Data {Elements} - Global Equity Fund (Class A C I R2 R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsInternationalSmallCompanyFundClassACIR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsInternationalSmallCompanyFundClassACIR6">
        <link:definition>000129 - Disclosure - Risk/Return Detail Data {Elements} - International Small Company Fund (Class A C I R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsInternationalSmallCompanyFundClassR2R4R5" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsInternationalSmallCompanyFundClassR2R4R5">
        <link:definition>000139 - Disclosure - Risk/Return Detail Data {Elements} - International Small Company Fund (Class R2 R4 R5)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendAggressivePortfolioClassA" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendAggressivePortfolioClassA">
        <link:definition>000149 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Aggressive Portfolio (Class A)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendGrowthPortfolioClassA" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendGrowthPortfolioClassA">
        <link:definition>000159 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Growth Portfolio (Class A)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendBalancedPortfolioClassA" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendBalancedPortfolioClassA">
        <link:definition>000169 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Balanced Portfolio (Class A)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendModeratePortfolioClassA" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendModeratePortfolioClassA">
        <link:definition>000179 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Moderate Portfolio (Class A)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendConservativePortfolioClassA" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendConservativePortfolioClassA">
        <link:definition>000189 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Conservative Portfolio (Class A)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendAggressivePortfolioClassIR2R4R5" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendAggressivePortfolioClassIR2R4R5">
        <link:definition>000199 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Aggressive Portfolio (Class I R2 R4 R5)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendGrowthPortfolioClassIR2R4R5" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendGrowthPortfolioClassIR2R4R5">
        <link:definition>000209 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Growth Portfolio (Class I R2 R4 R5)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendBalancedPortfolioClassIR2R4R5" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendBalancedPortfolioClassIR2R4R5">
        <link:definition>000219 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Balanced Portfolio (Class I R2 R4 R5)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendModeratePortfolioClassIR2R4R5" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendModeratePortfolioClassIR2R4R5">
        <link:definition>000229 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Moderate Portfolio (Class I R2 R4 R5)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendConservativePortfolioClassIR2R4R5" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendConservativePortfolioClassIR2R4R5">
        <link:definition>000239 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Conservative Portfolio (Class I R2 R4 R5)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendAggressivePortfolioClassR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendAggressivePortfolioClassR6">
        <link:definition>000249 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Aggressive Portfolio (Class R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendGrowthPortfolioClassR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendGrowthPortfolioClassR6">
        <link:definition>000259 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Growth Portfolio (Class R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendBalancedPortfolioClassR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendBalancedPortfolioClassR6">
        <link:definition>000269 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Balanced Portfolio (Class R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendModeratePortfolioClassR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendModeratePortfolioClassR6">
        <link:definition>000279 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Moderate Portfolio (Class R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendConservativePortfolioClassR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendConservativePortfolioClassR6">
        <link:definition>000289 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Conservative Portfolio (Class R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2065LifetimeBlendPortfolioClassAR4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2065LifetimeBlendPortfolioClassAR4R6">
        <link:definition>000299 - Disclosure - Risk/Return Detail Data {Elements} - 2065 Lifetime Blend Portfolio (Class A R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2060LifetimeBlendPortfolioClassAR4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2060LifetimeBlendPortfolioClassAR4R6">
        <link:definition>000309 - Disclosure - Risk/Return Detail Data {Elements} - 2060 Lifetime Blend Portfolio (Class A R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2055LifetimeBlendPortfolioClassAR4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2055LifetimeBlendPortfolioClassAR4R6">
        <link:definition>000319 - Disclosure - Risk/Return Detail Data {Elements} - 2055 Lifetime Blend Portfolio (Class A R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2050LifetimeBlendPortfolioClassAR4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2050LifetimeBlendPortfolioClassAR4R6">
        <link:definition>000329 - Disclosure - Risk/Return Detail Data {Elements} - 2050 Lifetime Blend Portfolio (Class A R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2045LifetimeBlendPortfolioClassAR4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2045LifetimeBlendPortfolioClassAR4R6">
        <link:definition>000339 - Disclosure - Risk/Return Detail Data {Elements} - 2045 Lifetime Blend Portfolio (Class A R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2040LifetimeBlendPortfolioClassAR4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2040LifetimeBlendPortfolioClassAR4R6">
        <link:definition>000349 - Disclosure - Risk/Return Detail Data {Elements} - 2040 Lifetime Blend Portfolio (Class A R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2035LifetimeBlendPortfolioClassAR4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2035LifetimeBlendPortfolioClassAR4R6">
        <link:definition>000359 - Disclosure - Risk/Return Detail Data {Elements} - 2035 Lifetime Blend Portfolio (Class A R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2030LifetimeBlendPortfolioClassAR4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2030LifetimeBlendPortfolioClassAR4R6">
        <link:definition>000369 - Disclosure - Risk/Return Detail Data {Elements} - 2030 Lifetime Blend Portfolio (Class A R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2025LifetimeBlendPortfolioClassAR4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2025LifetimeBlendPortfolioClassAR4R6">
        <link:definition>000379 - Disclosure - Risk/Return Detail Data {Elements} - 2025 Lifetime Blend Portfolio (Class A R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2020LifetimeBlendPortfolioClassAR4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2020LifetimeBlendPortfolioClassAR4R6">
        <link:definition>000389 - Disclosure - Risk/Return Detail Data {Elements} - 2020 Lifetime Blend Portfolio (Class A R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2015LifetimeBlendPortfolioClassAR4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2015LifetimeBlendPortfolioClassAR4R6">
        <link:definition>000399 - Disclosure - Risk/Return Detail Data {Elements} - 2015 Lifetime Blend Portfolio (Class A R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2010LifetimeBlendPortfolioClassAR4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2010LifetimeBlendPortfolioClassAR4R6">
        <link:definition>000409 - Disclosure - Risk/Return Detail Data {Elements} - 2010 Lifetime Blend Portfolio (Class A R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMulti-AssetHighIncomeFundClassACIR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultiAssetHighIncomeFundClassACIR6">
        <link:definition>000419 - Disclosure - Risk/Return Detail Data {Elements} - Multi-Asset High Income Fund (Class A C I R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2065LifetimePortfolioClassAIR2R4R5R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2065LifetimePortfolioClassAIR2R4R5R6">
        <link:definition>000429 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2065 Lifetime Portfolio (Class A I R2 R4 R5 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2060LifetimePortfolioClassAIR2R4R5R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2060LifetimePortfolioClassAIR2R4R5R6">
        <link:definition>000439 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2060 Lifetime Portfolio (Class A I R2 R4 R5 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2055LifetimePortfolioClassAIR2R4R5R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2055LifetimePortfolioClassAIR2R4R5R6">
        <link:definition>000449 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2055 Lifetime Portfolio (Class A I R2 R4 R5 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2050LifetimePortfolioClassAIR2R4R5R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2050LifetimePortfolioClassAIR2R4R5R6">
        <link:definition>000459 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2050 Lifetime Portfolio (Class A I R2 R4 R5 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2045LifetimePortfolioClassAIR2R4R5R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2045LifetimePortfolioClassAIR2R4R5R6">
        <link:definition>000469 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2045 Lifetime Portfolio (Class A I R2 R4 R5 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2040LifetimePortfolioClassAIR2R4R5R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2040LifetimePortfolioClassAIR2R4R5R6">
        <link:definition>000479 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2040 Lifetime Portfolio (Class A I R2 R4 R5 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2035LifetimePortfolioClassAIR2R4R5R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2035LifetimePortfolioClassAIR2R4R5R6">
        <link:definition>000489 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2035 Lifetime Portfolio (Class A I R2 R4 R5 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2030LifetimePortfolioClassAIR2R4R5R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2030LifetimePortfolioClassAIR2R4R5R6">
        <link:definition>000499 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2030 Lifetime Portfolio (Class A I R2 R4 R5 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2025LifetimePortfolioClassAIR2R4R5R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2025LifetimePortfolioClassAIR2R4R5R6">
        <link:definition>000509 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2025 Lifetime Portfolio (Class A I R2 R4 R5 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2020LifetimePortfolioClassAIR2R4R5R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2020LifetimePortfolioClassAIR2R4R5R6">
        <link:definition>000519 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2020 Lifetime Portfolio (Class A I R2 R4 R5 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2015LifetimePortfolioClassAIR2R4R5R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2015LifetimePortfolioClassAIR2R4R5R6">
        <link:definition>000529 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2015 Lifetime Portfolio (Class A I R2 R4 R5 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2010LifetimePortfolioClassAIR2R5R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2010LifetimePortfolioClassAIR2R5R6">
        <link:definition>000539 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2010 Lifetime Portfolio (Class A I R2 R5 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsNewOpportunitiesFundClassACIR2R4R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsNewOpportunitiesFundClassACIR2R4R6">
        <link:definition>000549 - Disclosure - Risk/Return Detail Data {Elements} - New Opportunities Fund (Class A C I R2 R4 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsOpportunisticFixedIncomeFundClassACIR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsOpportunisticFixedIncomeFundClassACIR6">
        <link:definition>000559 - Disclosure - Risk/Return Detail Data {Elements} - Opportunistic Fixed Income Fund (Class A C I R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsRealEstateSecuritiesFundClassACIR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsRealEstateSecuritiesFundClassACIR6">
        <link:definition>000569 - Disclosure - Risk/Return Detail Data {Elements} - Real Estate Securities Fund (Class A C I R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsSmallCapDynamicGrowthFundClassACIR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsSmallCapDynamicGrowthFundClassACIR6">
        <link:definition>000579 - Disclosure - Risk/Return Detail Data {Elements} - Small Cap Dynamic Growth Fund (Class A C I R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsSmallCapValueFundClassAIR6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsSmallCapValueFundClassAIR6">
        <link:definition>000589 - Disclosure - Risk/Return Detail Data {Elements} - Small Cap Value Fund (Class A I R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsStrategicIncomeOpportunitiesFundClassACIR2R6" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsStrategicIncomeOpportunitiesFundClassACIR2R6">
        <link:definition>000599 - Disclosure - Risk/Return Detail Data {Elements} - Strategic Income Opportunities Fund (Class A C I R2 R6)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsBlueChipGrowthFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsBlueChipGrowthFundClassNAV">
        <link:definition>000609 - Disclosure - Risk/Return Detail Data {Elements} - Blue Chip Growth Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsCapitalAppreciationFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsCapitalAppreciationFundClassNAV">
        <link:definition>000619 - Disclosure - Risk/Return Detail Data {Elements} - Capital Appreciation Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsCapitalAppreciationValueFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsCapitalAppreciationValueFundClassNAV">
        <link:definition>000629 - Disclosure - Risk/Return Detail Data {Elements} - Capital Appreciation Value Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsCoreBondFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsCoreBondFundClassNAV">
        <link:definition>000639 - Disclosure - Risk/Return Detail Data {Elements} - Core Bond Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsDisciplinedValueEmergingMarketsEquityFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsDisciplinedValueEmergingMarketsEquityFundClassNAV">
        <link:definition>000649 - Disclosure - Risk/Return Detail Data {Elements} - Disciplined Value Emerging Markets Equity Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsEmergingMarketsDebtFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsEmergingMarketsDebtFundClassNAV">
        <link:definition>000659 - Disclosure - Risk/Return Detail Data {Elements} - Emerging Markets Debt Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsEquityIncomeFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsEquityIncomeFundClassNAV">
        <link:definition>000669 - Disclosure - Risk/Return Detail Data {Elements} - Equity Income Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsFloatingRateIncomeFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsFloatingRateIncomeFundClassNAV">
        <link:definition>000679 - Disclosure - Risk/Return Detail Data {Elements} - Floating Rate Income Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsFundamentalGlobalFranchiseFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsFundamentalGlobalFranchiseFundClassNAV">
        <link:definition>000689 - Disclosure - Risk/Return Detail Data {Elements} - Fundamental Global Franchise Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsGlobalEquityFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsGlobalEquityFundClassNAV">
        <link:definition>000699 - Disclosure - Risk/Return Detail Data {Elements} - Global Equity Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsHealthSciencesFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsHealthSciencesFundClassNAV">
        <link:definition>000709 - Disclosure - Risk/Return Detail Data {Elements} - Health Sciences Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsHighYieldFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsHighYieldFundClassNAV">
        <link:definition>000719 - Disclosure - Risk/Return Detail Data {Elements} - High Yield Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsInternationalSmallCompanyFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsInternationalSmallCompanyFundClassNAV">
        <link:definition>000729 - Disclosure - Risk/Return Detail Data {Elements} - International Small Company Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsInternationalStrategicEquityAllocationFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsInternationalStrategicEquityAllocationFundClassNAV">
        <link:definition>000739 - Disclosure - Risk/Return Detail Data {Elements} - International Strategic Equity Allocation Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMidValueFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMidValueFundClassNAV">
        <link:definition>000749 - Disclosure - Risk/Return Detail Data {Elements} - Mid Value Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMulti-AssetHighIncomeFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultiAssetHighIncomeFundClassNAV">
        <link:definition>000759 - Disclosure - Risk/Return Detail Data {Elements} - Multi-Asset High Income Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsNewOpportunitiesFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsNewOpportunitiesFundClassNAV">
        <link:definition>000769 - Disclosure - Risk/Return Detail Data {Elements} - New Opportunities Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsOpportunisticFixedIncomeFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsOpportunisticFixedIncomeFundClassNAV">
        <link:definition>000779 - Disclosure - Risk/Return Detail Data {Elements} - Opportunistic Fixed Income Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsRealEstateSecuritiesFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsRealEstateSecuritiesFundClassNAV">
        <link:definition>000789 - Disclosure - Risk/Return Detail Data {Elements} - Real Estate Securities Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsScienceamp;TechnologyFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsScienceampTechnologyFundClassNAV">
        <link:definition>000799 - Disclosure - Risk/Return Detail Data {Elements} - Science &amp;amp; Technology Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsSmallCapDynamicGrowthFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsSmallCapDynamicGrowthFundClassNAV">
        <link:definition>000809 - Disclosure - Risk/Return Detail Data {Elements} - Small Cap Dynamic Growth Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsSmallCapValueFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsSmallCapValueFundClassNAV">
        <link:definition>000819 - Disclosure - Risk/Return Detail Data {Elements} - Small Cap Value Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsStrategicIncomeOpportunitiesFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsStrategicIncomeOpportunitiesFundClassNAV">
        <link:definition>000829 - Disclosure - Risk/Return Detail Data {Elements} - Strategic Income Opportunities Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsU.S.SectorRotationFundClassNAV" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsUSSectorRotationFundClassNAV">
        <link:definition>000839 - Disclosure - Risk/Return Detail Data {Elements} - U.S. Sector Rotation Fund (Class NAV)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsBlueChipGrowthFundClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsBlueChipGrowthFundClass1">
        <link:definition>000849 - Disclosure - Risk/Return Detail Data {Elements} - Blue Chip Growth Fund (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsCapitalAppreciationFundClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsCapitalAppreciationFundClass1">
        <link:definition>000859 - Disclosure - Risk/Return Detail Data {Elements} - Capital Appreciation Fund (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsCoreBondFundClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsCoreBondFundClass1">
        <link:definition>000869 - Disclosure - Risk/Return Detail Data {Elements} - Core Bond Fund (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsEquityIncomeFundClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsEquityIncomeFundClass1">
        <link:definition>000879 - Disclosure - Risk/Return Detail Data {Elements} - Equity Income Fund (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsFloatingRateIncomeFundClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsFloatingRateIncomeFundClass1">
        <link:definition>000889 - Disclosure - Risk/Return Detail Data {Elements} - Floating Rate Income Fund (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsHighYieldFundClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsHighYieldFundClass1">
        <link:definition>000899 - Disclosure - Risk/Return Detail Data {Elements} - High Yield Fund (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2065LifetimeBlendPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2065LifetimeBlendPortfolioClass1">
        <link:definition>000909 - Disclosure - Risk/Return Detail Data {Elements} - 2065 Lifetime Blend Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2060LifetimeBlendPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2060LifetimeBlendPortfolioClass1">
        <link:definition>000919 - Disclosure - Risk/Return Detail Data {Elements} - 2060 Lifetime Blend Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2055LifetimeBlendPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2055LifetimeBlendPortfolioClass1">
        <link:definition>000929 - Disclosure - Risk/Return Detail Data {Elements} - 2055 Lifetime Blend Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2050LifetimeBlendPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2050LifetimeBlendPortfolioClass1">
        <link:definition>000939 - Disclosure - Risk/Return Detail Data {Elements} - 2050 Lifetime Blend Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2045LifetimeBlendPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2045LifetimeBlendPortfolioClass1">
        <link:definition>000949 - Disclosure - Risk/Return Detail Data {Elements} - 2045 Lifetime Blend Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2040LifetimeBlendPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2040LifetimeBlendPortfolioClass1">
        <link:definition>000959 - Disclosure - Risk/Return Detail Data {Elements} - 2040 Lifetime Blend Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2035LifetimeBlendPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2035LifetimeBlendPortfolioClass1">
        <link:definition>000969 - Disclosure - Risk/Return Detail Data {Elements} - 2035 Lifetime Blend Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2030LifetimeBlendPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2030LifetimeBlendPortfolioClass1">
        <link:definition>000979 - Disclosure - Risk/Return Detail Data {Elements} - 2030 Lifetime Blend Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2025LifetimeBlendPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2025LifetimeBlendPortfolioClass1">
        <link:definition>000989 - Disclosure - Risk/Return Detail Data {Elements} - 2025 Lifetime Blend Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2020LifetimeBlendPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2020LifetimeBlendPortfolioClass1">
        <link:definition>000999 - Disclosure - Risk/Return Detail Data {Elements} - 2020 Lifetime Blend Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2015LifetimeBlendPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2015LifetimeBlendPortfolioClass1">
        <link:definition>001009 - Disclosure - Risk/Return Detail Data {Elements} - 2015 Lifetime Blend Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElements2010LifetimeBlendPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElements2010LifetimeBlendPortfolioClass1">
        <link:definition>001019 - Disclosure - Risk/Return Detail Data {Elements} - 2010 Lifetime Blend Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendAggressivePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendAggressivePortfolioClass1">
        <link:definition>001029 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Aggressive Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendGrowthPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendGrowthPortfolioClass1">
        <link:definition>001039 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Growth Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendBalancedPortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendBalancedPortfolioClass1">
        <link:definition>001049 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Balanced Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendModeratePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendModeratePortfolioClass1">
        <link:definition>001059 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Moderate Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsLifestyleBlendConservativePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsLifestyleBlendConservativePortfolioClass1">
        <link:definition>001069 - Disclosure - Risk/Return Detail Data {Elements} - Lifestyle Blend Conservative Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2065LifetimePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2065LifetimePortfolioClass1">
        <link:definition>001079 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2065 Lifetime Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2060LifetimePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2060LifetimePortfolioClass1">
        <link:definition>001089 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2060 Lifetime Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2055LifetimePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2055LifetimePortfolioClass1">
        <link:definition>001099 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2055 Lifetime Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2050LifetimePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2050LifetimePortfolioClass1">
        <link:definition>001109 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2050 Lifetime Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2045LifetimePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2045LifetimePortfolioClass1">
        <link:definition>001119 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2045 Lifetime Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2040LifetimePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2040LifetimePortfolioClass1">
        <link:definition>001129 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2040 Lifetime Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2035LifetimePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2035LifetimePortfolioClass1">
        <link:definition>001139 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2035 Lifetime Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2030LifetimePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2030LifetimePortfolioClass1">
        <link:definition>001149 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2030 Lifetime Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2025LifetimePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2025LifetimePortfolioClass1">
        <link:definition>001159 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2025 Lifetime Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2020LifetimePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2020LifetimePortfolioClass1">
        <link:definition>001169 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2020 Lifetime Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2015LifetimePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2015LifetimePortfolioClass1">
        <link:definition>001179 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2015 Lifetime Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsMultimanager2010LifetimePortfolioClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsMultimanager2010LifetimePortfolioClass1">
        <link:definition>001189 - Disclosure - Risk/Return Detail Data {Elements} - Multimanager 2010 Lifetime Portfolio (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsNewOpportunitiesFundClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsNewOpportunitiesFundClass1">
        <link:definition>001199 - Disclosure - Risk/Return Detail Data {Elements} - New Opportunities Fund (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsOpportunisticFixedIncomeFundClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsOpportunisticFixedIncomeFundClass1">
        <link:definition>001209 - Disclosure - Risk/Return Detail Data {Elements} - Opportunistic Fixed Income Fund (Class 1)</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://www.johnhancock.com/role/DisclosureRiskReturnDetailDataElementsRealEstateSecuritiesFundClass1" id="httpwwwjohnhancockcomroleDisclosureRiskReturnDetailDataElementsRealEstateSecuritiesFundClass1">
        <link:definition>001219 - Disclosure - Risk/Return Detail Data {Elements} - Real Estate Securities Fund (Class 1)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </appinfo>
  </annotation>
  <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
  <import namespace="http://xbrl.sec.gov/rr/2023" schemaLocation="https://xbrl.sec.gov/rr/2023/rr-2023.xsd" />
  <import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
  <import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
  <element name="ClassACIR2R4R6Member" id="jhf_ClassACIR2R4R6Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000023552Member" id="jhf_S000023552Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ReturnAfterTaxesonDistributionsMember" id="jhf_ReturnAfterTaxesonDistributionsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ReturnAfterTaxesonDistributionsandSaleofSharesMember" id="jhf_ReturnAfterTaxesonDistributionsandSaleofSharesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="BloombergUSAggregateBondIndexMember" id="jhf_BloombergUSAggregateBondIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="HFRXGlobalHedgeFundIndexMember" id="jhf_HFRXGlobalHedgeFundIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000069283Member" id="jhf_C000069283Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000102118Member" id="jhf_C000102118Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000098166Member" id="jhf_C000098166Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000113512Member" id="jhf_C000113512Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000128529Member" id="jhf_C000128529Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106470Member" id="jhf_C000106470Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="AssetAllocationRiskMember" id="jhf_AssetAllocationRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="CommodityRiskMember" id="jhf_CommodityRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="CreditAndCounterpartyRiskMember" id="jhf_CreditAndCounterpartyRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="EconomicAndMarketEventsRiskMember" id="jhf_EconomicAndMarketEventsRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ESGIntegrationRiskMember" id="jhf_ESGIntegrationRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ExchangeTradedFundsRiskMember" id="jhf_ExchangeTradedFundsRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ExchangetradednotesETNsriskMember" id="jhf_ExchangetradednotesETNsriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="FundoffundsriskMember" id="jhf_FundoffundsriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="HedgingDerivativesAndOtherStrategicTransactionsRiskMember" id="jhf_HedgingDerivativesAndOtherStrategicTransactionsRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="InvestmentcompanysecuritiesriskMember" id="jhf_InvestmentcompanysecuritiesriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="OperationalAndCybersecurityRiskMember" id="jhf_OperationalAndCybersecurityRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ShortsalesriskMember" id="jhf_ShortsalesriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="AbsoluteReturnRiskMember" id="jhf_AbsoluteReturnRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ArbitrageStrategiesRiskMember" id="jhf_ArbitrageStrategiesRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="CurrencyRiskMember" id="jhf_CurrencyRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="EmergingMarketsRiskMember" id="jhf_EmergingMarketsRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="EquitySecuritiesRiskMember" id="jhf_EquitySecuritiesRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="FixedIncomeSecuritiesRiskMember" id="jhf_FixedIncomeSecuritiesRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ForeignSecuritiesRiskMember" id="jhf_ForeignSecuritiesRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="HighPortfolioTurnoverRiskMember" id="jhf_HighPortfolioTurnoverRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="IlliquidAndRestrictedSecuritiesRiskMember" id="jhf_IlliquidAndRestrictedSecuritiesRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="InflationprotectedsecuritiesriskMember" id="jhf_InflationprotectedsecuritiesriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="InitialPublicOfferingsRiskMember" id="jhf_InitialPublicOfferingsRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="LiquidityRiskMember" id="jhf_LiquidityRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="LoanParticipationsRiskMember" id="jhf_LoanParticipationsRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="LowerRatedAndHighYieldFixedIncomeSecuritiesRiskMember" id="jhf_LowerRatedAndHighYieldFixedIncomeSecuritiesRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MortgageBackedAndAssetBackedSecuritiesRiskMember" id="jhf_MortgageBackedAndAssetBackedSecuritiesRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="NaturalResourcesIndustryRiskMember" id="jhf_NaturalResourcesIndustryRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="PreferredAndConvertibleSecuritiesRiskMember" id="jhf_PreferredAndConvertibleSecuritiesRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="RealEstateSecuritiesRiskMember" id="jhf_RealEstateSecuritiesRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SmallAndMidSizedCompanyRiskMember" id="jhf_SmallAndMidSizedCompanyRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassACMember" id="jhf_ClassACMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000003311Member" id="jhf_S000003311Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SP500IndexMember" id="jhf_SP500IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="Russell1000GrowthIndexMember" id="jhf_Russell1000GrowthIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153947Member" id="jhf_C000153947Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153948Member" id="jhf_C000153948Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="CashAndCashEquivalentsRiskMember" id="jhf_CashAndCashEquivalentsRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="HongKongStockConnectProgramStockConnectRiskMember" id="jhf_HongKongStockConnectProgramStockConnectRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="HybridinstrumentriskMember" id="jhf_HybridinstrumentriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="InformationTechnologyCompaniesRiskMember" id="jhf_InformationTechnologyCompaniesRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="LargeCompanyRiskMember" id="jhf_LargeCompanyRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MediaandcommunicationssectorriskMember" id="jhf_MediaandcommunicationssectorriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MidSizedCompanyRiskMember" id="jhf_MidSizedCompanyRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="RepurchaseAgreementRiskMember" id="jhf_RepurchaseAgreementRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SectorRiskMember" id="jhf_SectorRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="TechnologyCompaniesRiskMember" id="jhf_TechnologyCompaniesRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="WarrantsRiskMember" id="jhf_WarrantsRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassIMember" id="jhf_ClassIMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153949Member" id="jhf_C000153949Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassACIR6Member" id="jhf_ClassACIR6Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000017260Member" id="jhf_S000017260Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MSCIEmergingMarketsIndexMember" id="jhf_MSCIEmergingMarketsIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000099349Member" id="jhf_C000099349Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000099350Member" id="jhf_C000099350Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000099351Member" id="jhf_C000099351Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106468Member" id="jhf_C000106468Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="FrontiermarketriskMember" id="jhf_FrontiermarketriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="GreaterChinaRiskMember" id="jhf_GreaterChinaRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MasterLimitedPartnershipRiskMember" id="jhf_MasterLimitedPartnershipRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="QuantitativeModelingRiskMember" id="jhf_QuantitativeModelingRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="RealEstateInvestmentTrustRiskMember" id="jhf_RealEstateInvestmentTrustRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ValueInvestmentStyleRiskMember" id="jhf_ValueInvestmentStyleRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000027304Member" id="jhf_S000027304Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JPMorganEMBIGlobalDiversifiedIndexMember" id="jhf_JPMorganEMBIGlobalDiversifiedIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000082346Member" id="jhf_C000082346Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000145673Member" id="jhf_C000145673Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000082347Member" id="jhf_C000082347Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153967Member" id="jhf_C000153967Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ChangingDistributionLevelsRiskMember" id="jhf_ChangingDistributionLevelsRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="FloatingRateLoansRiskMember" id="jhf_FloatingRateLoansRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="HongKongBondConnectProgramBondConnectriskMember" id="jhf_HongKongBondConnectProgramBondConnectriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="USGovernmentAgencyObligationsRiskMember" id="jhf_USGovernmentAgencyObligationsRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="USTreasuryObligationsRiskMember" id="jhf_USTreasuryObligationsRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassR4Member" id="jhf_ClassR4Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153966Member" id="jhf_C000153966Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000003317Member" id="jhf_S000003317Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="Russell1000IndexMember" id="jhf_Russell1000IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="Russell1000ValueIndexMember" id="jhf_Russell1000ValueIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153950Member" id="jhf_C000153950Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153951Member" id="jhf_C000153951Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="FinancialServicesSectorRiskMember" id="jhf_FinancialServicesSectorRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153952Member" id="jhf_C000153952Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000020234Member" id="jhf_S000020234Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MorningstarLSTAUSLeveragedLoanIndexMember" id="jhf_MorningstarLSTAUSLeveragedLoanIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000056647Member" id="jhf_C000056647Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000056649Member" id="jhf_C000056649Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000056651Member" id="jhf_C000056651Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106469Member" id="jhf_C000106469Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="DistressedinvestmentsriskMember" id="jhf_DistressedinvestmentsriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="InterestRateRiskMember" id="jhf_InterestRateRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="LIBORDiscontinuationRiskMember" id="jhf_LIBORDiscontinuationRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SmallnumberofissuersriskMember" id="jhf_SmallnumberofissuersriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassAIR6Member" id="jhf_ClassAIR6Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000037602Member" id="jhf_S000037602Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MSCIWorldIndexMember" id="jhf_MSCIWorldIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000116034Member" id="jhf_C000116034Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000116035Member" id="jhf_C000116035Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000178758Member" id="jhf_C000178758Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ConsumerdiscretionarysectorriskMember" id="jhf_ConsumerdiscretionarysectorriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ConsumerstaplessectorriskMember" id="jhf_ConsumerstaplessectorriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000040959Member" id="jhf_S000040959Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000127063Member" id="jhf_C000127063Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000152689Member" id="jhf_C000152689Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000127064Member" id="jhf_C000127064Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000152690Member" id="jhf_C000152690Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000152691Member" id="jhf_C000152691Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000152692Member" id="jhf_C000152692Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000009779Member" id="jhf_S000009779Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MSCIWorldexUSAIndexMember" id="jhf_MSCIWorldexUSAIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MSCIWorldexUSASmallCapIndexMember" id="jhf_MSCIWorldexUSASmallCapIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000128520Member" id="jhf_C000128520Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000128521Member" id="jhf_C000128521Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000128522Member" id="jhf_C000128522Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000128528Member" id="jhf_C000128528Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="IndustrialssectorriskMember" id="jhf_IndustrialssectorriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassR2R4R5Member" id="jhf_ClassR2R4R5Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000128524Member" id="jhf_C000128524Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000128526Member" id="jhf_C000128526Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000128527Member" id="jhf_C000128527Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassAMember" id="jhf_ClassAMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000043433Member" id="jhf_S000043433Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MorningstarUSAggressiveTargetAllocationIndexMember" id="jhf_MorningstarUSAggressiveTargetAllocationIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancockLifestyleAggressiveIndexMember" id="jhf_JohnHancockLifestyleAggressiveIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134635Member" id="jhf_C000134635Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000043436Member" id="jhf_S000043436Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MorningstarUSModeratelyAggressiveTargetAllocationIndexMember" id="jhf_MorningstarUSModeratelyAggressiveTargetAllocationIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancockLifestyleGrowthIndexMember" id="jhf_JohnHancockLifestyleGrowthIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134662Member" id="jhf_C000134662Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000043434Member" id="jhf_S000043434Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MorningstarUSModerateTargetAllocationIndexMember" id="jhf_MorningstarUSModerateTargetAllocationIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancockLifestyleBalancedIndexMember" id="jhf_JohnHancockLifestyleBalancedIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134644Member" id="jhf_C000134644Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000043437Member" id="jhf_S000043437Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MorningstarUSModeratelyConservativeTargetAllocationIndexMember" id="jhf_MorningstarUSModeratelyConservativeTargetAllocationIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancockLifestyleModerateIndexMember" id="jhf_JohnHancockLifestyleModerateIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134671Member" id="jhf_C000134671Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000043435Member" id="jhf_S000043435Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MorningstarUSConservativeTargetAllocationIndexMember" id="jhf_MorningstarUSConservativeTargetAllocationIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancockLifestyleConservativeIndexMember" id="jhf_JohnHancockLifestyleConservativeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134653Member" id="jhf_C000134653Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassIR2R4R5Member" id="jhf_ClassIR2R4R5Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134636Member" id="jhf_C000134636Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134638Member" id="jhf_C000134638Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134640Member" id="jhf_C000134640Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134641Member" id="jhf_C000134641Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134663Member" id="jhf_C000134663Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134665Member" id="jhf_C000134665Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134667Member" id="jhf_C000134667Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134668Member" id="jhf_C000134668Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134645Member" id="jhf_C000134645Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134647Member" id="jhf_C000134647Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134649Member" id="jhf_C000134649Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134650Member" id="jhf_C000134650Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134672Member" id="jhf_C000134672Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134674Member" id="jhf_C000134674Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134676Member" id="jhf_C000134676Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134677Member" id="jhf_C000134677Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134654Member" id="jhf_C000134654Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134656Member" id="jhf_C000134656Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134658Member" id="jhf_C000134658Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134659Member" id="jhf_C000134659Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassR6Member" id="jhf_ClassR6Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134642Member" id="jhf_C000134642Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134669Member" id="jhf_C000134669Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134651Member" id="jhf_C000134651Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134678Member" id="jhf_C000134678Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134660Member" id="jhf_C000134660Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassAR4R6Member" id="jhf_ClassAR4R6Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000069423Member" id="jhf_S000069423Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandPTargetDate2060PlusIndexMember" id="jhf_SandPTargetDate2060PlusIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancock2065LifetimeIndexMember" id="jhf_JohnHancock2065LifetimeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000228345Member" id="jhf_C000228345Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000221527Member" id="jhf_C000221527Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000221528Member" id="jhf_C000221528Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="LifecycleriskMember" id="jhf_LifecycleriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="TargetallocationriskMember" id="jhf_TargetallocationriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000053255Member" id="jhf_S000053255Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancock2060LifetimeIndexMember" id="jhf_JohnHancock2060LifetimeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000228344Member" id="jhf_C000228344Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000167633Member" id="jhf_C000167633Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000167635Member" id="jhf_C000167635Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000044503Member" id="jhf_S000044503Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandPTargetDate2055IndexMember" id="jhf_SandPTargetDate2055IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancock2055LifetimeIndexMember" id="jhf_JohnHancock2055LifetimeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000228341Member" id="jhf_C000228341Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000138485Member" id="jhf_C000138485Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000138487Member" id="jhf_C000138487Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000042855Member" id="jhf_S000042855Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandPTargetDate2050IndexMember" id="jhf_SandPTargetDate2050IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancock2050LifetimeIndexMember" id="jhf_JohnHancock2050LifetimeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000228338Member" id="jhf_C000228338Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132804Member" id="jhf_C000132804Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132806Member" id="jhf_C000132806Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000042854Member" id="jhf_S000042854Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandPTargetDate2045IndexMember" id="jhf_SandPTargetDate2045IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancock2045LifetimeIndexMember" id="jhf_JohnHancock2045LifetimeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000228337Member" id="jhf_C000228337Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132796Member" id="jhf_C000132796Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132798Member" id="jhf_C000132798Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000042853Member" id="jhf_S000042853Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandPTargetDate2040IndexMember" id="jhf_SandPTargetDate2040IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancock2040LifetimeIndexMember" id="jhf_JohnHancock2040LifetimeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000228336Member" id="jhf_C000228336Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132788Member" id="jhf_C000132788Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132790Member" id="jhf_C000132790Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000042852Member" id="jhf_S000042852Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandPTargetDate2035IndexMember" id="jhf_SandPTargetDate2035IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancock2035LifetimeIndexMember" id="jhf_JohnHancock2035LifetimeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000228335Member" id="jhf_C000228335Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132780Member" id="jhf_C000132780Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132782Member" id="jhf_C000132782Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000042851Member" id="jhf_S000042851Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandPTargetDate2030IndexMember" id="jhf_SandPTargetDate2030IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancock2030LifetimeIndexMember" id="jhf_JohnHancock2030LifetimeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000228334Member" id="jhf_C000228334Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132772Member" id="jhf_C000132772Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132774Member" id="jhf_C000132774Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000042850Member" id="jhf_S000042850Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandPTargetDate2025IndexMember" id="jhf_SandPTargetDate2025IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancock2025LifetimeIndexMember" id="jhf_JohnHancock2025LifetimeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000228333Member" id="jhf_C000228333Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132764Member" id="jhf_C000132764Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132766Member" id="jhf_C000132766Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000042849Member" id="jhf_S000042849Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandPTargetDate2020IndexMember" id="jhf_SandPTargetDate2020IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancock2020LifetimeIndexMember" id="jhf_JohnHancock2020LifetimeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000228332Member" id="jhf_C000228332Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132756Member" id="jhf_C000132756Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132758Member" id="jhf_C000132758Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000042848Member" id="jhf_S000042848Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandPTargetDate2015IndexMember" id="jhf_SandPTargetDate2015IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancock2015LifetimeIndexMember" id="jhf_JohnHancock2015LifetimeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000228331Member" id="jhf_C000228331Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132747Member" id="jhf_C000132747Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132749Member" id="jhf_C000132749Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000042847Member" id="jhf_S000042847Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandPTargetDate2010IndexMember" id="jhf_SandPTargetDate2010IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="JohnHancock2010LifetimeIndexMember" id="jhf_JohnHancock2010LifetimeIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000228330Member" id="jhf_C000228330Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132740Member" id="jhf_C000132740Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132742Member" id="jhf_C000132742Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000045160Member" id="jhf_S000045160Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="TwentyMSCIUSAHighDividendYieldIndex10MSCIWorldexUSAHighDividendYieldIndex25BloombergUSMember" id="jhf_TwentyMSCIUSAHighDividendYieldIndex10MSCIWorldexUSAHighDividendYieldIndex25BloombergUSMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SeventypercentBloombergUSAggregateBondIndex30percentMSCIWorldIndexMember" id="jhf_SeventypercentBloombergUSAggregateBondIndex30percentMSCIWorldIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000140586Member" id="jhf_C000140586Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000140587Member" id="jhf_C000140587Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000140588Member" id="jhf_C000140588Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000140589Member" id="jhf_C000140589Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassAIR2R4R5R6Member" id="jhf_ClassAIR2R4R5R6Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000069425Member" id="jhf_S000069425Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandP500IndexMember" id="jhf_SandP500IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SandPTargetDate2060IndexMember" id="jhf_SandPTargetDate2060IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000221534Member" id="jhf_C000221534Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000221535Member" id="jhf_C000221535Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000221536Member" id="jhf_C000221536Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000221537Member" id="jhf_C000221537Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000221538Member" id="jhf_C000221538Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000221539Member" id="jhf_C000221539Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000053254Member" id="jhf_S000053254Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000167627Member" id="jhf_C000167627Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000167619Member" id="jhf_C000167619Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000167621Member" id="jhf_C000167621Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000167623Member" id="jhf_C000167623Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000167624Member" id="jhf_C000167624Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000167625Member" id="jhf_C000167625Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000044502Member" id="jhf_S000044502Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000138479Member" id="jhf_C000138479Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153974Member" id="jhf_C000153974Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000138473Member" id="jhf_C000138473Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000138475Member" id="jhf_C000138475Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000138476Member" id="jhf_C000138476Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000138477Member" id="jhf_C000138477Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000013659Member" id="jhf_S000013659Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037407Member" id="jhf_C000037407Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153964Member" id="jhf_C000153964Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000113511Member" id="jhf_C000113511Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037415Member" id="jhf_C000037415Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037416Member" id="jhf_C000037416Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106467Member" id="jhf_C000106467Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000013658Member" id="jhf_S000013658Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037396Member" id="jhf_C000037396Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153963Member" id="jhf_C000153963Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000113510Member" id="jhf_C000113510Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037404Member" id="jhf_C000037404Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037405Member" id="jhf_C000037405Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106466Member" id="jhf_C000106466Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000013657Member" id="jhf_S000013657Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037385Member" id="jhf_C000037385Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153962Member" id="jhf_C000153962Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000113509Member" id="jhf_C000113509Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037393Member" id="jhf_C000037393Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037394Member" id="jhf_C000037394Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106465Member" id="jhf_C000106465Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000013656Member" id="jhf_S000013656Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037374Member" id="jhf_C000037374Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153961Member" id="jhf_C000153961Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000113508Member" id="jhf_C000113508Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037382Member" id="jhf_C000037382Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037383Member" id="jhf_C000037383Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106464Member" id="jhf_C000106464Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000013655Member" id="jhf_S000013655Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037363Member" id="jhf_C000037363Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153960Member" id="jhf_C000153960Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000113507Member" id="jhf_C000113507Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037371Member" id="jhf_C000037371Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037372Member" id="jhf_C000037372Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106463Member" id="jhf_C000106463Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000013654Member" id="jhf_S000013654Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037352Member" id="jhf_C000037352Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153959Member" id="jhf_C000153959Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000113506Member" id="jhf_C000113506Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037360Member" id="jhf_C000037360Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037361Member" id="jhf_C000037361Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106462Member" id="jhf_C000106462Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000013653Member" id="jhf_S000013653Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037341Member" id="jhf_C000037341Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153958Member" id="jhf_C000153958Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000113505Member" id="jhf_C000113505Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037349Member" id="jhf_C000037349Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037350Member" id="jhf_C000037350Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106461Member" id="jhf_C000106461Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000013652Member" id="jhf_S000013652Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037330Member" id="jhf_C000037330Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153957Member" id="jhf_C000153957Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000113504Member" id="jhf_C000113504Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037338Member" id="jhf_C000037338Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037339Member" id="jhf_C000037339Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106460Member" id="jhf_C000106460Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassAIR2R5R6Member" id="jhf_ClassAIR2R5R6Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000013649Member" id="jhf_S000013649Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037307Member" id="jhf_C000037307Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000153956Member" id="jhf_C000153956Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000113503Member" id="jhf_C000113503Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037308Member" id="jhf_C000037308Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106459Member" id="jhf_C000106459Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000003360Member" id="jhf_S000003360Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="Russell3000IndexMember" id="jhf_Russell3000IndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="Russell2000GrowthIndexMember" id="jhf_Russell2000GrowthIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000141730Member" id="jhf_C000141730Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000141733Member" id="jhf_C000141733Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000141734Member" id="jhf_C000141734Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000141736Member" id="jhf_C000141736Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000141738Member" id="jhf_C000141738Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000141731Member" id="jhf_C000141731Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="HealthcaresectorriskMember" id="jhf_HealthcaresectorriskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000003319Member" id="jhf_S000003319Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="BloombergGlobalAggregateBondUSDHedgedIndexMember" id="jhf_BloombergGlobalAggregateBondUSDHedgedIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="BloombergGlobalAggregateBondIndexMember" id="jhf_BloombergGlobalAggregateBondIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000218633Member" id="jhf_C000218633Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000218634Member" id="jhf_C000218634Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000218631Member" id="jhf_C000218631Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000218632Member" id="jhf_C000218632Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000003356Member" id="jhf_S000003356Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="DowJonesUSSelectREITIndexMember" id="jhf_DowJonesUSSelectREITIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000223234Member" id="jhf_C000223234Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000223235Member" id="jhf_C000223235Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000223236Member" id="jhf_C000223236Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000223233Member" id="jhf_C000223233Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ConcentrationRiskMember" id="jhf_ConcentrationRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000003363Member" id="jhf_S000003363Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000199365Member" id="jhf_C000199365Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000199366Member" id="jhf_C000199366Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000199363Member" id="jhf_C000199363Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000199364Member" id="jhf_C000199364Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SmallCompanyRiskMember" id="jhf_SmallCompanyRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000009819Member" id="jhf_S000009819Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="Russell2000ValueIndexMember" id="jhf_Russell2000ValueIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000135638Member" id="jhf_C000135638Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000135639Member" id="jhf_C000135639Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000135640Member" id="jhf_C000135640Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassACIR2R6Member" id="jhf_ClassACIR2R6Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000009820Member" id="jhf_S000009820Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000085587Member" id="jhf_C000085587Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000085588Member" id="jhf_C000085588Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000085589Member" id="jhf_C000085589Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000113502Member" id="jhf_C000113502Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000106458Member" id="jhf_C000106458Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="DefaultedDebtRiskMember" id="jhf_DefaultedDebtRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ClassNAVMember" id="jhf_ClassNAVMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000008867Member" id="jhf_C000008867Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000003312Member" id="jhf_S000003312Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000008876Member" id="jhf_C000008876Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000030799Member" id="jhf_S000030799Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SixtySandP500Index40BloombergUSAggregateBondIndexMember" id="jhf_SixtySandP500Index40BloombergUSAggregateBondIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000095456Member" id="jhf_C000095456Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="ConvertibleSecuritiesRiskMember" id="jhf_ConvertibleSecuritiesRiskMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000003313Member" id="jhf_S000003313Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000008885Member" id="jhf_C000008885Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000047776Member" id="jhf_C000047776Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000082348Member" id="jhf_C000082348Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000008921Member" id="jhf_C000008921Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000056652Member" id="jhf_C000056652Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000116036Member" id="jhf_C000116036Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000127065Member" id="jhf_C000127065Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000034046Member" id="jhf_S000034046Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="LipperHealthBiotechnologyIndexMember" id="jhf_LipperHealthBiotechnologyIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000104936Member" id="jhf_C000104936Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000003320Member" id="jhf_S000003320Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="BloombergUSHighYield2IssuerCappedIndexMember" id="jhf_BloombergUSHighYield2IssuerCappedIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000008948Member" id="jhf_C000008948Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000026876Member" id="jhf_C000026876Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000055170Member" id="jhf_S000055170Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="MSCIACWIexUSAIndexMember" id="jhf_MSCIACWIexUSAIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000173477Member" id="jhf_C000173477Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000024677Member" id="jhf_S000024677Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="RussellMidcapValueIndexMember" id="jhf_RussellMidcapValueIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000073278Member" id="jhf_C000073278Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000219602Member" id="jhf_C000219602Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000009220Member" id="jhf_C000009220Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000008939Member" id="jhf_C000008939Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000009188Member" id="jhf_C000009188Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000009815Member" id="jhf_S000009815Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="SPNorthAmericanTechnologyIndexMember" id="jhf_SPNorthAmericanTechnologyIndexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000027161Member" id="jhf_C000027161Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000009243Member" id="jhf_C000009243Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000027197Member" id="jhf_C000027197Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000027206Member" id="jhf_C000027206Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="S000055171Member" id="jhf_S000055171Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000173478Member" id="jhf_C000173478Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="Class1Member" id="jhf_Class1Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000008868Member" id="jhf_C000008868Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000008877Member" id="jhf_C000008877Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000008886Member" id="jhf_C000008886Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000008922Member" id="jhf_C000008922Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000056650Member" id="jhf_C000056650Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000008949Member" id="jhf_C000008949Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000221529Member" id="jhf_C000221529Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000167628Member" id="jhf_C000167628Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000138480Member" id="jhf_C000138480Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132799Member" id="jhf_C000132799Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132791Member" id="jhf_C000132791Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132783Member" id="jhf_C000132783Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132775Member" id="jhf_C000132775Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132767Member" id="jhf_C000132767Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132759Member" id="jhf_C000132759Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132751Member" id="jhf_C000132751Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132750Member" id="jhf_C000132750Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000132735Member" id="jhf_C000132735Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134634Member" id="jhf_C000134634Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134661Member" id="jhf_C000134661Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134643Member" id="jhf_C000134643Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134670Member" id="jhf_C000134670Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000134652Member" id="jhf_C000134652Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000221540Member" id="jhf_C000221540Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000167626Member" id="jhf_C000167626Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000138478Member" id="jhf_C000138478Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037417Member" id="jhf_C000037417Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037406Member" id="jhf_C000037406Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037395Member" id="jhf_C000037395Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037384Member" id="jhf_C000037384Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037373Member" id="jhf_C000037373Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037362Member" id="jhf_C000037362Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037351Member" id="jhf_C000037351Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037340Member" id="jhf_C000037340Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000037309Member" id="jhf_C000037309Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000009221Member" id="jhf_C000009221Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000008940Member" id="jhf_C000008940Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element name="C000009189Member" id="jhf_C000009189Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
</schema>
