CINXE.COM

How Morgan McSweeney Got His Big Break

<!doctype html> <html lang="en" class="no-js"> <head><!-- InMobi Choice. Consent Manager Tag v3.0 (for TCF 2.2) --> <script type="text/javascript" async=true> (function() { var host = window.location.hostname; var element = document.createElement('script'); var firstScript = document.getElementsByTagName('script')[0]; var url = 'https://cmp.inmobi.com' .concat('/choice/', '1C3fJ9awG115y', '/', host, '/choice.js?tag_version=V3'); var uspTries = 0; var uspTriesLimit = 3; element.async = true; element.type = 'text/javascript'; element.src = url; firstScript.parentNode.insertBefore(element, firstScript); function makeStub() { var TCF_LOCATOR_NAME = '__tcfapiLocator'; var queue = []; var win = window; var cmpFrame; function addFrame() { var doc = win.document; var otherCMP = !!(win.frames[TCF_LOCATOR_NAME]); if (!otherCMP) { if (doc.body) { var iframe = doc.createElement('iframe'); iframe.style.cssText = 'display:none'; iframe.name = TCF_LOCATOR_NAME; doc.body.appendChild(iframe); } else { setTimeout(addFrame, 5); } } return !otherCMP; } function tcfAPIHandler() { var gdprApplies; var args = arguments; if (!args.length) { return queue; } else if (args[0] === 'setGdprApplies') { if ( args.length > 3 && args[2] === 2 && typeof args[3] === 'boolean' ) { gdprApplies = args[3]; if (typeof args[2] === 'function') { args[2]('set', true); } } } else if (args[0] === 'ping') { var retr = { gdprApplies: gdprApplies, cmpLoaded: false, cmpStatus: 'stub' }; if (typeof args[2] === 'function') { args[2](retr); } } else { if(args[0] === 'init' && typeof args[3] === 'object') { args[3] = Object.assign(args[3], { tag_version: 'V3' }); } queue.push(args); } } function postMessageEventHandler(event) { var msgIsString = typeof event.data === 'string'; var json = {}; try { if (msgIsString) { json = JSON.parse(event.data); } else { json = event.data; } } catch (ignore) {} var payload = json.__tcfapiCall; if (payload) { window.__tcfapi( payload.command, payload.version, function(retValue, success) { var returnMsg = { __tcfapiReturn: { returnValue: retValue, success: success, callId: payload.callId } }; if (msgIsString) { returnMsg = JSON.stringify(returnMsg); } if (event && event.source && event.source.postMessage) { event.source.postMessage(returnMsg, '*'); } }, payload.parameter ); } } while (win) { try { if (win.frames[TCF_LOCATOR_NAME]) { cmpFrame = win; break; } } catch (ignore) {} if (win === window.top) { break; } win = win.parent; } if (!cmpFrame) { addFrame(); win.__tcfapi = tcfAPIHandler; win.addEventListener('message', postMessageEventHandler, false); } }; makeStub(); function makeGppStub() { const CMP_ID = 10; const SUPPORTED_APIS = [ '2:tcfeuv2', '6:uspv1', '7:usnatv1', '8:usca', '9:usvav1', '10:uscov1', '11:usutv1', '12:usctv1' ]; window.__gpp_addFrame = function (n) { if (!window.frames[n]) { if (document.body) { var i = document.createElement("iframe"); i.style.cssText = "display:none"; i.name = n; document.body.appendChild(i); } else { window.setTimeout(window.__gpp_addFrame, 10, n); } } }; window.__gpp_stub = function () { var b = arguments; __gpp.queue = __gpp.queue || []; __gpp.events = __gpp.events || []; if (!b.length || (b.length == 1 && b[0] == "queue")) { return __gpp.queue; } if (b.length == 1 && b[0] == "events") { return __gpp.events; } var cmd = b[0]; var clb = b.length > 1 ? b[1] : null; var par = b.length > 2 ? b[2] : null; if (cmd === "ping") { clb( { gppVersion: "1.1", // must be “Version.Subversion”, current: “1.1” cmpStatus: "stub", // possible values: stub, loading, loaded, error cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled signalStatus: "not ready", // possible values: not ready, ready supportedAPIs: SUPPORTED_APIS, // list of supported APIs cmpId: CMP_ID, // IAB assigned CMP ID, may be 0 during stub/loading sectionList: [], applicableSections: [-1], gppString: "", parsedSections: {}, }, true ); } else if (cmd === "addEventListener") { if (!("lastId" in __gpp)) { __gpp.lastId = 0; } __gpp.lastId++; var lnr = __gpp.lastId; __gpp.events.push({ id: lnr, callback: clb, parameter: par, }); clb( { eventName: "listenerRegistered", listenerId: lnr, // Registered ID of the listener data: true, // positive signal pingData: { gppVersion: "1.1", // must be “Version.Subversion”, current: “1.1” cmpStatus: "stub", // possible values: stub, loading, loaded, error cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled signalStatus: "not ready", // possible values: not ready, ready supportedAPIs: SUPPORTED_APIS, // list of supported APIs cmpId: CMP_ID, // list of supported APIs sectionList: [], applicableSections: [-1], gppString: "", parsedSections: {}, }, }, true ); } else if (cmd === "removeEventListener") { var success = false; for (var i = 0; i < __gpp.events.length; i++) { if (__gpp.events[i].id == par) { __gpp.events.splice(i, 1); success = true; break; } } clb( { eventName: "listenerRemoved", listenerId: par, // Registered ID of the listener data: success, // status info pingData: { gppVersion: "1.1", // must be “Version.Subversion”, current: “1.1” cmpStatus: "stub", // possible values: stub, loading, loaded, error cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled signalStatus: "not ready", // possible values: not ready, ready supportedAPIs: SUPPORTED_APIS, // list of supported APIs cmpId: CMP_ID, // CMP ID sectionList: [], applicableSections: [-1], gppString: "", parsedSections: {}, }, }, true ); } else if (cmd === "hasSection") { clb(false, true); } else if (cmd === "getSection" || cmd === "getField") { clb(null, true); } //queue all other commands else { __gpp.queue.push([].slice.apply(b)); } }; window.__gpp_msghandler = function (event) { var msgIsString = typeof event.data === "string"; try { var json = msgIsString ? JSON.parse(event.data) : event.data; } catch (e) { var json = null; } if (typeof json === "object" && json !== null && "__gppCall" in json) { var i = json.__gppCall; window.__gpp( i.command, function (retValue, success) { var returnMsg = { __gppReturn: { returnValue: retValue, success: success, callId: i.callId, }, }; event.source.postMessage(msgIsString ? JSON.stringify(returnMsg) : returnMsg, "*"); }, "parameter" in i ? i.parameter : null, "version" in i ? i.version : "1.1" ); } }; if (!("__gpp" in window) || typeof window.__gpp !== "function") { window.__gpp = window.__gpp_stub; window.addEventListener("message", window.__gpp_msghandler, false); window.__gpp_addFrame("__gppLocator"); } }; makeGppStub(); var uspStubFunction = function() { var arg = arguments; if (typeof window.__uspapi !== uspStubFunction) { setTimeout(function() { if (typeof window.__uspapi !== 'undefined') { window.__uspapi.apply(window.__uspapi, arg); } }, 500); } }; var checkIfUspIsReady = function() { uspTries++; if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) { console.warn('USP is not accessible'); } else { clearInterval(uspInterval); } }; if (typeof window.__uspapi === 'undefined') { window.__uspapi = uspStubFunction; var uspInterval = setInterval(checkIfUspIsReady, 6000); } })(); </script> <!-- End InMobi Choice. Consent Manager Tag v3.0 (for TCF 2.2) --><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="language" content="en" /><meta name="generator" content="Isle Interactive Ltd" /><meta name="designer" content="Isle Interactive Ltd" /><meta name="viewport" content="initial-scale=1.0, width=device-width" /><meta name="format-detection" content="telephone=no" /><meta name="application-name" content="Politics Home" /><meta name="msapplication-TileColor" content="#00a3a6" /><meta name="msapplication-config" content="/_img/_favicons/browserconfig.xml" /><meta name="theme-color" content="#ffffff" /><meta name="msvalidate.01" content="5DB9482504A0A33AC4ADD47C27D0A9A6" /><meta name="facebook-domain-verification" content="sqchx5zsgx9bqaexjh0kg611jb4qar" /> <meta name="robots" content="index, follow" /> <meta name="revisit-after" content="14 days" /><link rel="stylesheet" media="screen" href="https://res.cloudinary.com/dyw8mv3b0/raw/upload/css/core-v8.min.css" /><link rel="stylesheet" media="screen" href="https://res.cloudinary.com/dyw8mv3b0/raw/upload/css/layout-v24.min.css" /> <!--link rel="stylesheet" href="/_styles/layout-v12.css?v8" media="screen" /--> <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,400i,600,600i,700&amp;display=swap" rel="stylesheet" /><link rel="shortcut icon" href="/favicon.ico" /><link rel="icon" type="image/png" sizes="32x32" href="https://res.cloudinary.com/dyw8mv3b0/image/upload/img/_favicons/favicon-32x32.png" /><link rel="icon" type="image/png" sizes="16x16" href="https://res.cloudinary.com/dyw8mv3b0/image/upload/img/_favicons/favicon-16x16.png" /><link rel="apple-touch-icon" sizes="180x180" href="https://res.cloudinary.com/dyw8mv3b0/image/upload/img/_favicons/apple-touch-icon.png" /><link rel="manifest" href="/_img/_favicons/manifest.json" /><link rel="mask-icon" color="#00a3a6" href="https://res.cloudinary.com/dyw8mv3b0/image/upload/img/_favicons/safari-pinned-tab.svg" /> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> <script>!window.jQuery && document.write('<script src="/_scripts/jquery.js"><\/script>')</script> <script src="https://res.cloudinary.com/dyw8mv3b0/raw/upload/js/modernizr.min.js?v1"></script> <script src="/_scripts/core-v7.js?v1"></script> <script src="https://res.cloudinary.com/dyw8mv3b0/raw/upload/js/plugins.min.js?1e"></script> <!-- THEMES --> <!-- ADVERTISING - START --> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script> window.googletag = window.googletag || {cmd: []}; </script> <script> // define variables to hold gpt slot objects var gptSlots = []; var slot1,slot2,slot3,slot4,slot5,slot6,slot7,slot8; googletag.cmd.push(function() { headerMapping = googletag.sizeMapping(). addSize([0, 0], [1, 1]). addSize([320, 0], [[320, 50], [320, 100]]). addSize([801, 0], [[468, 60], [728, 90]]). addSize([1201, 0], [[970, 90], [970, 250], [728, 90]]). build(); leftmpuMapping = googletag.sizeMapping(). addSize([0, 0], [1, 1]). addSize([300, 0], [300, 250]). addSize([851, 0], [[300, 600], [300, 250]]). addSize([1201, 0], [[300, 1050], [300, 600], [300, 250]]). build(); rightmpuMapping = googletag.sizeMapping(). addSize([0, 0], [1, 1]). addSize([300, 0], [300, 250]). addSize([851, 0], [[300, 600], [300, 250]]). build(); skinMapping = googletag.sizeMapping(). addSize([1201, 0], [1, 1]). build(); slot1 = googletag.defineSlot('/1048162/ph/news-article_header', [[320, 50], [970, 250], [970, 90], [320, 100], [1, 1], [728, 90]], 'div-gpt-ad-1608230097163-0').defineSizeMapping(headerMapping).setTargeting('lazyload').addService(googletag.pubads()); slot2 = googletag.defineSlot('/1048162/ph/news-article_left-side-top', [300, 250], 'div-gpt-ad-1608230097163-1').setTargeting('lazyload').addService(googletag.pubads()); slot3 = googletag.defineSlot('/1048162/ph/news-article_left-side-bot', [[300, 1050], [300, 600], [300, 250]], 'div-gpt-ad-1608230097163-2').defineSizeMapping(leftmpuMapping).setTargeting('lazyload').addService(googletag.pubads()); slot4 = googletag.defineSlot('/1048162/ph/news-article_right-side-top', [300, 250], 'div-gpt-ad-1608230097163-3').setTargeting('lazyload').addService(googletag.pubads()); slot5 = googletag.defineSlot('/1048162/ph/news-article_right-side-bot', [[300, 1050], [300, 600], [300, 250]], 'div-gpt-ad-1608230097163-4').defineSizeMapping(rightmpuMapping).setTargeting('lazyload').addService(googletag.pubads()); slot6 = googletag.defineSlot('/1048162/ph/news-article_teads', [1, 1], 'div-gpt-ad-1608230097163-5').setTargeting('lazyload').addService(googletag.pubads()); slot7 = googletag.defineSlot('/1048162/ph/news-article_inarticle', [[1, 1], [300, 250]], 'div-gpt-ad-1608230097163-6').setTargeting('lazyload').addService(googletag.pubads()); slot8 = googletag.defineSlot('/1048162/ph/news-article_skin', [1, 1], 'div-gpt-ad-1608230097163-7').defineSizeMapping(skinMapping).setTargeting('lazyload').addService(googletag.pubads()); googletag.defineSlot('/1048162/ph/news-article_pixel-1', [1, 1], 'div-gpt-ad-1608230097163-8').setTargeting('lazyload').addService(googletag.pubads()); googletag.defineSlot('/1048162/ph/news-article_pixel-2', [1, 1], 'div-gpt-ad-1608230097163-9').setTargeting('lazyload').addService(googletag.pubads()); googletag.pubads().disableInitialLoad(); googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.pubads().enableLazyLoad({ fetchMarginPercent: 200, renderMarginPercent: 100, mobileScaling: 2.0 }); googletag.enableServices();googletag.pubads().setTargeting("environment","production"); googletag.pubads().setTargeting("articleid","89610"); googletag.pubads().setTargeting("topic",["Political parties"]); googletag.pubads().setTargeting("articletype","News"); gptSlots.push(slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8); }); </script> <!-- ADVERTISING - END --> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-4050390-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-4050390-1'); </script> <script>(function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,"script","//www.google-analytics.com/analytics.js","ga");ga("create", "UA-4050390-1", {"cookieDomain":"auto"});ga("require", "linkid", "linkid.js");ga("require", "displayfeatures");ga("set", "dimension14", "3ce4059e-a785-4358-9f33-210aaaa19f86");</script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KSBMMTW');</script> <!-- End Google Tag Manager --> <script type="text/javascript"> var _elqQ = _elqQ || []; _elqQ.push(['elqSetSiteId', '1690315']); _elqQ.push(['elqTrackPageView']); (function () { function async_load() { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//img06.en25.com/i/elqCfg.min.js'; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } if (window.addEventListener) window.addEventListener('DOMContentLoaded', async_load, false); else if (window.attachEvent) window.attachEvent('onload', async_load); })(); </script> <!-- Poool Tracking --> <script id="poool-engage" src="https://assets.poool.fr/engage.min.js" async></script> <script> const script = document.getElementById('poool-engage'); script.addEventListener('load', function() { Engage.init('B7H7E-5SALK-J1YCN-ZNZ63') .autoCreate(); }); </script> <!-- Poool Tracking End--> <!--Pushly Code--> <script src="https://cdn.p-n.io/pushly-sdk.min.js?domain_key=JDE9z69aMjaS3m7SoHbuqrOoyOZ53fpAFjvC" async></script> <script> window.PushlySDK = window.PushlySDK || []; function pushly() { window.PushlySDK.push(arguments) } pushly('load', { domainKey: 'JDE9z69aMjaS3m7SoHbuqrOoyOZ53fpAFjvC', sw: '/assets/pushly/pushly-sdk-worker.js' }); </script> <!--Pushly Code End--> <link rel="canonical" href="https://www.politicshome.com/news/article/morgan-mcsweeney-got-big-break" /> <meta property="og:site_name" content="Politics Home" /> <meta property="og:locale" content="en_GB" /> <meta property="og:title" content="How Morgan McSweeney Got His Big Break" /> <meta property="og:description" content="Now he’s Keir Starmer’s all-powerful chief of staff but 18 years ago he was an unproven novice. Francis Elliott reports on how Lambeth set Morgan M..." /> <meta property="og:url" content="https://www.politicshome.com/news/article/morgan-mcsweeney-got-big-break" /> <meta property="og:image" content="https://res.cloudinary.com/dyw8mv3b0/image/upload/q_85,w_1200,h_1200,c_limit/v1/news/2024_10/2XJ394A_xukol8.jpg" /> <meta property="og:image:type" content="image/jpeg" /> <meta property="og:type" content="article" /> <meta property="article:published_time" content="2024-10-29 13:36:10" /> <meta property="article:modified_time" content="2024-10-29 16:49:44" /> <meta name="Description" content="Now he’s Keir Starmer’s all-powerful chief of staff but 18 years ago he was an unproven novice. Francis Elliott reports on how Lambeth set Morgan McSw..." /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@politicshome" /> <meta name="twitter:url" content="https://www.politicshome.com/news/article/morgan-mcsweeney-got-big-break" /> <meta name="twitter:title" content="How Morgan McSweeney Got His Big Break" /> <meta name="twitter:description" content="Now he’s Keir Starmer’s all-powerful chief of staff but 18 years ago he was an unproven novice. Francis Elliott reports on how Lambeth set Morgan McSweeney on the path to No 10" /> <meta name="twitter:image" content="https://res.cloudinary.com/dyw8mv3b0/image/upload/q_85,w_1200,h_1200,c_limit/v1/news/2024_10/2XJ394A_xukol8.jpg" /> <title> How Morgan McSweeney Got His Big Break </title></head> <body > <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KSBMMTW" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <form method="post" action="/news/article/morgan-mcsweeney-got-big-break" id="form1"> <div class="aspNetHidden"> <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /> <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE5Njg1MzgzMTcPZBYCZg9kFgRmD2QWFgISDxYCHgRocmVmBUNodHRwczovL3Jlcy5jbG91ZGluYXJ5LmNvbS9keXc4bXYzYjAvcmF3L3VwbG9hZC9jc3MvY29yZS12OC5taW4uY3NzZAITDxYCHwAFRmh0dHBzOi8vcmVzLmNsb3VkaW5hcnkuY29tL2R5dzhtdjNiMC9yYXcvdXBsb2FkL2Nzcy9sYXlvdXQtdjI0Lm1pbi5jc3NkAhcPFgIfAAVRaHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vZHl3OG12M2IwL2ltYWdlL3VwbG9hZC9pbWcvX2Zhdmljb25zL2Zhdmljb24tMzJ4MzIucG5nZAIYDxYCHwAFUWh0dHBzOi8vcmVzLmNsb3VkaW5hcnkuY29tL2R5dzhtdjNiMC9pbWFnZS91cGxvYWQvaW1nL19mYXZpY29ucy9mYXZpY29uLTE2eDE2LnBuZ2QCGQ8WAh8ABVRodHRwczovL3Jlcy5jbG91ZGluYXJ5LmNvbS9keXc4bXYzYjAvaW1hZ2UvdXBsb2FkL2ltZy9fZmF2aWNvbnMvYXBwbGUtdG91Y2gtaWNvbi5wbmdkAhsPFgIfAAVVaHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vZHl3OG12M2IwL2ltYWdlL3VwbG9hZC9pbWcvX2Zhdmljb25zL3NhZmFyaS1waW5uZWQtdGFiLnN2Z2QCHA8VAjNodHRwczovL3Jlcy5jbG91ZGluYXJ5LmNvbS9keXc4bXYzYjAvcmF3L3VwbG9hZC9qcy8zaHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vZHl3OG12M2IwL3Jhdy91cGxvYWQvanMvZAIeD2QWBAIBDxYCHgRUZXh0BYMadmFyIHNsb3QxLHNsb3QyLHNsb3QzLHNsb3Q0LHNsb3Q1LHNsb3Q2LHNsb3Q3LHNsb3Q4OwogIGdvb2dsZXRhZy5jbWQucHVzaChmdW5jdGlvbigpIHsKCiAgICAgICAgaGVhZGVyTWFwcGluZyA9IGdvb2dsZXRhZy5zaXplTWFwcGluZygpLgogIAkJCWFkZFNpemUoWzAsIDBdLCBbMSwgMV0pLgogIAkJCWFkZFNpemUoWzMyMCwgMF0sIFtbMzIwLCA1MF0sIFszMjAsIDEwMF1dKS4KICAJCQlhZGRTaXplKFs4MDEsIDBdLCBbWzQ2OCwgNjBdLCBbNzI4LCA5MF1dKS4KICAJCQlhZGRTaXplKFsxMjAxLCAwXSwgW1s5NzAsIDkwXSwgWzk3MCwgMjUwXSwgWzcyOCwgOTBdXSkuCiAgCQkJYnVpbGQoKTsKCiAgICAgICAgbGVmdG1wdU1hcHBpbmcgPSBnb29nbGV0YWcuc2l6ZU1hcHBpbmcoKS4KICAJCQlhZGRTaXplKFswLCAwXSwgWzEsIDFdKS4KICAJCQlhZGRTaXplKFszMDAsIDBdLCBbMzAwLCAyNTBdKS4KICAJCQlhZGRTaXplKFs4NTEsIDBdLCBbWzMwMCwgNjAwXSwgWzMwMCwgMjUwXV0pLgogIAkJCWFkZFNpemUoWzEyMDEsIDBdLCBbWzMwMCwgMTA1MF0sIFszMDAsIDYwMF0sIFszMDAsIDI1MF1dKS4KICAJCQlidWlsZCgpOwoKICAgICAgICByaWdodG1wdU1hcHBpbmcgPSBnb29nbGV0YWcuc2l6ZU1hcHBpbmcoKS4KICAJCQlhZGRTaXplKFswLCAwXSwgWzEsIDFdKS4KICAJCQlhZGRTaXplKFszMDAsIDBdLCBbMzAwLCAyNTBdKS4KICAJCQlhZGRTaXplKFs4NTEsIDBdLCBbWzMwMCwgNjAwXSwgWzMwMCwgMjUwXV0pLgogIAkJCWJ1aWxkKCk7CgogICAgICAgIHNraW5NYXBwaW5nID0gZ29vZ2xldGFnLnNpemVNYXBwaW5nKCkuCiAgCQkJYWRkU2l6ZShbMTIwMSwgMF0sIFsxLCAxXSkuCiAgCQkJYnVpbGQoKTsKCiAgICBzbG90MSA9IGdvb2dsZXRhZy5kZWZpbmVTbG90KCcvMTA0ODE2Mi9waC9uZXdzLWFydGljbGVfaGVhZGVyJywgW1szMjAsIDUwXSwgWzk3MCwgMjUwXSwgWzk3MCwgOTBdLCBbMzIwLCAxMDBdLCBbMSwgMV0sIFs3MjgsIDkwXV0sICdkaXYtZ3B0LWFkLTE2MDgyMzAwOTcxNjMtMCcpLmRlZmluZVNpemVNYXBwaW5nKGhlYWRlck1hcHBpbmcpLnNldFRhcmdldGluZygnbGF6eWxvYWQnKS5hZGRTZXJ2aWNlKGdvb2dsZXRhZy5wdWJhZHMoKSk7CiAgICBzbG90MiA9IGdvb2dsZXRhZy5kZWZpbmVTbG90KCcvMTA0ODE2Mi9waC9uZXdzLWFydGljbGVfbGVmdC1zaWRlLXRvcCcsIFszMDAsIDI1MF0sICdkaXYtZ3B0LWFkLTE2MDgyMzAwOTcxNjMtMScpLnNldFRhcmdldGluZygnbGF6eWxvYWQnKS5hZGRTZXJ2aWNlKGdvb2dsZXRhZy5wdWJhZHMoKSk7CiAgICBzbG90MyA9IGdvb2dsZXRhZy5kZWZpbmVTbG90KCcvMTA0ODE2Mi9waC9uZXdzLWFydGljbGVfbGVmdC1zaWRlLWJvdCcsIFtbMzAwLCAxMDUwXSwgWzMwMCwgNjAwXSwgWzMwMCwgMjUwXV0sICdkaXYtZ3B0LWFkLTE2MDgyMzAwOTcxNjMtMicpLmRlZmluZVNpemVNYXBwaW5nKGxlZnRtcHVNYXBwaW5nKS5zZXRUYXJnZXRpbmcoJ2xhenlsb2FkJykuYWRkU2VydmljZShnb29nbGV0YWcucHViYWRzKCkpOwogICAgc2xvdDQgPSBnb29nbGV0YWcuZGVmaW5lU2xvdCgnLzEwNDgxNjIvcGgvbmV3cy1hcnRpY2xlX3JpZ2h0LXNpZGUtdG9wJywgWzMwMCwgMjUwXSwgJ2Rpdi1ncHQtYWQtMTYwODIzMDA5NzE2My0zJykuc2V0VGFyZ2V0aW5nKCdsYXp5bG9hZCcpLmFkZFNlcnZpY2UoZ29vZ2xldGFnLnB1YmFkcygpKTsKICAgIHNsb3Q1ID0gZ29vZ2xldGFnLmRlZmluZVNsb3QoJy8xMDQ4MTYyL3BoL25ld3MtYXJ0aWNsZV9yaWdodC1zaWRlLWJvdCcsIFtbMzAwLCAxMDUwXSwgWzMwMCwgNjAwXSwgWzMwMCwgMjUwXV0sICdkaXYtZ3B0LWFkLTE2MDgyMzAwOTcxNjMtNCcpLmRlZmluZVNpemVNYXBwaW5nKHJpZ2h0bXB1TWFwcGluZykuc2V0VGFyZ2V0aW5nKCdsYXp5bG9hZCcpLmFkZFNlcnZpY2UoZ29vZ2xldGFnLnB1YmFkcygpKTsKICAgIHNsb3Q2ID0gZ29vZ2xldGFnLmRlZmluZVNsb3QoJy8xMDQ4MTYyL3BoL25ld3MtYXJ0aWNsZV90ZWFkcycsIFsxLCAxXSwgJ2Rpdi1ncHQtYWQtMTYwODIzMDA5NzE2My01Jykuc2V0VGFyZ2V0aW5nKCdsYXp5bG9hZCcpLmFkZFNlcnZpY2UoZ29vZ2xldGFnLnB1YmFkcygpKTsKICAgIHNsb3Q3ID0gZ29vZ2xldGFnLmRlZmluZVNsb3QoJy8xMDQ4MTYyL3BoL25ld3MtYXJ0aWNsZV9pbmFydGljbGUnLCBbWzEsIDFdLCBbMzAwLCAyNTBdXSwgJ2Rpdi1ncHQtYWQtMTYwODIzMDA5NzE2My02Jykuc2V0VGFyZ2V0aW5nKCdsYXp5bG9hZCcpLmFkZFNlcnZpY2UoZ29vZ2xldGFnLnB1YmFkcygpKTsKICAgIHNsb3Q4ID0gZ29vZ2xldGFnLmRlZmluZVNsb3QoJy8xMDQ4MTYyL3BoL25ld3MtYXJ0aWNsZV9za2luJywgWzEsIDFdLCAnZGl2LWdwdC1hZC0xNjA4MjMwMDk3MTYzLTcnKS5kZWZpbmVTaXplTWFwcGluZyhza2luTWFwcGluZykuc2V0VGFyZ2V0aW5nKCdsYXp5bG9hZCcpLmFkZFNlcnZpY2UoZ29vZ2xldGFnLnB1YmFkcygpKTsKICAgIGdvb2dsZXRhZy5kZWZpbmVTbG90KCcvMTA0ODE2Mi9waC9uZXdzLWFydGljbGVfcGl4ZWwtMScsIFsxLCAxXSwgJ2Rpdi1ncHQtYWQtMTYwODIzMDA5NzE2My04Jykuc2V0VGFyZ2V0aW5nKCdsYXp5bG9hZCcpLmFkZFNlcnZpY2UoZ29vZ2xldGFnLnB1YmFkcygpKTsKICAgIGdvb2dsZXRhZy5kZWZpbmVTbG90KCcvMTA0ODE2Mi9waC9uZXdzLWFydGljbGVfcGl4ZWwtMicsIFsxLCAxXSwgJ2Rpdi1ncHQtYWQtMTYwODIzMDA5NzE2My05Jykuc2V0VGFyZ2V0aW5nKCdsYXp5bG9hZCcpLmFkZFNlcnZpY2UoZ29vZ2xldGFnLnB1YmFkcygpKTsKICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVTaW5nbGVSZXF1ZXN0KCk7CiAgICBnb29nbGV0YWcucHViYWRzKCkuY29sbGFwc2VFbXB0eURpdnMoKTsKICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVMYXp5TG9hZCh7CiAgICAgICAgZmV0Y2hNYXJnaW5QZXJjZW50OiAyMDAsCiAgICAgICAgcmVuZGVyTWFyZ2luUGVyY2VudDogMTAwLAogICAgICAgIG1vYmlsZVNjYWxpbmc6IDIuMAogICAgfSk7CgogICAgZ29vZ2xldGFnLmVuYWJsZVNlcnZpY2VzKCk7Z29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygiZW52aXJvbm1lbnQiLCJwcm9kdWN0aW9uIik7DQpnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCJhcnRpY2xlaWQiLCI4OTYxMCIpOw0KZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygidG9waWMiLFsiUG9saXRpY2FsIHBhcnRpZXMiXSk7DQpnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCJhcnRpY2xldHlwZSIsIk5ld3MiKTsNCmQCAg8WAh8BBUcgZ3B0U2xvdHMucHVzaChzbG90MSwgc2xvdDIsIHNsb3QzLCBzbG90NCwgc2xvdDUsIHNsb3Q2LCBzbG90Nywgc2xvdDgpO2QCIg8WAh8BBWoNCjxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy5wb2xpdGljc2hvbWUuY29tL25ld3MvYXJ0aWNsZS9tb3JnYW4tbWNzd2VlbmV5LWdvdC1iaWctYnJlYWsiIC8+ZAIjDxYCHwEFhAcNCjxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IlBvbGl0aWNzIEhvbWUiIC8+DQo8bWV0YSBwcm9wZXJ0eT0ib2c6bG9jYWxlIiBjb250ZW50PSJlbl9HQiIgLz4NCjxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iSG93IE1vcmdhbiBNY1N3ZWVuZXkgR290IEhpcyBCaWcgQnJlYWsiIC8+DQo8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9Ik5vdyBoZeKAmXMgS2VpciBTdGFybWVy4oCZcyBhbGwtcG93ZXJmdWwgY2hpZWYgb2Ygc3RhZmYgYnV0IDE4IHllYXJzIGFnbyBoZSB3YXMgYW4gdW5wcm92ZW4gbm92aWNlLiBGcmFuY2lzIEVsbGlvdHQgcmVwb3J0cyBvbiBob3cgTGFtYmV0aCBzZXQgTW9yZ2FuIE0uLi4iIC8+DQo8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL3d3dy5wb2xpdGljc2hvbWUuY29tL25ld3MvYXJ0aWNsZS9tb3JnYW4tbWNzd2VlbmV5LWdvdC1iaWctYnJlYWsiIC8+DQo8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vcmVzLmNsb3VkaW5hcnkuY29tL2R5dzhtdjNiMC9pbWFnZS91cGxvYWQvcV84NSx3XzEyMDAsaF8xMjAwLGNfbGltaXQvdjEvbmV3cy8yMDI0XzEwLzJYSjM5NEFfeHVrb2w4LmpwZyIgLz4NCjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTp0eXBlIiBjb250ZW50PSJpbWFnZS9qcGVnIiAvPg0KPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9ImFydGljbGUiIC8+DQo8bWV0YSBwcm9wZXJ0eT0iYXJ0aWNsZTpwdWJsaXNoZWRfdGltZSIgY29udGVudD0iMjAyNC0xMC0yOSAxMzozNjoxMCIgLz4NCjxtZXRhIHByb3BlcnR5PSJhcnRpY2xlOm1vZGlmaWVkX3RpbWUiIGNvbnRlbnQ9IjIwMjQtMTAtMjkgMTY6NDk6NDQiIC8+DQpkAiQPFgIeB2NvbnRlbnQFnQFOb3cgaGXigJlzIEtlaXIgU3Rhcm1lcuKAmXMgYWxsLXBvd2VyZnVsIGNoaWVmIG9mIHN0YWZmIGJ1dCAxOCB5ZWFycyBhZ28gaGUgd2FzIGFuIHVucHJvdmVuIG5vdmljZS4gRnJhbmNpcyBFbGxpb3R0IHJlcG9ydHMgb24gaG93IExhbWJldGggc2V0IE1vcmdhbiBNY1N3Li4uZAICEGRkFgYCAQ9kFgJmD2QWDAIBD2QWAgIBDxYCHwEF2AE8IS0tIC8xMDQ4MTYyL3BoL25ld3MtYXJ0aWNsZV9oZWFkZXIgLS0+CjxkaXYgaWQ9J2Rpdi1ncHQtYWQtMTYwODIzMDA5NzE2My0wJyBjbGFzcz0icGgtYWQiPgogIDxzY3JpcHQ+IAogIGdvb2dsZXRhZy5jbWQucHVzaChmdW5jdGlvbigpIHsKICAgIGdvb2dsZXRhZy5kaXNwbGF5KCdkaXYtZ3B0LWFkLTE2MDgyMzAwOTcxNjMtMCcpOwogIH0pOwogIDwvc2NyaXB0Pgo8L2Rpdj5kAgIPFgIfAQVKDQogICAgICAgICAgICA8YSBocmVmPSIvIiBjbGFzcz0ibG9nbyBoaWRlVGV4dCI+UG9saXRpY3NIb21lPC9hPg0KICAgICAgICBkAgQPFgIfAQWCIzx1bD48bGk+PGEgaHJlZj0iLyIgdGl0bGU9IlBvbGl0aWNzaG9tZS5jb20gfCBCcmVha2luZyBwb2xpdGljcyBhbmQgcG9saXRpY2FsIG5ld3MgZm9yIFdlc3RtaW5zdGVyIGFuZCB0aGUgVUsiPjxzcGFuPkhvbWU8L3NwYW4+PC9hPjwvbGk+PGxpIGNsYXNzPSJub1N1YiBsaUhhc0NoaWxkcmVuIGxpT24iPjxhIGhyZWY9Ii9uZXdzLmh0bSIgY2xhc3M9Im9uIiB0aXRsZT0iTmV3cyB8IFBvbGl0aWNzaG9tZS5jb20iPjxzcGFuPk5ld3M8L3NwYW4+PC9hPjx1bD48bGk+PGEgaHJlZj0iL25ld3MvY29zdC1vZi1saXZpbmcuaHRtIiB0aXRsZT0iQ29zdCBvZiBMaXZpbmcgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5Db3N0IG9mIExpdmluZzwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3MvY29tbXVuaXRpZXMuaHRtIiB0aXRsZT0iQ29tbXVuaXRpZXMgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5Db21tdW5pdGllczwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3MvY3VsdHVyZS5odG0iIHRpdGxlPSJDdWx0dXJlIHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+Q3VsdHVyZTwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3MvZGVmZW5jZS5odG0iIHRpdGxlPSJEZWZlbmNlIHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+RGVmZW5jZTwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3MvZWNvbm9teS5odG0iIHRpdGxlPSJFY29ub215IHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+RWNvbm9teTwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3MvZWR1Y2F0aW9uLmh0bSIgdGl0bGU9IkVkdWNhdGlvbiB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkVkdWNhdGlvbjwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3MvZW5lcmd5Lmh0bSIgdGl0bGU9IkVuZXJneSB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkVuZXJneTwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3MvZW52aXJvbm1lbnQuaHRtIiB0aXRsZT0iRW52aXJvbm1lbnQgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5FbnZpcm9ubWVudDwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3MvZm9yZWlnbi1hZmZhaXJzLmh0bSIgdGl0bGU9IkZvcmVpZ24gQWZmYWlycyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkZvcmVpZ24gQWZmYWlyczwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3MvaGVhbHRoLWNhcmUuaHRtIiB0aXRsZT0iSGVhbHRoICZhbXA7IENhcmUgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5IZWFsdGggJiBDYXJlPC9zcGFuPjwvYT48L2xpPjxsaT48YSBocmVmPSIvbmV3cy9ob21lLWFmZmFpcnMuaHRtIiB0aXRsZT0iSG9tZSBBZmZhaXJzIHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+SG9tZSBBZmZhaXJzPC9zcGFuPjwvYT48L2xpPjxsaT48YSBocmVmPSIvbmV3cy9wb2xpdGljYWwtcGFydGllcy5odG0iIHRpdGxlPSJQb2xpdGljYWwgUGFydGllcyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPlBvbGl0aWNhbCBQYXJ0aWVzPC9zcGFuPjwvYT48L2xpPjxsaT48YSBocmVmPSIvbmV3cy9zb2NpYWwtYWZmYWlycy5odG0iIHRpdGxlPSJTb2NpYWwgQWZmYWlycyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPlNvY2lhbCBBZmZhaXJzPC9zcGFuPjwvYT48L2xpPjxsaT48YSBocmVmPSIvbmV3cy90cmFuc3BvcnQuaHRtIiB0aXRsZT0iVHJhbnNwb3J0IHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+VHJhbnNwb3J0PC9zcGFuPjwvYT48L2xpPjwvdWw+PC9saT48bGkgY2xhc3M9Im5vU3ViIGxpSGFzQ2hpbGRyZW4iPjxhIGhyZWY9Ii90aGVob3VzZS5odG0iIHRpdGxlPSJUaGUgSG91c2UgTGl2ZSB8IFBvbGl0aWNzaG9tZS5jb20iPjxzcGFuPlRoZSBIb3VzZSBMaXZlPC9zcGFuPjwvYT48dWw+PGxpPjxhIGhyZWY9Ii90aGVob3VzZS9hYm91dC10aGUtaG91c2UuaHRtIiB0aXRsZT0iVGhlIEhvdXNlIE1hZ2F6aW5lIC0gNDAgeWVhcnMgc2hpbmluZyBhIGxpZ2h0IG9uIGV2ZW50cyBpbiBQYXJsaWFtZW50Ij48c3Bhbj5UaGUgSG91c2UgTWFnYXppbmU8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vbG9uZ3JlYWRzLnBvbGl0aWNzaG9tZS5jb20vIiB0aXRsZT0iTG9uZyByZWFkcyIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuPkxvbmcgUmVhZHM8L3NwYW4+PC9hPjwvbGk+PGxpIGNsYXNzPSJsaUhhc0NoaWxkcmVuIj48YSBocmVmPSIvdGhlaG91c2UvcGFydG5lci1jb250ZW50L3dpdy5odG0iIHRpdGxlPSJXb21lbiBpbiBXZXN0bWluc3RlciI+PHNwYW4+V29tZW4gaW4gV2VzdG1pbnN0ZXI8L3NwYW4+PC9hPjx1bD48bGk+PGEgaHJlZj0iL2h1Yi93b21lbi13ZXN0bWluc3Rlci1jb252ZXJzYXRpb24iIHRpdGxlPSJJbiBDb252ZXJzYXRpb24gV2l0aCI+PHNwYW4+SW4gQ29udmVyc2F0aW9uIFdpdGg8L3NwYW4+PC9hPjwvbGk+PC91bD48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5wb2xpdGljc2hvbWUuY29tL21lbWJlcnMvZGlyZWN0b3J5Lmh0bSIgdGl0bGU9Ik1lbWJlcnMgRGlyZWN0b3J5Ij48c3Bhbj5NZW1iZXJzIERpcmVjdG9yeTwvc3Bhbj48L2E+PC9saT48bGkgY2xhc3M9Im5hdkRpc2FibGVDbGljayBsaUhhc0NoaWxkcmVuIj48YSBocmVmPSIvdGhlaG91c2UvcGFydG5lci1jb250ZW50Lmh0bSIgdGl0bGU9IlBhcnRuZXIgQ29udGVudCI+PHNwYW4+UGFydG5lciBDb250ZW50PC9zcGFuPjwvYT48dWw+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnBvbGl0aWNzaG9tZS5jb20vaHViL3RoZXBhdGh0b25ldHplcm8iIHRpdGxlPSJUaGUgUGF0aCBUbyBOZXQgWmVybyI+PHNwYW4+VGhlIFBhdGggVG8gTmV0IFplcm88L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnBvbGl0aWNzaG9tZS5jb20vaHViL2dyZWVuaW5nLW5hdGlvbiIgdGl0bGU9IkdyZWVuaW5nIHRoZSBOYXRpb24iPjxzcGFuPkdyZWVuaW5nIHRoZSBOYXRpb248L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9odWIvdGhlLWhvdXNlLWNvbm5lY3RpbmctY29tbXVuaXRpZXMiIHRpdGxlPSJDb25uZWN0aW5nIGNvbW11bml0aWVzIj48c3Bhbj5Db25uZWN0aW5nIENvbW11bml0aWVzPC9zcGFuPjwvYT48L2xpPjxsaT48YSBocmVmPSIvaHViL2VuZ2luZWVyaW5nLWEtYmV0dGVyLXdvcmxkIiB0aXRsZT0iRW5naW5lZXJpbmcgYSBiZXR0ZXIgd29ybGQiPjxzcGFuPkVuZ2luZWVyaW5nIGEgQmV0dGVyIFdvcmxkPC9zcGFuPjwvYT48L2xpPjxsaT48YSBocmVmPSIvbWVtYmVycy5odG0iIHRpdGxlPSJCZWNvbWUgYSBNZW1iZXIiPjxzcGFuPkJlY29tZSBhIE1lbWJlcjwvc3Bhbj48L2E+PC9saT48L3VsPjwvbGk+PC91bD48L2xpPjxsaT48YSBocmVmPSIvZXZlbnRzLmh0bSIgdGl0bGU9IkV2ZW50cyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkV2ZW50czwvc3Bhbj48L2E+PC9saT48bGkgY2xhc3M9Im5hdkRpc2FibGVDbGljayBuYXZNb2JUb2dnbGUgbGlIYXNDaGlsZHJlbiI+PGEgaHJlZj0iL21lbWJlcnMuaHRtIiB0aXRsZT0iTWVtYmVycyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPk1lbWJlcnM8L3NwYW4+PC9hPjx1bD48bGk+PGEgaHJlZj0iL21lbWJlcnMuaHRtIiB0aXRsZT0iTWVtYmVycyI+PHNwYW4+TWVtYmVyczwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL21lbWJlcnMvZGlyZWN0b3J5Lmh0bSIgdGl0bGU9Ik1lbWJlcnMgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5NZW1iZXJzIERpcmVjdG9yeTwvc3Bhbj48L2E+PC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJuYXZEaXNhYmxlQ2xpY2sgbmF2TW9iVG9nZ2xlIGxpSGFzQ2hpbGRyZW4iPjxhIGhyZWY9Ii9tb3JlLmh0bSIgdGl0bGU9Ik1vcmUiPjxzcGFuPk1vcmU8L3NwYW4+PC9hPjx1bD48bGk+PGEgaHJlZj0iL21vcmUvcG9kY2FzdHMuaHRtIiB0aXRsZT0iUG9kY2FzdHMgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5Qb2RjYXN0czwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL21vcmUvcnNzLWZlZWRzLmh0bSIgdGl0bGU9IlJTUyBGZWVkcyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPlJTUyBGZWVkczwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL21vcmUvY29udGFjdC11cy5odG0iIHRpdGxlPSJDb250YWN0IFVzIHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+Q29udGFjdCBVczwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL21vcmUvYWJvdXQtcG9saXRpY3Nob21lLmh0bSIgdGl0bGU9IkFib3V0IHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+QWJvdXQgUG9saXRpY3NIb21lPC9zcGFuPjwvYT48L2xpPjxsaT48YSBocmVmPSIvbW9yZS9tYXJrZXRpbmctb3Bwb3J0dW5pdGllcy5odG0iIHRpdGxlPSJNYXJrZXRpbmcgT3Bwb3J0dW5pdGllcyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPk1hcmtldGluZyBPcHBvcnR1bml0aWVzPC9zcGFuPjwvYT48L2xpPjwvdWw+PC9saT48L3VsPmQCBQ8WAh4HVmlzaWJsZWcWAgIBDxYCHwEFsg08dWwgY2xhc3M9Im5hdiBsZXZlbDIiPjxsaSBjbGFzcz0iIj48YSBocmVmPSIvbmV3cy9jb3N0LW9mLWxpdmluZy5odG0iICAgdGl0bGU9IkNvc3Qgb2YgTGl2aW5nIHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+Q29zdCBvZiBMaXZpbmc8L3NwYW4+PC9hPg0KPC9saT48bGkgY2xhc3M9IiI+PGEgaHJlZj0iL25ld3MvY29tbXVuaXRpZXMuaHRtIiAgIHRpdGxlPSJDb21tdW5pdGllcyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkNvbW11bml0aWVzPC9zcGFuPjwvYT4NCjwvbGk+PGxpIGNsYXNzPSIiPjxhIGhyZWY9Ii9uZXdzL2N1bHR1cmUuaHRtIiAgIHRpdGxlPSJDdWx0dXJlIHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+Q3VsdHVyZTwvc3Bhbj48L2E+DQo8L2xpPjxsaSBjbGFzcz0iIj48YSBocmVmPSIvbmV3cy9kZWZlbmNlLmh0bSIgICB0aXRsZT0iRGVmZW5jZSB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkRlZmVuY2U8L3NwYW4+PC9hPg0KPC9saT48bGkgY2xhc3M9IiI+PGEgaHJlZj0iL25ld3MvZWNvbm9teS5odG0iICAgdGl0bGU9IkVjb25vbXkgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5FY29ub215PC9zcGFuPjwvYT4NCjwvbGk+PGxpIGNsYXNzPSIiPjxhIGhyZWY9Ii9uZXdzL2VkdWNhdGlvbi5odG0iICAgdGl0bGU9IkVkdWNhdGlvbiB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkVkdWNhdGlvbjwvc3Bhbj48L2E+DQo8L2xpPjxsaSBjbGFzcz0iIj48YSBocmVmPSIvbmV3cy9lbmVyZ3kuaHRtIiAgIHRpdGxlPSJFbmVyZ3kgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5FbmVyZ3k8L3NwYW4+PC9hPg0KPC9saT48bGkgY2xhc3M9IiI+PGEgaHJlZj0iL25ld3MvZW52aXJvbm1lbnQuaHRtIiAgIHRpdGxlPSJFbnZpcm9ubWVudCB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkVudmlyb25tZW50PC9zcGFuPjwvYT4NCjwvbGk+PGxpIGNsYXNzPSIiPjxhIGhyZWY9Ii9uZXdzL2ZvcmVpZ24tYWZmYWlycy5odG0iICAgdGl0bGU9IkZvcmVpZ24gQWZmYWlycyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkZvcmVpZ24gQWZmYWlyczwvc3Bhbj48L2E+DQo8L2xpPjxsaSBjbGFzcz0iIj48YSBocmVmPSIvbmV3cy9oZWFsdGgtY2FyZS5odG0iICAgdGl0bGU9IkhlYWx0aCAmIENhcmUgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5IZWFsdGggJiBDYXJlPC9zcGFuPjwvYT4NCjwvbGk+PGxpIGNsYXNzPSIiPjxhIGhyZWY9Ii9uZXdzL2hvbWUtYWZmYWlycy5odG0iICAgdGl0bGU9IkhvbWUgQWZmYWlycyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkhvbWUgQWZmYWlyczwvc3Bhbj48L2E+DQo8L2xpPjxsaSBjbGFzcz0iIj48YSBocmVmPSIvbmV3cy9wb2xpdGljYWwtcGFydGllcy5odG0iICAgdGl0bGU9IlBvbGl0aWNhbCBQYXJ0aWVzIHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+UG9saXRpY2FsIFBhcnRpZXM8L3NwYW4+PC9hPg0KPC9saT48bGkgY2xhc3M9IiI+PGEgaHJlZj0iL25ld3Mvc29jaWFsLWFmZmFpcnMuaHRtIiAgIHRpdGxlPSJTb2NpYWwgQWZmYWlycyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPlNvY2lhbCBBZmZhaXJzPC9zcGFuPjwvYT4NCjwvbGk+PGxpIGNsYXNzPSIiPjxhIGhyZWY9Ii9uZXdzL3RyYW5zcG9ydC5odG0iICAgdGl0bGU9IlRyYW5zcG9ydCB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPlRyYW5zcG9ydDwvc3Bhbj48L2E+DQo8L2xpPjwvdWw+ZAIHDxYCHwEFlB08dWw+PGxpPjxhIGhyZWY9Ii8iIHRpdGxlPSJQb2xpdGljc2hvbWUuY29tIHwgQnJlYWtpbmcgcG9saXRpY3MgYW5kIHBvbGl0aWNhbCBuZXdzIGZvciBXZXN0bWluc3RlciBhbmQgdGhlIFVLIj48c3Bhbj5Ib21lPC9zcGFuPjwvYT48L2xpPjxsaSBjbGFzcz0ibm9TdWIgbGlIYXNDaGlsZHJlbiBsaU9uIj48YSBocmVmPSIvbmV3cy5odG0iIGNsYXNzPSJvbiIgdGl0bGU9Ik5ld3MgfCBQb2xpdGljc2hvbWUuY29tIj48c3Bhbj5OZXdzPC9zcGFuPjwvYT48dWw+PGxpPjxhIGhyZWY9Ii9uZXdzL2Nvc3Qtb2YtbGl2aW5nLmh0bSIgdGl0bGU9IkNvc3Qgb2YgTGl2aW5nIHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+Q29zdCBvZiBMaXZpbmc8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9uZXdzL2NvbW11bml0aWVzLmh0bSIgdGl0bGU9IkNvbW11bml0aWVzIHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+Q29tbXVuaXRpZXM8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9uZXdzL2N1bHR1cmUuaHRtIiB0aXRsZT0iQ3VsdHVyZSB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkN1bHR1cmU8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9uZXdzL2RlZmVuY2UuaHRtIiB0aXRsZT0iRGVmZW5jZSB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkRlZmVuY2U8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9uZXdzL2Vjb25vbXkuaHRtIiB0aXRsZT0iRWNvbm9teSB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkVjb25vbXk8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9uZXdzL2VkdWNhdGlvbi5odG0iIHRpdGxlPSJFZHVjYXRpb24gfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5FZHVjYXRpb248L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9uZXdzL2VuZXJneS5odG0iIHRpdGxlPSJFbmVyZ3kgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5FbmVyZ3k8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9uZXdzL2Vudmlyb25tZW50Lmh0bSIgdGl0bGU9IkVudmlyb25tZW50IHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+RW52aXJvbm1lbnQ8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9uZXdzL2ZvcmVpZ24tYWZmYWlycy5odG0iIHRpdGxlPSJGb3JlaWduIEFmZmFpcnMgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5Gb3JlaWduIEFmZmFpcnM8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9uZXdzL2hlYWx0aC1jYXJlLmh0bSIgdGl0bGU9IkhlYWx0aCAmYW1wOyBDYXJlIHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+SGVhbHRoICYgQ2FyZTwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3MvaG9tZS1hZmZhaXJzLmh0bSIgdGl0bGU9IkhvbWUgQWZmYWlycyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkhvbWUgQWZmYWlyczwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3MvcG9saXRpY2FsLXBhcnRpZXMuaHRtIiB0aXRsZT0iUG9saXRpY2FsIFBhcnRpZXMgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5Qb2xpdGljYWwgUGFydGllczwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3Mvc29jaWFsLWFmZmFpcnMuaHRtIiB0aXRsZT0iU29jaWFsIEFmZmFpcnMgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5Tb2NpYWwgQWZmYWlyczwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL25ld3MvdHJhbnNwb3J0Lmh0bSIgdGl0bGU9IlRyYW5zcG9ydCB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPlRyYW5zcG9ydDwvc3Bhbj48L2E+PC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJub1N1YiBsaUhhc0NoaWxkcmVuIj48YSBocmVmPSIvdGhlaG91c2UuaHRtIiB0aXRsZT0iVGhlIEhvdXNlIExpdmUgfCBQb2xpdGljc2hvbWUuY29tIj48c3Bhbj5UaGUgSG91c2UgTGl2ZTwvc3Bhbj48L2E+PHVsPjxsaT48YSBocmVmPSIvdGhlaG91c2UvYWJvdXQtdGhlLWhvdXNlLmh0bSIgdGl0bGU9IlRoZSBIb3VzZSBNYWdhemluZSAtIDQwIHllYXJzIHNoaW5pbmcgYSBsaWdodCBvbiBldmVudHMgaW4gUGFybGlhbWVudCI+PHNwYW4+VGhlIEhvdXNlIE1hZ2F6aW5lPC9zcGFuPjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2xvbmdyZWFkcy5wb2xpdGljc2hvbWUuY29tLyIgdGl0bGU9IkxvbmcgcmVhZHMiIHRhcmdldD0iX2JsYW5rIj48c3Bhbj5Mb25nIFJlYWRzPC9zcGFuPjwvYT48L2xpPjxsaSBjbGFzcz0ibGlIYXNDaGlsZHJlbiI+PGEgaHJlZj0iL3RoZWhvdXNlL3BhcnRuZXItY29udGVudC93aXcuaHRtIiB0aXRsZT0iV29tZW4gaW4gV2VzdG1pbnN0ZXIiPjxzcGFuPldvbWVuIGluIFdlc3RtaW5zdGVyPC9zcGFuPjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5wb2xpdGljc2hvbWUuY29tL21lbWJlcnMvZGlyZWN0b3J5Lmh0bSIgdGl0bGU9Ik1lbWJlcnMgRGlyZWN0b3J5Ij48c3Bhbj5NZW1iZXJzIERpcmVjdG9yeTwvc3Bhbj48L2E+PC9saT48bGkgY2xhc3M9Im5hdkRpc2FibGVDbGljayBsaUhhc0NoaWxkcmVuIj48YSBocmVmPSIvdGhlaG91c2UvcGFydG5lci1jb250ZW50Lmh0bSIgdGl0bGU9IlBhcnRuZXIgQ29udGVudCI+PHNwYW4+UGFydG5lciBDb250ZW50PC9zcGFuPjwvYT48L2xpPjwvdWw+PC9saT48bGk+PGEgaHJlZj0iL2V2ZW50cy5odG0iIHRpdGxlPSJFdmVudHMgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5FdmVudHM8L3NwYW4+PC9hPjwvbGk+PGxpIGNsYXNzPSJuYXZEaXNhYmxlQ2xpY2sgbmF2TW9iVG9nZ2xlIGxpSGFzQ2hpbGRyZW4iPjxhIGhyZWY9Ii9tZW1iZXJzLmh0bSIgdGl0bGU9Ik1lbWJlcnMgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5NZW1iZXJzPC9zcGFuPjwvYT48dWw+PGxpPjxhIGhyZWY9Ii9tZW1iZXJzLmh0bSIgdGl0bGU9Ik1lbWJlcnMiPjxzcGFuPk1lbWJlcnM8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9tZW1iZXJzL2RpcmVjdG9yeS5odG0iIHRpdGxlPSJNZW1iZXJzIHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+TWVtYmVycyBEaXJlY3Rvcnk8L3NwYW4+PC9hPjwvbGk+PC91bD48L2xpPjxsaSBjbGFzcz0ibmF2RGlzYWJsZUNsaWNrIG5hdk1vYlRvZ2dsZSBsaUhhc0NoaWxkcmVuIj48YSBocmVmPSIvbW9yZS5odG0iIHRpdGxlPSJNb3JlIj48c3Bhbj5Nb3JlPC9zcGFuPjwvYT48dWw+PGxpPjxhIGhyZWY9Ii9tb3JlL3BvZGNhc3RzLmh0bSIgdGl0bGU9IlBvZGNhc3RzIHwgUG9saXRpY3NIb21lLmNvbSI+PHNwYW4+UG9kY2FzdHM8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9tb3JlL3Jzcy1mZWVkcy5odG0iIHRpdGxlPSJSU1MgRmVlZHMgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5SU1MgRmVlZHM8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9tb3JlL2NvbnRhY3QtdXMuaHRtIiB0aXRsZT0iQ29udGFjdCBVcyB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkNvbnRhY3QgVXM8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii9tb3JlL2Fib3V0LXBvbGl0aWNzaG9tZS5odG0iIHRpdGxlPSJBYm91dCB8IFBvbGl0aWNzSG9tZS5jb20iPjxzcGFuPkFib3V0IFBvbGl0aWNzSG9tZTwvc3Bhbj48L2E+PC9saT48bGk+PGEgaHJlZj0iL21vcmUvbWFya2V0aW5nLW9wcG9ydHVuaXRpZXMuaHRtIiB0aXRsZT0iTWFya2V0aW5nIE9wcG9ydHVuaXRpZXMgfCBQb2xpdGljc0hvbWUuY29tIj48c3Bhbj5NYXJrZXRpbmcgT3Bwb3J0dW5pdGllczwvc3Bhbj48L2E+PC9saT48L3VsPjwvbGk+PC91bD5kAggPZBYCAgEPD2QWAh4LcGxhY2Vob2xkZXIFD0VudGVyIGtleXdvcmQvc2QCAw9kFgICAw9kFgJmD2QWBAIBD2QWAgIBDxYCHwEFBHZpZXdkAgIPZBYEZg9kFg5mD2QWBAICDxYCHwEF/gs8ZGl2IGNsYXNzPSJhdi1yZWxhdGVkICI+DQogICAgPGRpdiBjbGFzcz0ibmV3cy10aXRsZSI+DQogICAgICAgIDxzcGFuIGNsYXNzPSJudC1jYXQgaDUiPlJlbGF0ZWQ8L3NwYW4+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0ibmV3cy1pdGVtIG5ld3MtaXRlbS0tcmVsYXRlZCI+DQogICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJuaS1pbWFnZSI+DQogICAgICAgICAgICA8YSBocmVmPSIvbmV3cy9hcnRpY2xlL2tlbWktYmFkZW5vY2gtZ2l2ZXMtYWxsLW5ldy10b3J5LW1wcy1qb2JzLW9wcG9zaXRpb24iPg0KICAgICAgICAgICAgICAgIDxpbWcgZGF0YS1zaXplcz0iYXV0byIgZGF0YS1zcmM9Imh0dHBzOi8vcmVzLmNsb3VkaW5hcnkuY29tL2R5dzhtdjNiMC9pbWFnZS91cGxvYWQvY19maWxsLGdfZmFjZSxxXzgwLHdfMzQwLGhfMTcwL3YxL25ld3MvMjAyNF8xMS8yWUc0UDg4X3lzMGplNy5qcGciDQogICAgICAgICAgICAgICAgICAgIGRhdGEtc3Jjc2V0PSJodHRwczovL3Jlcy5jbG91ZGluYXJ5LmNvbS9keXc4bXYzYjAvaW1hZ2UvdXBsb2FkL2NfZmlsbCxnX2ZhY2UscV83NSx3XzI1MCxoXzEyNS92MS9uZXdzLzIwMjRfMTEvMllHNFA4OF95czBqZTcuanBnIDI1MHcsIA0KaHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vZHl3OG12M2IwL2ltYWdlL3VwbG9hZC9jX2ZpbGwsZ19mYWNlLHFfODAsd18zNDAsaF8xNzAvdjEvbmV3cy8yMDI0XzExLzJZRzRQODhfeXMwamU3LmpwZyAzNDB3IiBjbGFzcz0ibGF6eWxvYWQiIGFsdD0iS2VtaSBCYWRlbm9jaCBHaXZlcyBBbGwgMjYgTmV3IFRvcnkgTVBzIEpvYnMgSW4gT3Bwb3NpdGlvbiI+DQogICAgICAgICAgICA8L2E+DQogICAgICAgIDwvZGl2Pg0KICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9Im5pLWNvbnRlbnQiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmktdGl0bGUgaDQiPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9uZXdzL2FydGljbGUva2VtaS1iYWRlbm9jaC1naXZlcy1hbGwtbmV3LXRvcnktbXBzLWpvYnMtb3Bwb3NpdGlvbiI+S2VtaSBCYWRlbm9jaCBHaXZlcyBBbGwgMjYgTmV3IFRvcnkgTVBzIEpvYnMgSW4gT3Bwb3NpdGlvbjwvYT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuaS1hdXRob3IiPg0KICAgICAgICAgICAgICAgIEJ5IDxhIGhyZWY9Ii9uZXdzL2F1dGhvci90YWxpLWZyYXNlci1hbmQtaGFycmlldC1zeW1vbmRzLmh0bSI+VGFsaSBGcmFzZXIgYW5kIEhhcnJpZXQgU3ltb25kczwvYT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuaS1tZXRhIj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmktZGF0ZSI+PHRpbWUgZGF0ZXRpbWU9IjIwMjQtMTEtMThUMTU6NTUiIHRpdGxlPSIxOCBOb3ZlbWJlciAyMDI0IGF0IDE1OjU1Ij4xOCBOb3Y8L3RpbWU+PC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9kaXY+ZAIEDxYCHwEFOktlbWkgQmFkZW5vY2ggR2l2ZXMgQWxsIDI2IE5ldyBUb3J5IE1QcyBKb2JzIEluIE9wcG9zaXRpb25kAgwPZBYCZg8WAh8BBaqPATxkaXYgY2xhc3M9ImF2LWFydGljbGUiPg0KICAgIDxoMT5Ib3cgTW9yZ2FuIE1jU3dlZW5leSBHb3QgSGlzIEJpZyBCcmVhazwvaDE+DQoNCiAgICANCiAgICA8ZGl2IGNsYXNzPSJhdi1mZWF0SW1nIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYXYtbWFpbi1pbWciPg0KICAgICAgICAgICAgPGltZyBkYXRhLXNpemVzPSJhdXRvIiBkYXRhLXNyYz0iaHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vZHl3OG12M2IwL2ltYWdlL3VwbG9hZC9jX2ZpbGwsZ19mYWNlLHFfODUsd183MTAsaF8zNTUsZl9hdXRvL3YxL25ld3MvMjAyNF8xMC8yWEozOTRBX3h1a29sOC5qcGciDQogICAgICAgICAgICAgICAgZGF0YS1zcmNzZXQ9Imh0dHBzOi8vcmVzLmNsb3VkaW5hcnkuY29tL2R5dzhtdjNiMC9pbWFnZS91cGxvYWQvY19maWxsLGdfZmFjZSxxXzg1LHdfNDAwLGhfMjAwLGZfYXV0by92MS9uZXdzLzIwMjRfMTAvMlhKMzk0QV94dWtvbDguanBnIDQwMHcsIA0KICAgIGh0dHBzOi8vcmVzLmNsb3VkaW5hcnkuY29tL2R5dzhtdjNiMC9pbWFnZS91cGxvYWQvY19maWxsLGdfZmFjZSxxXzg1LHdfNTAwLGhfMjUwL3YxL25ld3MvMjAyNF8xMC8yWEozOTRBX3h1a29sOC5qcGcgNTAwdywgDQogICAgaHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vZHl3OG12M2IwL2ltYWdlL3VwbG9hZC9jX2ZpbGwsZ19mYWNlLHFfODUsd182MDAsaF8zMDAvdjEvbmV3cy8yMDI0XzEwLzJYSjM5NEFfeHVrb2w4LmpwZyA2MDB3LCANCiAgICBodHRwczovL3Jlcy5jbG91ZGluYXJ5LmNvbS9keXc4bXYzYjAvaW1hZ2UvdXBsb2FkL2NfZmlsbCxnX2ZhY2UscV84NSx3XzcxMCxoXzM1NS92MS9uZXdzLzIwMjRfMTAvMlhKMzk0QV94dWtvbDguanBnIDcxMHciIGNsYXNzPSJsYXp5bG9hZCIgYWx0PSJIb3cgTW9yZ2FuIE1jU3dlZW5leSBHb3QgSGlzIEJpZyBCcmVhayI+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF2LXNoYXJlIj4NCiAgICAgICAgICAgICAgICA8YSBjbGFzcz0ic2hhcmUtYnV0dG9uLWl0ZW0gc2hhcmUtYnV0dG9uLWl0ZW0tLXR3aXR0ZXIiDQogICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8veC5jb20vaW50ZW50L3R3ZWV0P3RleHQ9SG93K01vcmdhbitNY1N3ZWVuZXkrR290K0hpcytCaWcrQnJlYWsmYW1wO3VybD1odHRwczovL3d3dy5wb2xpdGljc2hvbWUuY29tJTJmbmV3cyUyZmFydGljbGUlMmZtb3JnYW4tbWNzd2VlbmV5LWdvdC1iaWctYnJlYWsiIHRhcmdldD0iX2JsYW5rIg0KICAgICAgICAgICAgICAgICAgICByZWw9Im5vb3BlbmVyIiBhcmlhLWxhYmVsPSIiPg0KICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAxNCAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjIiPjxwYXRoIGQ9Ik0xMS4wMjYgMGgyLjE0Nkw4LjQ4MyA1LjA4MyAxNCAxMkg5LjY4TDYuMjk2IDcuODA1IDIuNDI1IDEySC4yNzZsNS4wMTctNS40MzdMMCAwaDQuNDNsMy4wNTggMy44MzRMMTEuMDI2IDBabS0uNzU0IDEwLjc4MWgxLjE5TDMuNzgzIDEuMTU1SDIuNTA3bDcuNzY1IDkuNjI2WiIgc3R5bGU9ImZpbGw6I2ZmZjtmaWxsLXJ1bGU6bm9uemVybyIvPjwvc3ZnPg0KICAgICAgICAgICAgICAgIDwvYT4NCjxhIGNsYXNzPSJzaGFyZS1idXR0b24taXRlbSBzaGFyZS1idXR0b24taXRlbS0td2hhdHNhcHAiDQogICAgICAgICAgICAgICAgICAgIGhyZWY9IndoYXRzYXBwOi8vc2VuZD90ZXh0PUhvdytNb3JnYW4rTWNTd2VlbmV5K0dvdCtIaXMrQmlnK0JyZWFrJTIwaHR0cHM6Ly93d3cucG9saXRpY3Nob21lLmNvbSUyZm5ld3MlMmZhcnRpY2xlJTJmbW9yZ2FuLW1jc3dlZW5leS1nb3QtYmlnLWJyZWFrIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciINCiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iIj4NCiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0yMC4xIDMuOUMxNy45IDEuNyAxNSAuNSAxMiAuNSA1LjguNS43IDUuNi43IDExLjljMCAyIC41IDMuOSAxLjUgNS42TC42IDIzLjRsNi0xLjZjMS42LjkgMy41IDEuMyA1LjQgMS4zIDYuMyAwIDExLjQtNS4xIDExLjQtMTEuNC0uMS0yLjgtMS4yLTUuNy0zLjMtNy44ek0xMiAyMS40Yy0xLjcgMC0zLjMtLjUtNC44LTEuM2wtLjQtLjItMy41IDEgMS0zLjRMNCAxN2MtMS0xLjUtMS40LTMuMi0xLjQtNS4xIDAtNS4yIDQuMi05LjQgOS40LTkuNCAyLjUgMCA0LjkgMSA2LjcgMi44IDEuOCAxLjggMi44IDQuMiAyLjggNi43LS4xIDUuMi00LjMgOS40LTkuNSA5LjR6bTUuMS03LjFjLS4zLS4xLTEuNy0uOS0xLjktMS0uMy0uMS0uNS0uMS0uNy4xLS4yLjMtLjggMS0uOSAxLjEtLjIuMi0uMy4yLS42LjFzLTEuMi0uNS0yLjMtMS40Yy0uOS0uOC0xLjQtMS43LTEuNi0yLS4yLS4zIDAtLjUuMS0uNnMuMy0uMy40LS41Yy4yLS4xLjMtLjMuNC0uNS4xLS4yIDAtLjQgMC0uNUMxMCA5IDkuMyA3LjYgOSA3Yy0uMS0uNC0uNC0uMy0uNS0uM2gtLjZzLS40LjEtLjcuM2MtLjMuMy0xIDEtMSAyLjRzMSAyLjggMS4xIDNjLjEuMiAyIDMuMSA0LjkgNC4zLjcuMyAxLjIuNSAxLjYuNi43LjIgMS4zLjIgMS44LjEuNi0uMSAxLjctLjcgMS45LTEuMy4yLS43LjItMS4yLjItMS4zLS4xLS4zLS4zLS40LS42LS41eiIgLz4NCiAgICAgICAgICAgICAgICAgICAgPC9zdmc+DQogICAgICAgICAgICAgICAgPC9hPg0KPGEgY2xhc3M9InNoYXJlLWJ1dHRvbi1pdGVtIHNoYXJlLWJ1dHRvbi1pdGVtLS1saW5rZWRpbiINCiAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJlQXJ0aWNsZT9taW5pPXRydWUmYW1wO3VybD1odHRwczovL3d3dy5wb2xpdGljc2hvbWUuY29tJTJmbmV3cyUyZmFydGljbGUlMmZtb3JnYW4tbWNzd2VlbmV5LWdvdC1iaWctYnJlYWsmYW1wO3RpdGxlPUhvdytNb3JnYW4rTWNTd2VlbmV5K0dvdCtIaXMrQmlnK0JyZWFrJmFtcDtzdW1tYXJ5PUhvdytNb3JnYW4rTWNTd2VlbmV5K0dvdCtIaXMrQmlnK0JyZWFrJmFtcDtzb3VyY2U9aHR0cHM6Ly93d3cucG9saXRpY3Nob21lLmNvbSUyZm5ld3MlMmZhcnRpY2xlJTJmbW9yZ2FuLW1jc3dlZW5leS1nb3QtYmlnLWJyZWFrIg0KICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgYXJpYS1sYWJlbD0iIj4NCiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik02LjUgMjEuNWgtNXYtMTNoNXYxM3pNNCA2LjVDMi41IDYuNSAxLjUgNS4zIDEuNSA0czEtMi40IDIuNS0yLjRjMS42IDAgMi41IDEgMi42IDIuNSAwIDEuNC0xIDIuNS0yLjYgMi41em0xMS41IDZjLTEgMC0yIDEtMiAydjdoLTV2LTEzaDVWMTBzMS42LTEuNSA0LTEuNWMzIDAgNSAyLjIgNSA2LjN2Ni43aC01di03YzAtMS0xLTItMi0yeiIgLz4NCiAgICAgICAgICAgICAgICAgICAgPC9zdmc+DQogICAgICAgICAgICAgICAgPC9hPg0KPGEgY2xhc3M9InNoYXJlLWJ1dHRvbi1pdGVtIHNoYXJlLWJ1dHRvbi1pdGVtLS1lbWFpbCINCiAgICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOj9zdWJqZWN0PUhvdytNb3JnYW4rTWNTd2VlbmV5K0dvdCtIaXMrQmlnK0JyZWFrJmFtcDtib2R5PWh0dHBzOi8vd3d3LnBvbGl0aWNzaG9tZS5jb20lMmZuZXdzJTJmYXJ0aWNsZSUyZm1vcmdhbi1tY3N3ZWVuZXktZ290LWJpZy1icmVhayIgdGFyZ2V0PSJfc2VsZiIgcmVsPSJub29wZW5lciINCiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iIj4NCiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0yMiA0SDJDLjkgNCAwIDQuOSAwIDZ2MTJjMCAxLjEuOSAyIDIgMmgyMGMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yek03LjI1IDE0LjQzbC0zLjUgMmMtLjA4LjA1LS4xNy4wNy0uMjUuMDctLjE3IDAtLjM0LS4xLS40My0uMjUtLjE0LS4yNC0uMDYtLjU1LjE4LS42OGwzLjUtMmMuMjQtLjE0LjU1LS4wNi42OC4xOC4xNC4yNC4wNi41NS0uMTguNjh6bTQuNzUuMDdjLS4xIDAtLjItLjAzLS4yNy0uMDhsLTguNS01LjVjLS4yMy0uMTUtLjMtLjQ2LS4xNS0uNy4xNS0uMjIuNDYtLjMuNy0uMTRMMTIgMTMuNGw4LjIzLTUuMzJjLjIzLS4xNS41NC0uMDguNy4xNS4xNC4yMy4wNy41NC0uMTYuN2wtOC41IDUuNWMtLjA4LjA0LS4xNy4wNy0uMjcuMDd6bTguOTMgMS43NWMtLjEuMTYtLjI2LjI1LS40My4yNS0uMDggMC0uMTctLjAyLS4yNS0uMDdsLTMuNS0yYy0uMjQtLjEzLS4zMi0uNDQtLjE4LS42OHMuNDQtLjMyLjY4LS4xOGwzLjUgMmMuMjQuMTMuMzIuNDQuMTguNjh6IiAvPg0KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4NCiAgICAgICAgICAgICAgICA8L2E+DQo8YSBjbGFzcz0ic2hhcmUtYnV0dG9uLWl0ZW0gc2hhcmUtYnV0dG9uLWl0ZW0tLWZhY2Vib29rIg0KICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2ZhY2Vib29rLmNvbS9zaGFyZXIvc2hhcmVyLnBocD91PWh0dHBzOi8vd3d3LnBvbGl0aWNzaG9tZS5jb20lMmZuZXdzJTJmYXJ0aWNsZSUyZm1vcmdhbi1tY3N3ZWVuZXktZ290LWJpZy1icmVhayIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiDQogICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9IiI+DQogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggIGQ9Ik0xOC43NyA3LjQ2SDE0LjV2LTEuOWMwLS45LjYtMS4xIDEtMS4xaDNWLjVoLTQuMzNDMTAuMjQuNSA5LjUgMy40NCA5LjUgNS4zMnYyLjE1aC0zdjRoM3YxMmg1di0xMmgzLjg1bC40Mi00eiIgLz4NCiAgICAgICAgICAgICAgICAgICAgPC9zdmc+DQogICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxwIGNsYXNzPSJpbWctY2FwdGlvbiI+TW9yZ2FuIE1jU3dlZW5leSBhcnJpdmVzIGluIERvd25pbmcgU3RyZWV0IChjcmVkaXQsIFRheWZ1biBTYWxjaS9aVU1BIFByZXNzIFdpcmUpPC9wPg0KICAgIDwvZGl2Pg0KICAgIA0KDQogICAgDQogICAgPGRpdiBjbGFzcz0iYXYtYXV0aG9yIj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9ImF2LWF1dGhJbWciPg0KICAgICAgICAgICAgPGEgaHJlZj0iL25ld3MvYXV0aG9yL2ZyYW5jaXMtZWxsaW90dC5odG0iPg0KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vcmVzLmNsb3VkaW5hcnkuY29tL2R5dzhtdjNiMC9pbWFnZS91cGxvYWQvY19maWxsLGdfZmFjZSxxXzgwLHdfMTAwLGhfMTAwLGZfYXV0by92MS9hdXRob3IvQ2FwdHVyZV9zMW1xdjMiIGFsdD0iRnJhbmNpcyBFbGxpb3R0IiAvPg0KICAgICAgICAgICAgPC9hPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJhdi1hdXRoSW5mbyI+DQogICAgICAgICAgICA8cCBjbGFzcz0iYXYtYXV0aE5hbWUiPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9uZXdzL2F1dGhvci9mcmFuY2lzLWVsbGlvdHQuaHRtIj4NCiAgICAgICAgICAgICAgICAgICAgRnJhbmNpcyBFbGxpb3R0DQogICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPHAgY2xhc3M9ImF2LWF1dGhUd2l0dGVyIj4NCiAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9Imljb24gaWNvbi0teCIgaHJlZj0iaHR0cHM6Ly94LmNvbS9lbGxpb3R0ZW5nYWdlIj4gPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBpbWFnZS1yZW5kZXJpbmc9Im9wdGltaXplUXVhbGl0eSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZpZXdCb3g9IjAgMCA1MTIgNDYyLjc5OSI+PHBhdGggZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNNDAzLjIyOSAwaDc4LjUwNkwzMTAuMjE5IDE5Ni4wNCA1MTIgNDYyLjc5OUgzNTQuMDAyTDIzMC4yNjEgMzAxLjAwNyA4OC42NjkgNDYyLjc5OWgtNzguNTZsMTgzLjQ1NS0yMDkuNjgzTDAgMGgxNjEuOTk5bDExMS44NTYgMTQ3Ljg4TDQwMy4yMjkgMHptLTI3LjU1NiA0MTUuODA1aDQzLjUwNUwxMzguMzYzIDQ0LjUyN2gtNDYuNjhsMjgzLjk5IDM3MS4yNzh6Ii8+PC9zdmc+DQplbGxpb3R0ZW5nYWdlPC9hPg0KICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgDQoNCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgIDwvZGl2Pg0KICAgIA0KICAgIDxkaXYgY2xhc3M9ImF2LW1ldGEiPg0KICAgICAgICA8c3BhbiBjbGFzcz0iYXYtcmVhZFRpbWUiPjcgbWluIHJlYWQ8L3NwYW4+PHNwYW4gY2xhc3M9ImF2LWRhdGUiPjx0aW1lIGRhdGV0aW1lPSIyMDI0LTEwLTI5VDE4OjAwIiB0aXRsZT0iMjkgT2N0b2JlciAyMDI0IGF0IDE4OjAwIj4yOSBPY3RvYmVyPC90aW1lPjwvc3Bhbj4NCiAgICAgICAgDQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0iYXYtc3RhbmRmaXJzdCI+DQogICAgICAgIDxwPk5vdyBoZeKAmXMgS2VpciBTdGFybWVy4oCZcyBhbGwtcG93ZXJmdWwgY2hpZWYgb2Ygc3RhZmYgYnV0IDE4IHllYXJzIGFnbyBoZSB3YXMgYW4gdW5wcm92ZW4gbm92aWNlLiBGcmFuY2lzIEVsbGlvdHQgcmVwb3J0cyBvbiBob3cgTGFtYmV0aCBzZXQgTW9yZ2FuIE1jU3dlZW5leSBvbiB0aGUgcGF0aCB0byBObyAxMDwvcD4NCiAgICA8L2Rpdj4NCiAgICA8cD5Nb3JnYW4gTWNTd2VlbmV5IHdhcyBhIGp1bmlvciBMYWJvdXIgc3RhZmZlciBub3QgeWV0IDMwIHdoZW4gaGUgYXJyaXZlZCBhdCBMYW1iZXRoIGNvdW5jaWwgaW4gMjAwNi4gSGUgbGVmdCB0d28geWVhcnMgbGF0ZXIgd2l0aCBhIHJlcHV0YXRpb24gYXMgYSB3aW5uZXIsIGEgcG93ZXJmdWwgcG9saXRpY2FsIG5ldHdvcmtlciBhbmQgaGF2aW5nIHdvbiB0aGUgYWZmZWN0aW9uIG9mIHRoZSB3b21hbiBoZSB3YXMgdG8gbWFycnkuPC9wPg0KDQo8cD5NY1N3ZWVuZXkmcnNxdW87cyBlbGV2YXRpb24gdG8gPGEgaHJlZj0iL3RoZWhvdXNlL21wLWRpcmVjdG9yeS9rZWlyLXN0YXJtZXIuaHRtIiBkYXRhLWF1dG8tdGFnbGluaz0iMSI+S2VpciBTdGFybWVyPC9hPiZyc3F1bztzIGNoaWVmIG9mIHN0YWZmIGluIHBsYWNlIG9mIFN1ZSBHcmF5IGhhcyBwcm9tcHRlZCBtb3JlIG15dGgtbWFraW5nIGFib3V0IHRoZSA0Ny15ZWFyLW9sZCBJcmlzaG1hbi4gQnV0IHRob3NlIGNoYXJ0aW5nIGhpcyByaXNlIGZyb20gcmVjZXB0aW9uaXN0IHRvIE5vIDEwIGhhdmUgc28gZmFyIHBhaWQgbGl0dGxlIGF0dGVudGlvbiB0byBoaXMgZmlyc3QgYmlnIGJyZWFrLjwvcD4NCg0KPGJsb2NrcXVvdGU+DQo8cD4mbGRxdW87TW9yZ2FuIGRlZmluaXRlbHkgaGFkIGEgZmxpcnRhdGlvbiB3aXRoIHRoZSBzb2Z0IGxlZnQsJnJkcXVvOyBzYXlzIG9uZSBmb3JtZXIgY29sbGVhZ3VlPC9wPg0KPC9ibG9ja3F1b3RlPg0KDQo8cD5Db250cmFyeSB0byBzb21lIGhhZ2lvZ3JhcGh5IE1jU3dlZW5leSB3YXMgbm90IGhhbmQtcGlja2VkIGJ5IEFsYW4gTWlsYnVybiBmb3IgY29tYmF0IGF0IHRoZSBtb3N0IG1hcmdpbmFsIHNlYXRzIGR1cmluZyB0aGUgMjAwNSBlbGVjdGlvbi4gSW5kZWVkIHRoZSBmb3JtZXIgaGVhbHRoIHNlY3JldGFyeSBhbmQgY2FtcGFpZ24gZGlyZWN0b3Igc2F5cyBoZSBoYXMgbm8gbWVtb3J5IG9mIHRoZSBnaW5nZXItaGFpcmVkIHlvdW5nIHN0YWZmZXIgYXQgYWxsLiZuYnNwOzwvcD4NCg0KPHA+SW4gdHJ1dGggTWNTd2VlbmV5IG93ZXMgaGlzIGJyZWFrIHRvIDxhIGhyZWY9Ii90aGVob3VzZS9tcC1kaXJlY3Rvcnkvc3RldmUtcmVlZC5odG0iIGRhdGEtYXV0by10YWdsaW5rPSIxIj5TdGV2ZSBSZWVkPC9hPiwgdGhlbiBMYW1iZXRoJnJzcXVvO3MgY291bmNpbCBsZWFkZXIgbm93IEVudmlyb25tZW50IFNlY3JldGFyeSwgd2hvIHRvb2sgYSBjaGFuY2Ugb24gaGltIGEgeWVhciBsYXRlci4gUmVlZCZyc3F1bztzIHByZWRlY2Vzc29yIGFzIExhbWJldGggbGVhZGVyLCBKaW0gRGlja3NvbiwgcmVtZW1iZXJzIGhlIGFuZCBvdGhlcnMgcG9vbGVkIHRoZWlyIGNvdW5jaWwgYWxsb3dhbmNlcyB0byBwYXkgZm9yIGEgZnVsbC10aW1lIG9yZ2FuaXNlciBhcyBwYXJ0IG9mIGFuIGVmZm9ydCB0byB3aW4gYmFjayBmb3IgTGFib3VyIHdoYXQgaGFkIGJlY29tZSBhIHBvbGl0aWNhbCB0b3RlbS48L3A+PGRpdiBpZD0iTTkxMDA0U2NyaXB0Um9vdEMxMTQxMTE3Ij48L2Rpdj4NCjxzY3JpcHQgc3JjPSJodHRwczovL2pzYy5tZ2lkLmNvbS9wL28vcG9saXRpY3Nob21lLmNvbS4xMTQxMTE3LmpzIiBhc3luYz48L3NjcmlwdD4NCjwhLS0tLS0tLS0tLS0tLS0tLS0gU2Nyb2xsQWQgVGFnIC0tLS0tLS0tLS0tLS0tLS0tPiA8ZGl2IGlkPSJhZHN1aXRlU2Nyb2xsQWQiPjwvZGl2Pg0KPGRpdiBjbGFzcz0iY29sLS1hZCBjb2wtLWFkLWluQXJ0aWNsZSI+DQogICA8ZGl2IGlkPSdkaXYtZ3B0LWFkLTE2MDgyMzAwOTcxNjMtNicgY2xhc3M9InBoLWFkIj4NCiAgPHNjcmlwdD4NCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7IGdvb2dsZXRhZy5kaXNwbGF5KCdkaXYtZ3B0LWFkLTE2MDgyMzAwOTcxNjMtNicpOw0KCXNldEludGVydmFsKGZ1bmN0aW9uICgpIHsgZ29vZ2xldGFnLnB1YmFkcygpLnJlZnJlc2goW2dwdGFkc2xvdHNbMF1dKTsgfSwgMTIwMDAwKTsgIH0pOw0KICA8L3NjcmlwdD4NCjwvZGl2Pg0KPC9kaXY+DQoNCg0KDQo8cD5UaHJvdWdob3V0IG11Y2ggb2YgdGhlIDE5ODBzIGFuZCBpbnRvIHRoZSAxOTkwcyBMYW1iZXRoIGhhZCBiZWNvbWUgYXNzb2NpYXRlZCB3aXRoIGhhcmQtbGVmdCBvcHBvc2l0aW9uIHRvIGFuZCBwcm90ZXN0IGFnYWluc3QgTWFyZ2FyZXQgVGhhdGNoZXIuIEZpZ3VyZXMgbGlrZSBUZWQgS25pZ2h0IHdlcmUgc3RhcGxlcyBvZiB0YWJsb2lkIHJlcG9ydGluZyBvbiB0aGUgJmxzcXVvO2xvb255IGxlZnQmcnNxdW87LiBLbmlnaHQgYW5kIGhpcyBjb21yYWRlcyBzb21ldGltZXMgbWFkZSBpdCBlYXN5IGZvciB0aGUgcmlnaHQtd2luZyBwcmVzcy4gVGhleSBkZWNsYXJlZCBMYW1iZXRoICZsZHF1bzthIG51Y2xlYXIgZnJlZSB6b25lJnJkcXVvOyBhbmQgc2FuZyB0aGUgUmVkIEZsYWcgaW4gZGVmaWFuY2Ugb2YgdGhlaXIgZGlzcXVhbGlmaWNhdGlvbiBmb3IgZmFpbGluZyB0byBzZXQgcmF0ZXMuIFRoZSBjb3VuY2lsIGxlYWRlciBzYWlkIG9mIHRoZSBwb2xpY2UgcmVzcG9uc2UgdG8gdGhlIEJyaXh0b24gcmlvdHMgdGhhdCZuYnNwOyAmbGRxdW87TGFtYmV0aCBpcyBub3cgdW5kZXIgYW4gYXJteSBvZiBvY2N1cGF0aW9uJnJkcXVvOy48L3A+DQoNCjxwPkJ5IHRoZSBtaWQtOTBzLCBMYW1iZXRoIGhhZCBlbWVyZ2VkIGFzIHRoZSB2YW5ndWFyZCBvZiBhIG1vZGVybmlzZWQgcGFydHksIHRob3JvdWdobHkgcHVyZ2VkIG9mICZsc3F1bzt0aGUgVHJvdHMmcnNxdW87OiBUb255IEJsYWlyIGNhbGxlZCBpdCAmbGRxdW87bW9yZSBOZXcgTGFib3VyIHRoYW4gTmV3IExhYm91ciZyZHF1bzsuIEFtb25nIGl0cyBzdGFycyB3ZXJlIFNpbW9uIFN0ZXZlbnMsIHdobyB3YXMgbGF0ZXIgdG8gYmVjb21lIE5IUyBFbmdsYW5kIGNoaWVmIGV4ZWN1dGl2ZS48L3A+DQoNCjxwPkJ1dCBMYWJvdXIgbG9zdCBjb250cm9sIG9mIExhbWJldGggaW4gMjAwMiBpbiBhIGh1bWlsaWF0aW9uIGZvciB0aGUgQmxhaXJpdGUgcG9zdGVyLWNoaWxkIHRoYXQgUmVlZCBhbmQgb3RoZXJzIHdlcmUgZGV0ZXJtaW5lZCB0byByZXZlcnNlLiZuYnNwOyBKdXN0IGhvdyBmYXIgTWNTd2VlbmV5IHdhcyByZXNwb25zaWJsZSBmb3Igd2lubmluZyBiYWNrIHRoZSBrZXkgY291bmNpbCBhbmQgZm9yIGZvcmdpbmcgYSBuZXcgcG9saXRpY3MgdGhhdCBhbnRpY2lwYXRlZCB0aGUgPGEgaHJlZj0iL3RoZWhvdXNlL21wLWRpcmVjdG9yeS9qZXJlbXktY29yYnluLmh0bSIgZGF0YS1hdXRvLXRhZ2xpbms9IjEiPkplcmVteSBDb3JieW48L2E+IGVyYSBhbmQgaXRzIGFmdGVybWF0aCBpcyBkaXNwdXRlZCBidXQgaGlzIHBvbGl0aWNhbCBvcHBvbmVudHMgbm90aWNlZCBoaXMgaW5mbHVlbmNlIGltbWVkaWF0ZWx5LiBQZXRlciBUcnVlc2RhbGUsIHRoZSBMaWJlcmFsIERlbW9jcmF0IGxlYWRlciBvZiB0aGUgY291bmNpbCBhdCB0aGUgdGltZSwgcmVjYWxscyBydW1vdXJzIHRoYXQgdGhlIHlvdW5nIG9yZ2FuaXNlciBoYWQgYmVlbiBhIHByb21pc2VkIGEgYm9udXMgaWYgTGFib3VyIHdvbi4gRGlja3NvbiBzYXlzIGhlIGhhcyBubyByZWNvbGxlY3Rpb24gb2YgYSBib251cyBidXQgc2F5cyBNY1N3ZWVuZXkgZGlkIGluc2VydCBzb21lIGRpc2NpcGxpbmUgaW50byB0aGUgb3BlcmF0aW9uLiBIZSBwdXQgTGFib3VyIGNvdW5jaWxsb3JzIG9uICZsc3F1bztjb250cmFjdHMmcnNxdW87IHNldHRpbmcgdGFyZ2V0cyBmb3Igdm90ZXIgZW5nYWdlbWVudCBhbmQgY2FsbGluZyBvdXQgdGhvc2UgdGhhdCBmYWlsZWQgdG8gaGl0IHRoZW0uPC9wPg0KDQo8cD4mbGRxdW87SXQgd2FzIHZlcnkgdGlnaHRseSB0YXJnZXRlZCwgdmVyeSBkaXNjaXBsaW5lZCwmcmRxdW87IGFncmVlcyBUcnVlc2RhbGUgd2hvIHNheXMgdGhlIExpYiBEZW0vQ29uc2VydmF0aXZlIGNvYWxpdGlvbiBoZSBsZWQgd2FzLCBpbiBhbnkgY2FzZSwgdGlyaW5nIGFuZCBzdWZmZXJlZCBmcm9tIGJlaW5nIGluY3VtYmVudHMuIE1jU3dlZW5leSBhbmQgUmVlZCBsZWFybmVkIGZyb20gdGhlIExpYmVyYWwgRGVtb2NyYXRzIGhvdyB0byBleHBsb2l0IHZvdGVycyZyc3F1bzsgaHlwZXItbG9jYWwgY29uY2VybnMgbGlrZSB0aGUgc3RhdGUgb2YgcmVwYWlycyBvbiBjb3VuY2lsIGVzdGF0ZXMuIExpa2UgdGhlIExpYiBEZW1zIHRoZSB5b3VuZyBvcmdhbmlzZXIgd2VudCBjbG9zZSB0byB0aGUgZWRnZS4gJmxkcXVvO0kgcmVtZW1iZXIgb25lIGNhbXBhaWduIHNheWluZyB3ZSB3ZXJlIGNsb3NpbmcgQ2xhcGhhbSBzd2ltbWluZyBiYXRocywmcmRxdW87IFRydWVzZGFsZSBzYXlzLiAmbGRxdW87VGhleSBrbmV3IGZ1bGwgd2VsbCBpdCB3YXMgb25seSBiZWNhdXNlIHRoZSBiYXRocyB3ZXJlIGJlaW5nIHJlZnVyYmlzaGVkLiZyZHF1bzs8L3A+DQoNCjxwPjxpbWcgYWx0PSJNb3JnYW4gTWNTd2VlbmV5IChBbGFteSkiIGNsYXNzPSJpbmxpbmUtaW1hZ2UiIGhlaWdodD0iNjQ2IiBzcmM9Ii91Z2MtMS8xLzUxLzAvMlk5QzJZVC5qcGciIHdpZHRoPSIxMDAwIiAvPjwvcD4NCg0KPHA+TGFib3VyIHdvbiBpbiBMYW1iZXRoIGluIDIwMDYgYWdhaW5zdCBhIHRyZW5kIHRoYXQgc2F3IHRoZSBwYXJ0eSBzdWZmZXIgaXRzIHdvcnN0IHNldCBvZiByZXN1bHRzIGluIHRoZSBjYXBpdGFsIHNpbmNlIDE5NjguIFdoaWxlIHRoZSBUb3JpZXMgcmFja2VkIHVwIHN1Y2Nlc3NlcyBlbHNld2hlcmUgaW4gTG9uZG9uIGFuZCBtaW5vciBwYXJ0aWVzIGxpa2UgUmVzcGVjdCBhbmQgQk5QIGZlZCBvbiBkaXNhZmZlY3Rpb24sIFJlZWQgYW5kIExhYm91ciB3b24gYmFjayB0aGUgY3JpdGljYWwgcHJpemUuIE90aGVycyBpbnZvbHZlZCBhdCB0aGUgdGltZSBkaXNwdXRlIHRoZSBjbGFpbSB0aGF0IHRoaXMgaW1wcmVzc2l2ZSB2aWN0b3J5IHdhcyBtb3N0bHkgZG93biB0byBNY1N3ZWVuZXkuICZsZHF1bztXYXMgaXQgYm9sbG9ja3MsJnJkcXVvOyBzYXlzIGEgZm9ybWVyIGNvbGxlYWd1ZS4gJmxkcXVvO0hlIHdhcyBhIHNvbGlkLCBjb21wZXRlbnQgb3JnYW5pc2VyICZuZGFzaDsgYnV0IGEgY29nIGluIHRoZSBtYWNoaW5lIHJhdGhlciB0aGFuIHRoZSBlbmdpbmVlci4mcmRxdW87PC9wPg0KDQo8cD5SZWVkLCBob3dldmVyLCB3YXMgaW1wcmVzc2VkIGFuZCBrZXB0IE1jU3dlZW5leSBvbiBhcyBwYXJ0IG9mIGhpcyB0ZWFtIGFzIG5ldyBjb3VuY2lsIGxlYWRlci4gRGlja3NvbiBzYXlzIHRoZSB5b3VuZyBhaWRlIHN0YXJ0ZWQgdG8gc3ByZWFkIGhpcyB3aW5ncyBhbmQgZXN0YWJsaXNoIGhpcyBvd24gaWRlbnRpdHkgYW5kIG5ldHdvcmsgYXQgdGhpcyB0aW1lLiAmbGRxdW87SSByZW1lbWJlciBnb2luZyB0byBkaW5uZXIgcGFydGllcyBhbmQgYmVpbmcgYSBiaXQgc3VycHJpc2VkIHRvIHNlZSBNb3JnYW4uIEhlIHdhcyBjbGVhcmx5IGdldHRpbmcgYXJvdW5kIHRoZSBsb2NhbCBDTFBzIFtDb25zdGl0dWVuY3kgTGFib3VyIFBhcnRpZXNdIGEgYml0LiZyZHF1bzs8L3A+DQoNCjxwPkl0IHdhcywgcmVjYWxscyBhIGZyaWVuZCwgYSB5b3VuZyBhbmQgc29jaWFibGUgc2NlbmUuIEFjdGl2aXRpZXMgaW5jbHVkZWQgZml2ZS1hLXNpZGUgZm9vdGJhbGwsIGF0IHdoaWNoIE1jU3dlZW5leSB3YXMgJmxkcXVvO21lbW9yYWJseSBiYWQmcmRxdW87LCBhcyB3ZWxsIGFzIG51bWVyb3VzIHJvbWFudGljIGVudGFuZ2xlbWVudHMuICZsZHF1bztUaGVyZSB3ZXJlIGEgbG90IG9mIHJlbGF0aW9uc2hpcHMuJnJkcXVvOyBZZXQgTWNTd2VlbmV5IGhhZCBleWVzIG9ubHkgZm9yIG9uZSB3b21hbiAmbmRhc2g7IGEgU2NvdHRpc2ggYWN0cmVzcyB0dXJuZWQgU3RvY2t3ZWxsIGNvdW5jaWxsb3IuIEhpcyBwdXJzdWl0IG9mIEltb2dlbiBXYWxrZXIsIHdobyB3YXMgZWxlY3RlZCBhcyBMYWJvdXIgTVAgZm9yIEhhbWlsdG9uIGFuZCBDbHlkZSBWYWxsZXkgaW4gSnVseSwgd2FzIGNoYXJhY3RlcmlzdGljYWxseSBzaW5nbGUtbWluZGVkLiBXYWxrZXIsIHdob3NlIGNyZWRpdHMgaW5jbHVkZWQgVGFnZ2FydCBhbmQgYXMgTGluZGEgTG92ZWxhY2UgaW4gYSAyMDAyIENoYW5uZWwgNCBkb2N1bWVudGFyeSBhYm91dCB0aGUgcG9ybiBzdGFyLCBmaW5hbGx5IGZlbGwgdG8gdGhlIE1jU3dlZW5leSBzaWVnZS4gVGhlIHR3byBsYXRlciBtYXJyaWVkIGFuZCBoYXZlIGEgeW91bmcgY2hpbGQuJm5ic3A7PC9wPg0KDQo8cD5JbiB0aGUgdG93biBoYWxsLCBtZWFud2hpbGUsIFJlZWQgYW5kIE1jU3dlZW5leSB3ZXJlIGRldmVsb3BpbmcgYSBwb2xpdGljYWwgaWRlbnRpdHkgdGhhdCBhbnRpY2lwYXRlcyB0b2RheSZyc3F1bztzIExhYm91ciBwb2xpdGljcyB3aXRoIHRoZSBjb25jZXB0IG9mICZsc3F1bztjby1vcGVyYXRpdmUgY291bmNpbHMmcnNxdW87LiZuYnNwOyBKdXN0IGFzIGhlIGRpZCB0byBoZWxwIFN0YXJtZXIgd2luIHRoZSBsZWFkZXJzaGlwIHZhY2F0ZWQgYnkgQ29yYnluIGEgZGVjYWRlIGxhdGVyLCBNY1N3ZWVuZXkgaGVscGVkIGhpcyB0aGVuIGJvc3MgbmF2aWdhdGUgYSBwYXRoIHRoYXQgc291Z2h0IHRvIG1lZXQgdGhlIGRlc2lyZSBmb3IgYSBtb3JlIHJhZGljYWwgb2ZmZXIgd2l0aG91dCBhYmFuZG9uaW5nIGVjb25vbWljIG9ydGhvZG94eS48L3A+DQoNCjxwPldoZW4gdGhlIHBsdW0gcGFybGlhbWVudGFyeSBzZWF0IG9mIFN0cmVhdGhhbSBiZWNhbWUgYXZhaWxhYmxlIGluIDIwMDgsIGhvd2V2ZXIsIFJlZWQgbGVhcm5lZCBhIGhhcmQgbGVzc29uIGFib3V0IHRoZSBsaW1pdHMgb2Ygc3VjaCBwb3NpdGlvbmluZy4gSGUgd2FzIGRlZmVhdGVkIGJ5IHRoZSB0aGVuIHJpc2luZyBzdGFyIENodWthIFVtdW5uYSB3aG9zZSBhbGxpZXMgcG9ydHJheWVkIHRoZSBjb3VuY2lsIGxlYWRlciBhcyBhIEJsYWlyaXRlIHRocm93LWJhY2suICZsZHF1bztJIHRoaW5rIHRoYXQgc2hvd2VkIHNvbWV0aW1lcyBpbiBwb2xpdGljcyB5b3UgY2FuJnJzcXVvO3QgYmVhdCBhbiBpZGVhLiBUaGUgaWRlYSB0aGF0IENodWthIHdhcyAmbHNxdW87QnJpdGFpbiZyc3F1bztzIE9iYW1hJnJzcXVvOyB3YXMgY2xlYXJseSBudXRzIGJ1dCB3ZSBjb3VsZG4mcnNxdW87dCBiZWF0IGl0LCZyZHF1bzsgc2F5cyBhIFJlZWQgYWxseS4gKFVtdW5uYSB3YXMgbGF0ZXIgdG8gbGVhdmUgTGFib3VyIGFuZCBjby1mb3VuZCBUaGUgSW5kZXBlbmRlbnQgR3JvdXAsIGxhdGVyIENoYW5nZSBVSy4pPC9wPg0KDQo8cD5NY1N3ZWVuZXksIGNydWNpYWxseSBmb3IgaGlzIHJlcHV0YXRpb24gYXMgYSBzZXJpYWwgd2lubmVyLCBoYWRuJnJzcXVvO3QgYmVlbiBpbiBjaGFyZ2Ugb2YgUmVlZCZyc3F1bztzIFN0cmVhdGhhbSBjYW1wYWlnbiBidXQgd2FzIGludm9sdmVkIGluIGhpcyBmcmllbmQmcnNxdW87cyBzdWJzZXF1ZW50IGFuZCBzdWNjZXNzZnVsIGJpZCB0byB3aW4gdGhlIHNlbGVjdGlvbiBmb3IgQ3JveWRvbiBOb3J0aCBzZWF0LCB0b2dldGhlciB3aXRoIFdhbGtlciB3aG8gY29hY2hlZCBoaW0gb24gcHJvamVjdGlvbi48L3A+DQoNCjxwPkJ5IHRoZSB0aW1lIG9mIHRoZSBTdHJlYXRoYW0gdm90ZSBNY1N3ZWVuZXkgd2FzIHdvcmtpbmcgd2l0aCBhIG5ldyBjb3VuY2lsIGxlYWRlciwgTGlhbSBTbWl0aCBhdCBCYXJraW5nLiBJdCB3YXMgYW5vdGhlciBMb25kb24gYm9yb3VnaCB0aGF0IGRlZXBlbmVkIGhpcyB1bmRlcnN0YW5kaW5nIG9mIHdoYXQgTGFib3VyIG5lZWRlZCB0byBkbyBrZWVwIGl0cyB3b3JraW5nLWNsYXNzIHZvdGVycyBpbiB0aGUgZmFjZSBvZiBjaGFsbGVuZ2VzIGxpa2UgbWlncmF0aW9uLiBCb3RoIGluIExhbWJldGggYW5kIHRoZW4gaW4gQmFya2luZywgTWNTd2VlbmV5IHdhcyBwb2xpdGljYWxseSBzaW51b3VzLiBIZSBkcmV3IGNsb3NlIHRvIGZpZ3VyZXMgbGlrZSBKb24gQ3J1ZGRhcywgZm9ybWVyIE1QIGZvciBEYWdlbmhhbSBhbmQgUmFpbmhhbSwgYW5kIG90aGVycyBpbiB0aGUgQmx1ZSBMYWJvdXIgbW92ZW1lbnQgYnV0IGFsc28gdm9sdW50ZWVyZWQgb24gS2VuIExpdmluZ3N0b25lJnJzcXVvO3MgbWF5b3JhbCBjYW1wYWlnbi48L3A+DQoNCjxwPk1jU3dlZW5leSBpcyBzb21ldGltZXMgcG9ydHJheWVkIGFzIGEgZmFjdGlvbmFsICZsZHF1bztUcm90LWh1bnRlciZyZHF1bzssIGRldGVybWluZWQgdG8gcm9vdCBvdXQgZXZlcnkgbGFzdCB2ZXN0aWdlIG9mIHdoYXQgd2FzIG9uY2UgY2FsbGVkIHRoZSBDb3JieW4gJmxzcXVvO3Byb2plY3QmcnNxdW87LiBCdXQgdGhpcyBpcyB0byBtaXN1bmRlcnN0YW5kIGhpcyBwb2xpdGljcyAmbmRhc2g7IGFuZCBoaXMgcHJhZ21hdGlzbS4gJmxkcXVvO01vcmdhbiBkZWZpbml0ZWx5IGhhZCBhIGZsaXJ0YXRpb24gd2l0aCB0aGUgc29mdCBsZWZ0LCZyZHF1bzsgc2F5cyBvbmUgZm9ybWVyIGNvbGxlYWd1ZS4gRnJvbSBhdCBsZWFzdCBoaXMgTGFtYmV0aCBhcHByZW50aWNlc2hpcCBoZSBoYXMgYWxzbyBzaG93biBhIHN0cm9uZyBpbnRlcmVzdCBpbiBzZWVraW5nIHRvIHJvb3QgTGFib3VyIGluIHRoZSBjb25jZXJucyBvZiBpdHMgdHJhZGl0aW9uYWwgdm90ZXJzLiBPbmUgc3RyaWtpbmcgZGlmZmVyZW5jZSBiZXR3ZWVuIFN0YXJtZXIgYW5kIEJsYWlyIGlzIHRoZSBjdXJyZW50IFByaW1lIE1pbmlzdGVyJnJzcXVvO3Mgd2lsbGluZ25lc3MgdG8gdXNlIGNsYXNzIGluIGZyYW1pbmcgTGFib3VyJnJzcXVvO3MgbWlzc2lvbi48L3A+DQoNCjxwPldoaWxlIHRoZSBleHRlbnQgb2YgTWNTd2VlbmV5JnJzcXVvO3Mgcm9sZSBpbiB3aW5uaW5nIGJhY2sgTGFtYmV0aCBmb3IgTGFib3VyIGFuZCBsYXRlciBob2xkaW5nIG9mZiB0aGUgQk5QIGluIEJhcmtpbmcgbWF5IGJlIGRpc3B1dGVkLCB0aGVyZSBpcyBubyBkb3VidCB0aGF0IGhpcyBleHBlcmllbmNlcyBpbiBMb25kb24gcG9saXRpY3MgcHJvdmVkIGludmFsdWFibGUgaW4gY3JhZnRpbmcgU3Rhcm1lciZyc3F1bztzIHBhdGggdG8gcG93ZXIgdGhyb3VnaCB0aGUgcGFydHkmcnNxdW87cyBmYWN0aW9uYWwganVuZ2xlLiZuYnNwOzwvcD4NCg0KPHA+Jm5ic3A7PC9wPg0KDQo8cD48ZW0+VGhpcyBzdG9yeSBpcyBhIGNvbGxhYm9yYXRpb24gd2l0aCA8YSBocmVmPSJodHRwOi8vdGhlLWxvbmRvbmVyLmNvLnVrIj5UaGUgTG9uZG9uZXI8L2E+LCBhIG5ldyBwdWJsaWNhdGlvbiBjb3ZlcmluZyB0aGUgY2FwaXRhbCwgbGF1bmNoaW5nIHRoaXMgd2Vlay48L2VtPjwvcD4NCjxkaXYgY2xhc3M9ImhpZGUganMtbmV3c3ZpZXctcmVsYXRlZCI+PGRpdiBjbGFzcz0iYXYtcmVsYXRlZCAiPg0KICAgIDxkaXYgY2xhc3M9Im5ld3MtdGl0bGUiPg0KICAgICAgICA8c3BhbiBjbGFzcz0ibnQtY2F0IGg1Ij5SZWxhdGVkPC9zcGFuPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9Im5ld3MtaXRlbSBuZXdzLWl0ZW0tLXJlbGF0ZWQiPg0KICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0ibmktaW1hZ2UiPg0KICAgICAgICAgICAgPGEgaHJlZj0iL25ld3MvYXJ0aWNsZS9rZW1pLWJhZGVub2NoLWdpdmVzLWFsbC1uZXctdG9yeS1tcHMtam9icy1vcHBvc2l0aW9uIj4NCiAgICAgICAgICAgICAgICA8aW1nIGRhdGEtc2l6ZXM9ImF1dG8iIGRhdGEtc3JjPSJodHRwczovL3Jlcy5jbG91ZGluYXJ5LmNvbS9keXc4bXYzYjAvaW1hZ2UvdXBsb2FkL2NfZmlsbCxnX2ZhY2UscV84MCx3XzM0MCxoXzE3MC92MS9uZXdzLzIwMjRfMTEvMllHNFA4OF95czBqZTcuanBnIg0KICAgICAgICAgICAgICAgICAgICBkYXRhLXNyY3NldD0iaHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vZHl3OG12M2IwL2ltYWdlL3VwbG9hZC9jX2ZpbGwsZ19mYWNlLHFfNzUsd18yNTAsaF8xMjUvdjEvbmV3cy8yMDI0XzExLzJZRzRQODhfeXMwamU3LmpwZyAyNTB3LCANCmh0dHBzOi8vcmVzLmNsb3VkaW5hcnkuY29tL2R5dzhtdjNiMC9pbWFnZS91cGxvYWQvY19maWxsLGdfZmFjZSxxXzgwLHdfMzQwLGhfMTcwL3YxL25ld3MvMjAyNF8xMS8yWUc0UDg4X3lzMGplNy5qcGcgMzQwdyIgY2xhc3M9Imxhenlsb2FkIiBhbHQ9IktlbWkgQmFkZW5vY2ggR2l2ZXMgQWxsIDI2IE5ldyBUb3J5IE1QcyBKb2JzIEluIE9wcG9zaXRpb24iPg0KICAgICAgICAgICAgPC9hPg0KICAgICAgICA8L2Rpdj4NCiAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJuaS1jb250ZW50Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5pLXRpdGxlIGg0Ij4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSIvbmV3cy9hcnRpY2xlL2tlbWktYmFkZW5vY2gtZ2l2ZXMtYWxsLW5ldy10b3J5LW1wcy1qb2JzLW9wcG9zaXRpb24iPktlbWkgQmFkZW5vY2ggR2l2ZXMgQWxsIDI2IE5ldyBUb3J5IE1QcyBKb2JzIEluIE9wcG9zaXRpb248L2E+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmktYXV0aG9yIj4NCiAgICAgICAgICAgICAgICBCeSA8YSBocmVmPSIvbmV3cy9hdXRob3IvdGFsaS1mcmFzZXItYW5kLWhhcnJpZXQtc3ltb25kcy5odG0iPlRhbGkgRnJhc2VyIGFuZCBIYXJyaWV0IFN5bW9uZHM8L2E+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmktbWV0YSI+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5pLWRhdGUiPjx0aW1lIGRhdGV0aW1lPSIyMDI0LTExLTE4VDE1OjU1IiB0aXRsZT0iMTggTm92ZW1iZXIgMjAyNCBhdCAxNTo1NSI+MTggTm92PC90aW1lPjwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2PjwvZGl2Pg0KICAgICAgICAgICAgPHA+PHN0cm9uZz5Qb2xpdGljc0hvbWUgTmV3c2xldHRlcnM8L3N0cm9uZz48L3A+DQogICAgICAgICAgICA8cD48ZW0+UG9saXRpY3NIb21lIHByb3ZpZGVzIHRoZSBtb3N0IGNvbXByZWhlbnNpdmUgY292ZXJhZ2Ugb2YgVUsgcG9saXRpY3MgYW55d2hlcmUgb24gdGhlIHdlYiwgb2ZmZXJpbmcgaGlnaCBxdWFsaXR5IG9yaWdpbmFsIHJlcG9ydGluZyBhbmQgYW5hbHlzaXM6IDxhIGhyZWY9Imh0dHBzOi8vd3d3LnBvbGl0aWNzaG9tZS5jb20vYWNjb3VudC5odG0iPlN1YnNjcmliZTwvYT48L2VtPjwvcD4NCiAgICAgICAgDQogICAgDQogICAgPGltZyBzcmM9Ii9faGFuZGxlcnMvbmV3cy9pbXByZXNzaW9uLmFzaHg/a2V5PTg5NjEwJnJlZj1tb3JnYW4tbWNzd2VlbmV5LWdvdC1iaWctYnJlYWsiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIC8+DQo8L2Rpdj5kAg4PFgIfA2hkAhIPFgIeC18hSXRlbUNvdW50AggWEAIBD2QWAmYPFQInL3RoZWhvdXNlL21wLWRpcmVjdG9yeS9rZWlyLXN0YXJtZXIuaHRtDEtlaXIgU3Rhcm1lcmQCAg9kFgJmDxUCHy9uZXdzL3RhZy9sYWJvdXIuaHRtP2ZpbHRlcj0yMTgGTGFib3VyZAIDD2QWAmYPFQInL25ld3MvdGFnL2Rvd25pbmctc3RyZWV0Lmh0bT9maWx0ZXI9MzcwDkRvd25pbmcgU3RyZWV0ZAIED2QWAmYPFQIlL25ld3MvdGFnL2RhdmlkLWV2YW5zLmh0bT9maWx0ZXI9MTA1NgtEYXZpZCBFdmFuc2QCBQ9kFgJmDxUCJS90aGVob3VzZS9tcC1kaXJlY3Rvcnkvc3RldmUtcmVlZC5odG0KU3RldmUgUmVlZGQCBg9kFgJmDxUCKi9uZXdzL3RhZy9nZW5lcmFsLWVsZWN0aW9uLmh0bT9maWx0ZXI9MzM5MxBHZW5lcmFsIEVsZWN0aW9uZAIHD2QWAmYPFQIiL25ld3MvdGFnL3N0cmF0ZWd5Lmh0bT9maWx0ZXI9NDczMQhzdHJhdGVneWQCCA9kFgJmDxUCKi9uZXdzL3RhZy9tb3JnYW4tbWNzd2VlbmV5Lmh0bT9maWx0ZXI9NTYwMRBNb3JnYW4gTWNTd2VlbmV5ZAIUDxYCHwUCARYCAgEPZBYCZg8VAhsvbmV3cy9wb2xpdGljYWwtcGFydGllcy5odG0RUG9saXRpY2FsIHBhcnRpZXNkAhgPFgIfBQIBFgJmD2QWAgIBD2QWAmYPZBYCZg9kFgJmD2QWBGYPZBYCAgEPFgIfBQL/////D2QCAg9kFgICAQ8WAh8FAv////8PZAIkDxYCHwNnZAIBD2QWAmYPZBYCZg9kFgJmDxYCHwEF6gQ8ZGl2IGNsYXNzPSJjdGEtYmFubmVyIj4NCiAgICA8YSBocmVmPSIvZXZlbnRzLmh0bSIgY2xhc3M9ImNsZWFyRml4Ij4NCiAgICAgICAgPGRpdiBjbGFzcz0iY3RhYi1pbWciPg0KICAgICAgICAgICAgPGltZyBjbGFzcz0ibGF6eWxvYWQiIGRhdGEtc3JjPSIvdWdjLTEvdXBsb2Fkcy9wYWdlYmxvY2tzLzEwMS84M2Y2ZWE0M2JiNmU0OTFkZDRjNjU3MTkzZTMxNzA0Zi5qcGciPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY3RhYi1jb250ZW50IGZseCBmbHgtLWNvbCBmbHgtLXdyIGZseC0tamMiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaDIiPkZpbmQgb3V0IG1vcmUgYWJvdXQgb3VyIGV2ZW50czwvZGl2Pg0KICAgICAgICAgICAgPHA+UG9saXRpY3NIb21lICYgVGhlIEhvdXNlIE1hZ2F6aW5lIG9yZ2FuaXNlIGEgbnVtYmVyIG9mIGluZHVzdHJ5IGxlYWRpbmcgcG9saXRpY2FsIGV2ZW50cyB0aHJvdWdob3V0IHRoZSB5ZWFyLjwvcD4NCiAgICAgICAgICAgIDxwPjxzcGFuIGNsYXNzPSJidG4gYnRuLS14UGFkZGluZyBidG4tLW91dGxpbmVCbGFjayI+RmluZCBvdXQgbW9yZTwvc3Bhbj48L3A+IA0KICAgICAgICA8L2Rpdj4NCiAgICA8L2E+DQo8L2Rpdj5kAgUPZBYCZg9kFgJmD2QWAmYPZBYCZg9kFgJmD2QWAmYPFgIfAQWCBDxkaXYgY2xhc3M9ImgzIj5TaWduIHVwIGZvciBvdXIgbmV3c2xldHRlcnM8L2Rpdj4NCjxkaXYgY2xhc3M9ImZ0ci1zdWJzIGNsZWFyRml4Ij4NCiAgICA8YSBocmVmPSJodHRwczovL3d3dy5wb2xpdGljc2hvbWUuY29tL2FjY291bnQuaHRtIj4NCiAgICA8ZGl2IGNsYXNzPSJmdHJzLWltZyI+DQogICAgICAgIDxpbWcgY2xhc3M9Imxhenlsb2FkIiBkYXRhLXNyYz0iL3VnYy0xL3VwbG9hZHMvcGFnZWJsb2Nrcy8xMTA2OS8xOTlkMmU2MWIyOTYxZDg2NDU2NGExNDlhYWQzZmU5MS5wbmciIGFsdD0iU3Vic2NyaWJlIiAvPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImZ0cnMtdGV4dCI+DQogICAgICAgIDxwPkdldCBkYWlseSBuZXdzIGFsZXJ0cyBhbmQgd2Vla2VuZCByb3VuZC11cHMgc3RyYWlnaHQgdG8geW91ciBpbmJveC48L3A+DQogICAgICAgIDxwPjxzcGFuIGNsYXNzPSJidG4gYnRuLS1ibGFjayI+U3Vic2NyaWJlPC9zcGFuPjwvcD4NCiAgICA8L2Rpdj4NCiAgICA8L2E+DQo8L2Rpdj5kZKRdgwVFH3RMNavIUIJn5x4ecPf8ElwoOuLUD/Te0xxx" /> </div> <script type="text/javascript"> //<![CDATA[ var theForm = document.forms['form1']; if (!theForm) { theForm = document.form1; } function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } //]]> </script> <script src="/WebResource.axd?d=MzT3Q6S_Fy_f5vs8w9qk8au_hABbwRZeFSwXUXMeGLQgUOJFmO7B5e8DsWiWu3SE5rPtKWnQFGcd8SW33UySGdoPrSp32sShIk-vpMe9B9I1&amp;t=638563308220000000" type="text/javascript"></script> <script src="/ScriptResource.axd?d=SrwZRAa4Zyv03GdGrfieEJf-d4zldB38v6Qg1vs4imBCjGnQZHIl3BkYQGcK_sq2BgVD_ckdci2_ZNJB6ooStoe_SavSueDM_VUMTPQmMUKYw8Md2xkEFSTmyYiVyYs1_bdk3TX-w_LrUZIX9nOs2GvZ6XU7m0A8yU13BJaksKk1&amp;t=ffffffffc820c398" type="text/javascript"></script> <script src="/ScriptResource.axd?d=i_nvLCJBHXDLydGmDxZNhYPQCmZgQBqosAgmBhtvOSbAcrokh2OhB5tfOkiao9FamBwxmYKZwfoxNxDBTLhZtFpd93I8q2R1YUGdu5gMJYEd50dyt4Tf6Rycr0HGh6lWBHL44TLhJoxl8ISFvSX0zYarAubSxVmFcSBxDy5Nnbzacgrv0b_7sYxW7cvyZjpJ0&amp;t=ffffffffc820c398" type="text/javascript"></script> <header> <noscript> <div class="msg msgError nojavascript"> <p> This site requires JavaScript for certain functions and interactions to work. Please turn on JavaScript for the best possible experience.</p> </div> </noscript> <div class="hdr-ad"> <div class="row--ad"> <!-- /1048162/ph/news-article_header --> <div id='div-gpt-ad-1608230097163-0' class="ph-ad"> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1608230097163-0'); }); </script> </div> </div> </div> <div class="hdr-top"> <!--<div class="hdr-pDods"> <a href="http://www.dodsgroup.com/" target="_blank">Part of the DODS Group <span> <img src="https://res.cloudinary.com/dyw8mv3b0/image/upload/img/icons/dods_icon.svg" alt="DODS Group Logo" /> </span> </a> </div>--> <div class="hdr-topRight"> <div class="hdr-social"> <a href="https://x.com/politicshome" target="_blank" class="icon icon--x"> <svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 512 462.799"><path fill-rule="nonzero" d="M403.229 0h78.506L310.219 196.04 512 462.799H354.002L230.261 301.007 88.669 462.799h-78.56l183.455-209.683L0 0h161.999l111.856 147.88L403.229 0zm-27.556 415.805h43.505L138.363 44.527h-46.68l283.99 371.278z"/></svg> </a> <a href="https://www.facebook.com/PoliticsHomeUK/" target="_blank" class="icon icon--facebook"></a> <a href="https://www.linkedin.com/company/politicshome" target="_blank" class="icon icon--linkedIn"></a> </div> <div class="burger"> <div class="hamburger"> <span></span> </div> <div class="b-label">Menu</div> </div> </div> </div> <div class="hdr-main"> <div class="hdr-date">Sat, <span>23 November 2024</span></div> <a href="/" class="logo hideText">PoliticsHome</a> <div id="hdr_divPersonalise" class="hdr-promo hdr-promo--personalize"> <div class="promo-text"> <p class="arial">Newsletter sign-up</p> <a class="btn btn--outlineWhite btn--xsmall" href="/account.htm">Subscribe now</a> </div> <div class="promo-img"> <img src="https://res.cloudinary.com/dyw8mv3b0/image/upload/img/promo/promo-1.png" /> </div> </div> </div> <div class="hdr-nav"> <div class="nav-main"> <nav class="menu"> <ul><li><a href="/" title="Politicshome.com | Breaking politics and political news for Westminster and the UK"><span>Home</span></a></li><li class="noSub liHasChildren liOn"><a href="/news.htm" class="on" title="News | Politicshome.com"><span>News</span></a><ul><li><a href="/news/cost-of-living.htm" title="Cost of Living | PoliticsHome.com"><span>Cost of Living</span></a></li><li><a href="/news/communities.htm" title="Communities | PoliticsHome.com"><span>Communities</span></a></li><li><a href="/news/culture.htm" title="Culture | PoliticsHome.com"><span>Culture</span></a></li><li><a href="/news/defence.htm" title="Defence | PoliticsHome.com"><span>Defence</span></a></li><li><a href="/news/economy.htm" title="Economy | PoliticsHome.com"><span>Economy</span></a></li><li><a href="/news/education.htm" title="Education | PoliticsHome.com"><span>Education</span></a></li><li><a href="/news/energy.htm" title="Energy | PoliticsHome.com"><span>Energy</span></a></li><li><a href="/news/environment.htm" title="Environment | PoliticsHome.com"><span>Environment</span></a></li><li><a href="/news/foreign-affairs.htm" title="Foreign Affairs | PoliticsHome.com"><span>Foreign Affairs</span></a></li><li><a href="/news/health-care.htm" title="Health &amp; Care | PoliticsHome.com"><span>Health & Care</span></a></li><li><a href="/news/home-affairs.htm" title="Home Affairs | PoliticsHome.com"><span>Home Affairs</span></a></li><li><a href="/news/political-parties.htm" title="Political Parties | PoliticsHome.com"><span>Political Parties</span></a></li><li><a href="/news/social-affairs.htm" title="Social Affairs | PoliticsHome.com"><span>Social Affairs</span></a></li><li><a href="/news/transport.htm" title="Transport | PoliticsHome.com"><span>Transport</span></a></li></ul></li><li class="noSub liHasChildren"><a href="/thehouse.htm" title="The House Live | Politicshome.com"><span>The House Live</span></a><ul><li><a href="/thehouse/about-the-house.htm" title="The House Magazine - 40 years shining a light on events in Parliament"><span>The House Magazine</span></a></li><li><a href="https://longreads.politicshome.com/" title="Long reads" target="_blank"><span>Long Reads</span></a></li><li class="liHasChildren"><a href="/thehouse/partner-content/wiw.htm" title="Women in Westminster"><span>Women in Westminster</span></a><ul><li><a href="/hub/women-westminster-conversation" title="In Conversation With"><span>In Conversation With</span></a></li></ul></li><li><a href="https://www.politicshome.com/members/directory.htm" title="Members Directory"><span>Members Directory</span></a></li><li class="navDisableClick liHasChildren"><a href="/thehouse/partner-content.htm" title="Partner Content"><span>Partner Content</span></a><ul><li><a href="https://www.politicshome.com/hub/thepathtonetzero" title="The Path To Net Zero"><span>The Path To Net Zero</span></a></li><li><a href="https://www.politicshome.com/hub/greening-nation" title="Greening the Nation"><span>Greening the Nation</span></a></li><li><a href="/hub/the-house-connecting-communities" title="Connecting communities"><span>Connecting Communities</span></a></li><li><a href="/hub/engineering-a-better-world" title="Engineering a better world"><span>Engineering a Better World</span></a></li><li><a href="/members.htm" title="Become a Member"><span>Become a Member</span></a></li></ul></li></ul></li><li><a href="/events.htm" title="Events | PoliticsHome.com"><span>Events</span></a></li><li class="navDisableClick navMobToggle liHasChildren"><a href="/members.htm" title="Members | PoliticsHome.com"><span>Members</span></a><ul><li><a href="/members.htm" title="Members"><span>Members</span></a></li><li><a href="/members/directory.htm" title="Members | PoliticsHome.com"><span>Members Directory</span></a></li></ul></li><li class="navDisableClick navMobToggle liHasChildren"><a href="/more.htm" title="More"><span>More</span></a><ul><li><a href="/more/podcasts.htm" title="Podcasts | PoliticsHome.com"><span>Podcasts</span></a></li><li><a href="/more/rss-feeds.htm" title="RSS Feeds | PoliticsHome.com"><span>RSS Feeds</span></a></li><li><a href="/more/contact-us.htm" title="Contact Us | PoliticsHome.com"><span>Contact Us</span></a></li><li><a href="/more/about-politicshome.htm" title="About | PoliticsHome.com"><span>About PoliticsHome</span></a></li><li><a href="/more/marketing-opportunities.htm" title="Marketing Opportunities | PoliticsHome.com"><span>Marketing Opportunities</span></a></li></ul></li></ul> </nav> <div class="nav-search icon icon--search"><span>Search</span></div> </div> <div class="nav-sub"> <nav class="greedy-nav"> <ul class="nav level2"><li class=""><a href="/news/cost-of-living.htm" title="Cost of Living | PoliticsHome.com"><span>Cost of Living</span></a> </li><li class=""><a href="/news/communities.htm" title="Communities | PoliticsHome.com"><span>Communities</span></a> </li><li class=""><a href="/news/culture.htm" title="Culture | PoliticsHome.com"><span>Culture</span></a> </li><li class=""><a href="/news/defence.htm" title="Defence | PoliticsHome.com"><span>Defence</span></a> </li><li class=""><a href="/news/economy.htm" title="Economy | PoliticsHome.com"><span>Economy</span></a> </li><li class=""><a href="/news/education.htm" title="Education | PoliticsHome.com"><span>Education</span></a> </li><li class=""><a href="/news/energy.htm" title="Energy | PoliticsHome.com"><span>Energy</span></a> </li><li class=""><a href="/news/environment.htm" title="Environment | PoliticsHome.com"><span>Environment</span></a> </li><li class=""><a href="/news/foreign-affairs.htm" title="Foreign Affairs | PoliticsHome.com"><span>Foreign Affairs</span></a> </li><li class=""><a href="/news/health-care.htm" title="Health & Care | PoliticsHome.com"><span>Health & Care</span></a> </li><li class=""><a href="/news/home-affairs.htm" title="Home Affairs | PoliticsHome.com"><span>Home Affairs</span></a> </li><li class=""><a href="/news/political-parties.htm" title="Political Parties | PoliticsHome.com"><span>Political Parties</span></a> </li><li class=""><a href="/news/social-affairs.htm" title="Social Affairs | PoliticsHome.com"><span>Social Affairs</span></a> </li><li class=""><a href="/news/transport.htm" title="Transport | PoliticsHome.com"><span>Transport</span></a> </li></ul> <ul class="hidden-links hidden"></ul> <div class="gn-more"> <span class="icon icon--minusSlim">More</span> </div> </nav> </div> <div class="nav-bottom"> <div class="nav-reg"> <ul> <li><a href="/account.htm"><span>Newsletter Signup</span></a></li> </ul> </div> <div class="nav-social"> <p>Follow us:</p> <a href="https://x.com/politicshome" target="_blank" class="icon icon--x"> <svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 512 462.799"><path fill-rule="nonzero" d="M403.229 0h78.506L310.219 196.04 512 462.799H354.002L230.261 301.007 88.669 462.799h-78.56l183.455-209.683L0 0h161.999l111.856 147.88L403.229 0zm-27.556 415.805h43.505L138.363 44.527h-46.68l283.99 371.278z"/></svg> </a> <a href="https://www.facebook.com/PoliticsHomeUK/" target="_blank" class="icon icon--facebook"></a> <a href="https://www.linkedin.com/company/politicshome" target="_blank" class="icon icon--linkedIn"></a> </div> </div> </div> </header> <div class="sticky-header clearFix"> <a class="logo-sticky" href="/"> <img src="/_img/logos/ph-100.svg" /> </a> <nav class="sticky-nav"> <ul><li><a href="/" title="Politicshome.com | Breaking politics and political news for Westminster and the UK"><span>Home</span></a></li><li class="noSub liHasChildren liOn"><a href="/news.htm" class="on" title="News | Politicshome.com"><span>News</span></a><ul><li><a href="/news/cost-of-living.htm" title="Cost of Living | PoliticsHome.com"><span>Cost of Living</span></a></li><li><a href="/news/communities.htm" title="Communities | PoliticsHome.com"><span>Communities</span></a></li><li><a href="/news/culture.htm" title="Culture | PoliticsHome.com"><span>Culture</span></a></li><li><a href="/news/defence.htm" title="Defence | PoliticsHome.com"><span>Defence</span></a></li><li><a href="/news/economy.htm" title="Economy | PoliticsHome.com"><span>Economy</span></a></li><li><a href="/news/education.htm" title="Education | PoliticsHome.com"><span>Education</span></a></li><li><a href="/news/energy.htm" title="Energy | PoliticsHome.com"><span>Energy</span></a></li><li><a href="/news/environment.htm" title="Environment | PoliticsHome.com"><span>Environment</span></a></li><li><a href="/news/foreign-affairs.htm" title="Foreign Affairs | PoliticsHome.com"><span>Foreign Affairs</span></a></li><li><a href="/news/health-care.htm" title="Health &amp; Care | PoliticsHome.com"><span>Health & Care</span></a></li><li><a href="/news/home-affairs.htm" title="Home Affairs | PoliticsHome.com"><span>Home Affairs</span></a></li><li><a href="/news/political-parties.htm" title="Political Parties | PoliticsHome.com"><span>Political Parties</span></a></li><li><a href="/news/social-affairs.htm" title="Social Affairs | PoliticsHome.com"><span>Social Affairs</span></a></li><li><a href="/news/transport.htm" title="Transport | PoliticsHome.com"><span>Transport</span></a></li></ul></li><li class="noSub liHasChildren"><a href="/thehouse.htm" title="The House Live | Politicshome.com"><span>The House Live</span></a><ul><li><a href="/thehouse/about-the-house.htm" title="The House Magazine - 40 years shining a light on events in Parliament"><span>The House Magazine</span></a></li><li><a href="https://longreads.politicshome.com/" title="Long reads" target="_blank"><span>Long Reads</span></a></li><li class="liHasChildren"><a href="/thehouse/partner-content/wiw.htm" title="Women in Westminster"><span>Women in Westminster</span></a></li><li><a href="https://www.politicshome.com/members/directory.htm" title="Members Directory"><span>Members Directory</span></a></li><li class="navDisableClick liHasChildren"><a href="/thehouse/partner-content.htm" title="Partner Content"><span>Partner Content</span></a></li></ul></li><li><a href="/events.htm" title="Events | PoliticsHome.com"><span>Events</span></a></li><li class="navDisableClick navMobToggle liHasChildren"><a href="/members.htm" title="Members | PoliticsHome.com"><span>Members</span></a><ul><li><a href="/members.htm" title="Members"><span>Members</span></a></li><li><a href="/members/directory.htm" title="Members | PoliticsHome.com"><span>Members Directory</span></a></li></ul></li><li class="navDisableClick navMobToggle liHasChildren"><a href="/more.htm" title="More"><span>More</span></a><ul><li><a href="/more/podcasts.htm" title="Podcasts | PoliticsHome.com"><span>Podcasts</span></a></li><li><a href="/more/rss-feeds.htm" title="RSS Feeds | PoliticsHome.com"><span>RSS Feeds</span></a></li><li><a href="/more/contact-us.htm" title="Contact Us | PoliticsHome.com"><span>Contact Us</span></a></li><li><a href="/more/about-politicshome.htm" title="About | PoliticsHome.com"><span>About PoliticsHome</span></a></li><li><a href="/more/marketing-opportunities.htm" title="Marketing Opportunities | PoliticsHome.com"><span>Marketing Opportunities</span></a></li></ul></li></ul> </nav> <div class="sticky-srch"></div> <div class="burger"> <div class="hamburger"> <span></span> </div> </div> </div> <div class="search-overlay"> <div id="hdr_pnlSearch" class="hdr-searchBar" onkeypress="javascript:return WebForm_FireDefaultButton(event, &#39;hdr_btnSearch&#39;)"> <input name="ctl00$hdr$txtSearch" type="text" id="hdr_txtSearch" class="text sb-keyword" placeholder="Enter keyword/s" /> <input type="submit" name="ctl00$hdr$btnSearch" value="Search" id="hdr_btnSearch" class="btn sb-btn" /> </div> <span class="search-close icon icon--close"></span> </div> <main> <div class="template template--1col "> <div class="container"> <div class="article-view flx flx--wr clearFix"> <div class="av-lc"> <div class="col--ad"> <!-- /1048162/ph/news-article_left-side-top --> <div id='div-gpt-ad-1608230097163-1' class="ph-ad"> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1608230097163-1'); }); </script> </div> </div> <div class="news-title news-title--houseLive"> <span class="nt-cat h5">The House Live</span> <span class="nt-link"> <a class="icon icon--all" href="/thehouse.htm">All</a> </span> </div> <div class="news-list news-list--sqThumb"> <div class="news-item"> <div class="ni-image"> <a href="/thehouse/article/professor-see-now-visits"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/professor_feti2a.jpg" class="lazyload" alt="The Professor Will See You Now: Visits"> </a> <span class="ni-tag ni-tag--house"></span> </div> <div class="ni-content"> <div class="ni-title"> <a href="/thehouse/article/professor-see-now-visits">The Professor Will See You Now: Visits</a> </div> <div Class="ni-sponsor">By <a href="/news/author/professor-philip-cowley.htm">Professor Philip Cowley</a></div><script>ga('send', 'event', 'Image', 'Impression', 'Professor Philip Cowley', {'nonInteraction': 1});</script> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-15T10:15" title="15 November 2024 at 10:15">15 Nov</time></span> <span class="ni-cat"><a href="/news/political-parties.htm">Political parties</a></span> </div> </div> </div><div class="news-item"> <div class="ni-image"> <a href="/thehouse/article/morning-again-marking-40-years-since-reagans-reelection"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/D5RD88_LOW_RES_CROPPED_wxkdrt.jpg" class="lazyload" alt="Morning again: marking 40 years since Reagan's re-election"> </a> <span class="ni-tag ni-tag--house"></span> </div> <div class="ni-content"> <div class="ni-title"> <a href="/thehouse/article/morning-again-marking-40-years-since-reagans-reelection">Morning again: marking 40 years since Reagan's re-election</a> </div> <div Class="ni-sponsor">By Mark White, HW Brands, Iwan Morgan and Anthony Eames</div><script>ga('send', 'event', 'Image', 'Impression', 'Mark White, HW Brands, Iwan Morgan and Anthony Eames', {'nonInteraction': 1});</script> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-15T10:00" title="15 November 2024 at 10:00">15 Nov</time></span> <span class="ni-cat"><a href="/news/foreign-affairs.htm">Foreign affairs</a></span> </div> </div> </div><div class="news-item"> <div class="ni-image"> <a href="/thehouse/article/labours-budget-first-step-ending-rural-health-inequity"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/RE5H21_zusztu.jpg" class="lazyload" alt="Labour’s Budget is the first step to ending rural health inequity"> </a> <span class="ni-tag ni-tag--house"></span> </div> <div class="ni-content"> <div class="ni-title"> <a href="/thehouse/article/labours-budget-first-step-ending-rural-health-inequity">Labour’s Budget is the first step to ending rural health inequity</a> </div> <div Class="ni-sponsor">By <a href="/thehouse/mp-directory/joe-morris-5494.htm">Joe Morris MP</a></div><script>ga('send', 'event', 'Image', 'Impression', 'Joe Morris MP', {'nonInteraction': 1});</script> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-15T09:30" title="15 November 2024 at 09:30">15 Nov</time></span> <span class="ni-cat"><a href="/news/environment.htm">Environment</a></span> </div> </div> </div><div class="news-item"> <div class="ni-image"> <a href="/thehouse/article/tory-support-with-chinese-hindu-voters-a-bright-spot"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/2XDT1A9_y67o7f.jpg" class="lazyload" alt="Tory support among Chinese and Hindu voters presents opportunity and risk for Kemi Badenoch"> </a> <span class="ni-tag ni-tag--house"></span> </div> <div class="ni-content"> <div class="ni-title"> <a href="/thehouse/article/tory-support-with-chinese-hindu-voters-a-bright-spot">Tory support among Chinese and Hindu voters presents opportunity and risk for Kemi Badenoch</a> </div> <div Class="ni-sponsor">By <a href="/news/author/zain-mohyuddin.htm">Zain Mohyuddin</a></div><script>ga('send', 'event', 'Image', 'Impression', 'Zain Mohyuddin', {'nonInteraction': 1});</script> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-13T12:40" title="13 November 2024 at 12:40">13 Nov</time></span> <span class="ni-cat"><a href="/news/communities.htm">Communities</a></span> </div> </div> </div><div class="news-item"> <div class="ni-image"> <a href="/thehouse/article/new-labour-mp-peter-lamb-im-fat-sharp-elbows"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/peter_lamb_mp_lnxewa.jpg" class="lazyload" alt="New Labour MP Peter Lamb: 'I’m too fat to have sharp elbows'"> </a> <span class="ni-tag ni-tag--house"></span> </div> <div class="ni-content"> <div class="ni-title"> <a href="/thehouse/article/new-labour-mp-peter-lamb-im-fat-sharp-elbows">New Labour MP Peter Lamb: 'I’m too fat to have sharp elbows'</a> </div> <div Class="ni-sponsor">By <a href="/thehouse/peer/sienna-rodgers.htm">Sienna Rodgers</a></div><script>ga('send', 'event', 'Image', 'Impression', 'Sienna Rodgers', {'nonInteraction': 1});</script> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-13T11:00" title="13 November 2024 at 11:00">13 Nov</time></span> <span class="ni-cat"><a href="/news/communities.htm">Communities</a></span> </div> </div> </div> </div> <div class="news-title"> <span class="nt-cat h5">Press releases</span> </div> <div class="news-list news-list--x1 news-list--press"> <div class="news-item"> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-08-27T08:00" title="27 August 2024 at 08:00">27 Aug</time></span> </div> <div class="ni-title"> <a href="/members/article/charity-calls-governmentbacked-eat-red-meat-campaign-reckless-selfsabotage-labours-national-health-climate-policy-ambitions">Charity calls Government-backed ‘eat more red meat’ campaign ‘reckless self-sabotage on Labour’s national health and climate policy ambitions’</a> </div> <div Class="ni-sponsor">By <a href="/members/profile/humane-society-international-uk">Humane Society International UK</a></div><script>ga('send', 'event', 'Image', 'Impression', 'Humane Society International UK', {'nonInteraction': 1});</script> </div><div class="news-item"> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-07-05T08:00" title="05 July 2024 at 08:00">05 Jul</time></span> </div> <div class="ni-title"> <a href="/members/article/ciob-reacts-uk-general-election-result">CIOB reacts to UK General Election result</a> </div> <div Class="ni-sponsor">By <a href="/members/profile/chartered-institute-of-building">Chartered Institute of Building</a></div><script>ga('send', 'event', 'Image', 'Impression', 'Chartered Institute of Building', {'nonInteraction': 1});</script> </div><div class="news-item"> <div class="ni-meta"> <span class="ni-date"><time datetime="2023-09-06T15:00" title="06 September 2023 at 15:00">06 Sep 2023</time></span> </div> <div class="ni-title"> <a href="/members/article/ria-welcomes-new-shadow-rail-minister-stephen-morgan-mp">RIA welcomes new Shadow Rail Minister Stephen Morgan MP</a> </div> <div Class="ni-sponsor">By <a href="/members/profile/railway-industry-association">Railway Industry Association</a></div><script>ga('send', 'event', 'Image', 'Impression', 'Railway Industry Association', {'nonInteraction': 1});</script> </div> </div> <div class="col--ad"> <!-- /1048162/ph/news-article_left-side-bot --> <div id='div-gpt-ad-1608230097163-2' class="ph-ad"> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1608230097163-2'); }); </script> </div> </div> </div> <div class="av-main"> <article class="newsview"> <div class="av-article"> <h1>How Morgan McSweeney Got His Big Break</h1> <div class="av-featImg"> <div class="av-main-img"> <img data-sizes="auto" data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_85,w_710,h_355,f_auto/v1/news/2024_10/2XJ394A_xukol8.jpg" data-srcset="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_85,w_400,h_200,f_auto/v1/news/2024_10/2XJ394A_xukol8.jpg 400w, https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_85,w_500,h_250/v1/news/2024_10/2XJ394A_xukol8.jpg 500w, https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_85,w_600,h_300/v1/news/2024_10/2XJ394A_xukol8.jpg 600w, https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_85,w_710,h_355/v1/news/2024_10/2XJ394A_xukol8.jpg 710w" class="lazyload" alt="How Morgan McSweeney Got His Big Break"> <div class="av-share"> <a class="share-button-item share-button-item--twitter" href="https://x.com/intent/tweet?text=How+Morgan+McSweeney+Got+His+Big+Break&amp;url=https://www.politicshome.com%2fnews%2farticle%2fmorgan-mcsweeney-got-big-break" target="_blank" rel="noopener" aria-label=""> <svg viewBox="0 0 14 12" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="M11.026 0h2.146L8.483 5.083 14 12H9.68L6.296 7.805 2.425 12H.276l5.017-5.437L0 0h4.43l3.058 3.834L11.026 0Zm-.754 10.781h1.19L3.783 1.155H2.507l7.765 9.626Z" style="fill:#fff;fill-rule:nonzero"/></svg> </a> <a class="share-button-item share-button-item--whatsapp" href="whatsapp://send?text=How+Morgan+McSweeney+Got+His+Big+Break%20https://www.politicshome.com%2fnews%2farticle%2fmorgan-mcsweeney-got-big-break" target="_blank" rel="noopener" aria-label=""> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <path d="M20.1 3.9C17.9 1.7 15 .5 12 .5 5.8.5.7 5.6.7 11.9c0 2 .5 3.9 1.5 5.6L.6 23.4l6-1.6c1.6.9 3.5 1.3 5.4 1.3 6.3 0 11.4-5.1 11.4-11.4-.1-2.8-1.2-5.7-3.3-7.8zM12 21.4c-1.7 0-3.3-.5-4.8-1.3l-.4-.2-3.5 1 1-3.4L4 17c-1-1.5-1.4-3.2-1.4-5.1 0-5.2 4.2-9.4 9.4-9.4 2.5 0 4.9 1 6.7 2.8 1.8 1.8 2.8 4.2 2.8 6.7-.1 5.2-4.3 9.4-9.5 9.4zm5.1-7.1c-.3-.1-1.7-.9-1.9-1-.3-.1-.5-.1-.7.1-.2.3-.8 1-.9 1.1-.2.2-.3.2-.6.1s-1.2-.5-2.3-1.4c-.9-.8-1.4-1.7-1.6-2-.2-.3 0-.5.1-.6s.3-.3.4-.5c.2-.1.3-.3.4-.5.1-.2 0-.4 0-.5C10 9 9.3 7.6 9 7c-.1-.4-.4-.3-.5-.3h-.6s-.4.1-.7.3c-.3.3-1 1-1 2.4s1 2.8 1.1 3c.1.2 2 3.1 4.9 4.3.7.3 1.2.5 1.6.6.7.2 1.3.2 1.8.1.6-.1 1.7-.7 1.9-1.3.2-.7.2-1.2.2-1.3-.1-.3-.3-.4-.6-.5z" /> </svg> </a> <a class="share-button-item share-button-item--linkedin" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https://www.politicshome.com%2fnews%2farticle%2fmorgan-mcsweeney-got-big-break&amp;title=How+Morgan+McSweeney+Got+His+Big+Break&amp;summary=How+Morgan+McSweeney+Got+His+Big+Break&amp;source=https://www.politicshome.com%2fnews%2farticle%2fmorgan-mcsweeney-got-big-break" target="_blank" rel="noopener" aria-label=""> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <path d="M6.5 21.5h-5v-13h5v13zM4 6.5C2.5 6.5 1.5 5.3 1.5 4s1-2.4 2.5-2.4c1.6 0 2.5 1 2.6 2.5 0 1.4-1 2.5-2.6 2.5zm11.5 6c-1 0-2 1-2 2v7h-5v-13h5V10s1.6-1.5 4-1.5c3 0 5 2.2 5 6.3v6.7h-5v-7c0-1-1-2-2-2z" /> </svg> </a> <a class="share-button-item share-button-item--email" href="mailto:?subject=How+Morgan+McSweeney+Got+His+Big+Break&amp;body=https://www.politicshome.com%2fnews%2farticle%2fmorgan-mcsweeney-got-big-break" target="_self" rel="noopener" aria-label=""> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <path d="M22 4H2C.9 4 0 4.9 0 6v12c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM7.25 14.43l-3.5 2c-.08.05-.17.07-.25.07-.17 0-.34-.1-.43-.25-.14-.24-.06-.55.18-.68l3.5-2c.24-.14.55-.06.68.18.14.24.06.55-.18.68zm4.75.07c-.1 0-.2-.03-.27-.08l-8.5-5.5c-.23-.15-.3-.46-.15-.7.15-.22.46-.3.7-.14L12 13.4l8.23-5.32c.23-.15.54-.08.7.15.14.23.07.54-.16.7l-8.5 5.5c-.08.04-.17.07-.27.07zm8.93 1.75c-.1.16-.26.25-.43.25-.08 0-.17-.02-.25-.07l-3.5-2c-.24-.13-.32-.44-.18-.68s.44-.32.68-.18l3.5 2c.24.13.32.44.18.68z" /> </svg> </a> <a class="share-button-item share-button-item--facebook" href="https://facebook.com/sharer/sharer.php?u=https://www.politicshome.com%2fnews%2farticle%2fmorgan-mcsweeney-got-big-break" target="_blank" rel="noopener" aria-label=""> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z" /> </svg> </a> </div> </div> <p class="img-caption">Morgan McSweeney arrives in Downing Street (credit, Tayfun Salci/ZUMA Press Wire)</p> </div> <div class="av-author"> <div class="av-authImg"> <a href="/news/author/francis-elliott.htm"> <img src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/author/Capture_s1mqv3" alt="Francis Elliott" /> </a> </div> <div class="av-authInfo"> <p class="av-authName"> <a href="/news/author/francis-elliott.htm"> Francis Elliott </a> </p> <p class="av-authTwitter"> <a target="_blank" class="icon icon--x" href="https://x.com/elliottengage"> <svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 512 462.799"><path fill-rule="nonzero" d="M403.229 0h78.506L310.219 196.04 512 462.799H354.002L230.261 301.007 88.669 462.799h-78.56l183.455-209.683L0 0h161.999l111.856 147.88L403.229 0zm-27.556 415.805h43.505L138.363 44.527h-46.68l283.99 371.278z"/></svg> elliottengage</a> </p> </div> </div> <div class="av-meta"> <span class="av-readTime">7 min read</span><span class="av-date"><time datetime="2024-10-29T18:00" title="29 October 2024 at 18:00">29 October</time></span> </div> <div class="av-standfirst"> <p>Now he’s Keir Starmer’s all-powerful chief of staff but 18 years ago he was an unproven novice. Francis Elliott reports on how Lambeth set Morgan McSweeney on the path to No 10</p> </div> <p>Morgan McSweeney was a junior Labour staffer not yet 30 when he arrived at Lambeth council in 2006. He left two years later with a reputation as a winner, a powerful political networker and having won the affection of the woman he was to marry.</p> <p>McSweeney&rsquo;s elevation to <a href="/thehouse/mp-directory/keir-starmer.htm" data-auto-taglink="1">Keir Starmer</a>&rsquo;s chief of staff in place of Sue Gray has prompted more myth-making about the 47-year-old Irishman. But those charting his rise from receptionist to No 10 have so far paid little attention to his first big break.</p> <blockquote> <p>&ldquo;Morgan definitely had a flirtation with the soft left,&rdquo; says one former colleague</p> </blockquote> <p>Contrary to some hagiography McSweeney was not hand-picked by Alan Milburn for combat at the most marginal seats during the 2005 election. Indeed the former health secretary and campaign director says he has no memory of the ginger-haired young staffer at all.&nbsp;</p> <p>In truth McSweeney owes his break to <a href="/thehouse/mp-directory/steve-reed.htm" data-auto-taglink="1">Steve Reed</a>, then Lambeth&rsquo;s council leader now Environment Secretary, who took a chance on him a year later. Reed&rsquo;s predecessor as Lambeth leader, Jim Dickson, remembers he and others pooled their council allowances to pay for a full-time organiser as part of an effort to win back for Labour what had become a political totem.</p><div id="M91004ScriptRootC1141117"></div> <script src="https://jsc.mgid.com/p/o/politicshome.com.1141117.js" async></script> <!----------------- ScrollAd Tag -----------------> <div id="adsuiteScrollAd"></div> <div class="col--ad col--ad-inArticle"> <div id='div-gpt-ad-1608230097163-6' class="ph-ad"> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1608230097163-6'); setInterval(function () { googletag.pubads().refresh([gptadslots[0]]); }, 120000); }); </script> </div> </div> <p>Throughout much of the 1980s and into the 1990s Lambeth had become associated with hard-left opposition to and protest against Margaret Thatcher. Figures like Ted Knight were staples of tabloid reporting on the &lsquo;loony left&rsquo;. Knight and his comrades sometimes made it easy for the right-wing press. They declared Lambeth &ldquo;a nuclear free zone&rdquo; and sang the Red Flag in defiance of their disqualification for failing to set rates. The council leader said of the police response to the Brixton riots that&nbsp; &ldquo;Lambeth is now under an army of occupation&rdquo;.</p> <p>By the mid-90s, Lambeth had emerged as the vanguard of a modernised party, thoroughly purged of &lsquo;the Trots&rsquo;: Tony Blair called it &ldquo;more New Labour than New Labour&rdquo;. Among its stars were Simon Stevens, who was later to become NHS England chief executive.</p> <p>But Labour lost control of Lambeth in 2002 in a humiliation for the Blairite poster-child that Reed and others were determined to reverse.&nbsp; Just how far McSweeney was responsible for winning back the key council and for forging a new politics that anticipated the <a href="/thehouse/mp-directory/jeremy-corbyn.htm" data-auto-taglink="1">Jeremy Corbyn</a> era and its aftermath is disputed but his political opponents noticed his influence immediately. Peter Truesdale, the Liberal Democrat leader of the council at the time, recalls rumours that the young organiser had been a promised a bonus if Labour won. Dickson says he has no recollection of a bonus but says McSweeney did insert some discipline into the operation. He put Labour councillors on &lsquo;contracts&rsquo; setting targets for voter engagement and calling out those that failed to hit them.</p> <p>&ldquo;It was very tightly targeted, very disciplined,&rdquo; agrees Truesdale who says the Lib Dem/Conservative coalition he led was, in any case, tiring and suffered from being incumbents. McSweeney and Reed learned from the Liberal Democrats how to exploit voters&rsquo; hyper-local concerns like the state of repairs on council estates. Like the Lib Dems the young organiser went close to the edge. &ldquo;I remember one campaign saying we were closing Clapham swimming baths,&rdquo; Truesdale says. &ldquo;They knew full well it was only because the baths were being refurbished.&rdquo;</p> <p><img alt="Morgan McSweeney (Alamy)" class="inline-image" height="646" src="/ugc-1/1/51/0/2Y9C2YT.jpg" width="1000" /></p> <p>Labour won in Lambeth in 2006 against a trend that saw the party suffer its worst set of results in the capital since 1968. While the Tories racked up successes elsewhere in London and minor parties like Respect and BNP fed on disaffection, Reed and Labour won back the critical prize. Others involved at the time dispute the claim that this impressive victory was mostly down to McSweeney. &ldquo;Was it bollocks,&rdquo; says a former colleague. &ldquo;He was a solid, competent organiser &ndash; but a cog in the machine rather than the engineer.&rdquo;</p> <p>Reed, however, was impressed and kept McSweeney on as part of his team as new council leader. Dickson says the young aide started to spread his wings and establish his own identity and network at this time. &ldquo;I remember going to dinner parties and being a bit surprised to see Morgan. He was clearly getting around the local CLPs [Constituency Labour Parties] a bit.&rdquo;</p> <p>It was, recalls a friend, a young and sociable scene. Activities included five-a-side football, at which McSweeney was &ldquo;memorably bad&rdquo;, as well as numerous romantic entanglements. &ldquo;There were a lot of relationships.&rdquo; Yet McSweeney had eyes only for one woman &ndash; a Scottish actress turned Stockwell councillor. His pursuit of Imogen Walker, who was elected as Labour MP for Hamilton and Clyde Valley in July, was characteristically single-minded. Walker, whose credits included Taggart and as Linda Lovelace in a 2002 Channel 4 documentary about the porn star, finally fell to the McSweeney siege. The two later married and have a young child.&nbsp;</p> <p>In the town hall, meanwhile, Reed and McSweeney were developing a political identity that anticipates today&rsquo;s Labour politics with the concept of &lsquo;co-operative councils&rsquo;.&nbsp; Just as he did to help Starmer win the leadership vacated by Corbyn a decade later, McSweeney helped his then boss navigate a path that sought to meet the desire for a more radical offer without abandoning economic orthodoxy.</p> <p>When the plum parliamentary seat of Streatham became available in 2008, however, Reed learned a hard lesson about the limits of such positioning. He was defeated by the then rising star Chuka Umunna whose allies portrayed the council leader as a Blairite throw-back. &ldquo;I think that showed sometimes in politics you can&rsquo;t beat an idea. The idea that Chuka was &lsquo;Britain&rsquo;s Obama&rsquo; was clearly nuts but we couldn&rsquo;t beat it,&rdquo; says a Reed ally. (Umunna was later to leave Labour and co-found The Independent Group, later Change UK.)</p> <p>McSweeney, crucially for his reputation as a serial winner, hadn&rsquo;t been in charge of Reed&rsquo;s Streatham campaign but was involved in his friend&rsquo;s subsequent and successful bid to win the selection for Croydon North seat, together with Walker who coached him on projection.</p> <p>By the time of the Streatham vote McSweeney was working with a new council leader, Liam Smith at Barking. It was another London borough that deepened his understanding of what Labour needed to do keep its working-class voters in the face of challenges like migration. Both in Lambeth and then in Barking, McSweeney was politically sinuous. He drew close to figures like Jon Cruddas, former MP for Dagenham and Rainham, and others in the Blue Labour movement but also volunteered on Ken Livingstone&rsquo;s mayoral campaign.</p> <p>McSweeney is sometimes portrayed as a factional &ldquo;Trot-hunter&rdquo;, determined to root out every last vestige of what was once called the Corbyn &lsquo;project&rsquo;. But this is to misunderstand his politics &ndash; and his pragmatism. &ldquo;Morgan definitely had a flirtation with the soft left,&rdquo; says one former colleague. From at least his Lambeth apprenticeship he has also shown a strong interest in seeking to root Labour in the concerns of its traditional voters. One striking difference between Starmer and Blair is the current Prime Minister&rsquo;s willingness to use class in framing Labour&rsquo;s mission.</p> <p>While the extent of McSweeney&rsquo;s role in winning back Lambeth for Labour and later holding off the BNP in Barking may be disputed, there is no doubt that his experiences in London politics proved invaluable in crafting Starmer&rsquo;s path to power through the party&rsquo;s factional jungle.&nbsp;</p> <p>&nbsp;</p> <p><em>This story is a collaboration with <a href="http://the-londoner.co.uk">The Londoner</a>, a new publication covering the capital, launching this week.</em></p> <div class="hide js-newsview-related"><div class="av-related "> <div class="news-title"> <span class="nt-cat h5">Related</span> </div> <div class="news-item news-item--related"> <div class="ni-image"> <a href="/news/article/kemi-badenoch-gives-all-new-tory-mps-jobs-opposition"> <img data-sizes="auto" data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_340,h_170/v1/news/2024_11/2YG4P88_ys0je7.jpg" data-srcset="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_75,w_250,h_125/v1/news/2024_11/2YG4P88_ys0je7.jpg 250w, https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_340,h_170/v1/news/2024_11/2YG4P88_ys0je7.jpg 340w" class="lazyload" alt="Kemi Badenoch Gives All 26 New Tory MPs Jobs In Opposition"> </a> </div> <div class="ni-content"> <div class="ni-title h4"> <a href="/news/article/kemi-badenoch-gives-all-new-tory-mps-jobs-opposition">Kemi Badenoch Gives All 26 New Tory MPs Jobs In Opposition</a> </div> <div class="ni-author"> By <a href="/news/author/tali-fraser-and-harriet-symonds.htm">Tali Fraser and Harriet Symonds</a> </div> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-18T15:55" title="18 November 2024 at 15:55">18 Nov</time></span> </div> </div> </div> </div></div> <p><strong>PoliticsHome Newsletters</strong></p> <p><em>PoliticsHome provides the most comprehensive coverage of UK politics anywhere on the web, offering high quality original reporting and analysis: <a href="https://www.politicshome.com/account.htm">Subscribe</a></em></p> <img src="/_handlers/news/impression.ashx?key=89610&ref=morgan-mcsweeney-got-big-break" width="1" height="1" /> </div> </article> <div class="av-tags"> <p class="av-tagTitle">Tags</p> <a href="/thehouse/mp-directory/keir-starmer.htm">Keir Starmer</a> <a href="/news/tag/labour.htm?filter=218">Labour</a> <a href="/news/tag/downing-street.htm?filter=370">Downing Street</a> <a href="/news/tag/david-evans.htm?filter=1056">David Evans</a> <a href="/thehouse/mp-directory/steve-reed.htm">Steve Reed</a> <a href="/news/tag/general-election.htm?filter=3393">General Election</a> <a href="/news/tag/strategy.htm?filter=4731">strategy</a> <a href="/news/tag/morgan-mcsweeney.htm?filter=5601">Morgan McSweeney</a> </div> <div class="av-tags av-tags--categories"> <p class="av-tagTitle">Categories</p> <a href="/news/political-parties.htm">Political parties</a> </div> <div class="dianomi-articles"> <script type="text/javascript" id="dianomi_context_script" src="https://www.dianomi.com/js/contextfeed.js"></script> <div class="dianomi_context" data-dianomi-context-id="209"></div> </div> </div> <div class="av-rc"> <div class="next-article-wrap"> <div class="news-title"> <span class="nt-cat h5">Read next</span> </div> <div class="news-list news-list--x1 news-list--readNext"> <div class="news-item"> <div class="ni-image "> <a href="/news/article/kemi-badenoch-inner-circle-who-is-who"> <img data-sizes="auto" data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_340,h_170,f_auto/v1/news/2024_11/2YKWBY0_nfrupn.jpg" data-srcset="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_75,w_250,h_125,f_auto/v1/news/2024_11/2YKWBY0_nfrupn.jpg 250w, https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_340,h_170,f_auto/v1/news/2024_11/2YKWBY0_nfrupn.jpg 340w" class="lazyload" alt="Who's Who In Kemi Badenoch's Inner Circle?"> </a> </div> <div class="ni-content"> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-22T13:40" title="22 November 2024 at 13:40">22 Nov</time></span> <span class="ni-cat"><a href="/news/political-parties.htm">Political parties</a></span> </div> <div class="ni-title"> <a href="/news/article/kemi-badenoch-inner-circle-who-is-who">Who's Who In Kemi Badenoch's Inner Circle?</a> </div> </div> </div> </div> </div> <div class="col--ad"> <!-- /1048162/ph/news-article_right-side-top --> <div id='div-gpt-ad-1608230097163-3' class="ph-ad"> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1608230097163-3'); }); </script> </div> </div> <div class="dianomi-articles--right"> <script type="text/javascript" id="dianomi_context_script" src="https://www.dianomi.com/js/contextfeed.js"></script> <div class="dianomi_context" data-dianomi-context-id="1339"></div> </div> </div> </div> <div class="row row--extra"> <div class="cols"> <div class="col col--75"> <div class="news-title"> <span class="nt-cat h5">Read more</span> <span class="nt-link"> <a class="icon icon--all" href="/news.htm">All</a> </span> </div> <div class="news-list news-list--x3 news-list--sqThumb"> <div class="news-item"> <div class="ni-image"> <a href="/news/article/will-keir-starmer-iron-first-party-management-backfire"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/2YGMYEY_ggnvp3.jpg" class="lazyload" alt="Will Keir Starmer's 'Iron Fist' Party Management Backfire?"> </a> </div> <div class="ni-content"> <div class="ni-title"> <a href="/news/article/will-keir-starmer-iron-first-party-management-backfire">Will Keir Starmer's "Iron Fist" Party Management Backfire?</a> </div> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-16T07:00" title="16 November 2024 at 07:00">16 Nov</time></span> <span class="ni-cat"><a href="/news/political-parties.htm">Political parties</a></span> </div> </div> </div><div class="news-item"> <div class="ni-image"> <a href="/news/article/mps-approach-tipping-point-move-away-elon-musk-x"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/2YC8X2P_chfjg6.jpg" class="lazyload" alt="MPs Approach 'Tipping Point' To Move Away From Elon Musk's X"> </a> </div> <div class="ni-content"> <div class="ni-title"> <a href="/news/article/mps-approach-tipping-point-move-away-elon-musk-x">MPs Approach "Tipping Point" To Move Away From Elon Musk's X</a> </div> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-14T14:25" title="14 November 2024 at 14:25">14 Nov</time></span> <span class="ni-cat"><a href="/news/political-parties.htm">Political parties</a></span> </div> </div> </div><div class="news-item"> <div class="ni-image"> <a href="/news/article/keir-starmer-should-fix-central-government-machine"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/IfG_on_No10_e8uivb.jpg" class="lazyload" alt="Keir Starmer Should Finally Fix The Central Government Machine"> </a> </div> <div class="ni-content"> <div class="ni-title"> <a href="/news/article/keir-starmer-should-fix-central-government-machine">Keir Starmer Should Finally Fix The Central Government Machine</a> </div> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-09T07:00" title="09 November 2024 at 07:00">09 Nov</time></span> <span class="ni-cat"><a href="/news/political-parties.htm">Political parties</a></span> </div> </div> </div><div class="news-item"> <div class="ni-image"> <a href="/news/article/green-party-members-rejected-proposal-join-womens-equality-party"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/2R7AHA3_ornv6m.jpg" class="lazyload" alt="Green Party Members Rejected Proposal To Join With Women’s Equality Party"> </a> </div> <div class="ni-content"> <div class="ni-title"> <a href="/news/article/green-party-members-rejected-proposal-join-womens-equality-party">Green Party Members Rejected Proposal To Join With Women’s Equality Party</a> </div> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-08T09:40" title="08 November 2024 at 09:40">08 Nov</time></span> <span class="ni-cat"><a href="/news/political-parties.htm">Political parties</a></span> </div> </div> </div><div class="news-item"> <div class="ni-image"> <a href="/news/article/kemi-badenoch-keir-starmer"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/Screenshot_2024-11-06_at_12.31.30_xo2ka5.jpg" class="lazyload" alt="Kemi Badenoch Accuses Keir Starmer Of A 'Student Politics' Approach To Donald Trump"> </a> </div> <div class="ni-content"> <div class="ni-title"> <a href="/news/article/kemi-badenoch-keir-starmer">Kemi Badenoch Accuses Keir Starmer Of A "Student Politics" Approach To Donald Trump</a> </div> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-06T12:00" title="06 November 2024 at 12:00">06 Nov</time></span> <span class="ni-cat"><a href="/news/foreign-affairs.htm">Foreign affairs</a></span> </div> </div> </div><div class="news-item"> <div class="ni-image"> <a href="/news/article/third-conservative-voters-think-leader-last-next-election"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/2YF0F5C_td1p5m.jpg" class="lazyload" alt="Third Of Tory Voters Don't Think New Leader Will Fight Next Election"> </a> </div> <div class="ni-content"> <div class="ni-title"> <a href="/news/article/third-conservative-voters-think-leader-last-next-election">Third Of Tory Voters Don't Think New Leader Will Fight Next Election</a> </div> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-05T12:55" title="05 November 2024 at 12:55">05 Nov</time></span> <span class="ni-cat"><a href="/news/political-parties.htm">Political parties</a></span> </div> </div> </div><div class="news-item"> <div class="ni-image"> <a href="/news/article/kemi-badenoch-announces-new-shadow-cabinet"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/2RR134G_tkxk0q.jpg" class="lazyload" alt="Mel Stride And Priti Patel Get Top Jobs In Kemi Badenoch's New Shadow Cabinet"> </a> </div> <div class="ni-content"> <div class="ni-title"> <a href="/news/article/kemi-badenoch-announces-new-shadow-cabinet">Mel Stride And Priti Patel Get Top Jobs In Kemi Badenoch's New Shadow Cabinet</a> </div> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-05T09:30" title="05 November 2024 at 09:30">05 Nov</time></span> <span class="ni-cat"><a href="/news/political-parties.htm">Political parties</a></span> </div> </div> </div><div class="news-item"> <div class="ni-image"> <a href="/news/article/kemi-badenoch-wins-conservative-party-leader-election"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/2Y868D5_1_xvkaqf.jpg" class="lazyload" alt="Kemi Badenoch Wins Conservative Party Leader Election"> </a> </div> <div class="ni-content"> <div class="ni-title"> <a href="/news/article/kemi-badenoch-wins-conservative-party-leader-election">Kemi Badenoch Wins Conservative Party Leader Election</a> </div> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-02T11:10" title="02 November 2024 at 11:10">02 Nov</time></span> <span class="ni-cat"><a href="/news/political-parties.htm">Political parties</a></span> </div> </div> </div><div class="news-item"> <div class="ni-image"> <a href="/news/article/who-is-who-top-of-labour"> <img data-src="https://res.cloudinary.com/dyw8mv3b0/image/upload/c_fill,g_face,q_80,w_100,h_100,f_auto/v1/news/2024_11/who_s_who_1_ps0fwa.jpg" class="lazyload" alt="Who's Who At The Top Of Labour?"> </a> </div> <div class="ni-content"> <div class="ni-title"> <a href="/news/article/who-is-who-top-of-labour">Who's Who At The Top Of Labour?</a> </div> <div class="ni-meta"> <span class="ni-date"><time datetime="2024-11-02T07:00" title="02 November 2024 at 07:00">02 Nov</time></span> <span class="ni-cat"><a href="/news/political-parties.htm">Political parties</a></span> </div> </div> </div> </div> </div> <div class="col col--25"> <div class="col--ad"> <!-- /1048162/ph/news-article_right-side-bot --> <div id='div-gpt-ad-1608230097163-4' class="ph-ad"> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1608230097163-4'); }); </script> </div> </div> <!-- <a href="/more/become-a-member.htm" class="cta-block cta-block--square "> <div class="cta-img lazyload" data-bg="/ugc-1/uploads/pageblocks/61/0ae23ab8cf9ab61e57849a802e3ba090.jpg"></div> <div class="h2"> Drive the <br> political debate </div> <p>Are you looking to engage with the most influential people in UK politics?</p> <div class="cta-bottom clearFix"> <p>Join our membership service today</p> <span class="btn btn--outlineWhite">Join now</span> </div> </a> --> </div> </div> </div> <!-- Composite Start --> <div id="M91004ScriptRootC1141116"></div> <script src="https://jsc.mgid.com/p/o/politicshome.com.1141116.js" async></script> <!-- Composite End --> <div class="avantisDiv"></div> <!-- /1048162/ph/news-article_pixel-1 --> <div id='div-gpt-ad-1608230097163-8'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1608230097163-8'); }); </script> </div> <!-- /1048162/ph/news-article_pixel-2 --> <div id='div-gpt-ad-1608230097163-9'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1608230097163-9'); }); </script> </div> <script type="text/javascript" async src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5c49a9669e01cd8c"></script> <div class="cta-banner"> <a href="/events.htm" class="clearFix"> <div class="ctab-img"> <img class="lazyload" data-src="/ugc-1/uploads/pageblocks/101/83f6ea43bb6e491dd4c657193e31704f.jpg"> </div> <div class="ctab-content flx flx--col flx--wr flx--jc"> <div class="h2">Find out more about our events</div> <p>PoliticsHome & The House Magazine organise a number of industry leading political events throughout the year.</p> <p><span class="btn btn--xPadding btn--outlineBlack">Find out more</span></p> </div> </a> </div> </div> </div> </main> <footer> <div class="container"> <div class="ftr-col ftr-col--left clearFix"> <div class="ftr-subsWrap"> <div class="h3">Sign up for our newsletters</div> <div class="ftr-subs clearFix"> <a href="https://www.politicshome.com/account.htm"> <div class="ftrs-img"> <img class="lazyload" data-src="/ugc-1/uploads/pageblocks/11069/199d2e61b2961d864564a149aad3fe91.png" alt="Subscribe" /> </div> <div class="ftrs-text"> <p>Get daily news alerts and weekend round-ups straight to your inbox.</p> <p><span class="btn btn--black">Subscribe</span></p> </div> </a> </div> <div class="subs-popup subs-popup--membership"> <div class="subs-close"><span class="icon icon--subsClose">Close</span></div> <div class="h4 h4--sm">Sign up to the PoliticsHome<br> newsletter today!</div> <div><a href="/account.htm" class="btn btn--outlineWhite">Find out more</a></div> </div> </div> <div class="ftr-copyWrap"> <p>Registered in England & Wales under No. 07291783</p> <p>&copy; Political Holdings Limited <script>document.write(new Date().getFullYear());</script></p> </div> </div> <div class="ftr-col ftr-col--right clearFix flx flx--wr"> <div class="ftr-subcol ftr-subcol--1"> <div class="h5">Quick links</div> <ul> <li><a href="/">Home</a></li> <li><a href="/news">News</a></li> <li><a href="/thehouse">The House Live</a></li> <!--li><a href="/must-reads">Must Reads</a></li--> <li><a href="/events">Events</a></li> <li><a href="/members">Members&#39; Directory</a></li> <li><a href="/more/marketing-opportunities.htm">Commercial Opportunities</a></li> <li><a href="/more/about-politicshome.htm">About Us</a></li> </ul> <span class="icon icon--chevDown"></span> </div> <div class="ftr-subcol ftr-subcol--1"> <div class="h5">More from Total Politics</div> <ul> <li><a href="http://www.holyrood.com" target="_blank">Holyrood</a></li> <li><a href="http://www.theparliamentmagazine.eu/" target="_blank">The Parliament</a></li> <li><a href="http://www.civilserviceworld.com" target="_blank">Civil Service World</a></li> <li><a href="http://www.publictechnology.net/" target="_blank">PublicTechnology.net</a></li> </ul> <span class="icon icon--chevDown"></span> </div> <div class="ftr-subcol ftr-subcol--1 ftr-subcol--last"> <div class="h5">About Us</div> <ul> <li><a href="https://www.totalpolitics.com/" target="_blank">Total Politics Group</a></li> <li><a href="https://www.totalpolitics.com/docs/privacy-policy.pdf" target="_blank">Privacy Policy</a></li> <li><a href="https://www.totalpolitics.com/docs/Website_Terms_and_Conditions_of_Use.pdf" target="_blank">Terms &amp;&nbsp;Conditions</a></li> </ul> <span class="icon icon--chevDown"></span> </div> <div class="ftr-subcol ftr-subcol--1"> <div class="h5">Services</div> <ul> <li><a href="https://www.totalpolitics.com/media/" target="_blank">Media</a></li> <li><a href="https://www.totalpolitics.com/events/" target="_blank">Events</a></li> <li><a href="https://www.totalpolitics.com/training/" target="_blank">Training</a></li> </ul> <span class="icon icon--chevDown"></span> </div> </div> </div> </footer> <div class="to-top" title="Back to top"></div> <!--Skin Ad Unit--> <!-- /1048162/ph/news-article_teads --> <div id='div-gpt-ad-1608230097163-5'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1608230097163-5'); }); </script> </div> <!-- /1048162/ph/news-article_skin --> <div id='div-gpt-ad-1608230097163-7'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1608230097163-7'); }); </script> </div> <script type="text/javascript"> //<![CDATA[ Sys.WebForms.PageRequestManager._initialize('ctl00$ajax', 'form1', [], [], [], 90, 'ctl00'); //]]> </script> <!-- Quantcast Tag --> <script async type="text/javascript"> var _qevents = _qevents || []; (function () { var elem = document.createElement('script'); elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js"; elem.async = true; elem.type = "text/javascript"; var scpt = document.getElementsByTagName('script')[0]; scpt.parentNode.insertBefore(elem, scpt); })(); _qevents.push({ qacct: "p-1C3fJ9awG115y" }); function dodsCheckQuantCast () { if (typeof(window.__tcfapi) !== 'function') { setTimeout(function () { dodsCheckQuantCast(); }, 250); } else { __tcfapi('getTCData', 2, function(tcData, success) { if (!success || tcData.cmpStatus != "loaded") { setTimeout(function () { dodsCheckQuantCast(); }, 250); } else { __tcfapi('addEventListener', 2, function(tcData, success) { if (success) { dodsGetVendorConsents(tcData); } }); } }); } } dodsCheckQuantCast(); function dodsGetVendorConsents(tcData) { // Google GDPR checks console.log('Google GDPR checks', tcData.eventStatus, tcData.gdprApplies); if(tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete') { if (!tcData.gdprApplies) { console.log('GDPR does not apply'); // Do nothing as all ads allowed } else { console.log('GDPR applies'); // GDPR applies // Purpose 1 refers to the storage and/or access of information on a device. var hasDeviceStorageAndAccessConsent = tcData.purpose.consents[1] || false; // Google Requires Consent for Purpose 1 console.log('Storage consent', hasDeviceStorageAndAccessConsent); if (hasDeviceStorageAndAccessConsent) { var hasGoogleAdvertisingProductsConsent = tcData.vendor.consents[755] || false; // Google Advertising (IAB Vendor ID 755) console.log('Google consent', hasGoogleAdvertisingProductsConsent); if (hasGoogleAdvertisingProductsConsent) { var hasPersonalizedProfileConsent = tcData.purpose.consents[3] || false; var hasPersonalizedAdsConsent = tcData.purpose.consents[4] || false; // Check if have add personalization consent Purpose 3 and 4 console.log('Google personalization consent', hasPersonalizedAdsConsent, hasPersonalizedProfileConsent); if( hasPersonalizedAdsConsent && hasPersonalizedProfileConsent ) { // Set request non-personalized ads to false. (do nothing as default) } else { // Set request non-personalized ads to true. googletag.cmd.push(function() { googletag.pubads().setRequestNonPersonalizedAds(1); }); } } } } // Refresh the ads after the consent has been configured googletag.cmd.push(function() { googletag.pubads().refresh(); }); } } </script> <noscript> <div style="display:none;"> <img src="//pixel.quantserve.com/pixel/p-1C3fJ9awG115y.gif" border="0" height="1" width="1" alt="Quantcast"/> </div> </noscript> <!-- End Quantcast tag --> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="90059987" /> </div></form> <script src="https://res.cloudinary.com/dyw8mv3b0/raw/upload/js/advert.js" type="text/javascript"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10