Component Interaction

From Get docs
Angular/docs/7/guide/component-interaction


Component Interaction

This cookbook contains recipes for common component communication scenarios in which two or more components share information.

See the .

Pass data from parent to child with input binding

HeroChildComponent has two input properties, typically adorned with @Input decorations.

import { Component, Input } from '@angular/core';

import { Hero } from './hero';

@Component({
  selector: 'app-hero-child',
  template: `
    <h3>{{hero.name}} says:</h3>
    <p>I, {{hero.name}}, am at your service, {{masterName}}.</p>
  `
})
export class HeroChildComponent {
  @Input() hero: Hero;
  @Input('master') masterName: string;
}

The second @Input aliases the child component property name masterName as 'master'.

The HeroParentComponent nests the child HeroChildComponent inside an *ngFor repeater, binding its master string property to the child's master alias, and each iteration's hero instance to the child's hero property.

import { Component } from '@angular/core';

import { HEROES } from './hero';

@Component({
  selector: 'app-hero-parent',
  template: `
    <h2>{{master}} controls {{heroes.length}} heroes</h2>
    <app-hero-child *ngFor="let hero of heroes"
      [hero]="hero"
      [master]="master">
    </app-hero-child>
  `
})
export class HeroParentComponent {
  heroes = HEROES;
  master = 'Master';
}

The running application displays three heroes:

[[../File:data:image/png;base64,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|thumb|none|272x267px]]

Test it

E2E test that all children were instantiated and displayed as expected:

// ...
let _heroNames = ['Mr. IQ', 'Magneta', 'Bombasto'];
let _masterName = 'Master';

it('should pass properties to children properly', function () {
  let parent = element.all(by.tagName('app-hero-parent')).get(0);
  let heroes = parent.all(by.tagName('app-hero-child'));

  for (let i = 0; i < _heroNames.length; i++) {
    let childTitle = heroes.get(i).element(by.tagName('h3')).getText();
    let childDetail = heroes.get(i).element(by.tagName('p')).getText();
    expect(childTitle).toEqual(_heroNames[i] + ' says:');
    expect(childDetail).toContain(_masterName);
  }
});
// ...

Back to top

Intercept input property changes with a setter

Use an input property setter to intercept and act upon a value from the parent.

The setter of the name input property in the child NameChildComponent trims the whitespace from a name and replaces an empty value with default text.

import { Component, Input } from '@angular/core';

@Component({
  selector: 'app-name-child',
  template: '<h3>"{{name}}"</h3>'
})
export class NameChildComponent {
  private _name = '';

  @Input()
  set name(name: string) {
    this._name = (name && name.trim()) || '<no name set>';
  }

  get name(): string { return this._name; }
}

Here's the NameParentComponent demonstrating name variations including a name with all spaces:

import { Component } from '@angular/core';

@Component({
  selector: 'app-name-parent',
  template: `
  <h2>Master controls {{names.length}} names</h2>
  <app-name-child *ngFor="let name of names" [name]="name"></app-name-child>
  `
})
export class NameParentComponent {
  // Displays 'Mr. IQ', '<no name set>', 'Bombasto'
  names = ['Mr. IQ', '   ', '  Bombasto  '];
}

[[../File:data:image/png;base64,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|thumb|none|322x193px]]

Test it

E2E tests of input property setter with empty and non-empty names:

// ...
it('should display trimmed, non-empty names', function () {
  let _nonEmptyNameIndex = 0;
  let _nonEmptyName = '"Mr. IQ"';
  let parent = element.all(by.tagName('app-name-parent')).get(0);
  let hero = parent.all(by.tagName('app-name-child')).get(_nonEmptyNameIndex);

  let displayName = hero.element(by.tagName('h3')).getText();
  expect(displayName).toEqual(_nonEmptyName);
});

it('should replace empty name with default name', function () {
  let _emptyNameIndex = 1;
  let _defaultName = '"<no name set>"';
  let parent = element.all(by.tagName('app-name-parent')).get(0);
  let hero = parent.all(by.tagName('app-name-child')).get(_emptyNameIndex);

  let displayName = hero.element(by.tagName('h3')).getText();
  expect(displayName).toEqual(_defaultName);
});
// ...

Back to top

Intercept input property changes with ngOnChanges()

Detect and act upon changes to input property values with the ngOnChanges() method of the OnChanges lifecycle hook interface.

You may prefer this approach to the property setter when watching multiple, interacting input properties.

Learn about ngOnChanges() in the LifeCycle Hooks chapter.

This VersionChildComponent detects changes to the major and minor input properties and composes a log message reporting these changes:

import { Component, Input, OnChanges, SimpleChange } from '@angular/core';

@Component({
  selector: 'app-version-child',
  template: `
    <h3>Version {{major}}.{{minor}}</h3>
    <h4>Change log:</h4>
    <ul>
      <li *ngFor="let change of changeLog">{{change}}</li>
    </ul>
  `
})
export class VersionChildComponent implements OnChanges {
  @Input() major: number;
  @Input() minor: number;
  changeLog: string[] = [];

  ngOnChanges(changes: {[propKey: string]: SimpleChange}) {
    let log: string[] = [];
    for (let propName in changes) {
      let changedProp = changes[propName];
      let to = JSON.stringify(changedProp.currentValue);
      if (changedProp.isFirstChange()) {
        log.push(`Initial value of ${propName} set to ${to}`);
      } else {
        let from = JSON.stringify(changedProp.previousValue);
        log.push(`${propName} changed from ${from} to ${to}`);
      }
    }
    this.changeLog.push(log.join(', '));
  }
}

The VersionParentComponent supplies the minor and major values and binds buttons to methods that change them.

import { Component } from '@angular/core';

@Component({
  selector: 'app-version-parent',
  template: `
    <h2>Source code version</h2>
    <button (click)="newMinor()">New minor version</button>
    <button (click)="newMajor()">New major version</button>
    <app-version-child [major]="major" [minor]="minor"></app-version-child>
  `
})
export class VersionParentComponent {
  major = 1;
  minor = 23;

  newMinor() {
    this.minor++;
  }

  newMajor() {
    this.major++;
    this.minor = 0;
  }
}

Here's the output of a button-pushing sequence:

[[../File:data:image/gif;base64,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|thumb|none|481x264px]]

Test it

Test that both input properties are set initially and that button clicks trigger the expected ngOnChanges calls and values:

// ...
// Test must all execute in this exact order
it('should set expected initial values', function () {
  let actual = getActual();

  let initialLabel = 'Version 1.23';
  let initialLog = 'Initial value of major set to 1, Initial value of minor set to 23';

  expect(actual.label).toBe(initialLabel);
  expect(actual.count).toBe(1);
  expect(actual.logs.get(0).getText()).toBe(initialLog);
});

it('should set expected values after clicking \'Minor\' twice', function () {
  let repoTag = element(by.tagName('app-version-parent'));
  let newMinorButton = repoTag.all(by.tagName('button')).get(0);

  newMinorButton.click().then(function() {
    newMinorButton.click().then(function() {
      let actual = getActual();

      let labelAfter2Minor = 'Version 1.25';
      let logAfter2Minor = 'minor changed from 24 to 25';

      expect(actual.label).toBe(labelAfter2Minor);
      expect(actual.count).toBe(3);
      expect(actual.logs.get(2).getText()).toBe(logAfter2Minor);
    });
  });
});

it('should set expected values after clicking \'Major\' once', function () {
  let repoTag = element(by.tagName('app-version-parent'));
  let newMajorButton = repoTag.all(by.tagName('button')).get(1);

  newMajorButton.click().then(function() {
    let actual = getActual();

    let labelAfterMajor = 'Version 2.0';
    let logAfterMajor = 'major changed from 1 to 2, minor changed from 25 to 0';

    expect(actual.label).toBe(labelAfterMajor);
    expect(actual.count).toBe(4);
    expect(actual.logs.get(3).getText()).toBe(logAfterMajor);
  });
});

function getActual() {
  let versionTag = element(by.tagName('app-version-child'));
  let label = versionTag.element(by.tagName('h3')).getText();
  let ul = versionTag.element((by.tagName('ul')));
  let logs = ul.all(by.tagName('li'));

  return {
    label: label,
    logs: logs,
    count: logs.count()
  };
}
// ...

Back to top

Parent listens for child event

The child component exposes an EventEmitter property with which it emits events when something happens. The parent binds to that event property and reacts to those events.

The child's EventEmitter property is an output property, typically adorned with an @Output decoration as seen in this VoterComponent:

import { Component, EventEmitter, Input, Output } from '@angular/core';

@Component({
  selector: 'app-voter',
  template: `
    <h4>{{name}}</h4>
    <button (click)="vote(true)"  [disabled]="didVote">Agree</button>
    <button (click)="vote(false)" [disabled]="didVote">Disagree</button>
  `
})
export class VoterComponent {
  @Input()  name: string;
  @Output() voted = new EventEmitter<boolean>();
  didVote = false;

  vote(agreed: boolean) {
    this.voted.emit(agreed);
    this.didVote = true;
  }
}

Clicking a button triggers emission of a true or false, the boolean payload.

The parent VoteTakerComponent binds an event handler called onVoted() that responds to the child event payload $event and updates a counter.

import { Component }      from '@angular/core';

@Component({
  selector: 'app-vote-taker',
  template: `
    <h2>Should mankind colonize the Universe?</h2>
    <h3>Agree: {{agreed}}, Disagree: {{disagreed}}</h3>
    <app-voter *ngFor="let voter of voters"
      [name]="voter"
      (voted)="onVoted($event)">
    </app-voter>
  `
})
export class VoteTakerComponent {
  agreed = 0;
  disagreed = 0;
  voters = ['Mr. IQ', 'Ms. Universe', 'Bombasto'];

  onVoted(agreed: boolean) {
    agreed ? this.agreed++ : this.disagreed++;
  }
}

The framework passes the event argument—represented by $event—to the handler method, and the method processes it:

[[../File:data:image/gif;base64,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kypNStToTKJLo0pd2fQo0qlYs2as+vSk1q9gE3L1Gbas2bFXzaoFK0HPHRRP5qRdS3eqURR4UTA6VLev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw4v/H0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJYIQByPpKjiiiy26OKLMMYIYxwAiPbIYTeGpohhAuyo4wGG+QiakIQRqZUfPSCCBZBCGSkQHnzYIKUNQASwQgCOJKEkk1I5idUedSixFCEI8QEFk3TwIJAjGyCiFZlgacGDDjwIgQUWVwIFZ0FF9AEFFgFgUQgfWVg5EKBT7amVCjj0CcVATvRhQx19DOFIDzvYAMUJS3BQgxGAcuopqAwRkidBdph56g+SYJnEDB74/yAlE0FcGakNHDRiQQC3UmopppqK+mmonQ57kKJYFZIEEQH4cUYEHgSwRCMB0MDBEE7w0UgE0urqxAYzdMsruNEqhGwAHjga7ZUqnMHrq17UGYC2Ai2BAxZa1BDutNVem+223Vrw7b7UDlwuQedG5QENQFQQgBY9ELGCE8tyu4Sl4D4csQceqKAExERw7DG35hoUwQl+khxBu67OkK8RBa1AQACB9DCDEzWELC3G4YIs8scbd6wEyQiD9YOUHOCKQwRe5IDuDRcPHIAXU0p5hhdJT+nuQn8g5GcAERAA9bYUz0AAEn08UcBAstYAib5NPx11xlRXfXXWVh/UtVYUE/8xcwBIqEkx2DuXrbHfAcwM8sx/c20yylBgkHi2UEQw8MzcerVBDATk63IPYBcR9auHM1564gjtnZWzDgtEcQxN8EuDDdhmLC7KQ9xeKUOqD8StmZIfsQStBAxMg5oDIRAABY+qwAHsstMute6584u73loJj0PjTfygRAK3MrGEEjrYnoekVAaBwflSAqH+QpAchDIISLuPAQblhytrA8oHIMEDF+iBEeyFgfCNL38CYV/61oc++xkkflmpwP0MkoAAJKACCdAeBlp3vw1KsIMenOBCdnCQ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|thumb|none|418x342px]]

Test it

Test that clicking the Agree and Disagree buttons update the appropriate counters:

// ...
it('should not emit the event initially', function () {
  let voteLabel = element(by.tagName('app-vote-taker'))
    .element(by.tagName('h3')).getText();
  expect(voteLabel).toBe('Agree: 0, Disagree: 0');
});

it('should process Agree vote', function () {
  let agreeButton1 = element.all(by.tagName('app-voter')).get(0)
    .all(by.tagName('button')).get(0);
  agreeButton1.click().then(function() {
    let voteLabel = element(by.tagName('app-vote-taker'))
      .element(by.tagName('h3')).getText();
    expect(voteLabel).toBe('Agree: 1, Disagree: 0');
  });
});

it('should process Disagree vote', function () {
  let agreeButton1 = element.all(by.tagName('app-voter')).get(1)
    .all(by.tagName('button')).get(1);
  agreeButton1.click().then(function() {
    let voteLabel = element(by.tagName('app-vote-taker'))
      .element(by.tagName('h3')).getText();
    expect(voteLabel).toBe('Agree: 1, Disagree: 1');
  });
});
// ...

Back to top

Parent interacts with child via local variable

A parent component cannot use data binding to read child properties or invoke child methods. You can do both by creating a template reference variable for the child element and then reference that variable within the parent template as seen in the following example.

The following is a child CountdownTimerComponent that repeatedly counts down to zero and launches a rocket. It has start and stop methods that control the clock and it displays a countdown status message in its own template.

import { Component, OnDestroy, OnInit } from '@angular/core';

@Component({
  selector: 'app-countdown-timer',
  template: '<p>{{message}}</p>'
})
export class CountdownTimerComponent implements OnInit, OnDestroy {

  intervalId = 0;
  message = '';
  seconds = 11;

  clearTimer() { clearInterval(this.intervalId); }

  ngOnInit()    { this.start(); }
  ngOnDestroy() { this.clearTimer(); }

  start() { this.countDown(); }
  stop()  {
    this.clearTimer();
    this.message = `Holding at T-${this.seconds} seconds`;
  }

  private countDown() {
    this.clearTimer();
    this.intervalId = window.setInterval(() => {
      this.seconds -= 1;
      if (this.seconds === 0) {
        this.message = 'Blast off!';
      } else {
        if (this.seconds < 0) { this.seconds = 10; } // reset
        this.message = `T-${this.seconds} seconds and counting`;
      }
    }, 1000);
  }
}

The CountdownLocalVarParentComponent that hosts the timer component is as follows:

import { Component }                from '@angular/core';
import { CountdownTimerComponent }  from './countdown-timer.component';

@Component({
  selector: 'app-countdown-parent-lv',
  template: `
  <h3>Countdown to Liftoff (via local variable)</h3>
  <button (click)="timer.start()">Start</button>
  <button (click)="timer.stop()">Stop</button>
  <div class="seconds">{{timer.seconds}}</div>
  <app-countdown-timer #timer></app-countdown-timer>
  `,
  styleUrls: ['../assets/demo.css']
})
export class CountdownLocalVarParentComponent { }

The parent component cannot data bind to the child's start and stop methods nor to its seconds property.

You can place a local variable, #timer, on the tag <countdown-timer> representing the child component. That gives you a reference to the child component and the ability to access any of its properties or methods from within the parent template.

This example wires parent buttons to the child's start and stop and uses interpolation to display the child's seconds property.

Here we see the parent and child working together.

[[../File:data:image/gif;base64,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|thumb|none|212x172px]]

Test it

Test that the seconds displayed in the parent template match the seconds displayed in the child's status message. Test also that clicking the Stop button pauses the countdown timer:

// ...
it('timer and parent seconds should match', function () {
  let parent = element(by.tagName(parentTag));
  let message = parent.element(by.tagName('app-countdown-timer')).getText();
  browser.sleep(10); // give `seconds` a chance to catchup with `message`
  let seconds = parent.element(by.className('seconds')).getText();
  expect(message).toContain(seconds);
});

it('should stop the countdown', function () {
  let parent = element(by.tagName(parentTag));
  let stopButton = parent.all(by.tagName('button')).get(1);

  stopButton.click().then(function() {
    let message = parent.element(by.tagName('app-countdown-timer')).getText();
    expect(message).toContain('Holding');
  });
});
// ...

Back to top

Parent calls an @ViewChild()

The local variable approach is simple and easy. But it is limited because the parent-child wiring must be done entirely within the parent template. The parent component itself has no access to the child.

You can't use the local variable technique if an instance of the parent component class must read or write child component values or must call child component methods.

When the parent component class requires that kind of access, inject the child component into the parent as a ViewChild.

The following example illustrates this technique with the same Countdown Timer example. Neither its appearance nor its behavior will change. The child CountdownTimerComponent is the same as well.

The switch from the local variable to the ViewChild technique is solely for the purpose of demonstration.

Here is the parent, CountdownViewChildParentComponent:

import { AfterViewInit, ViewChild } from '@angular/core';
import { Component }                from '@angular/core';
import { CountdownTimerComponent }  from './countdown-timer.component';

@Component({
  selector: 'app-countdown-parent-vc',
  template: `
  <h3>Countdown to Liftoff (via ViewChild)</h3>
  <button (click)="start()">Start</button>
  <button (click)="stop()">Stop</button>
  <div class="seconds">{{ seconds() }}</div>
  <app-countdown-timer></app-countdown-timer>
  `,
  styleUrls: ['../assets/demo.css']
})
export class CountdownViewChildParentComponent implements AfterViewInit {

  @ViewChild(CountdownTimerComponent)
  private timerComponent: CountdownTimerComponent;

  seconds() { return 0; }

  ngAfterViewInit() {
    // Redefine `seconds()` to get from the `CountdownTimerComponent.seconds` ...
    // but wait a tick first to avoid one-time devMode
    // unidirectional-data-flow-violation error
    setTimeout(() => this.seconds = () => this.timerComponent.seconds, 0);
  }

  start() { this.timerComponent.start(); }
  stop() { this.timerComponent.stop(); }
}

It takes a bit more work to get the child view into the parent component class.

First, you have to import references to the ViewChild decorator and the AfterViewInit lifecycle hook.

Next, inject the child CountdownTimerComponent into the private timerComponent property via the @ViewChild property decoration.

The #timer local variable is gone from the component metadata. Instead, bind the buttons to the parent component's own start and stop methods and present the ticking seconds in an interpolation around the parent component's seconds method.

These methods access the injected timer component directly.

The ngAfterViewInit() lifecycle hook is an important wrinkle. The timer component isn't available until after Angular displays the parent view. So it displays 0 seconds initially.

Then Angular calls the ngAfterViewInit lifecycle hook at which time it is too late to update the parent view's display of the countdown seconds. Angular's unidirectional data flow rule prevents updating the parent view's in the same cycle. The app has to wait one turn before it can display the seconds.

Use setTimeout() to wait one tick and then revise the seconds() method so that it takes future values from the timer component.

Test it

Use the same countdown timer tests as before.

Back to top

Parent and children communicate via a service

A parent component and its children share a service whose interface enables bi-directional communication within the family.

The scope of the service instance is the parent component and its children. Components outside this component subtree have no access to the service or their communications.

This MissionService connects the MissionControlComponent to multiple AstronautComponent children.

import { Injectable } from '@angular/core';
import { Subject }    from 'rxjs';

@Injectable()
export class MissionService {

  // Observable string sources
  private missionAnnouncedSource = new Subject<string>();
  private missionConfirmedSource = new Subject<string>();

  // Observable string streams
  missionAnnounced$ = this.missionAnnouncedSource.asObservable();
  missionConfirmed$ = this.missionConfirmedSource.asObservable();

  // Service message commands
  announceMission(mission: string) {
    this.missionAnnouncedSource.next(mission);
  }

  confirmMission(astronaut: string) {
    this.missionConfirmedSource.next(astronaut);
  }
}

The MissionControlComponent both provides the instance of the service that it shares with its children (through the providers metadata array) and injects that instance into itself through its constructor:

import { Component }          from '@angular/core';

import { MissionService }     from './mission.service';

@Component({
  selector: 'app-mission-control',
  template: `
    <h2>Mission Control</h2>
    <button (click)="announce()">Announce mission</button>
    <app-astronaut *ngFor="let astronaut of astronauts"
      [astronaut]="astronaut">
    </app-astronaut>
    <h3>History</h3>
    <ul>
      <li *ngFor="let event of history">{{event}}</li>
    </ul>
  `,
  providers: [MissionService]
})
export class MissionControlComponent {
  astronauts = ['Lovell', 'Swigert', 'Haise'];
  history: string[] = [];
  missions = ['Fly to the moon!',
              'Fly to mars!',
              'Fly to Vegas!'];
  nextMission = 0;

  constructor(private missionService: MissionService) {
    missionService.missionConfirmed$.subscribe(
      astronaut => {
        this.history.push(`${astronaut} confirmed the mission`);
      });
  }

  announce() {
    let mission = this.missions[this.nextMission++];
    this.missionService.announceMission(mission);
    this.history.push(`Mission "${mission}" announced`);
    if (this.nextMission >= this.missions.length) { this.nextMission = 0; }
  }
}

The AstronautComponent also injects the service in its constructor. Each AstronautComponent is a child of the MissionControlComponent and therefore receives its parent's service instance:

import { Component, Input, OnDestroy } from '@angular/core';

import { MissionService } from './mission.service';
import { Subscription }   from 'rxjs';

@Component({
  selector: 'app-astronaut',
  template: `
    <p>
      {{astronaut}}: <strong>{{mission}}</strong>
      <button
        (click)="confirm()"
        [disabled]="!announced || confirmed">
        Confirm
      </button>
    </p>
  `
})
export class AstronautComponent implements OnDestroy {
  @Input() astronaut: string;
  mission = '<no mission announced>';
  confirmed = false;
  announced = false;
  subscription: Subscription;

  constructor(private missionService: MissionService) {
    this.subscription = missionService.missionAnnounced$.subscribe(
      mission => {
        this.mission = mission;
        this.announced = true;
        this.confirmed = false;
    });
  }

  confirm() {
    this.confirmed = true;
    this.missionService.confirmMission(this.astronaut);
  }

  ngOnDestroy() {
    // prevent memory leak when component destroyed
    this.subscription.unsubscribe();
  }
}

Notice that this example captures the subscription and unsubscribe() when the AstronautComponent is destroyed. This is a memory-leak guard step. There is no actual risk in this app because the lifetime of a AstronautComponent is the same as the lifetime of the app itself. That would not always be true in a more complex application.

You don't add this guard to the MissionControlComponent because, as the parent, it controls the lifetime of the MissionService.

The History log demonstrates that messages travel in both directions between the parent MissionControlComponent and the AstronautComponent children, facilitated by the service:

[[../File:data:image/gif;base64,R0lGODlhNgFaAfcjAKauzg8TFAMTIyoyRR8YMfX19ePj4ubm5s3Oytra2trp6ExPaeLi4v///y0tMralseDg4Pb//8Slh5PO4qihqsLP0e/v72xrbP7/8kFBTUkAOt7e3vHx8aSkpCcaE+zs7JijnpeZm4aAf3NxcgAAF4qAiuzVq+nq6ayMf6mMgsK/wJSUlI2qyqW87d+3jKzW6Iyr2Y2Ajnl7eObjs4F6mJB8eObSrObmzpnC8efAmRYAFygAQZrU6khtoRcAATctIwIhQGeZr5aWlpiYmLLt+ffrz+jTm/K6eKfZ73a98HQAAPHGiHaw4oFLIpI6AIcBAFGYzBAABubOmEePyLp2IJbQ6HEAAIqCgR95u0YASaWfd3M3DapaCvDSm42ZxdWthfPhvKDM7ISRspKYkoy63sXm6dSnm1mHsb3w+gBPpub//7uKV0ug3WSZyDBfonhGEiwXAABJmj2Y2DltskcARyWLzTYAKsF/N+///rLV4gp5pZxJALZnAmYAH7jWqpNKIQEJQsjz/J7c/vz10AAAABZGjobG/QAAUPvqs/n06NSkYsifZE+ar1MWQgAAa43D767f+ZBaMLjk3v71wN+xdOm4hB55wNbz/qdQABdUoY8yJ0QAZbyNSOKrWSdIbTmLywAAhOO2bFwATmWx6M3o+dOXRkUeAPzMjWUYN+v/5b5yd30WAFZInNSTNm8eFlMbAE+n58eHAMf///ztxAA5mE8AAP3mpc+PLv393q3mxv7Hh/7ep6bn/7FjLQAdTrJ2Rmi489v/1qNlRUCDu3s2LN/9/QCIxwYZYf7/z4A1AJ8+A1wxjuSlTiwfeFpyuiUAAGI5FlIUY9TSoytIlKtiaFUZBQF3v5hEd0YABNP//xhquRcmWhJAbu+0ZZMwEwFfr3xMKsJ6FP/cnI/N9BsuWf//xwQAalin3vW9cQBktqVsRVcmF///5tD//753AAoyjDYJXTdeiCcAFQQzfl1ELbnf+JJJjU5inz0AAAAAKgASdoTK9x5gn968rXltPQD/ACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFFAAjACwAAAAANgFaAQAI/wAbCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1L9yQzQnjxvmt3sFtevId4NZj0J9+UCBRx9dLhplhJDDn8wSGUL0OQPA0WCb5Z7kleY3U7YiiVl0QSg7iEmcILaNzAToA3S9TlgxAJQySXvCLki0yBBolcrA7s8Ytsi8iU4QUdmqOuC/jwfsNTUNwZLnhByRpI2DDiiYoZO/8W2an2u+0EZyUjznFXo+MV2WFa3pzjKTZ8AAsqWGrCfELaDaVLdIfsZ9AS8MB30STrKTiRfPTVp5EusKBTGyF1EDQJK6n8F2BQDOKVDnUGYSCMgxTtsht7F0FICHMSYkQhMk7gpQ96DaAziosf3hWbQF1AQwI/CqiCHi6/wOELE+Iw0YAuf+EmEAZfQEOIAD3UMxCUse0i5DSBJOQXXrAkVImBDcwizGTkkEGiiy9isAYcQDBBYijR/WVMZ3nBIicc3KAhkJpsujmQizDGaBGFDZCG1yhTUkMEjziOSZw42IxYhDoBYkBFaxhUYkqZDYiTp5QY3EFIJsXsUk0+Upb/SuAYq+EVx3gFYZAfXrEq5Go++2Bwy6rj6YqXHr2UdppAttRCCIvJ4QVFsrw28Guww7IqEKKKylgmIlbY6pg4zuBB6ZY/DpuGY7jYk00D4AKLmC6QNtBstTnWtqw7hBxDBLPOkrANEeg886yDyKzy40K47EEILY7t4uwnA8WCVwBT4PIfjPey6OIA48zyxzxoNPxwxBNvu3G3FzHqKV75uMYMbucKxCVx4eBViKADIeIsIG2QCHC1LkrpIxtDEwLpvYCgSRCfBzNEGyFpqNFAOUoQcqNAFhNyXgNdW/Ndx7K5WDVBU5+NtdbbcctyRYw2cIrBhFiCjD1te4jjzYKd/5InIHZOSUVehYSZNG7gRt2AjyPa6yxx9xLS60C4KIevQsMSYo1AfMLKdYRdn+244g24mCFBmW9+tWeeu/32RHGbTIg5WiBdut7oKo5nXnOMN8gfefni2uiSj86ej2eTTfzkA+VMJkNdMwe1lNF/TrXVxpf9H6kVRzj97RG+Phv3YxKyjYE1P7lwAya8kVe9pa9B917Lwxvu8SJSp3zkzAs0N15iW0jmpMe64VUPbHgRnfJU9jzUea+A4HuR+GDHvUkojBDTYSCA9ra+0v2iNolqQBeqETX+NcBkMbOeHIYGOWcV7yAYcJ45/lUiFVDHQoRo3L0cwbMDhg57C4wg9/8EgkMdOouHEQzhBBsSN4EMyzSHwp3NfsQJSAikchiylzMGgo7Z/cuEDehGbQwRAQzwy18sFAwYDzKLJuBFWwQZzRwQQyOqjSs6FLMec344NNMsgWbbK0gd1yUrQuTRdUtsSCKokIlLDARTWxOIigBThYFYaj/M8MUjIqCeY1ixM3Nw5F0+gRhT4WVZ7EgWq34FP1N6zpSEWBZCkFSbQtQDMYmQAjHOIbQuvAJYqSJEIfjSAGNhUA3GJOQJHYYXWrwrWoSQw3cG4ktgqmqYAoGm6hLJEB8l0Gq6Ol3k/hIYbx7MBfVwwTpIEA8tNQAZXiiCMHywjaCpL0pTqhJl4oH/hNzlBQTYwKdCiqAFehiMBANogyMLQihCkCMI2IMT1fiVF9FNwo2FW91fPjSQhj4Ue1ALHzelMk2PlDQhJ8VISkfK0pa69KUwjalMZ0rTmtr0pjjNqU53ytOe+vSnQA2qUIdK1KIa9ahITapSl8rUpjr1qVCNqlSnStWqWvWqWM2qVrfK1Y1soANgDatYx0rWspr1rGhNq1rXyta2dgACXSVIBwpA17ra9a54zate98rXvvr1r4ANbAE6ENeBzFWwiE2sYhfL2L0StrAN6AAHCjDZylL2spbNLGY3q9nOcvazng0taEcr2tKS9rGF7YAFOMDa1rr2tbCNrWxnS9va/9r2trjNLWrjCgIOrNYCwA2uBUpxCB74VrjITa5yl8vc5joXuV3IAhKAe1zmRne6v30uckEA2QaAgLlFiIQ/5KDd8pr3vNbNgnG1G931ohe43IXsd5X7gUpMwwXNQMN798vf/vpXuSHobgg+QOACF/gO57gBMR5xgg8YgQ4yMIUApnCCB0d4wg0GQxPoSQYH04EHH5jBE5JgYQlT+AMa5nCGN7wNMjS4wA+mlQCgoAhTAKENFngwD07ACTiQoAdl+ACPfQxkD4M4xS328IVPbGACBxiyA24ygWcgCiKcoBXaUICDsTEMBUhBA2QwApe9DOYbOGEKCqAEPJCg4xArIf8JXRjzl8lgZjRLIRpIuMEe7NyIKrx4y11WhAfQrAh9lMEI6j1CIcpwAC6w4QSKZrSjjVznNK9ZzF2es5Cb/OTCDvgEoA71CUKhDQOc4M5IcLAGJnCCGby5C6s+gKuTgCAknEDPbGiziOG86la/udagPsCp4fECIfPhE0IGtRFW7WD1QhoUkkA0DypBAC8EGdSV2AELrn2CLnxYCsT+AK6XzepZixrUHxhCd4cQ7BMI+wA3wM5fznEAKXxY1k9ggo5bPeIjQPvWe4DCvl2tbzr4edeVcAQRhO3uI/xFc+4GtRScreMDUALabf4CPXzADRefQOMcd7G9eeBvSQBc4Ab/5zcThPxuUKsbskM4gMxnXmE8u/sAioiDl1NO8AcfXAlMAPcL4B1wn+O74FWQNdCFboCZS2ETQ7/5zOttcKr7ueSITrrMb8CJdzB6610vg72rgKCh6xnlP2eC1Gf+8sLGfOoyL4U2IPDuZVdh7Ec3uoiZUGlK7KAKM1jFFHAeBaQrne9nVoANiEHnxNtgC+eQOt7xfnFJjF0Ri8b5NMqAeUYrYvNj7/vf8b73tcu87XEdQtNXD29v0Hv1N8DEJ+w9gcPT3gAEP4ANmhCFNjHgAIuQ8BmcEHQ61D73u/fBjQ9gABuAQ/lnYADrb097i0Ob9jeYEwk80QIDZN/H3DfA/+1333syMKD6uWd904XQXSEY4P3vZ4D04R//A8zfAPKnv/7pn//4v18B+8d8/ieA8yd9/bd/+id/BQh/9wd/EICA8deAB7h/7AdZQqCAGJiBGriBHNiBHqiB+PeBIjiCJPiBFVhYKwABKriCLNiCLviCMBiDMjiDNFiDNniDELAC3ZWCONiDPviDQBiEMaiDkLUCG3CESJiESriETNiETviEUBiFUjiFVLgBRFhYCLACWriFXNiFXviFYBiGYjiGZFiGZniGQoAA3bWGbNiGbviGcBiHcjiHdFiHdniHeJiHeriHfNiHfviHgBiIgjiIcfVVbnWIiGhWcEWIInFYjf/1iH+1W4zoEY4IiZaoV5I4iRwhWaTViab1iZ44WC3yH9ezEZCxDNsBBsLQPy7xO5mAPQvhirB4FUG0EKqVW7iYi7UVXxfRDeaAIhVxCnCgHeXgDS80E4PgDXAUi8qIK1gBLiyyEL2VXcIFBikgAiIgBkFWXc9lAzVAA34QA0jAjeiVibDDURuhCwHSGaw4VJ0RjQoxX8llAjHAAgpgAV9AA2VAjsx1AigAAxZAj+PYX522KOg4Iev4BO1YIv1wAe5kU+/IC6cQD2GwUgMhj8L1ARLgBcHljx1WXkWAAmHwX8HFiwaJIwQxCMLwDAJwBsXwPRYDGrMQCfT0CDaTkFL/0grOBEM2IAzbQAOkwCeOoAU2Vi8YQAmmsH399DSe4Qh+UA0CMAq7QA8kMAdqwCfagSQGQxyhUCuwgJXbMQjqwJI98C5cogdjyQ00NBBUsnFVaTU+wgh/4AONtDh4IZd0uVBLsA4O5RpgOR+BASGHAALrBAXf0QX0QAh1Qh1BUpULhZRAEASrQBxgsAYOcA95sFJR1mQzUAM4IGUEZo0yQANhcAImUAIgcAUiwAI3cI0i4AU2II70OAYi0AEx0AGqCQNmkJsWAJoFCTcH+U6acBqIkAzaQB23sEInhBmDAJQNsARZsB/quB3sqBCqSABZUgDf0UWAsA9dBDENUB7A/+ApTVMQXQQs4lALJHAOWJNCXaQdurADgoAL1MALCcMGGBAKkPKessAOXKBwFnQrDcAv8yAL/KKcPbMK2tAhShMBGrMqqeAwp/GgmRChsSQ3+LBCpQBFpqId6Xkp6nkO6YlEfmM33vAOgVCilVMHEaALz6ANEVAe7FFGJkANDnAGZVAQm2lg9FhsUtaa9pgDJfACJnAFXqB4VxAGBvCPphkDRHoFLNBqRqoALrCaVKqPvpkR02kQ3aBMRyCfpcIK7wIGpBBGD1cmW1qdCKELgGCYBgEl8LlBNEIcd8GiaLNBzRIYfIIbcCoLu4AP3LCUDVMnHDBF2jE3VSMft4FAoP8RkwlhMWUCIbAgqeAzqfPhJ/nBp8fULNqRp2pUC4HhqWZ0jKOKG7HAQ/kBDKsDjxGQCJzwDL3yaefWo+fWYKeZajfwj0X6AicABknamjDQpEQ6pAewq8L6ATlAA2hQq+mmpcEZDspkC9hAM1xwGiqAGMygRGmqkApRox6QJXcap9rhM3RaiujSqaDKC3uqPgHSPlXpGCrJcVbUp7CRqJfKqPhqEGAQA+4TqZdKqZIqqQlTPH3KqbLgqY4TqukKIaqqQYCBBPOBGxHJlmCgDjeaowTBbhH3br4aBi13AxVwAMlaBreWAjDQo/BWAy0ArCcQmy/gssXqpLrnpCcwshH/d7OoB5w4ggFmEAidMEOStAk01A3fgAgtIBDdIKBog5MNYQI+GQQ52qd9mjDlaqfnerDpuq59OiWKkKEDYQJb4Ex9ego+YK+L6qiOShBIkl+QWqkA+6//ih2a+g1qYLAI66mimh9Wayzww7CrKhiVeZkvsFJvB3cHgAJeMHUbqXtDWrIwYAPE2rHAyrgvS6yQO3SXK7L6aLgHkLMU0Q3sgQGKQDEMwirCQkoCMQmowAroMQmuMAxWIw44EEZAOwlWMAoWaRDs0JD1wJ/8uTgkMJ58UJ4EwZ8fKghro6pdZA5ocAq9gwtOUAflcA1W1Ap7sbwlgwn6QATgIqD8sjnf/1sQUEILwZAMhFAmD8oG6XtC86G+7ZsjXruhxJmuR/AMBVIqoCoIx/sk9ssDGCABaCBG80AEPBsIFrIuR4APTTORLSA0B1G4U9eyUPqAZkCsQEqlQ5q5MxADK4sCLEC5mRvCxDqynOu5ESFRebEsM6l89jQl4WC11gIOUQAELnkzueAZ59sAOvkuDAE1eoDDoIEBwUcInrCUA+HD/5EGFHUIN5xASzAKpSAP/HAJ5UADOfAK2zAOUFM1YvkM+dADjsQlhFACedEriFANNxYKPjAN7eAjh+APAXAwbgzHUaNO5mOTxVQKz7ANY+AsacCghBAHzHQ2obBO06AlR5mUYP9STIugJLmQNcH5wOongM23Atg4Bi8wfzawAqM5Ac03pAzQmTgArJ9cuZl8uQyAyskqCTL3fsx3ACc4FRiQEbm7FLMMQylVywShywfhfgiIgQoAAfNnf7/Hf9JHycasgBEYgcPcgO8Xy5rIERdYgtRczSYYzR/Bg0K4zTV4hdi8EdrMzeIMg978zRlhhFWYzurchOVszheRhWcYz/IshmnozvZ8z/icz/q8z/zcz/78zwAd0AI90ARd0AZ90Aid0AqtKIaYiA6diIu40IZ1iRSdV+aY0JVY0RV90QjNiaD40aEI0hw9S3OyJKewkATRCgi6FLLYEC2dFbWoELeoizT/XdMcYJIMgQGtoC1guw9ekYzLqBBA7YxXAY3AWBDTyI/WiI3a+AH8yFzeCI7i+NTlNdIGkTBkZDMobYpGslQT2xAYKVz0aI/4qI9UnVz+CJACedbP9ZsMowx1mRJL0AyG0xAYwLs4FZETWZHxSF8b2ZEo8JHaFZIjSZIWgNNSgw839h2CyQtdUyYxOQhrcA4CMQiRQDdZ1MVLUgCSzQ+/oAMykCegscM86ZNAKZRECQRGiZRKWRBC+ZRROZVvCZZaGTVdSSZg2QBdjCVmeSxpuZb55JZWaZeEgJd1GZdzGdd72ZcapR2AyQuCSZgk4KYilJiLKUJCEkoCAZmSSZmW/4mZmgmaogyaKJYCo1map5maq9ma2AibshkDtGmbuCkCusmbWRoR7cMbeBxDp3MK0+BIk9ACiuEDZaIrWBABKqKq7KAKVmQLfcAEXBAFysQMkTwQ15md20kI3fmdjiGe5Ok0OUIZ+5Ce69mersGf8Tmf9Xmf+bmfG+SfALoK3ksIBXqgBYEICsqguEuhFjqh81GhEoqhGsqh+OCh6Yq/6zmiglKiyHCiKYoPlrCiLfqiMeoDM4oBNXqxOgqaPQqaFyykT3qkNpCkSxqsPVqkUToDU1ql9ugCWCplbm3XV0wCpKILzSALEYAOHnAaOWBF8lEmWH07oPE/nyEfMELhKP8pvm2aUlIrp05QtSVVsFnrGZqqHX8aqFe0B4RqqLKAqGqgqKYqQWl7EG0bsPdq6udrLHNbt7WAri2ksIFRqmzJL6aKqoSgql89EK36qrGabKJGq+f2Abcqbrp6BbwquSYrrKc5dMba5cm6rMFuwgnBDgDwGyfEBbTAF8gwnBhAAaWQDhHwAI7x5wJRCvxQDLOwBaehC6KjMode4QLhreB6tX1KroJxF+3Orlirp5Su7+zzBu+q2/PEDfO6QfX66feKthKkr/yaw6jur+crsApT6Vjr6p8K69A9Hw0bQQ8bsX9LsRaLowWhsS13AB37sSFrs8CKsjegsizrsjCLsi7/W7P6eLMMJ+0IwQ7UwDMNcAT6wMO3YAkmgAO7sAm5AAAqQyrlEAmmsCSIcQp0TRCGPhCI3rRPG7UbNLWTee8YEul4OukEu0Fc67XxHrbZMLZli/BnK+oLTzm/wLYOD7dxH/FxG/Z0a7dHjrfpaix7mx99q/EfH7j3MLgPzLmHm7gzt7iX67iZi+wwAMKWG/lDR8KGi/MHIR870wBFwAUIegrwAFHswAcLYCDJkSEYQA1GnOluAOAwoDEwgg6gEAxI3xC765C+K/bMELy6QrxctEHHm7whzrzOWwzQK73Uq8PXOzvZu73d6xjhG753Sr7mi77tu77pu77oEL9QZO/1/3u/x7u/Llpc/xvAPjDABXzAxZDACxwPDawQEExzY84CFGzBKdDmGUysG9zBH3y5IgwQLw7YKCEwB40yBxQuPDCkwUOIESU2YAegiLpnQNrggYjMyaiH3WgVo4iJECFjGO74OEloG6QGgyI9E9CjjEkgUx4iWlcoUINWtLJNJFruyUk9R1E2wLDIFCFPSCQaRWqSUBp3Jw/lUppmyahS8vhdKkcjx6tt46heVTMIY74elxroalmipaGIiKppDOVjWjtmWv0FIHSIV+DCgwvzauBinctHDzGUerZtTK2rqazG2XMyjZoGodaRmFaPKSVTpH82heMrlxJCoGQRnTjEwP+B27kNGLCxQoSIMS8Y7O4tg8YE3gUZzKiB40YKGMlfEBROnYH1g5IU7sZ9QAht8OHFQ8T1gOTDQQDGrx+Pgb34CO/lz6dP3z1RDPEl6h/P/72Q3QIMkAECGVAAguFuIxC3AYdjUEADCiRwtwkjrPCABAX8rj4OG+jEDVIeSsQMmDo08UQUU1RxRRYfEkJCGGOUcUYaa7RxwxbDw2WNHwgB4h40chRySCKLNFKiFSBQckkmm3TySSijlLLJFY608koss9RyviSn9PJLMKOscksyyzTzzBVX2GBNNtt0800445RzTjfHRPNOPPPUswEEVvDzT0ADFXRQQgs1FFAhENj/c1FGG3X0UUgjlXRSSiu19FJMM9V0U0479fRTUEMVdVRSSzX1VFRTVXVVVlt19VVYY5V1VlprtfVWXHPVdVdee/X1V2CDFXZYYos19thSN+hgWWabdfZZaKOVdlpnIUD22vo6KGBbbrv19ltwwxV3XG87wPbc97Qld1122xXXXHTjDa8DDgqo915788V3X3375fdffwPGF94V2bGKEFgasAWzk/AiSpxpzrNUr0/8A6+THfaJla7YZhuvAws4EHlkkks2+WSUU1aZZBCE7MacEplyJw2JQ9VrGI7GwzgJWU95Rrb1QOAgZAuKNhqMFH4To4wPhjb6aaiLtqEGGvyI/wEJp6PWOmqCWdQFaIhi+UxeThcGWzwQtjYhBhYUsOALhLLe2ugTUIDBgrWxnnvvokMQ8muPHxIbNCwHkcAZwsk+0WxZOukhD4sjSjvqDyTwgm4UyPiAb6OLQCEMzkO3oOUcAY9o8AZmmSmfeOTC4It7QOvEg0++YAwD1EiIqwGP5KBtRHo8YeESjvXAiBsi0MOopqEiKn4NOF5CDQgmFMbsM5lYkg2XX55ZDLGEG1jiMXLGKakwEEaDwuJBePSxeoPRVz8CqhzRwhQgQDottaisvyqYo8imfvfL30N2BAfVPIQSo5lCfFjjCxDUQjYYAIMwHHAG00wkBB/gYAc/wP8cHHjQg0gzThhOYIISgOAKImDBc37jBRtcbW1jEEEHYtCBFcLADDm0gAg56LfStUSIYyuFNvCAjGQkrBNw+AwiWFEMDKiCMd1gQgQSwQVLRE4y/QAHOYJwifs0ICvzkEVWfMcOLjiCCJNYRRxqJkZCvCMQgTkGL9ARx3Y0IDCf6YQ5ZDELe8hCFzsQBC6owQtcmCRhp8CH70pBAp6JoxYkOIckHRGkiBxBB8DYRS0M0wBJUtKSQbojIPZxx5F4yAfAwAAVACGIBnTjKni4I9BKeUpCjKSVhumGDkDSCR/AYhJWSFhg2ICBW3TsIRHAQD+EMYAghAgiG/Th2l7gww//PKdtOSiICa7gBQXY4AphMIDdThiDF3iTBSeYwTcV4AIWvhMh2ARii0wXtrE9xAZNCOZDmNHERpABD+5BohDPJpFYkKMKRInFUhpqjAb47DMGI4HDwraUPaqBLkDLKDp8UAhM7gIf3JDK+WCBAT4QAi90+YYaFmaYlzKmKE/4ZExjOpeObVQWHvlkYOoQAbp8Rqc4lY1OxYEPmpFHGYYxGC2C4YR8mI9x+ynCLz75kA2eQKtbteZWt/oBFCIhm3bz5gtOAIZxPgcG50xnQQ5QVrZ+4CBo8KpWP+CQ0h0UdZMgBiMSgInw/VMNk6EJFPBQDlFgUjwYMEMXv3g6hy6l/xNsiV/4LgrRjA41ow04Sz4M2wATvIEEcyhGZZGxCpUSVRY29aRMI4IBeLbWejCVrU51igjZZpYtQ7VtTnMpsbWcBBTBUEJNJRi4Zj4zmhEZglYPcILnHgCtYYjuCW5QgQMcpAzWhY41D3CDGrRArSeI4XTQ+dbzlvcE2oWuc7WKV3vqdaKYOCNg/ZnPREjgFXJAhjd4tp74AE94JHloAwp8Ch/Mt6IIxehulblZinBik5JRRCMri8bUstSlrb1pXrZgCWTQlDGs/WRvZXPanhLip0HVqDJNLAufXZV3UDVfAyJw2qhab4IVvGAeiDIEhjAEBV5giOUGUhDuwoA60v9NK3SOPB23LnnJ2g2yQuDLopfFDKU0w4UysBABE2yBDQ8pxTvaYQtncKQUddAjN3jAFPOsBwOGQ1xWrAHHOydSH2hAhBXcKBE76/EqxbijOYIUGKF0Yn3DHMUpSIsLJ9QhkYTwHToa2YBHRtKTgpDkIWAJWTkc4Rmf7DSnN92AWsrijo6YDTNIwEo+vHIuPtCHLALDalR3bNWyiN8c1LCL6rWCEJm4BC4oEAFhf6IAinjGJR33Ai0+BMhVJu8VWAABA5jBrdp8Z0GWPIMYiBcFLHiylKPsVipX+copit9JErawu4TCFNx4ARW2IQjEgEIaZCiFDtwgl0Q4hQSeCMP/jH23Ho4Rwi4Ni4kwfAAXuTivJSDAxkkY0ZUZMMwYlHhBL3Tga10kod//RkxqHQOZ8xGCM55JXCx94Ik8cMGz7V75/5SSlJNAtClP6V8DuOcDbmgh52vB+VJk8gxfbIQp0NOdXLj3DG744Xotp41tuqMb3vgGOMIhzgqMgxzrgFCt0rFO2ZWTne3kxjvDijaR8hOeaL9dImE0Ed2tBCAIUahAB0oQhhjwIAthXUAw0rve+56hAOFIcYt/kY0c/3jI00jxiydbl8J0ecxLyU6Ur3zmPf/5JW2e8/FSE51Mf3rUy0n0oz9Xnw71etjHnlCJYn3tbX973Ode97vnfe99//974Adf+MMnfvGNf3zkJ1/5y2d+853/fOhHX/rTp371rX997Gdf+9vnfve9/33wh1/84yd/+c3PopIPEYBCvEsDJvGHfDTw/MKaTEsyITFEoJYQ+dDYQya7GPawnfmTlYSzrJQ7m/eLv7aLiF1oBNcaQFcpwIhot4OSj0lIBhmDwFaRQIigwMCRj114BQDUwAhsCQP0QH9qiavqAmggAX5QAFWYjVDAB/aDKKb4AmgghJrIoAYIrpOCHm5YAyH6pIYaQRLEEw58CBQMCa1gDHHAhnTAg4sAG3iTMZUYtmLYhWrIB4tCBmU4CSjohZbYh2QiBDWCCGaooyPUk4RjP/+DChyO+aRkSipcsIfmqULX8ihC+K+sOIbkSbkBGIdZaIJ5QANc6AxIgohSAIY1ZEMTnECrOJs4ZIxwOAmQkgg8VEKrcBjEGLOUyyeI0AXv+bNJsIc8akQkfMQOjEQ4bMKIokFCAAQmyBn/uao+G0HEiMKUYzOJOERCSMRuYIMFREUsScIDbMURnMGWIK2HyMRalCnEGJt2M0CI0MNvSAVq+ENiRBNjXEKcMsLQagn9ccZbvKpc5IhpJAqP2D8QGIZtTEV3g0ThQsYMZIdfYAkbdEZfzDEDO4mDS0eiQIxEfEduVEVNnMdQdEVOKJEuU7FmxAxIWgK86AaWMARm6sP/PwTIiWCjXDpFgiyT+juJ+4OI/DuJfIgMJiwMWGIGX3iECJiFZDgGhuyMkxAKihDD+9PCfNAf3vlCSos2Y/pIM0m/lkiD9XNDQ0g/w3CBenAMEogHHnS/JiAEn4CI18lB1impHlQKhJwIRBAFbRTKYjmFYRhGseSVW/ivswQWdugFAkgCZDDFtQyWYUKJI+DJufwVeROA9clLv/xLwAxMwRxMwixMwzxMxExMxVxMxmxMx3xMyIxMyZxMyqxMy7xMzMxMzdxMzuxMz/xM0AxN0RxN0ixN0zxN1ExN1VxN1mxN13xN2IxN2ZxN2qxN27xN3MxN3dxN3uxN3/xN4AxOVuEcTuIsTuM8TuRMTuVcTuZsTud8TuiMTumcTuqsTuu8TuzMTu3cTu7sTu/8TvAMT/EcT/IsT/M8T/RMT/VcT/ZsT/d8T/iMT/mcT/qsT/u8T/z8zoAAACH5BAUUAAIALAMAVwAMABQAAAhzAAkgEECwoMEAGQYaNEhAQMKFBQMQfAix4USFBw1SLGix4EYBEhdu7FgwAsWQCy08JGnwQEKUECFk6FhgYoabGUIWCAAAQ4YHHAXsROBAAIOiBAPsrOCQ6QKgDgMwFYCgYQKkEBcMHACRYBwHFzBCjGAwIAAh+QQFFAACACwDAEAAfQArAAAI/wAFCEBQQobBgwgTKlzIsKHDhxAjSpR4BYFAEQIzatzIsaPHjyBDihxJsqTAEgJlmFzJsqXLlyBVCpAJs6bNmzdlyuCAs6fPnzFTWhAwFKjRozZljuCJtKnTlSNSfuhY9KlVq0qvat2qMaoArx6RVOVKtqZXsB1PlF0L88RZtnB/Hngbt+5Nuh0VCDhgty9IvB4N8PVLuKvAEQxgBlCxoTBZwC0DZHjgmOvZxi4ZBGiQgYKByle9XoCpuQFnz6Cfjv4KE8Jm050Tp0bqVYWMC7hz697N+8Jr0wQW9B5OvLjx48iT85ahAicBjRgyWJw9OwBH6dSNmrb5fGME7Nl9mrRuUNM6Rwvgw98kv/1ld44H0quHSV5A+8gfIWSYb7O+ff8rvVeAQBkUWCB/NQF4n0nmFRAAANFRhmB/Gy1I0nMOIuCAAAxsOGGCHFkoUgAOViBABiYuIOGHLgEo0HgmZRCAiQM9l4CHLLbk4osilrSARQPk2KJHMLZ0gAMXTCfkSjtm1OOSTvlX33hPQonUlFQ2aeVT7MFY5ZZXetklmFsVud2XZEbJXpprpaEGmmxeGedVAQEAIfkEBWQAAAAsHABKABUAGAAACMgAAQgcGKWNFAAvBipcqDDKgDUMIw48ACBKBAcL2RyUKDBKgwZw3HD0oZCix48eFBpQ+MaAS5cMAnz8mOGBAoYGGOjcSWBmgwg1c+6EYACCUaMbZPpskIFC0aNQjyr1CdQp1A1YsUKY6tNCUwYKL4gVy9XnCQILFC7tuXSmgQxtZ04tQDODXbhxG7AtEOABU7955TbgW8FBAwaGA38kwFdFgwWOFwAOnCFAhY8IDCdIrHhphgQNBnRue8DBBQSjU6tezbq166UBAQAh+QQFFAAAACwFAEAAewAWAAAI/wABCFlBsKDBgwgTKlzIsKHDhxAhChEIoaLFixgzatzIsaPHjyBDioQwcKTJkyhTquy4QgiDlzBjypxJs6bNmzhz6tzJk4EQIQaCCh1KtKjRo0iTKl3KtKlTA0KGGDgwtSrVA5wATbDK9WrXr17Dgh0rtmxVKXS2mg2LVi3ZsUOGHJhLl+4NTQA+1d3Lt6/fv4AD90VbRfBcwob9xv0LAMCXxgZOJJ5MubLly3yHhJDM+QDnxjMAkAFwoPGIxgAMmEYdOTTq0o1LKwEgBcBpyCdcA4DhWTdvzidqox4O4ARr4lSRv9ZNejXuzpJDhCh+orp1AKgEnSjV2PhwO8QBgP8PP9z4EybEx5N3Ev46gDmNA0AhTme4auL3vZMPr966cekAfCDggB9Q0tx+iBCnH2of7NeYEaglCEAXALzQXWObIBEggwI2VkVj9TnIIQAEeAGABQFCKGJjEhI4oHQuCngAJuF9oGKDACTRRRYBIkICakR8UARxKOa4Iw84AnAEKJJYMCB5BBpRX5EBHgEAERSe6EJjngRowZYAdGkjkY2x0RiSjSURoIshgGDBm3BaQCERcHaSxoRZ8MABGEbmWWQDqFF5JAeTKKFjnnvmeAoAkHwAZ2NBwunom4MeaUEljqBBIQ9OWnDfiU5+eiSFkFgwJBubJprEm5O+CYKbcVr/wAEAWJwApwmi8GBEFoJYgIgSjxxZwCSEoAZfJQAgMQkAchQZbBZIWLBsEkM2xucjAOxhLQCjtFoptBZYWcauGgJASiIGKtBJJgpYEAoACuyoobYAIIsEudIC2yqcIHQQq6nccsDBm6kwS2G008qLYgDhTeCkIo0F4cShegLwRBKJNsbEB3s20VgbtsrKgbwjg4uspskmAoApjb3AQZIVFrBjr3z6AMAEJVd88cCxduCvwEAXUAAHQwdNNNACC500BwQQp4LRRg8tdNFTI130m1ZTjbTAiRS9NdVSE+212EFLHfbWHPh8tNZht73220MzjBqgKpgN991wK+1223uTc3223nn3LfjRaXcw9eGIJ6741E2HV/fikEcu+eSUV564z5ZT7uDjmXfu+eeSYw564hE0TtysnI+u+uqUU7BBBxT4HDvsstdO++2zzy6iAyXQHvvvvgcP/PDCF0/88cYnjzzwDKzo/POoNQ/99NRXb31jAQEAIfkEBTwAAwAsBQBAACYB1gAACP8AEZSQQbCgwYMIEypcyLChw4cQIV4ZQLGixYsYM2rcyLGjx48gQ4ocSXKAiAIoU6pcybKly5cwY8qcSbNmgRINcurcybOnz59AgwodSrSo0aNIk8qwybSp06dQYcpISrWq1atYs2aVwaFA169ew4IdK7Ys2bNm06Jdq7Yt27dup2qdS7eu3bs8uXLYy7ev37+AAwseTLiw4cOI5eJdzLix450yLEieTLnUIR4cKGvezLmz58+gN3fJgkRy5s+jS1s4HZqy4sewY8tOOoK15iKR/Mlpzbu3b8+jMbcObtv3iNnIkyvP+6EzRRcUf0ufTr166NfLs2tfPOKD9+/fKd7/IPboxAeKMiqeQK/+AxiL5yl+mPEkiRE66Smaf0+RzP6K/oFnxEYWqHfRB+vBV5F7Cg6Q3wDmgefdcdtVaOFc3Uno3QyilNaKfBdpgJGIHM2nRBIhbrQHRuENMAxFHkxxURYWHYCRjQPE9xGJOYJH4YVABnlUdycUaeQJoWiTYEYzXISjRUtm1EVFTQ6wBDxIFIkjPC8gqF6RFE1AEY0eFVnJDiyUgeAJU3pU5ZFG/ijknHT2NIKWJxyQ5w1c3CgFRTgycR8PJ8wQRUWSnHDDRQkKSkcVS1biCBF65plRnkVKkQWhFR1ACSiSDJjjFxRx498JpA5g6gl/QkkRFBRB/0oREwjqaaucdeY65wgH9OrrCQNm2asicSggxaOFKuFoFThG0GlFxzJL37IHzKCsFFwa4CtFL9jqa6/RHhDtCUeAakQWzPa6KKDqQvvold3esAcU90FqLRN5fnsArrr2ayGv+h5QijYK+GqEBlWEO2291R5KkRsKULJDFTOsMkWgDN+77gA2EEPGDU5QZMMW5+Qr7qMnM/upJNFSVMYBigxQhiKFvBxzGdGCTJHECaM8rcm+8uvv0MuNoO3RB9zgzTkHGKDtDZh8cuwE1V5LB9WGYkQGAwYsQtEZbzAxddVMHGBDRW00bQM4X3Pd9MkTGDD2ylPfsAYcFLVgwMYD6P89tQE2NBEFOVuPfe/bSAtN9OKyjcC10wYw8DjkkR8wueSUO81AABc9oADkk2d+tOajP8415qKLLrnpoIsOQeqah4566oozbntjjq+u++689y45ATs5+0Dkq7/ue+/EH6/88sw3v3vtt0dv1wgbQGD99dhnr332G3COEQUGbC/++OSXb/7550Mv/fpZXYA++huB//789Nc//wXs538X9Rv07///AAwgACEQAJ8UiAIMEKACF8jABjrwgQ1Un/4maBQVyOACGMygBjfIQQ5yhAAL6KAIR0jCEprwhCSUgQpKwsIWuvCFMIyhDGdYEQPQ8IY4zKEOd8jDHvrwh0AMohD/h0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPVNxABwZJyEIa8pCITKQiF2lICFDwkZD0SQeiQsmadCCSmIzkJCvJSZhcMpOg1F8H4EJKt5iylJ+kExVtUQtCuPKVhEgDM1wJC8fowpXGoNMg/lCIQPCkA6tBjDCHORgQ5KqKGOBDLNXQgEQoIhOpwAQhalkUM7TDKOLAQU7cQYhczumWhDAET0CQmeJYAAyR8AAJ4lGP3yzBFObwAx2EQ51UzsmKsVhmTtgx/wQLSJOaQ9nFMnxJFFxwQZwNyKc3hcRKQAhinJ3pQiPaoIAPKKIZaGhOa07ABygAizTWCcExq5jPNKgBFwAoQAPY8U+iTCIZoJAFUTBwh3DmRKF0QsYqzIEGiG7mA3yog0ZTwQU2aDQ0RdhDEiZz1OkYs074XGYoPrHPf87SlYZgpU1zMos3vDKXs4iED4DQBjzshKY+cGVM86mHNTyjEDJtAC5+AQdfPIIn4GwrHLYBCUqYAghM0MkS1kEIcoxDsIQ17EqleQgQrIMEUIhAA5KZhmLwJAQamk8fyOCdCH0HDE3wwTY4ex8ZmEIAU5CXK60xKCNswh86CIIGxnBaKP8o4q9tsEBmRQpVKiYUlt5k6TQxoAgfWCInu9DmTm4Z0wYMIhm0yIY4sKENyeqkHE/Yaj7jcAluymGlXDgEL7ohXp5w8x2BmOUxeIEOQrzjmqfAx3dLQYIkNCC+861vA8RRCxKcg7+O6GkDmHHcy2Z2UJkF2RQihiUjYGMYxtLAx/bABmDN0wi1mAKbHqyAUAQACgpQhD7U5Fnv8FaVU7ypVKm62GnKdQ+HEAQGHmDW5RKiud3oZgOwW97rZhehOMXpdE3Kyu/uBKezNClzZZFMm97yG6lQpjifrAZWitfKvMgJOgCqE8zCycKEgtMHsPUCRVH4YBNIVhKSKgcwHwz/UmgGM7lAtSYjfeDE9/RtSU/qhaq6uAHo8IE2ktuTJTcgHDrG7lZzomgg6xin4PwqT5C8zCXr1Mk3DsYqMB1TLGM5J7YIQ0+GgKdKzaAPtLIVGPJggHIlSl70Qta0YM2qeR6LUIM6QK5XVuoiDWGkVNzzToRLTVzA2BmW5ckpntHcTiT6CYcgwk6Q4QTtPlrHy37vTyit5BvLgh1cwDSUpTllQnyjyrW4crqzDJQhBKxpfMCCt+6ghxPAK2nzqpea5SWHlIXr38hyNdB6hWchIVOZ74hrTnAhTSM3oBs+GIVPWOkIP7QAGcmIg3TxUd1hSzMJNOamNRog8gZQ2794/yD0Tkqe5GK0l6eAfgYbGkBfYMR85vS1L39jvPOHIsIV3CCoTtwdMFY1IgifUwQ8eJA0JyyYZwpTlrw0HC2AMytcK3t3wYO0yla+EqED/npOkHENAfOEHb/QwTAsi04fCAAKzORJKEzBjXpEugRiD+tYmaBSnUQaBNhwJSOyq08XEHYbd82J4QmB+BYTIg57cKVJJwF0s+dkCEjL/Np8sM48vA5wgiMcAwwn9T3IQW5X+5vqr+YpUFkOcQcQQiiBhNI5WXcuGLh9UIQAO7dFznqqCx3lZge71K1OdLKfvXYQsQo5fAESyjeKEJxH/epTP/nRV84gmiAAiWefKCuwn//4x7+C75u/X+Efv/rnV/7zu39OK4Cg/Ocv//a///4WQsAK9s///vv//wAYgAI4gP0nBAiAfwiYgAq4gAzYgA74gBAYgRI4gRRYgRZ4gRiYgRq4gRzYgR74gSAYgiI4giRYgiZ4giiYgiq4gizYgi74gjAYg9knSIxUgzZ4g4rkSDK4gJvUST64Eva0g/jXgz9YhEEohO83Sqe0hKXUhGVxhEDSdbD0SrJES7aES7rES0KXE8BETF74hXvxVCg2RU1mUs30TNH0Z0RhTdikXNy0UEECTmCXE+S0GpuBTurETu4ET/JET9MBhRcSVWa4Uv3UUkQhUFsYFAblaHAIJA3/9VA7AQIRNVEVdVEZxRsc5VHnohrUsXVRSFLLhFIqRWwuBVMKFxQ0ZW2NeCE6BXORyBlAJVSSQVRGxRtJtVSS0VTSIYZ5Fmwr5mewcFXhpFVg11WSpndkVWM5gVZqJQts5VZwtXB0ZVd45Up6xVd+BViIVViHlRODxY0t1liPFVmTxQeVZWAacmqchSASAlqiRVr4cVqpFXmEwFoX9lqxNVu1dVtkpVsa4omBqGfABYzEZVzIpVx+523OBV3SRV2612gqxl3eBV7iRV7sphPnlV6EsF7tpW34RXP69ZE5t1/99V+1EGA5QWA9gVkagmAaomAMhgQOBmFSIGHyUmGt/5VhGwZhHgZiIkZiEgKQFuJbv2VSUwWMLxZjM6aMOWFoOZZLPHaRO/ZjKpZLQoYNRFYLDleVYddtMdVk5QZlUtYAVOZp66ZlXJYTXgYng/JlY8YlZsYGcWYta2Z6boYwwKIBadaWrlZnRXJnwCZFRclnSAlogqZyNtZciAaVVOljqvhbuRRpWHhkOpZkamBpm1ZuoKBpnCYLZtljoTZqvVYoqPYBqsZqAgdr+jZr81JrPHBrYKZr89R6iYIplfJrveWLg1iYxnYIyNYTy9ZszxZt01ZtjAiZ9/UM2uYT3HaZ3gZu4paGYYlu6tZjP0F0+mIA8TZv9XZvqilrJ8Jv/v+GMlY3Z4kSMEJZIQfnXqfIcITgcBDnfTxBcRaHcRonDhyne8IFcnhQciV3cueQcgi5TfXYlS5HCDCHDjIHkjanoDinXz3Xcw3wc0HHE9j5LUaHdAagdEwHk1DnM6VHdY9idSlDm1oXmFCkVWKXkitKdpanE2indmwnVm8Xdzsxd3V3d3knVoDVd035SoAneIRnhovXeIp3eHclXI9Hj5NXeRaaeYizeZ33eYEzOIXDehpjeqg3AasXN3PjegwAe9jXi13EE7UnJLqXFblHFLxnfEfDAMCXOcQ3fMJXfHRap2NqcGHEfM4HfQw4fdYXqIK6O3nKdWG0fd3ngOm3foz/Wj72h4T3t6iNOqna86iQ6n7xR3+auqkAZKmXan76R4CiOqqkGoAG+Kmomqqquqqs2qqu+qqwGquyOqu0Wqu2equ4mqu6uqu82qu++qvAGqzCOqzEWqzfR4M4mKzKukg6aKy6QoRF6IOA6KxAAq3RyknTSq0WooRO2K1MaErZuh1VJIxTCAv5tGiLcVVpeSGnECO614VgGK+IwYt6SkWIYAV/VgRcAAvloAToGhST0AJHwYbuua4Wkk/NpRN1aE54uE7t5BvvFE/zZE69Ea7aYUWKBlC2wAQQORQ0ZbA/gYgtBrLbMUu0kGx0OIkUZVEYpYuekYkfxYnTkZ7iWkUZ/7tfytWxQtEJPkCyPPFSzUWK3+QD1qB7kvhTQTVUReWynXGLTGUd9GqoVJSx7NALCKVoZDCkaiBsk9UJz+BK5fWNirUTxohLwsUI6qADbpBsgxAJz8ANSMATV4W2b0UKpVBX3TgI6vAMAtAD2ZATesu3fkuW1ri33CBtDTAJVjBzO8GSEqKOndWOoTVaH1Ba8qha9dha+ChbtPV2/Jhbu4WiUDSVsHS12bUPiJAMMTZZD4CyI5sTIqlfiSlTwqUNaWhzzzUPgVAK6LUT7pkJxcBNvTRL6YAH4DYpk7AKcVAMx0sEybu8JEcI8yALEylXf9CNXXZg85RgTheTMxlhE/+Gkxemk13AYT0ZYiPGjuBBsxfrWxmbCFRgujYVaNV1CgP6umBJuOc2uyNLiu0VmYRgXzDaUs25bCbFUiRgCAasBggsTkGmYznxC4ibvV/WlmJGZnE5lyfCZncJZ3opZ30pZuybHVVEurWUTYxGlb0pCA9go0h5aZp5ioZGbKRIrmr4us3pbAf8Tzm2wy72wAvVD4lIarZZJKeWanmyaq0GKmYWa/byBExAa7cGm7m2a0xcxCeAm2M4RTe7Ex0baJ5wv+XoYtA5nTsRnLT7T6SYY9/AlAP8w5W5TKfgAztMAvswx3XswNe2ijtxob6infKWL/Rmb1yCb068b6Y3nlf/R54Bx8ToKbpQdK+EUAc80a+EYHMm5wQJx5yEwAZmkA3oIF8gKcA6QZ8tIFxs4J4zhwjVkA/2lQOQuHDSNHMsRwjRxXD6gAb3ury4TAS7bFn+WaAP5wHDwJR+3CsZmnRL13RPNzFRF8V7IKI9s8jUbKKPnJtSRK4J+1uE0GPdwLg90QWv4AvdWKSJN2xpt3ZXdQj+EADdnGW74FVGqhPrrAVAGng6NgjC4AP50AOXALh728//rKNY1QBH4AFzYMxQejRSGg+e5zRVKnqkB82nNzVduqUmGqZIU6gqmAMvWq8aURdtqjpvGqd02nt1aqexg6ctWArbUAFekKb4B6iD/1rT1sfRJtgJcBCNDCiplPrTEOCp2gokPg3UkyrUQ20hmcqpTE1/SJ3U2xGqpTrVVC2Ap4rNgJTVWr3VXN3VXv3VYB3WYj3WZF3WZn3WaJ3War3WbN3Wbv3WcB3Xcj3XdF3Xdn3XeJ3Xer3XfN3Xfv3XgB3Ygj3YhF3Yhn3YiJ3Yir3YjN3Yjv3YkB3Zkj3ZlF3Zln3ZmJ3Zmr3ZnN3Znv3ZoB3aoj3apF3apn3aqJ3aqr3arN3arv3asB3bsj3btF3btn3buJ3bur3bvN3bvv3bwB3cwj3cxF3cxn3cyJ3cyr3czN3czv3c0B3d0j3d1D3XwkUCmLwT0+VtGNAL2f8tFN393bPHDotwD64LrN0QANCrExiAaJRsgczgAbsZrLpQAvJAyhO6AG9wDhjYCvMNrKewD+Zoo8xwDpjgsw7IDP/tqirgAITgARUwFLpgCEtgBwiFDPYQDAeeE2AgDOKEAZwgD+egCtfUCR7wCV+QZR2OUF1AD4xHBpOVAwsgCeogD2vLE2H1DPkQD//c4efgV3zVAD4O5H6qz3x7BsVwszg15KYQ5A2Q477Ad08uVkY6V3CgDaWw4K3q4K7kABJuCMamDWaFDmzAUrVUDt5gU6eQ0OxgD+2ACKxQDBigCryA5mruCfXQAJRw36dgCvlQVuJgB9ibEwODBxgHC8j/kOZucAnGVgeJTgiL3ugRgAyaYF+pK+b9WkvJZAyPHul7UAcRMAnEcFih0AxEgAw0QAoNsARZIGNUUMyzIAxazqpT+OWAtgOCwA7UAAlmnsLidArc0ALWhQiNQAZ4gAG+nkyM294nqwvlhV1zqBOB07NTSU2xwJjWnkvdcLJahuvYle3VflO51AlFuxM5BkuwIA6bIGC3MOur6gGv5OVCMeEmlwyWsARzEAG9PpXiNFd7p1KlwLdQYFbQrlP8nZIx5exZBu0/SwyMkAAb/u3iHu4JlUvh8A3JZgvYYAgSX/EUf+0evxPM0IjdkLAK7sKv2uAPHuHzjlDkRQ+CoO8b/87vOjEIa/AD3pcIEvAK3wXt4NbGKdnGCk/zA/xdvd7xII/0424OiLsLm3DqTmDtI6f0DdAJ3K4T3bDeTUmcA+buu9oN3pe8ZogMyvDeijsKEaALA59Mo2ALzmBWpUDJZ5/2Ih4BszDqgLa6ivvduKAMWBABJrAFM9evM5dM6RABhF+Oh/9SwIsBt/AJMv/3JvAGJFAHk6AEhc8Hi+8KA39f40B5w8BM2fRSc3AJsU4C/IDyvKqkZsgM9hVpm+mv03QKE5B2c1BlMFAKansJiuZiYntY4HQIuUB4XIajL0AF2zD8tHSucSD75ip5aoCMZQW7r7AN43ALZ3ADxH+uJis1+YTgC87ATLsADlEABEgu5G+QD1OgCD2g6lCtEzKNHBEQ/8huFfE/qwEBACH5BAUUAAIALCAASgA0AB4AAAj/AAUIUJJkiQAkAhMqXMiwocOHCZ8kOQKxosWLAk4MZCJlIRQjGENefMLkhpMpD6OIXCnQwMYDNpooPKDQCUuWBnLqNMCAAUMFN1n2HEq0qM+gISEoXcq0qdOnUKNKjYr05oarWLNircrygtevYL1yXdmgrNmzaNOqXVuWAAK2cOPKXRsgw9u5ePOmJdDArt6/eQOU9Qu4MFu+g+8aXmxWsFnCjBcjfqw4MmDHZyFb1jvZbATNm+diPmsBdGi4nc8eMH1a7Wi0EDK0lju5wOAMuGXPhuu4QAAAGDI82D2Xr28EDhowSE48bgDfFfpGXzC8OdsMAaI3QMA3AXPrcxe8Ch0AHu8BBxfuBgQAIfkEBRQAAgAsBQBAAK4AUgAACP8AN3QYSLCgwYMIEypcyLChw4cQO0AQQLGixYsYM2rciLEDx48gQ4ocSbJkSI8mU55UybKly5cfUcJ8KXOmzZs4NdbMWbKDBZ5Ag9IUWhIEBwFHiSpduhEE05Agfj6dOtUp1aZSL364ytVmiK4Zv4Idi1MsWYpmMxI5cbYtyLRk4V404Lauxg9D6ua1y1fkib1tAfcdvFEwWcMWJ7IlbBcxWMcWD9Bl7FZIXSGTKWsWYLny5s+d266Y+JnyirqnS5tGrXq1WwQrYsueTbu27du4c+vezbu3byEIWvdt0EC4carEix9fTrQ4cebQeSp/Hr06TOUCqFvfnhJ7du/cw4P/BK9dvHmN4L+fX48xfXL28LNnfB//fHqK9OuHv4+fv37m2E2XnH//HSfggAWa59x75SVoHYLPNeggdPRFSOCEFDqHoX35bejhhyCGKOKIJJZo4okopqjiiiy26OKLMMYo44w01mjjjTjmqOOOPPbo449ABimkZgQENyRVAWRg5JFMESCAkkwyFQBFUEZJlJNULmklT1NWVOWWOWHppZZgztSlRV+WCZOYFUWQppotnWmRBW/CmRKbkdVpJ0lyXgRBBnuyJGYBVGZgKKCBptRlAQEAgEEGDyTakpOMIuCAAAxcKqlKATBaQREeqNDAApFualIGAVRQEQkYJKCpqS2RDZCAAAPA+hIBFyBAXEAAIfkEBRQAAgAspwB/AEsAGwAACP8AGzQQQLCgwYMIExokgEChw4cQBQgcGLHiwQAZGlrcqHCgQI4WCQjICLIkQYofTToMQJCkyo0UJcZ8ubCgS5oQZ6bESZClTY08Ox7ciVOkwZtBhyIk+tLnUaBJC848ydSkUYMRkEadSpUrSKcGLWgN6lVm2ZAKD4zFebYqxwAT4wqE4CCqgA0xUcalSWCizAyAAduV2NUvT7gDAwDAkOHBYKlmPZ7l2LcACRUOGjBwwKFA58+eQ4MeLbo0h8iD/hQK5PZrgQAqRlZokIFCgcEdDAsgZKj1Rg4ZLgvgoKJvAs6DQSAEJIgwztNHEzQY8Fg5QjS+Xx5fEHtwiMcPR4AYH0++vPnzOHkUTIIePZP28OPLn4/zAPiAACH5BAUoAAAALKwAZQBGADUAAAj/ABGUkEGwoMGDCBMqXMiw4BUEACJKjChiosWLGDNq3MixREYZHEOKHLkRJEaTJFOqLPmRw8qXMCOitCjDAgCbMXOKnDlxhEudQDmO+PgBIxUsOIPm5ClxKEYrSZIqhen0YlWLWSKemBrzak+YRblqPOG16cUDF7cCQCs25IGyEcuqtXjUgJS2IeEC0Iu3a0a+Fl/0Fal3BAORhwEwWJx48FeMgKcGeMB2ZeENjhUTGPDAwEu9FzID2BCgQQYKnlWGhiwaQmnTFBqP1KtCxoXbuHPr3s279+sGBBb07i1DheiNBCRiyADxeNAAFpk7B5o8evPpMKFbjCAd+8vqFi103PeOsUEDjNrPjic/0fx5i+AvQsjA/uJ58xbTF4iYoX//+ha9h59E1RUwGQAZPABgeRINCAB0BlbggGITLhhge+8RYKBxC3CooIUNBnheBgFUEBECEyZQIYgAvIfhRRkkAMAALEbkYoMORnSAAxdcB+KNOAJZY3sZuTckRh0kqeSSSXIFgVgFRLmflFQeeZGUAFC5n5UYcVCAl2B+KWaYZI5pZplhtsXBmi6xyaZYIHBlwZw20WmnWB2IJdVNdLYVQmZ3wpkZU1wWaqhzVUjExKEhJcHoo5DilZpYAQEAIfkEBRQAGwAs0QByAA0AFgAACJUANwiQsGHChoMIEQZwoCGhww0EImR4oODhBggbGjSYaMBiAI0SKXRMyOCgxo0iLWbUmIECRosnCSxQeRJDBgQqV1q4mVPjAZ4wNULI4LDAwQxEkSYsEACAzQcnETJF4GADg6oaDzKtsJHrAqgNNmQIwLUBAgINElQ1uVLjAgQNBiA8GbbBAQcXcJrMurIvzbo96TYICAAh+QQFFAAAACysAGUAPgAWAAAI/wABCFlBsKDBgwgTKlzIsKAQgRAiSpxIsaLFixgzUhyosaPHjxlXCGFAsqTJkyhTqlzJ8qQQIQZiypxJs6bNmzhz0hQyxMABn0B/2gBAFEAeBkGT/lzq0wWAQx0aTWDAtKpSpTwPaN2qVUojRgAMLAIgiavZsze4TCFKZ8LZt3APhBjy1gAfSye03iAaFy3fvoC5DgmRt/CBEzP6JDl8Iu/hAzOKAjhAdIRkyVKIZr7MGUDjx4UHf2hM+oQROjxKjz7R+bIdyZQ5GymqKMDaoqVJhwjxobfvD0V/924tGdFl4MSRA1C+XPhu4cMBkPl9o4JyC0TZEOWBPEl200RnL/8PHvwIACInoIcAYaG9ewuJqCxv/+HOeACQLBQBwKYLag5gAPCIAfx90EUWPBzIgwUKcqCgBZU4gsYH77UHAnsVWmAgUZecQAlR+hVVCQBIGJEFEhZMAkAS+7HBYBZEIeigjA2aV0aGFoDQAY7tmRCJZAVYACAAPgAwwYw8cDDDE0kMwh+DdBDwA4IFmIgEB1ZyMCIa7XHwXgc7ciDmmGQWIKaZZxaApplsqsnBmmYG0AAAKrwJJ5l4jgnmm3yy2eeZf7rp56B9FkBAUXUKGuiiYKrp6KOQRirppGoWNacKlE7aaKacdurooZJh6qmam45qaqSdieopBRt0QAGYr7ohCuusstYa6620vkpBZw6UMKuusgLLAHHEFmtsUREcW1RAACH5BAUoAAAALB0AZQDOAMMAAAj/AAEIHEiwoMGDCBMqXMiwocOHEA9u6ECxosWLGDNq3MjxIoSIIEOKHEmyJMEOBVKqXMmypcuXMGOy7GCyps2bOB2ilMmzp0+YNHMKHUp0ZAcOBZAqTcp0qdOmUJ9KjUp1adCiWLNqPWmBg9evYMOKHUu2rFmwILaqXSsUBIeuFuLKBZNChAgxZT68lcu3b1wbNWj4iYFkr9/Dfq+yXcwYJAjEJmKwUGDhC40yhhHLPYEChoXIhTWLjtu4tOmGj/1+kOBlMwoyH0bLLYIijOzbFtKe3s174IffwD/MqIEjeHC6MmiEOWGiBIgrIljcqCvCiw3CkceI6BCjA3QYZr5b/zD+O0Tv87vJR35B/sP0yTlKvDBxxYsCG1fCGOjMPMb8KyycMEN9CrgQXYGXtYfegqWd4OCD6z344AfNISFQZ/S9cAIY+U0HQ3/zyXdAhiB+kAMNaEjo4AdDMOjiVkM4eMAJMx7AYRg1niDQASeWcYKH6x1wQw0teHjCdS8gOaJ/ByB5Qo80yuhgiy9WSdQQB2SpZZYoeLEla03K92MKMNgg4o0ehpmkiGa+oCaPl22pJZVW1nkTlnLOiB8LEBhghojvFShfmwfMEEORKLAQpkBsNupmj3keQKedlJI0hAEHYKqpAQbYsIJdY7zAAKeeJjdBp/IxMBwOHqIawAAXiP/aJgOznihJlpxmeoAQlfY6khCcBhssA8QyoAAEo2JKbKbDjsqssJwSgAEADwzLabG5Jissr752C5EQxYYr7rjklhtuAANVa2653Hrr7kIrQCDvvPTWa++9+DIwUAQAUGAAvviu8O7ACcUL8MEI18sAugT5m/C8AhMsMUErbGDxxRhnrPHGHH9kEAUQcKxxxBNPjMAKKKes8sost+xyuwWNIITLKguBQMk456zzzjz37PPPQAct9NBEF2300UgnrfTSTDft9NNQRy311FRXbfXVWGet9dZcd+3112CHLfbYZJdt9tlop6322my37fbbcMct99x012333XjnrffefPf/7fffgAcu+OCEF2744YgnrvjijDfu+OOQRy755JRXbvnlmGeu+eacd+7556CHLvropJdu+umop6766qy37vrrsMcu++y012777bjnrvvuvPfu++/ABy/88MQXb/zxyCev/PLMN+/889BHL/301Fdv/fXYZ6/99tx37/334Icv/vjkl2/+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|thumb|none|310x346px]]

Test it

Tests click buttons of both the parent MissionControlComponent and the AstronautComponent children and verify that the history meets expectations:

// ...
it('should announce a mission', function () {
  let missionControl = element(by.tagName('app-mission-control'));
  let announceButton = missionControl.all(by.tagName('button')).get(0);
  announceButton.click().then(function () {
    let history = missionControl.all(by.tagName('li'));
    expect(history.count()).toBe(1);
    expect(history.get(0).getText()).toMatch(/Mission.* announced/);
  });
});

it('should confirm the mission by Lovell', function () {
  testConfirmMission(1, 2, 'Lovell');
});

it('should confirm the mission by Haise', function () {
  testConfirmMission(3, 3, 'Haise');
});

it('should confirm the mission by Swigert', function () {
  testConfirmMission(2, 4, 'Swigert');
});

function testConfirmMission(buttonIndex: number, expectedLogCount: number, astronaut: string) {
  let _confirmedLog = ' confirmed the mission';
  let missionControl = element(by.tagName('app-mission-control'));
  let confirmButton = missionControl.all(by.tagName('button')).get(buttonIndex);
  confirmButton.click().then(function () {
    let history = missionControl.all(by.tagName('li'));
    expect(history.count()).toBe(expectedLogCount);
    expect(history.get(expectedLogCount - 1).getText()).toBe(astronaut + _confirmedLog);
  });
}
// ...

Back to top

© 2010–2019 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v7.angular.io/guide/component-interaction