-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathrelease_notes_mspm0_sdk_2_03_00_07.html
1041 lines (1041 loc) · 116 KB
/
release_notes_mspm0_sdk_2_03_00_07.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<title>MSPM0 SDK Release Notes</title>
<style type="text/css">code{white-space: pre;}</style>
<link href="data:text/css;charset=utf-8,%0A%0A%0A%0A%40font%2Dface%20%7B%0Afont%2Dfamily%3A%20%27Open%20Sans%27%3B%0Afont%2Dstyle%3A%20normal%3B%0Afont%2Dweight%3A%20400%3B%0Asrc%3A%20url%28%27data%3Afont%2Fwoff2%3Bbase64%2Cd09GMgABAAAAADzUABIAAAAAhjgAADxwAAEZmgAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbDBx0BmAAgUwIgSIJjzQREAqBpESBjUIBNgIkA4ZsE70QC4M8AAQgBYIyB4QoDIIJG8J3CQg7WxX5j0PthLRbJVvedpUoKlTzFUWwcUCG52fZ%2F%2F%2F%2F%2F3lJxxAlWAMiaNd12%2F9PqJmJKW5iyEExieloQ9KxVuZAQ07T1g7vfgVloomBA%2FUEiuEMCGVsPBsLc9rD3dPKhTisOejgNULCLyjxoeYlBGuZsjRKads6GS6b8QRDIttvKSa68bAbLrwP31TZsuGVyrv7lPcTS4bG9tKpUh76wlIon84X%2FsDUs5lHxlTP%2Fif%2BNs2eosU%2Fnf%2FBfw%2FriGqqb%2BffLOvzVA9JiiYPkV3xr7qrZ%2Fbum4pAxULkIPkZgBBQJu%2F2AG2zs1GxcgYq2FMQpj1RETESsbAKmzJyopiJzNnDKkTX5pwurDm2%2Fl%2BkLvK%2F%2Bx%2FAP6A2ZgrZRvjS1KSQBer9XuGyk3Iw3zfX%2B1eWZFmG4CQDj7CYnr8CXBV4ueyfuup7tsiSJbYtuxH%2FjmfaSz7qPupZoCCZ%2BkF0QXRpQIvhcQTov6omea3KKY0pFP4oK73IomFDl%2BISgLSDg2T3m9LqWHnZhsdUX6Zbs2x9S8bARE7Ay%2By7Qf%2FnllVniRftubDauc4suapKNQPzE8citiadRhUeQAB2Or6gcE01zLrqvv3azJyYfdvFLJRBRNN%2BrORtiKb4r90jEQolkS9CXdeapUUtovJYdjvKac7KcpzMaA1l%2FuGrT4aVVrGvMVAuLrBgPpJTtAv0AsQv4mpVYhTdrISsR3HVOUDRuJh4nIdPy752XK3pgwsJHaOiCfRBCMYnBZa2NQIs0MJBCLKQcLAUFiLHsSb1NBwDuVM%2B%2BS0pbMpCb4wnNT80UzMTE9QxNEqUXUj%2BXtWyBRikfCGFLhWNnelMh67A%2Bx%2BBHyAogRS0C1I6L0lJt9RGUJGUzgZAjQekU04ENxHSBYHaRMdLMVd257vKTeW69pbnoi9NTzZ4puUyQp2QCOOWBcHlBVHZINQPsqpeQjArJqPxaQKweFrTR1P%2Fk%2BXq%2B%2FE66DKZ2KGI2ZjJZNOIfxEploB4nMfYbCEuPnLbpwkSihwCCsbniQTAguiPVErkU4mUNL%2BUgcJFiymBc06kZQAgwjK%2Bx5hwzplJMQDIJhWEDSTOGJKlWpoIMEUadBm6RwiOj8PFkZ74BMmB3NPHvuQZdmtwhPKxaCIC1O5pSECsQvXqWxLjy0SwLDAMtWW45JcEf9qVQU4AAOvKcpvthncBrrn3f6P2TFH5pL6ErAoIPAgbyH0bD2BVQtHJQvXeU9iytiHI6oIFw3FX7KYd%2Fws48OV6eVger6oIUYdoQXQh%2BhBbCAZCg0ws5P%2F%2F30%2BhOw99btm1DAYcrQBRhWi8jM0FaH419ud9hVS%2F0ut62vSv6Q%2FT11%2BiySYajVNbtUV%2Fb5%2FexPSeyXTDklT41IpZiv4R2m3Dfcp9KWoG9CMAOmZLgoOTwv9t%2FXjG7O9no%2FSNV51dlkUn2AXcpNQTLI0adKlSGjJgNWg3YlhoCCEQH%2BDv5%2Bvj7eXp4Y5zw7piXJyd0I6nHeztbG2srSxPIeDmZidNDQ30YVA9XR1tprpw1uhWsieLKhwIhGlDCFAphITMFTNSlJXCvFS7BnGYV1RMYWUSk86rwpJKpWQBZbBSCbm2Z1laCiZ6RfcBbuU87snz7Dx7R5L4WZIjvKrod%2BrtYCMx9O8mwhLRGcX3ibFESNJCqbD2cGBXU%2FncuJtPLlOhOxfmmcPUG5mPZuIouu1w9CKPimlUnXUEk4VEgpJLUlkHBxWtYuH7JsyXkXXj7AS4sDsaU8uIxeWw2Z6h9iA3uWnrBnnWSoOFDnWyWxohn666Da3a54egEGCM4tGe%2Fq6VLupikmKFCY7LkmodtkTc48IxKTyS9g%2BEon9%2FU0Gfmor%2F91YEWgYeaf9eEUU9e7fPaySLVll%2FZPSApEe2n04%2F31YHDfx09bMcma9lC2vvLpFPB%2FysabdbsZqgVGlqkCjKQZaCw9RL5J8Wfq78fbpRRBgkAAxoN%2B77EOTWB8wGH4agD%2FWBsmqI94A%2BFBiQym357qjcbDkjVNVS8mFxqGkbhEW5Q0rbxes%2B9DWsbK1TFiIP2X%2Fhky3m5JlDhoxIiRi5oUREAgQUJuwkwnKXsPYD82bP2nAFm5nLbZFniAVCw4pU%2Bqg9HOyqPE6GeWwEVpAL1OD4ReXMWGnlZg8RK1l6TAzjjnw3zNBtlCkyLGpSVg1rGp%2BrMhHlAiC6HaUwo4ZUViqrXkR1biihit4A5P8VJcWHBXYcMDHm%2BVEtaISkshedHnqp6MBKe1ILH2yAviHdNTbXS94mvwv%2FXjJusom6TmqUVBr6dCPYTMTqM4WFYrEPaeGMiEBczEg9JsYNFvESiiy%2BaBSdP6UREzNPxAMb5yCrnRydl5oLRghNYHpYqm5Mgj6bGcLtSEgUSpzEqZvZQFUoCd%2F491qYH9vIUigQkxnUr0rZ1DjE2gzGWOAk0qO4y%2BJrS01dMjSQ4BtaLQQN1jAHBNY3Z6by%2BicjUAwNoFPEHxGQX4a1QACbwPpnIaq0UdSymS9t3E1qlrFMKJ%2FBEWWA%2FWb4dE4kRd6bmY5kiLfD64zt8%2BWeHB%2BcZTDDLXesW9PnCSGUaC%2FE0%2Fg8RZElPKlHYd4R7O5c%2FqbimL%2BpNfRGnjFI1Yl%2BT0jLaWSclz9Gb1iMoXN8hCL0wWchLqS69sXHGrHBDM6USOEEjrLDEcJdS7xNCJA%2Fn3BSiMbMyQ2EY0xIu4G4X%2BP7uAO45rs8N8kzl2cvL4xlqOUwSd5HLl85EA942MMMthyFVM0aP%2BLaJViU0jrK0n3ILadidX5Df0hDFXwCIWJ0r4T58QM6uleTuOxYSd5zM7DK9LQcKM%2BQeJzGwd2LDM6BRtSKpoM5txsh5UZ5vkuBS74pKpYGVnlVvQ5o%2BQbwNE%2B9qX3yYO35Jmz%2Bn5HIpUfJ2vyfcGnkNDFvIWM3%2Bl0SAJ48tws8taOvAL%2BPojsDoRsZILghY5rGbIwyhURLrWp55YC9KERyteUrrJvBxgK83RyXPcVHMCoV1zkeyAymKLA4qBuCE17rUFLPeFWiZKX9NFIPkWfjuZHm4voKGHuz5gt7xXpTvCZPhpARHTMjea8%2FwnPKhOSEpZhhrY3kuKgm88Euz4ZRsxiLqrUUXDCM2Sh%2FKjJmOI83BylGUktaOGk4F61UfJ35fCC5yHDGsBjkhYxBFaw8KhGxVNLhVakk7yq4dSzlWFZijCc1zkeTkYwYnyJoLlobOWOUa2uxks1KRCtDLiVjk7zikMsiyxS%2FO%2BRxwCZCqTBKXOZTycx5EuMsI%2Fy25wHe4lzgXyOx2rgm%2FVNMKc6TRgCgiHfgRiM%2FFYcSvBA7nUJ2UqhAvL6znIECFAsKRIF0WBJkLQgKX9nAKe6KytVSyscM%2FYoBzpAcZ0LQDwAHwYTaxCTnK7Eg7dJpjEys%2BmX%2BymSpJybTABwIUK3FISB%2BvfEPpaYfX6dhYCS%2FArvbXpMxAOujddHcKCy9oAuosBwO%2Fd66aodBZ6D7bZbgOVjxhKzQcG9DNEl3hATNHPFDklxcc4NylfRkG88t2VfSoUwj1nL97IcKprRrU0xLaftUQLvKqBE0YCLFJ3XjQTVlx5kKoTYQIvTnMDpYqQumFfIquUaT3%2BTlFnBAUcDaS6Ykgm4D6mHZ3T5LS7ASqCHVNII69RkiqGYX8m%2BKFuRyLBfKpASn%2BovFuh8NjOEFNgt3km%2FK1AYKDnTQbKHVKfxpUg74CJVZ%2FQzVmPSrAGHPRrKIU8EQJywFPBHiZyoRp9ZiqatfCUYZAy10RUjDNhY0ApFk%2FRCyRru7v1GbH2EdpTUYrJNxdP9Ib3%2BKy%2BLdDlcvu7brITIlW20bGBWyvH0bbUTBXw42%2BLKEajBc93Xyvzg460i8KDqQpbI8P3hvRfdjuH3yYpVuP7ea3AJpxwwZtyHxnXa%2FnKVrKjEQL0ouoeIxVpsuMrmtKoWLpgAemjUmg13xepWbjuhaStVsQCvFIriQZRKfAWu5xpjxjqLR%2B92hNWoQUpec70wOSdjJSPAalndek2pgvd9VjXFyCq44wwNIpqzRTtwaEINuYuVywyQb9DmkDnaB%2BQq%2FKBrBntgVwLySNWNI3LTiTgU3U4wpJTHRMn%2BLtfsYleDP1XfFrU2cbdHOGW1GMxq7WE17UZzrbpJsXeX1zvkSyQmmvmRPyMTrQqFtbSYuvTlGSycJKvDElm2kcqatiRtM%2BXAOliz6XR6Ql9bpw5unABUyOZmgUjozRPHLFnqBm%2FwT1OcWK8qbpMEwmn6fkxQEFdGYoZxDwFdZbaHVC%2FztMekCVCMn9lawhkKL7TRk45pkUC%2B5tZSrFzs5CgqwTej3T7yWhaE5gLHwn%2B0h%2B1rVeqVTATVL7Tx7iWvUzv%2FJv4Af1N%2B6fX3rQ6vzx0zd7AM9pZGZ08pB7ixFyHMPMxRekmvk8%2B3fknvFVjbKAAscRdHPQn3bUdqk4DItx4uAP4uJoEdaEbR9%2BhVL1jrs8QEmOsah78uflhUlTGTIDO74%2BgLrewWOW3kkDAFWPFFoTSDBczNkV%2BTIpFW0FdcpU7qk8OkJ36V4143X8%2FRiB6b0k02n%2BPhuQfsjDBbaNp6O24mTETI5ypKMLGM%2BSlrrls1SDdfGMEMfrBVHTthLvtRiagZGJqAA2xWj%2FLQSS0wDnrjYqKDWY%2FRsARcIH4dVTFwMoU%2Bztku1jDMPKPHUi0CfPBUERXHmkBwha9YGGWoT4OvQAnlRhh0FcT9RN9eB9p2k9lUBEL4Kdj9SqUBb3XloMCJaYYQk4unEKTGtoGNjJ0UjPt%2BF0WKcKYdukt4QMO73z5xqVuff5E9rtA%2FfYyz%2FMnjX2wNnKQ6l27H9CWD%2BRO1%2B1pn9i7z%2FJfyrHBDGtR4e3FSyagyypIf%2BrO7UH43VZHiezC5WmiLqWU%2BxfgZqHdvoYE0uUczILmJXnvYQMuvrM9eFXgB8GyglGRDci42j%2F97nBN%2Fc2w9KTWDMBTid2ylcc0NoRoKMCdY%2B9XNfyvR1x19xfBrMibf6RUaTKowUrS5N7Dy3sl8q6yweBdOJHvfOYiQnu8iCUlX75Ez%2ByPPLUvSO5cXrlTFVGP2yqazi%2BDhaRUHVMTJzYyZcq0nRnU9ws8xROWtlaAxirS8Tbqt4mbE2nUu2ExdSdJ1Dt2%2FjOykL4PKLdSEIpa8QNypx84hVFSRca1604waGkUD0TyhAH%2FRT2vxpWMp0yEZk9toonGknwSgn97RBT1ampeL6tJ%2FCfGT4kdwVLcjyqvbqO67OKxmgbJzJWVBM5mqTNsYBERk3uj8adjIxDI%2BZHZM8eh835zUILIO2%2BSXKwJp9UIGbuKzbWJZ2NadauiyPJhjjgDOiMrQMWYVi8Vc2bUH2U%2BrnIASPySLy%2B6FkoLOAyxMMvE85z04IXu4pv%2BjPSofeKtXzYo3loMlVucEoR1aBZtgFt7Uk1A8CTZfhJlFQSN9GQQcIfRJ%2F0WFcWY1XK0BA4YkZuXRbkev7njNeq0XSet7ub29Cdc6t6TT5P6n%2FDEquLSQhlN6OtJJXVa7taVdntCPWBuVy2kThB89AhmQoY9JUclVtB3yZE%2F5EKRI%2FWR31zf0nq3wnRUu1XfBKJSb%2B87VxAAI%2FX7ErAZUgZgPNnfDmXeiVlaqbMzzlt6XPsvZ0nbW6A6D3zUKXbqGHxqvKtoc5crxS7qLwGAbJaLPtkpjrRpyNdM8fjceFhJSYMO9r6iLFvEKJGYZlsTIJ4YkyUMEx91H8UGDAEN59eGv0JettWx37%2BNmLtlctzWeP1eNg4%2B4jgYG%2BnMlx36HAQPeh7bEXxQc1sI6fag097394Tlss8Fq3N2tXtZetrm6FQcFnPOKL8d6J0UGhGVHi3LgvPV3c4QwXYohJghOdXYX9k1GzOZ8QGGkfo0ey6Vgbnh64wGlPreR2h3dUFDlzlGNHXDSrWo11Xy3N0knfiB38owN%2FfZ1biv5wcfbt5smBxuWm298%2Ft27VXO5rGe3a0JCEi7E3mof7ai61bn%2F%2B%2FvdtpXF5oGWq646GkbKicU19htpCodYv1%2FGIaVIvaTrii2uulsZCRYZxDdzwQKW7pnusdoxdw56oNYw4fq0WFwNCkYvUk9AIMFEOf5%2F1gSXXSXKxx9jYojEuTk6uNkjn06onF3i6SjzO5v9mKzjvPyn4SP959KOYUnxM%2Fv7xZyniS4Zju%2B4Qp03fzq4NyhlqhxjeHJBniFExDgfjwWSGcR0UttJ4hjE9m9lp1Yin11cVEwfs4nyCs7aGP955tz9Xe1bmcMfRGvTZ5PTLyLru2UZN0LTS6HzLns5vkrRl3TCTnkize%2FDoAiOJgabGlvHNjorUlrzi6FFkmis%2BMxT73o9x%2BGHVBdvv98Cv12%2Bz2STuyQz%2FQe7rRvF5kHlUz41qe92Dojegl5svIAL%2F%2FSr16XM13bFImFk9f84iJ6pHg2BpOc7vcofyKMq2tKxpnzEcGS3f6KUa9%2BEXVNIGnD7%2BceP58a2XfwjffSEe%2BH6zoXtutLn5fHNYu3tIKTbJd7YlCaMJe6Wp2XWbCUtAaEOZN2%2B8uzCUxpxtwc0Gtl8s4P17%2F8n7v29d%2FhtRW%2B2dw83qfX9ZjBaWy2F2tp%2BvzY8527GCbXNkshUGk4rqc%2BLD6WU9Tg122dXhCU3Z3s54bBiL5qLQ6KuW%2BPm7oYQF2DJgIYiy%2BuLN7sv%2FxHbbn7JyoB%2FMG88uDjU1DrUSWe7BJViS%2F2xLgpP51lyqzC6ofLfu9CHFj5U5JdVs7V11nZu%2B2stxYmfls3b479R2wimJUcOqB6ptdbpO6xknVcG%2FYCn09kLAeMFzlCAtlnS3jhh8JQVLDUhkZBT4tkOj4bYVl2PvXDu4NO6un%2BEZW5QeT0CTo3RmDX3DSy6bVMaDhuAPvaXJQfQkCT%2BQQVBbTGLHyK2ZWx%2F%2BW8aMq2KUVA%2BV55hE8r2JhVYZ2ZbZZ%2B5Lk0G%2FI5zczPd%2FJzCv4b%2BnNjUkCh%2B21z4F%2BD5cnhe6P%2Fy%2FtR05aylhNwUCo2XeNXph12N%2BdwIKu9yo9%2BMymzS6DiHoFipFGVLG123A7bxzekKTlxlNIzWqEl7WsHXQo4%2F%2FSQxiVLnnsioKptOW%2F8rUQ8zOVbVU8UouuSMXkF%2BU0SraYOs%2Fu9Ys2zutn7lEVpKej%2BBPL95%2FPY53az7vrU9gvEupKia3AyK8ZUJe3nyIlpbOiV9NO3CEseEf5jkbNe9k8iM7ItWZttSxj5eTSmRnpAVq9b8vm1ToJ1iPF7km%2FiUvKJj75v0Wwal9A78oaeKgbghBqLKadFfdbP0%2FA2MzgjMVGxjLEMwYQ0qeiQxrxip4xyXmkDOY2eDI1Wu7mu9uKK6zKh1IZh123N3yzDfeKnLRYLK1%2FbRFZEFSXXcHzqFTAhrfeSBNFO%2B%2FxqYGpK6AtF2lLfCfgVXE95sgGT7XkeBcXkbcvQ5Sl4JqufWaEZ8%2FiYpttneJrElOiKrC2MU04vaijf6x%2BPLtF8LY4Cf867dvDUNsOfip2Uf1Ccf63Qqg3192Pd9q7m%2B%2BUr91FVX5wa72O%2FW2E5H0S8M9hkcGRYmKvrquNksBt3d0YQl1TVsxUfDmd9zhhsbmsZIrT3BoHeaKCv%2BzcK3zUCjswCR5bPwM1cs%2BusG%2FGXkTN7XZP%2Frv5t5Dni%2Bqles5XtlJTfKyii73q4K%2F8p%2B4hKplu0vT3unEde5A%2Fdt5c3%2Bd1ASBINr%2FTI1dXNxcW72wub60BENv8BYhP3gjkA0eV0lozmZAp0uv36ZPPdwPGJGnHiiikRtCSmXm3XIvbo%2BoEnhcaWql%2BRWlLnUeako2Lo8rhyw1Z0NW5etRN6XjmFxox0oVo5HBffX3%2BoXLKc7pzgvr83r2D5kPl7TKSqwmzLWolRchjsdMeDnrc9e1s8dOLZMMly1A9K%2Bteh1A5JkORPI8T%2FdUKKZEEhYLSam%2B6KUEBK5%2FQo8dp3nAZlHfer9Vtem36ynrkUNAH2SgkbPXipVuamPIXK5CAOQsyD9xAJc%2FuDR81kte5oIIpjQjP796Am9R7GeyjIhZvzy5fPSFdnZmtCvuvOiG6FQaNSwtws34Zdj9j%2FrS0p%2BN76XO%2BNj5g3XrcgBRRU5%2BiVg8iDp4s2asffXNm67rY13tT%2Ffute9hEhQ%2BCkPBCiCTH77ndK5b1CWUalj4jG0P8PuqG21b0631bfpaxSmcV%2FyPMBmZTyb3nmX3S4n6CHld5bD8H6EyJnuMtXRH7x37%2BlgL%2B%2FnOftehc7HCN1UDMXFhq8d3Pkk%2FJX0TXl7aHJmdcG8LhnVDxNdelXePS3U6nKvl2Bm92FTZ5Gyue67ZObTFBNN0jcujtDCRoYU1bio2Loo40rbKnEmWW%2F%2Bja8uIYZIV4aS7cdjq3NX2Rp7eVVX%2B296W%2BJJmqlqLte8pe8dQjFGgbspwGpe%2Fej0Io6D1AwhtJ9bt3ShMDU3HsDbJRakig%2FbUUjrt29Gvn%2FSiooyejYq8MsZkz6V7Dkr8e3L4hBwJuA83jLZ14%2BruTWQQB8eZN7ShGRu2W1t3GBpn6xl%2FiBqpxCi4%2BOACg%2F%2FhfMZIukVsPJni4RPBsTHZG5f2H9K2GCKFqeyhzdghGysximUQ9%2FmUY%2F2ArbJMRvbZ1tkL8Zy3vzinu%2BnioSMHV6neDjLzHQtNEfC5AIITLsTlXFy6un8T28Dhid4L9zD0Fn6LIeTrm%2FkXIgKrCwNLmX5sfVFdIDAJljT%2B%2BFoagUKI7A8%2FGhwceXiwN3L%2F%2FOD5Q8NJBRdIS0YFrTXBBVWp3A5yDB31zXh4ZCRlI8XSL16MtF8Q2IZZREMNfa%2B2b%2Fc9dPTO5nTOCu%2FDXp%2FdGjWppx3W%2FcKau8dGklKfTt77PXdUXKW9jM8dnnMYL%2BEqReFgjDHh7meVu1ykUczL%2FH4vDq5afhtknzJONbZCmHS9OH%2FnYR6G7WPAPRnIqA0goDPC%2BhxY1mcCT6d6VjxgX50dcbOtGHKpyM5xdzK9HWdVj1rFVjVaytFM%2FcHZJRPJssanfevO%2BXVjXN9F%2F3e69DQzLoKEUlzHbQJzQM%2BlQ%2FQB1Sot4s1wCbQb16%2Fs3Ub1qQvj5j5U%2B76QcgEN0bxums8lLlVV8xsMY%2BQuyGBKM%2FLOmWV5Lm6K1J0xLeYBGoFzFW%2FQuGs0q3EFGgip23710YT8d5zpIrxQ%2BQpkUHvwEsfr1tAEv2xx6dSly7oAFDf3KcvnUD4StBrw81XBnCbtN9eli%2BwqL3dZZipmHHfN%2Fiw0%2FQQZFheEKH1TCn2BjTB5KJlII2YJ1F0R2BllmycXheTWlwpQidEWZ%2FnjvNpXIisG%2FKf64Hbmm2q9VqwHQML1yuKn15syWHkuUru0P9llEUMPKxWozy8KSTbvujV2RaAuw%2FU8TzSipOdkKZj63zhV7EzojEtrwmSdCIE5nYhRN7cscQzpSEhvwBVB3LQ9tENVoA%2FHB%2F8%2BnVxlnr0d9r011xk3G6Sro4n9zOfkUy0iN5h3trWXZf%2F6p9ZhonLIQ7AeIgqvLbdIn%2Bjff3C3Z3u4vt72tPH5raujePvyLq%2FGgsKCOgNOCedJPLryZeJrO1uk%2FpbZ92fXS67bzz27hVvcz3dPqaiNIFaUJ%2BEYJQm4qvJIIrPaPSu7zD2RUUEkVpUnYEsq4nAV5URieaV7ypmCrO5eGu1cD5nS20%2BhdQ9C3J7m35tSFxIULXEYc5gTgofA9iX2Y3mA2rzgXBBHt2lQ%2Fbd68XooaN4oiFDlDXU3wGcQ8u7UbET2aETroxgx%2BhXqXjSqLdo%2BH99lecGlvSM1zL%2FO3ZDl11L3jnX3YQm6zRu6YhpQUefpZvZnqg3FuB7JDHUiN8d4lyVz7AWrfDPxLZlL1i7ygXEuCgQyyhumn46yiNaHoQsRaz4YBbvhaVnd1SuqmGSPFPeXBRWaFn6LP4Fd3fl8f%2B%2Fxj2tn6HY29FQLy2bcjc2IiK3tGxGbWxHbGyuhETu7OxF3VkOTNyYnTU0nJqaMJqcMZ6YmjQynZvb%2BkxWr46KjgidG10VlxCYmdiUPidCEDJht8UkWxlFkKyajKjlvffpSfNYWFxEjlCmUaG3lr0%2FoyMZAIiCR2VhCR416cAcNoxWhFUnDBncYObeqyFQzrWtO7P%2BZ5hcdgPYkoCNSZiv9AvO9NI9rRu7EVMa2FYhw2KXOcnabee5EoBMVwSVgObHvrQzuAoOxwC0L9G9oxgcyuPMURgCN7O9HyXrelrOyAvAUsk6de3jyh1chBP9oiKclxhfjiIqBYRBOwYwMVnlLaZZfSEdL9eTQkp4B6o2ff6KL8rTZwJnFhhEW1aqgxaXgYKD5DT01JynWB%2BPg6%2BLinGlMwYQe1Z6KrOrOtlFt%2B%2FpvxrQ2elvJBD155VumAqFQ9L%2Fxnst3e4f5qtRaJDI4rzqCiRLi%2BD50P%2BjAOYUVEKYAojOHuScqci%2Fw%2Fvaffws%2F%2BPftSYPOfWcHjHViHnS%2BtqnMQ2JYpA7kjZRNO18%2FA0sTH1SabPBshiVlXh%2BqBOM1pjFdiCKhhPCKSOcoiMnLzKExXkfLyIX%2BwWFuJ2toQaA%2FPywvmUTMyy8g0klJ0jBbBrhxZmG1IrUiaJjgphJKl7WeuJi49zgy36M1Gp9LsvdQ9bKOL8vK92uHxZjbVqxHXb%2FKvzCG1U12DAnxj4wPRlMjtOeNK%2FPsHDDOaCes1WNacQJlf5pEsizwcU%2Fw%2Be6MyXneVieGr9mhqY7xWNm%2FupDtY4oGDoQbZlazO9idc%2F4F2Vwi2uaNcEFHwc%2BrscEgqiJhu86Kio2KiYhaXUwkMTI%2BdjUhKi4%2BOlYtvez90PqrqC7HJ7VrdiM9PfS41x0RXZHjS2q9tjWfIpveZSzEpfjPpIqODs3GovFdRgfTJNzIkBEHnwlya5V9YXasvZR%2B3qjHAL6a0h14rPLI862GofYr1du3LJ3avlY2UIJdrZx1IKNYa2%2BL2siE7oS%2BlbH5yykY9uuzZjg%2BzzMgJd212D8qP9ARQ8KiPKwdQ0%2F5VQaWKD7jcubmHl18eue3bjYKJSLM%2Bn%2FN%2FSu2mEzdIKn5OU0DeGSxu%2BF1VCxjKMgwEhU8FpWx%2FEbiaeoVsRpbYrcuXr%2BNAGuDJOgUvvUrXidVDC6NTnZEpYSENA%2BPsOPOiV4QG0yz27fIqzkvcU6su2Q4pj6QX%2FlYXaSa8MlfT5XBz1%2BLijx%2BHpdLtT68dVWajUt9W050iIBjaGdxCR7H1Z4pd7I7G4bqh1Va50e7%2FZOHp3gD0303PO75ZzOprmalxl%2FFfsIS1WNrM41E3fleyMgEoCY7E4Onkb0jGGc6gTTAI5vqic%2BmeUaXF3ei4H%2BOoxJ2mR4oSirg0HEwZBG3y8BakAcIkmec56NSGdcpZNQnhf%2FJRBL82fTe07w%2BMELMy%2FEmBwABnH2USKib%2BkjnosANo7N88xl%2B6%2B5pidTov65yRhYAdBXC3aKrUpKJTHRiqLJ0pzffoMNA3dtu%2FdyfANzACLD4lRUEoQdp4kOjFWGF7x2ou9nVzyThIHERkw9lt7IdyDaZ13KLt45Bz0kPxKo8Ivt0g%2FTbgvU7tb2%2F2hx0PhweZN3de8K%2Be57Txsdk3S9pGpQ8B%2BkpGyTIrn8urkwoSeaEppUXlqrkBFuWMyqZAUiqqsXhXGx%2BdmJCDi02NpcSn1CQnRph7WSPRM5lYW192QaFttdCYB6Z%2BEN9THFQXQuTx7HgXEoV0YwA9TZ1g0IQfx3HgXOzqqD%2B91nhLDm59fRlgCUniF9ZUAqNkbTKLXD6F%2FpTXoHAezU5Xy%2FfVUObL%2F99DCuvrO7liRVoUmwh4GijW74i9RcDg0OVsChxq7witTgnJDhcHTL4IS%2BrKI1ELSjIoZxJSSUzFPrxT1PXkNwyFKgb%2FuBZ03mN%2BRWmgFg45ejT8l8pWBWtsVN6DTq%2FvT7WzXLqaEaPH0PAJwFOKUvNVMCXVTqkL6ynd7w1FI2tOU8gP6T%2BKiUTF8Wi7ebtloRO51pkkfRahYiHZ%2Fbjx33DP%2BxHofEc2GOLtY8LsAxkAWVt0gCjPcD0EgZ2ShnA2vI7sNHdqjld1AQcfV%2FvSa0%2Bq%2FTR%2FgH0fc%2FYUenZog9aOt65r0ZAOB0zfJle%2BCrh%2FUisKEeusFHKQEjlFcFoZUPv%2FsWgod2Rwpf733uTyMvwUP5WP%2BJTneUhnB4S4cu44avYe5McylYe7FiE0%2B0w7EXYm4Ql21n5EbTLuoHzrTgLoW8QsvxhyOqzIaSvO1b%2Birpy1BnYqJtH26MUQj84ZPmvDtJ89Eo9PmXm7zyc3iHhy7PhvUmzxahfVL6F%2Ff4f4vyuCKEfbV82h6z%2B0kFawR%2F8Ic6vIIR%2BYcjy4h2k1aJE2BYHIdUzNZCJ7ARbgP%2B2NVMOYB1yRZ6XlFzCWrGEK4V7Fp7fh1rnw8qM%2BaO1dE2rD7IXBwyXtd1nTypsUPk%2B7MYlhv0SGJFdZbJpZdWx%2BL9vP%2Fw058WPYbhNLhAYD4pjIUsmkOvlGk9Ae6vxmAHaJ6pAHTCs1rbQ19IWHakImgdhbqKKZoq5027aAtS%2FbeYAH8yh7TKaK%2BpH7SrmAN60J8xFWm0OwKGVvJqoyK%2Bh3h50qLs9kQ8wnYk6U6y1GY6hpLxNaSpoB%2F0hIE6mI0YBZXOlz4M%2Bij6KrEJnBpB7%2Bka2cqyLteJNIMgQaJvSAkAEOSSiwALKzo6zPyLdR2qzPwsXC7H6izblK01ArjhoLwILdg%2FvBF5ub68UiQDi1pEq5siO2vsmdSbSLab049%2FvbP01kQZhA9pT2yXN1Pl4d3txEfcg0g9JUkONP5BVivDf%2Beg89HXrfNK7rnO3c9aATViSx2BsTnb%2FOP0N9jEuj%2FdsOipxwZ2UPhldJM%2BhqMYThuMeJzjimpC4o%2BIGDSKqRT2bZ%2B%2Ftq%2FKdUaKuwDr7qdaU7r2W%2FLASNVbDJAYkFFt37nzft%2B3Dn%2Bu6o4NIOIUDkwi8ASkf%2Bxyv%2Bk4nAVs26jy%2Fb916HDF%2BWShyA9AQx8nbdq1o%2Bwai9%2Fqg3zA%2BHEfF6C3xUNCHMaQisLUik74%2FxR%2FqulPCJyJId6%2B6TjNeW7BErLvRYnGzE7eWnjqkro7qweX2jt7WzbphgcF%2F3Uo6M0WVBS6c%2Fi6jU6hgTJeH483x0VJvmnHFnz7r5Eu6YLaP9C1pUbNBh8Os9TP%2BihmG%2F45Q81rRxt43MpiZWf5XlUWDoaL%2F6EbY11IZskC6vjxFZedYU3Eu%2BcnQ9ZnlKc5LEBGyf1x30PsBC2qh1pZNYuqA819OQlH9QLq9DmBx1drYkv0ETKKE7QE%2B3qVmfm7gWYFWOtInTlBABRTsFrgoFJDN%2BQe8ghZKvWLvUkCUOUyNhGN914OMiMeal6%2FhjPvtQ42Gyo4tacDkQIlKFTcjj3SALhlsfY%2BBogaDOmEzBJ3IaWjFayxLDm%2FA41m1xPrtEAJj4HWh6PMexarqvCZGsV5PXrNmYlybaAIaVPhsqv535p7wEIoxWHkuEjKRN3Bjk0cssmwm54t1LuNcGHQssiIifD6EenIAdCnl%2FMlLSusXaK2GGhfTDFw%2BnwPQEW3WMu8u3nKcuh0q4muKBmX9o5xRlvfOz%2BpxvoQoAlvi8BVEseIFQLzIKZpN8R0ac85xLAzdbqnbz2raa%2FZ7CfVkhWxguR8FGDgV%2B8FRWA%2FdQggAy6pt9STWF1qHXVGjPVhqFdKWfgbfH6%2FPybWUVqCKOrxHW4virYMPdNXNRDV134XcvmewdVqU6iQMJVF4BGhbi6%2FrsVQQ4En0JzjB6TVJgs33LaD1lj4nEQqoGhpZyead99yzOcBI46cdwMquJu9ZVVa8xGKlLPZN1Mubp%2FqHrBgC7At9Qy4v9fPn%2BMeZyx9%2BxHF6QpujH%2F0y35%2B6wMOjCyFPdUmkYBiLyWB0%2BEROuk6UIROcO%2FczqMD518X0AY%2BFOTZaiHVys8jMoeq8wpgO3fEV2kPcjxWQ9fOGcUV6xzXvaw8v8TiPdVcIQw0R1NXYIZgCUZ8hSLpFkln38GYKKjIJEklt0T9BKYWgn0gR6fJjTHyfuL9iCkg4EedSyTaNjGbinSqKrEnT7izD52MYvgSA1Dq%2BRGLd78dIQj1Lj3hCSCIKbTXxJ7JMc2RSsEmHjDGLX6jlKXW9M%2BTpgwVbIbSLHp%2BMhpJ5RYKXc7O%2FOZmOAByNgMfLeBY1HGZEY%2Bm6FtuuTMSIaDHuELcIfcTYy6R5nN48lr6HYfQ5sj4xmVgzoTFMUy8pTH16ZUGJhQxQ5%2FMIcyHwZ4SIZtMrGIodYeuHQmFiRQWAOd84IWXt%2BBKFbTYCYajnb8i0b%2BtUE6H6yPKczYOskSs0fEapwCxfFqESFJmb%2FeKdezIJElAHgh82coKqyha%2BvMLI21YBusHRhkSJObmx7GLYyoQwC%2BUulk2Ekc3eZUga4jiVdUDVUhKpJTGEmVruJjPYn6nZiOGg1Fr94AQiNwlGwiRbZGOqJSNajU9egUDxozGwBjX2DCVjFcBJWCfIEjaYkOSiEl9OEKWeZnS9BSgJCMk1cKSnWoxqfOavNZnaD9QR6DdMDntCmPEfxUUCtqQBErC1Ldd91kgonepcgrXZL7Lk%2BAthG%2Fxjs5hukeWXk6bxGXrYJGm5vOfMX7CU5kppyeAKqaDskrmPhZ5rEaMx9QJJvp4rqIt3wlGItBT99uIKWAf40K5eYvH9wsEgXjg6RKoo9rTgK1ch0Gs1phF0N1I3m%2FvSABKq7C7kAG5ReCNRxUZLLGoRc8SjQOfDmF%2BJEWjciXt5bQpYLHLJCinnNDVWXioBT00BpKbvCczwAS9SDP0Y1vHOQ7wzj2PzfC2nPyZ3IQkkfbkYTdeN%2BNnbyDypqleyH94jFtnBZLHeejik9%2Fz07s57wM5WN2o1bI7Qpt9J3bbO9%2F2xJ9aPtEzJsfIq1ppPHtuStwLAFzh3Zw%2FAax5FxCqqjYkGp9hHVNqTIuX%2FnPY9%2BCHPW0rHQWVfUF0kg1bLIFeFAdlflFgtcikpiiYZvQRYm2VsZUGm55B2HT03O9Y3YIYERKIBgoWw7rkpnfMZxx33S7Raj6qy9A1WRwcpmjY2GI5JJbnT%2FE%2FsfF%2B33VeMZAgFIAU7XpWSDzam7KtkIHJyAyiDnRpRmfjTLbJuZRh4%2F5iyybFZuvKZXyxxjr5frhjLTTqDkSvZzt5P0Dk7aE5qxxUaDBrbVB0MoxlPJpUKgcUBwSp4n5U1c%2BsFFPecw%2Bhz05AXkwTsh%2Fv%2Bu0w09dG7k0BdT7cUecveW3vjNbFFwXOfED5EEWy4R19MwxoWZB8%2B%2BEc4gHgJURKYrHkWZSVVG7LC6Lu%2Fyj1Jf%2BfDrwD3TDnJtalTH2x6ugD%2B3Lh8OJ7ESiuWJunkuUFagviyrgvk%2BRYjEaRfm35SSmXBSX9EVQt4jVihTdBqwwyK7adx0dqbUx8owyxySevNjnjNYJBHAGM7hKzwxSR8hzTOM%2FHuPkgpsyifAVj3c%2BSVREw%2BbWA81vpI0OW03FJEbZir1rOQOTRefgB5QyOuLVHYjmDrv7R%2FOUK1wRQLu%2FcDAKq%2FbbwDFi285lWmmLNgsDjj83FD0lmo8DBFiskRvrN%2Fls51y%2BYXxb4OXLVT5dJ8DWQylXVTv4M3TYBg3xBqIF%2B%2B3pi%2Fx3HRc6mNYKGhe95Py3LNYOu6dnQ7t3avWSmDJB6c606XLNZCd9bHySOYSxOmITVzjZPJQuXBu6CfTvos%2F4NI6UV%2Fzkxp5EG73IUraubALTXq5tzoTxDoYfK8aSaS4o7%2B5FyiHz4dPaJzPt%2FeMy%2B53Q%2FhoFzlOLcHmvutTuDrxqCFw%2Fbr0c4N24jMNp0W3OzJs%2BdUYjLySqaYrE8xNXl4XIZuiC2Y%2FT2okht7i9JIhyKhtR%2F%2FM6%2FnIyGmpgI0oJTbNIVz9%2F%2BH9fi%2BVR9izUG0o5%2FPUtylRen6qomwdW0nf9WUhKKp%2FISkIcw64Za66sA5j3kLdlbxOkX67Lm0FkDP2mfB%2BKlPYbYh9aHm1hIkV%2BVuFLNevIxedIV57pw3sOIPK2Ly4YO%2F69LBYiEmSTcD9tpr7TQms7lSS7w4akMUPE0EvV%2F7B%2BdXTvrGSfJ5GNIQssF8qrKbLyCRhzQsQ3%2FNlzmci%2FxKzJ0ai4nIaYAQiqyoIy1NMVRpuI5xH2c77%2Fn1dtiYEEAKDy7LlHuln%2FvKWhnPQaaAquw%2FQLAdA0W%2B6XQO6N9K7oN2LkMDtH8%2FmRX2J9ZTMOc6ytcULn0b5sv%2FwqO3JZ2Awh1ZB%2BlY%2BEf4ywOMD2TOJYAtZI9uwTiVmh9rOtVwfvLk98UqKPtfvSAvdVZMlsnIjJYF3h9gnEi%2BGLvNZvaejXX5S9yyR%2Fj07%2F8fWvOmPhZLNnB88rHUonwssp9qer%2BvPbmsvcCixgRSpYGQhRQ80PASi0YRSkVE%2Fagksk6JHoyzW7TIMRMOWlWPT%2B4GPoYKoUap%2FIPhTyW5CeXl4soyww0ImMqhKSiLd8XBsP%2FYb2L%2FsmfWpPfZTNyHV3Akyxidu5tWs6nsPw0M1NKo4Lx8U4Y7HXxz3yTmTE61JRzb%2F5puraZxgud11xMFgDdQK%2FdQTeaNmr%2FE%2BIwIDwrz2LCfolHhV%2Fybj%2F3ME57jGPwYgQV5qGIzNgJPqY%2Fhr9wuqeKqcQSKNSp81%2BGgV%2FGS44SVY9wq6fzz6v2BjJcQpcSFO5C7k%2FeHm5vNlRs4lGkUnzyVeAaIfZh0bZx8o8q7MlDnnw5WgWf95XqAlbvdpl%2Bs%2BLav6%2BltDvr3j4ePto%2BuNHf47p7nq63DuLvdVk8ynd5TaAuJPU5cuRlJy0aM%2Bm3i0McychfySsX2GxJ4N%2FAxiFYNRap3nMrHDfyXWeZUno8A6qbSLljKn3Z8eiVHq2u00R3nvC8SdD8oRVF9Rh%2F7Z%2F8GP8YkAnmggovybRkiC7ytcQkrIQacCg0I8kNIWGs0qwdH%2BB74lLZz%2FYDczXf%2BRNNRUYhRe9u9uR5o0fz6Kq%2F%2BvqtyXMyDsXTofuk6p66pYkaHhbWOutXSgxvKiiO%2FvMIrFDkxTzitx4HgK%2FAKjztUlSmPAPe9pmYOY1DjmJLrufFdJ21QSj%2Bi5mj2hj77FA%2FhmSTzOM0054UPvW3TTIe1WrdlOVpn%2BLfuuMt3D3QYYTyXKenK2xviclsvyOIKkLW9Eb9ffrzgjnQXiWEwuyWS3Ve7QXIB50Oqp7KP1%2FiCbrbYTcIN%2BrpxQCqW0vKkZv%2F7KzTs%2FMGnFdHXJKyvTf4SJDnklRZ02taSdrWev8WwJUzNZXCQcX0FTYraWryRyugVGdii5W9n9jXA%2FtfUR%2BGb2XxVqjbny2E85uCTJ19eG%2BFeP2F3lvcZB44hJlPCtj38aWQECQjatV%2B1IHMt3ABj55%2FGcVpVgzw1O60cFqdIt7s81vEdWU3Gk%2FFVPZ2YyXTSThDnw6QKw2IBb1iw8JLaZwgNTNLRbq30q2jGMcE7odKxOL70RUFyY9aLYabhrBOi3u%2BmRVoUSNsVmo2h7Q9pLd%2BmJ8fYeSDcopo%2FQo%2BmLpHGP7Wp8g2dy7WtAAQAYrl7ur8Qd39v7P8AiX9fXfbNrRC16qx%2BXFn5mz09nBuYxALMfZNNtQBMbpmOAOYe%2BqdtVmD9zXxHfZS3rYzmkoCSN7sGVj2F2Uwgs1XZ0CG58ZFjA7NECljkHDJFkN49OX5yLK0Ciw5W%2BUyxShKJvkzH05G0Cc2U6WU6WUqxHdThCDFHLbJmOjEi5DVZQNvEVgMraoehJDUnOkQfUG9OUPR6dL7rTQNto037AFpjpyj3BPW1IOOlZDp5ey8Xcw0wnuFE9gDl1YC8I35tACdWoiK8IzMIonb0f6QnqpMqMt%2BYqTuoiz2oWVRQeDQzlkG4Dc0UUQNFtDcnshidGclmdIk8tBVn7JWKcSV79dMOaFNzQykIGLajkggGCSJYnxNQQRwyOT4qEVdvnnMoyNUccUIXiNpmJXXEQj1xahgRXw5h618C7IFzVD1VAv%2F%2FxelKtE2IXNKpR%2F53M80Bmed07IHpcl4VAHZ37fUbEM%2BcNiPqnEtIvktRZvi%2Fvwkw%2F0YaaZvMObcEamqkEO8mgTH2G1v5lxmOS1Hb8ARThSIcUET7Q8UoyDzWHeUGMueWQO0JKcS7SQBw84DCzeYUq2isRs7LAeaKZJIOlIDDJ%2FnBEU4Nte3kbWporw5OgoYGLFbJFLCY6BcSsytzqQ0nL9PEKcomxZFOs62lOxQ7W0TM9015QkAAVr7ZpS21LADMD9cRAe3kxUtcS0as2Vw7incZj6nrw%2BQXuCFrEpKldNJlCtlypBAJEwWBiIH2QlaiyoGrCFU1dY2aVAvaOrp6%2BgaGRo46jqsTOHX25wYA3AAAAAAAAAAAAAAAAH%2FrgH3t1NJ7bPjslz%2BXQ742%2FGfH4OBq0ZwEMoVKs9mWc9uwY7c9H%2Bf6v2ucKYgCAIAFAAAAAAAAAPDZeoZMxu57fJ%2Fv1%2BlX0R%2FEma%2FdVA5sLGdbGouxcizGgjYW7dm6Tvf0TPq3axrD7HuLcTlr1%2B6II6cuV5EbkUoUCYKIgfasMrw%2BS7bXzz788sciiUyh0mxu7DFeRERERERERET829HX5puaxiSz73U%2BNuRAUAIRAxkOz0KqPRERERERfc6eCYex3lf6DL%2F8wT2bGNkFx3VZs0hKBoVKs9mWc9uwY7c9Hz9ioR%2Bzc8MwMzMzMzMzM%2FPn1vT%2Fhdn7Fnu9jvU3xlaiRCBiIMPtWShRi4iIiIiIDGwhIl2t6ffVTGF229ThHhn3PX6fpV%2F%2BxJmvxxYPz2eVnwSEbgJbshSVLmRkywWrgJDXMCnim4srQmgCEgUGWkSSJFOoNJuVbCvHXoVU1dQ1alrVgraOrp6%2BgaGRo45r1gmcOuscXaMb9FDLHimDlWfh62ka3%2Bx96whBCUQMZNj%2B38Ju09gwu0177G8K4x1hLMZiLPI45AO%2FQCFDCUiWQulCRrYcKiASJioJRAy0aJUEMoVKs1kpQGWoqKqpa2hqaevo6ukbGBo56jhYJ3DqzHU36NKbjL5timPYAAAAAAAAABQJ9UmSqvNLklRdLj1f%2BjyOa4sF8JEHG%2Fkkv0Ahw6bOHIvFscXieFNY%2FNacQyRYVBKIGGjRKglkCpVms1KYylBRVVPX0NTS1tHV0zcwNHK0STbwC6%2FdiAw8SzYdwBgzLJLIFCrN5rnupe%2Bf3zNHMEY%2FZquz4772CMOK%2BOYMztOLdfvy%2FOOTMEY%2FZgF%2FAAAAAHDeNw9j9DEKwzfoaxt7AsTY7WOHjx0ydjZERERExNidOuEdx%2BnqXNclShwQERFRdmNmZmbmL79vBz%2BzvsvrwXz8AoWsShVlSElZRVVNXUNTS1tHV0%2FfwNDIkZv06J6J8u1IXl4%2BVA8olORBob4n5BxKzkI%2BQila2AGGYRiGYbgiQyKFG5FSbxERERER6R8dHo%2FH4%2FF4fP%2B78SGXjKy877HPO%2FlEVBEEQVRVVRVRJBoeRc1QMxRFUTMzM0MNZUeSJEmSJEmSJNu2bdu2bdu2AQAAAACACgAAAAAAAAAAAACghQl%2Fi4GZIZm%2BSZJMr52nlqUVq611VGvjvsW%2FnLVrd8SRU5eryI1IJYoEQcRAe1YZXp8lk8KQSCIiIiIiAwMLIZHJZFVVVVXVgYGFkikUipmZmZnZwMDCKHhUKhUAAAAYGFiASqPRSJIkyYGBBWnOWlVVVVVVVVVV9XwfHzDeEdw9PL28ffrZ%2Fvlj42yMMcYYY4wfkyRJkmTbtm37uCztTrrJDwAAAAAAAAAAAEDAnyMU8SLee%2B%2B9VFBKaV3rtDHGWGutc8557z0QyT0AAEg3kiRJkgcAAAAAQEREREQkIiIiImJmZmZmFhERERFRVVVVVT3vsTRGP2bzZ2ZmZmZ9EwYz58595ty6COacc8455%2FzuLl363aV3nSTxM1MHBAA%2BU0N5YrdpQbLMhQNiYX%2F8umRyFLY6Q84RIA841ARJH7I4Vog9iF3YfKwIVeHHipJFuyClBSrnK0uCDBB4MTJQBUiQhC5NDAonVHEHJF7mKCBO5iUcNAjnA0KCPh4EAnwpBVmvoiLJtEshmGl5R%2F5AS0ZbHpnFlrk%2FJ2cmRlZO4gwkoZTLRJGEwTSkWGiqG5U5L%2B5cuPKBl5NPsmAG%2FgtSy3uiKpkNfQaIX2VaSJgIUWJAxEmQ%2FNb%2BO540GbLkyFOgSIkyFarUqDtBgyYt2iB06NIDBaPPgCEjxkycZMYcHIIFJJRTLFmxZsOWHXsOTnOE5sSZCwxXWG6%2FFnqd8%2BDJizcfvvz4C4AXiCBIsBChwhCFixApSrQYEwaVY7qiw1sVGtQ6Z9RQCKkJYROyO4yvvqnXqcqap77oMeaH734aMGnLpimx4jSJd1OCG7a9k%2BjArj3TknzW7J67DiX74Fi1FCSp0qXJ0CcTWVYTX3%2FpaLLleC9XvjwFihRa0q9EsTNKHfnoIr4Zs%2B574oE583gWreNasKHSuKuuuRwiPoVojDGJuV9fOJ%2BY2nHLbXcy49K0NDH6eSQ43AkjnnlZAoUal0lJEHa9lJJ50zDWGY5QZ2EBTjyfTqHSsxIopEzKmYzEIlCCiaehu1xnXwgBIqB1lDZOaM4NLQGZlXfRmp4IeR%2Bgr%2B3lidT2xMK09VGyBBgSSlBT%2BF%2FbhKMtCuU%2BuyO13fUOCkh5gohAPSqRjpTQTtRd6nQV2mdvNe0Pfq63hS5BA3mCoIxUIshZftSiyPu0RWQOWURwlUV2zh6LLNLXH0ogBNL5dz5QYtonwhO1KOM37OCTOOCf7qQWBMkoZo4SJA6awEeImlzJlQaij6aA0Ghqh%2FhuXr69gfO%2BBPM1DWufSXB7NW9%2Bn6uyyNy7FwSr9%2B4%2FCLLe%2B8GnLABej%2B9aBQA%3D%27%29%20format%28%27woff2%27%29%3B%0Aunicode%2Drange%3A%20U%2B0000%2D00FF%2C%20U%2B0131%2C%20U%2B0152%2D0153%2C%20U%2B02C6%2C%20U%2B02DA%2C%20U%2B02DC%2C%20U%2B2000%2D206F%2C%20U%2B2074%2C%20U%2B20AC%2C%20U%2B2212%2C%20U%2B2215%3B%0A%7D%0A%0A%40font%2Dface%20%7B%0Afont%2Dfamily%3A%20%27Open%20Sans%27%3B%0Afont%2Dstyle%3A%20normal%3B%0Afont%2Dweight%3A%20600%3B%0Asrc%3A%20url%28%27data%3Afont%2Fwoff2%3Bbase64%2Cd09GMgABAAAAAD8kABIAAAAAiowAAD7AAAEZmgAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbDBx0BmAAgUwIgSYJjzQRDAqBrFiBlGQBNgIkA4ZsE70QC4M8AAQgBYJoB4QoDIIYG6l7Z9BbO0QSerOUWMD9%2F1cTRZXq2KKIMQ6wzSjJ%2Fv%2F%2F%2F7TkRIYSYiG1VafTff%2BDiA2TMhx6R6GCiKKipNXRGIIlEUHG3ELP2MRhdzx4LfCiOw5RpfZw4irWRaVroe2CMIx3WUxkQNxk6z461hFuVKenMJLHnEzY2FGtGIcST7Sp1cxTYd8E50vso%2FyPErfe33BNR2HDauKu3AktsDKFzxgVf7HfsTCZGph8ip%2F4Uwt9iS3xxX%2Fjfik50%2BuSSvluohaoxGhW%2BQffZ0VxQ%2FGM8sOOfD3skKRo8vC8f%2F27ju6d9yKpcgWhygSeSCgqcvLLdBLvHsBtzrwRdYwKMEHBAIxCG6PBxMBITIzIX70341Y99elDvde3%2F30frfnvzA4t8N0FHiQ%2FnyhlhYpTFKZKttIVlLGFqAtdnOXCPfh%2Fppp%2F5s%2FMptmdsGE2YZeAAAIiCELEKsEJcKJwJ%2FKynfnO1bVyn4tOV3TO9YVUOtHOcq59RemitP%2BpqmCq3alMuiDl8%2F5IMr1QhE46pskVkHI%2B0pVKL2OFsw0Pdt%2ByZtn6Fo%2BZb26vHjKL5K9xJojdAa1M3xoi2sTMDYexavi4tFLAtdy6hn5NhRHIvdLOsRxnVwW7mrbd%2FdLaMceF1hxqKaWqy1M0wnGOUpUjcZlXCIOSPyiwgRYekEwk0wQSeYETiachON3GSksRmej5eOx5AgFckz8qFxU4sFuBDwh2aNMare3AjGQ4P3L7FXIFJNjEd3EIjsBrNet%2Fjg%2FqRyg6IBQYDvgdMlk3NkNNgB%2BqwG7TqarbF%2FI8LPB7hDBogrwqc%2B2nJJCrmTE6e%2FO3AQw9WXmJicB2G0w%2BCQKLMusyiTVt%2B7VeBVQSlulYqexUqapgXzGwx058eVSam5Ez%2F%2BqsWpG8bIipC1c0vuzbiq7kJ8HXR3gQZsaCScAk2ZMEttfCnh1JcHeCS9i7uQq5uxgQkxCzfoeYlIwvhVCl0IVcNN12t9cdPdngmZbLCHVCIoxbFgSXF0Rlg1A%2FyKp6CYHaWA%2Bi8bm1dBjU8NCvvWp%2Bi8tPihQN4Xy4MWSPrDmG2TSlyfUr8c9%2BGtZUM29n7LsMByrIY8kQ1PSvN5MwN7xjeYm%2BZ6Fjs63IOyxLAcXRh0WHA3Sqhv%2FAGHf0OMAboONkkhqh6SqMber2rJnbwoSAyHiIyrZsPBhdDfcIJb1nz97ZXbZD3r3ZFlX9JDujMWp3NHVAWo4OtbwMm74D8lx9V0Y15%2FoRyh%2B3InYAAFhd436DrdGmAGD5%2BNuJDlyQOSrMzssDFPcaaerubRRgeZJJFtd9djWV1yY2p3ObD5ylFJt2%2FadoQueV%2FDg%2FXT4TExATEQOJSYnpiZmJRYvdAHH8%2Fy%2BjtWSl2ZY9ZgB1bSrGJybUT%2FcDGJ8qjlexgDmei4II%2Ff%2FX39P%2FTz7C0c2jG0c9R51H5Uf5R14frfzfuZJeMY2qWxgvm6qGecX0LG078j3V3XHJBsQFAKcMC4MEe%2F7%2FyuP9kBhfhu4hm%2F7KaGIj0k6NG9SmfP41vG3Zrkm1SRWSNuu%2Fe%2Faao7dacorBO2u0EiaE6x12ujLc4K%2FPVqeL%2BfFsemsy7svMaJWUFIM3FSaHwOESCaBWCCiq1AtWXDTiiFS1TONIcT2HKAj3o0GLG41VDRcQOcGCtdgk52DWC7r180lc4Pl0QVx4gd6WCT%2BHaQMvW%2FrMvV1qCH3fTjJoJZ5UIggyI4IgoVpSWH1R2pWcPCfPJeJLXJvrm4iEiydOtD%2BeimF%2B5HD4kheX0rA65wh6RJWAyj1SxSz2W1qlMghMHDWRluntJCyhuxbhJUQk6uLtGl6EG%2F9mC7ysmM7DgVmeLW5rBOxijW1gxT4%2FOLkQI5yW%2FObPgeqSOYxzqjBW4pJspA5LVt3PxUNI%2BUz2D1Dz1r8%2FAZsLS%2F%2BdSkBLwEMdfCVknc3u7fMqU91qa2%2F4psvks3WTyec7tZBhX%2Befc8PvvTSw%2BvUC2bz05k2zneojGQqtjgapOpXFH7C442UOzsig8vzVuvWICkgAMIC5UhBAoCx6LLoXq2AO9IITTeQS8OHQgPTdvu9TSuN9JpJXzjmAxWZUWyeomrOsmF26aMN0IYo7XNkd%2B0j%2FywvbfIXOHjbZKBEUpnQJIQsgUMCQOo2gNUva6kX4jXdyX9qbSmUPnWUUMFmtWOU%2F8ouymnsMxRHWQylQjjU4PaS4EFZWuenDmRNFvkx2U05uhSl%2BhCIngoU45VV3VKcnecajWAPomTiDKaVTeVJWHwS16yrjlt6EOf8jaZBcnhMnwKQpF6Jc0whYyp7PzqOTy1mIfJ60DMAGaBvWc0bmFrHf6R8y%2BGJGTXYwprNRzlptfQYLfBOierCgUijOYy3tEVKIqh7S2xrbTSrq%2F0pQ%2FSBzcmGbRUT1rKkPNroDpXZicoG01xAZAQ7hXE1qLs0Cr40IwceagKo1ShLC79OButaQgQm%2B5DjaNhGpUpCZ9iSLVeM2FwBTuQeEAv2GbBSqEt%2BcNM%2Bx4ZLAtzRdEBrEYAIEYjcRU%2FXYlR6oMBkw8IhfQiAfhtVQApvE2nUkrrX%2BqG%2BjkGxUZqMWschJoQCpJkB%2Bc3ymIn8LXmsOZ7RA%2FRmKctblKy1ZKs8hmCKbs1aO6gsZgS2R38s3086QF5m3NZbEkSNInPQ%2BHzg%2B3B219WZWCPF4rJcIaSlPjBu8X6Q3hRB8x0swhhdeAUuhI5E3WmzkJgswT1jwF4rzVxsIn33RIIKffNmksyqRWdBdfzDOGT1Bf9Rn0JfkAK52V%2FpC3MO9PEApajj8TZdihx6CiDFYTmIKG64AG7k11kPjxlg%2B9ZghNsRaTqpVnbT1chLyoC2oREi%2BEnHkPgCnF2km0ayUFLwzpdWmpSlQdkj9TPKA8pIAHQCLZuGkE5dzCRIyuee97L%2FsDXORLLDs5VUbh5ZuAbdtxjo6YB9i73dps1tCohcGpb3N%2Fo2lChSykdkIjUYjvG9OTk8f6PeAeeZl4RsBoOwLyHOz%2FE0A5RAStnLRutoJ1uwgiYXLr%2BE0HccEPK%2FCdjBLBFKtnFrhVBQxFIHMI0VgGb0ci4Z3ZZbMgg9AZQaF9dd6qiT1BRASK6uXNStArgxCupzRTBgjKtNNyxe1MAojJoOOa6Kkt6kTKaP2VfKjQzFXSlVy5E3XjHlt%2Bip6X4dQBZNhk4sS%2BXzgfAY6h3jmZ3nMIfSZ77GwTWveLWWz3fuSCs6xVGy6lrA75Hw83W35lLf4yOfNDUanh7xnPst5ddz7IZonglh3LlIy9zwee55J3vPavK7JvI%2BDu6%2FissBTOysy5%2BmULZZbAVsOD9ilPSn%2FQWZz%2Fr8P7Ttkj9mdcGtYwrZodSLJQ%2B6QwW7EqQrd1qYCeIoNvJiJBj%2BHUloE21dP0OZOArKgmfeqoENgiIYReCWDTpT3sjOR42oe2bZzNvekQiDdTIY3kYWQzzZk2y20TNXjMTKEmU3WNYvOQe5npVEGnBXPzeRCNNRrmWtXTDiJ88ey%2BfTQkOtB3lcYBvue6kmMQ4aBJt%2B36ZyanpCTqW7MmpnJNc5EgRIBPME5l%2BLH0xqsAgYEiMWH66keclCIIam%2F%2FSlPGhZigOzVcLRjPnRSL1G9ypYipsukjrlHnZRQYQ%2F1l%2BnjnCxKkrKsdUYHsv5BhLzFBAtlZmmEeKFj0Mll2z0B%2BekC3QSnu183K1BOP4rN5ytSUDSVUl3jTyPDYKaLA4SqRMwyq0H8nLLp%2BgGD4ox9qVaOSYG%2Bzjm7njrpFQUJ%2B1SV0oMszjTQ8aQY%2F5N8fzYDLlAVQFoyilNy7kI2Wqb%2BlNg2s7D9sWSAdYnbu5Nl0Lo%2F9IDx8VOdA0hzsrzyuCbBM8yrFPJ548FJ5PEePHVGyIDEOssj1SnSiX7r2XDD%2FMqVq0%2BWU7QiW518PVzmZGrFAUh5cSzHbuepYnJUzfVe8vUXBJ0XGSUDJPQo2vZM%2Biz3MTpUq9oasCSV9WKB51W2UnR4SP%2BLPDnkaUDV1hS4xVK5iJaKlRJNiHSbJDYpy53lq%2FKmczRL4rQkS2MVqBGwD3NZZLSejKXO8HJsWS6lfDLy8oBVIgjXlM4zrUqIalKrbIJnWX7gxPZPoMZAU%2B56EbNGQMA5VPDU9ApfLcGKKov0G0MhorJE%2FbCv%2BDhndWCyI7k7jtgtazSSe8pCs9TCNmXeXxnj9WTbvB0ue9Nd0eJTUzdGVYzG7kHcuM5Xl%2FnaqlhZE8u2preKWGqL%2BgYmvy7HDm4F8EzYDNtKWM5Exps5DwBXl7Mqq9kQ7mXC%2B3ugpiQPEueMNhYXt3YjM9kucrbbT1q1vUaJlpLcXUBRpSOyfb%2FYss49aSU3Nhj43W0xAoqiwLaKx2l0uhuryEPut4BaROoDlOFSDDjXRmkjQrB8BEeRpRyMrBsDwoL8lZzd2K6QykvH%2BeSp0XwamLEbvLa1LkVft6S40qV1LFXOis34riXFSJmcOE6T7ZOXtrN2GrO2b9K1z4L5Fb4oE%2BVLSLHVl5YeJzWNaQKVjtwu8zyRiRpCAyQw%2BoFkpUUWDFbBlnWNHkqmL2VhxHShTTlPC922JexLPaXgzXpFJv5eCp14MTrbvUH%2BWI9gica0DOFbhQxEEMO4o21dAx87XIWKzBgCAbwYEcVYWqlY8z5XGhNt2uQVRdOkVn0qTGJPbuR%2Fp8XLm2LTW%2F7KJ0A1gxMNAFRuno%2BLh4l34i2hZ6DH%2FkAyplaVVm30WOpw60ZGug0V5yDJJfjtiFcQQosvxpncSRafyoaFXT5o1l01obLuYI3uMcZsQeGYfBIM4GhoUsbpJuoQs853zYBh6HTjaJ9TxoIB6aZQU7oCGxYrDRkpjM2O0UYx7CKjpM9JJTWgm6Q2wSgZiLNrtEy5IQIJWTBvwxmtkqURTNaCVU4cg5oirAdlYdnCdoMICCI9xaug%2Fh7myP0D%2Bd8Og5yRteexX3IbNBKgHWp1zHoa8p4Lu%2FPA5P0TpFPDDmCZ1V%2BnlYzBmrgTlgQNkJLp1lxS8wtycW6XtlgwGrw2%2FejN5HICJzHBUdH19Tx0A6vb9mMEyxBSFM%2BzGsR11sUN%2FkuOKndSCrsd9OyB8XJ01p4zD%2Bm%2FeLsjFuN9Av52cimX1Bgq71KNL7WnKRlazHD057DpoZFGEydpIXfh3A%2Bqvxi0oaq%2Bl31YMubDz6WeIxmqmhb12Hm9tGgWpnfCPkzjTplElR457RnWkMKJ1QJP0da7wnxblLCrHCkho1J3mX96gA6ITIfWkGIOSPM6BZY4bGuhJGbTjm69Txi2c2WDG4MNnQH0Doni%2Fpa%2BeVjXCYjsj4RYg4hvMQJjON4RJm3cyBjWEQJIoOxDO836oQNqX2gbM9LCZEiUlCIYyiDPBkAZdX7ANZzMv92vn3b0jTZFbY1kvrV0RsV5Kv2ktHK19mfBLbd09PIflDaaRshdSal4TSIvmLGT6QKCRa%2Bz1dBisAY2CVimm%2FGQ7deOsxOK%2B%2BbpXJFBzIQy0OR3JJFFI7wClRCkxAJ4w1b%2BZ9fDyCMlugBY0ogh5xqhXIFZsFcMuYek9fyILz3Nxgb1JM7eH0J7Jzazqp67Msis1by9KNuIHsf2KSgK0SEdCvBLQHiLuQn4pdbI6DJmJkJktySDcJJxbsWarFGROOsYd3ewtXnG%2BX3APWoJ0NQ8BQQknCSI4Kb6qUx%2FcXNw61pZI2BQuC0UikBZQG1sZXkejMqwVibDbxuKGt7DagmydCvbtgzhrlr0w1t%2BdQvqCNJ1S9p2DAf3h%2FZH67r%2Fy186PptJJlHL5HtTq9yHWfd%2BUDVC7znIHuu4ArE2kTajyv400sNbYxzdWR0btCNWsNF6w1rGULjQDIzccp6hZ2flAQIPCBy80rWAu0to2zKiLQPYo4EKXbJJprR0psn5sVgoPWk%2Faanu%2FPB8HdzQfSHqK1WhV2aSISuZYaJXvFB%2B0nHcVN118WIdUtt7zlF2XW1kdHH9ZeokpJEINomYjQS7hpsbO1rDbN3t6O3px9KCU%2BKDTG1jET4kQvpWBnGx09Mj3KwaVX0wMHZrvZeMy55ocHextgvW3PliLlgzpABSLi%2FxR56gCk5oDu0Z9FXLhVShr90m39wmTZXdvbwsW88d3yztqVkW1VK5VrtM7trMmyxdvfxWtkea3i7tr9kRlaPlkklODRE8CBA611oJ7kCWI7eCT7T8hUAHcSEyyYLv44uGiqqHq4uHiiuHFeoeKk8QJW6aMV8%2FPRWBzq9RrnFnJlnCrWESdhbCmm8YDI7kUzkeBdGMPgdxjwqZlj5Jvoz6c%2Fk7OSrjMvz3t9%2FEL1HyhP85OUlU0lJJtOf%2FbQgUMkzngz3XfAJMdGdrY8pvIu9c130xFE%2Fo7A0tUk2G%2BcZGBdnXG2LtUmoTsMcO6Vvf7g%2F7Wtwqne5t%2FvuNYVQVIoHNbxkvFaUb4B7oJ9%2BTfcP5tdNm311xV9Wrtys5M2YibJU4l%2BbxxSPBPw5doxRoimtbK2N49mPG1GIfvAw%2BBtePyC6tHI8v90bcoU%2BiEzTWxwSzwiTayM8ozjbeSdCyfMu3eWCnuK%2Fq2tRRmEdro5zHoR9oqL1%2BtS8rFiTpx6qHCXedCoez3YFz%2B52f%2F6bnZlKy63HGrz77un8ChM8bTiuTxP5%2BS0ivI6cQihMRRIhlpH5h9bwZICFxfLX7tV38G5ukRNb63ufZ5pfMmX0OJTMxI%2FSHrz%2FQbE4Rchfr4Fm2Ubcimn5OU%2FvZBJJxyWlFsVhkRlaWzlaGLp7Edg%2Fsl%2BDjoCGPRJv4KsVp%2BETbOBB8tE3xFoNuPR5ZTcvOfK4fzv5jZ9Jz6bSNXHz2%2Bd4xkDyvP61KxqglIa2xJDm%2BKDGupdDTxaw2cTfn42hjVTncsh3Cq7UyBe9PeD8T9Ob%2BJDVTtmeG7P0J1eHbpadOT5WkaH3Bt5duG6gWDy0NKXq23OSnTksPwMOPUb%2BUwBQk3Jbsax2LMQuA2Ue4BHm2aCIk0QMbkW%2FvHM%2F1wOWjnYNC7d1hRp5IxQujqjIY3AZWx9ccFAq3Mw559brY5aI1I8QWj%2BaEMqlYF1u7tk3u3975AbyMGBeA8nLv8TUH2rpvNvblU1Lkdz3QG%2BiwOABpaoOefXRp33f4gWso8qd5UVnw6Pch6vYkAmLscja2wC7B%2BOEIllrUg0CQK5SLKv6ANKep1047vrmFpxp9VQIEdXJGkra9%2BhweUmIamE3N6EnkZqgRKuktXeZ4%2Fo2N5avrSWWeBy6g3K1113H3X2U1LglXF9ZkqXb5b%2BdcnIL5FecjzE0JjNB2H%2BSxsVNm8JtOB%2F2RB0czGIcVS1C7hpSjz1mwcripAdroHUxG3G935vNdyV42mT%2F6f2z1NxBF0mvSmwjD%2FvdzTje6%2FvwYSOuo4vkFnmfIfREvRATkYr0rivyOt5zQK7eQQ%2B9YJf%2FLlzwn0RlCCcp69mLAJ1rLPubr7KNjq%2BMn9WtVPsZ862guoztXQMv7VLtJO7p%2FIYrcA%2FKNigKceKo2k95xXuGku2wpCx2zmgsTh7OQbVFdgcxlOjbWD6uHf7RIfr98WgGJfNS5%2B5N7YQwYDTrB6CUjZxVAUuGykI4awjxRe%2FXvJw6kcD%2BHlodRDPnviRpG7Zm%2FXz4U7pMbHOyXAbfwzTNfwLIc8jx8cMDJzvyQ%2B8Gjx9wysLI%2Fx%2FJfuavxaNvBwfbi4Iw43kfMTalJbOvM%2F8POsBGyYImJN%2BGESpfSVl%2BQiqWzqyKRkNQS0tbYDivrv4sGQdZ7D9kF8fXZbBioGWShcIn%2F2dVVA%2BKVr9KRpndRdogbKjFqwXrVrm23dIxq%2F8ndXTf44iKyJjrOD62rbBcGLdJrNqnAm5M1Jj%2Be9W%2FDt%2Fsl0SOjQ62kL7TpY2yKon%2F6PzWMdPX1o3zrJCGSo1diNKN%2FRI9Hv3NyFvJCNLeimOCaq6xyXl4ANWtG4JXyQ8smhc2XrOJ%2B1NNP5g4vmTntVba46hns5ffZISyvHd%2BzmrqCYqUuWIp0njJTob5AvnOGOUQ6AG%2B%2BLc8xIGXmJ4JybUlT8rWgSy21CJ6o%2FUlZBJ1DreDM06nEZbq9%2FaFbycz4SifS9BEgfj0aBNzWAMuxmGbvs6Ra6e%2FEgw8ePXs%2FEBXiETTtShBBdy26j6iNSGurguNy4tjlJQ7N1O%2Fe%2BcnNLmmePjLEz%2BmuVENn69cCI7aNDrT0%2Fb1JdW2WRj%2FYJzDQoU4Veh3e5aL0QMXz3sOx5TOaptTaojSvQpoOmkofrJWTnaXifezuiTwr25nS3l18JZtc%2BiDQcZ3jZK%2B1cDNEtNfPFSV1UiyxbRCHycmpy1MJEH%2FO39QSHLxs8pQD%2BRCL6XJdb9HkyaJJUkO%2B9fabIlEpIc7dU1TcO%2B3jqGYmtljzsovZ%2FyjjMiWMke21M%2BSMVorR6%2Fs5A%2BSkrLXJ8bR5CImTEqRAx8qsefHkL%2F0Z8SV1c9uNCp9uCS%2B5OQeZgev0S2uR2YVMOd8pcokFUEX1Zpbmi%2BbR8BEo7M7Y9ExSnIzhLUdBWzuYjy%2BMRd%2FsDSptGlR63V%2B373xpV7MLrgSWspD0XBibqSub1tyUfPW%2BqRybSsILvDZwVjUydzCTdZAI7owcfrV8VxnLVCni9w%2BRi0yanwpzg2ENCob8Yz1o0dDA4Ai%2FrcehftEB2EA8LuaiOxWbHFlOGtyTPGdSx%2FmejCGsyra9TrjSCvWyc9T5lQTYzBRiVDcBG5iZGUF%2BtbS0zoPN%2BSZN2aGVvffOX%2FcNDVAH%2BD53Y0qCZnZY%2B7JOPz6I5fJ5kxqUeIa46OwH4329sio%2B9DyIi16iZxI2N2VwR%2FocNS5WwqRo0%2B8Q9B%2FVbCrIW274leHV7f3zXqJXEjYvpfeWBZarK%2FIGdrP2UtVmzCGyqEIVeleelVv5qu59PpHmJjOn4u9PvBpqSFqiIB8xUaA8c0nmgFMJFBbmfJHlakuNZlP4opnCup4qSDPWd8psGZMFqW3D4srQS0LG6sRk%2BiwY01We2ntTcjvzdnlKxupU4uLU9qkCC8u5ym5gOwLiRMdfsoTE9cUDhWvesswB7RDFciz0kOexoFZh%2F1iZCWGfyyKLTFo%2Bg3hxnc%2F6rec3nj7LMtlcdOk%2BzJD7EabvLTlrmV0WW%2FSmfnnppg18cMiSMBms4QVtNcrVSHTSx2mY9jg6CNzyIvCY2HjZVwW2ONiekb%2FrD%2BnbOdjbGQ43uq0KYtgpen15dfPe%2B15iQEoE5zqSvkCptAuYoa6O0nVbGH3p6KAGM9dzwl8CfigZ9SIqfqSpHL0u8%2FXIUgpqTj%2FUpwIx5XXOYlp6mMz0hy5zylbzI4V1bToWgtbTIrELzkyUUYMGTojpd%2FrfdAa8ULYGA1sDawODOgo4wqllscXQZSvXH9f%2BEy4%2FTnVWtLFkm4Sb9ZrdkQlQz4eSQV%2BZmYe520E%2F1XW0RCYZ5nLSXTHa9Qelh6NR1FgUSnb1jRTTG%2FF1eZQ%2FGkcxdkKxUd1nLlzJNgz0n4e5djjrV8iPKcY8gCDGnTYhKIPAxfRGalUW5YoKox59sVjdL%2BqXgk6eS0y19ze3vK1G0N%2Ba8wmpMonhd5JI13LRSDKsmQ0MJxsniaBBKVqQ%2Bcx%2BKvWrYF%2FRsbKytnLvzyqW5nA0DIawkzEc%2FBCrR6JerF%2FbEVnl%2FfVvTXhbtLextYo63cB8iqwXWJo%2Fs7BYfIsEzxZ2lLCSl1xfHEbCR1osCNtPLgtvFI66GRNtFS53WZa8hTEZkePTN6aBZ1%2Fdc5i4GwYOyMyMj01P9TXC470hmenx0emZRr74OCPv1NTY2MxUHwNcirNBekrs88lgny68T06mh3dxPguR443JzdGTyBCGVF8W%2FXhdxV%2FLX8N%2F%2BfJSsEawVrDqKO%2FHdzeQvkEFhqeGhYYl6Dil7RDpMDkyqjrtMXnCreO6j6xpC141jt9wMUwrzCZHrd%2B0oj7sFsmZZFtcdN6%2Bdz%2FL4jZCek4NeZ4hX%2BGr6SVZoJXmbhA95qWobB5qmq8dCgmAJ2IbNTzNXK05HOKMTLRUNN9ra%2F5fqpjo5updqv5qaxkbqSefdSLa9xki4pqLykIaErWThe834tTilw8%2BPX%2F45PsdUo45pChIS7tFeW0Vg1nfWMOsrmM2lhdcMLt7u5idRRfCcm83SLyru1e8t1Osp7tbQqLr9VEX6%2BgTtwCpswh5PYzRhEZFBgYHdoV30QRTwcyg5q5x2pq4YvNCUl5S8hyFvgVFKFjV2cvNDYmS10Wq%2BA50Yfinxq3Ly7d%2Fgd9vFRUAon%2Bw%2BvXLmrIDQwmiQ%2FviSkuU5lZwc2MYTMfWtDqpr9rwouDenIur60wObX9Ljgm7PqY9x0CwXEztTOy099NyZhbzSTNzpPy56VznakenqmpnC%2F8AKyt%2FLBQR4A%2BDBQSIvq%2Fq35xbNVz1jVhIMbQ%2FpN1hic85PoqOgATpa3xTx4Q4YeJJsb25lRk4tFtlbgoptVBaxv413M7DRgrD5RFmTZzIu1meYNhQYpN8Oyd5FZ8VNJ6mYaato%2BslnYmO2ibr%2BWTXE3R52g%2F5dczj%2BxTYuQ125i00OEs7%2FjwuzbMNXYxdL2VWRhWhAwtsXKjlaW9JQEyhzbk%2BNIo6D%2BiIc%2BufW576vv3Bxs%2Ff1Id%2F35opZt711D87eHuYn6uahOdhzLWOFB2G%2BNAd1TJOtlwuHoqclpNAxlK7UpzHODtF8O11gRQu%2Fdr7ZxoqB2bbegYnaqoHpj92RFiHOTvLRkRZh%2B5dhUqacPBi%2B7u8BNwEMF0Y7MAiv%2F%2FV2fxu%2FP%2BR%2FAck6a%2FRkzLBwcgKf9tEb0NvuE0IJsS1SwspiRx6Era1ezrbYykb5RAQ5YKBG3rZKn4Aa3gCRvd1mAz0YSqAfOXVVMV3Of9R5Q39Iq41rk19BLmmMS3R%2F%2BHhO7w6CySnEsgRpWulxFm3jPjfbtRXdJfLY%2Bpr6p3NHFC6qAHD2l1z86QUqDmsGxBglmZQQhLM3PSTShLyNZs%2BKLPD5BZgvIunlhI8RZertUiX1EI3n%2FzFlb8RL21zJNpQXvr5XqOt5kv2U%2Bt0idsoN7380FGwQdyEzpKT7rX4V%2B5u1eUX%2FMevy0ysL47eZU31JRcQ6wg32i2g94%2BtEJnGai5mLkIii1keYDdDRw%2F5CGjHg76t2VDIanmLiul8laGZU7xlLCwg0R5sGmihYaUFtleHZdlFELNCggrPyQvAXz%2B%2BpOoypqV3DC4GN77cuLo2RYNYXC%2FsQFp2OCntqfh%2B9qmNq32185XpDXGN3lZ8vM82YPmA9l4PLzgINQnDJM1jyB2Tt7%2FW1nUmFZcQvbJpammKvfRM2CPTSXSkw%2FToMvwSrL8YoHe1eTnUf58Lsx6f0jA9fegYjjecbq%2F7WeGUuRnroGcnhybnG8XYneQ5pU5FVuU3Jn7kIVZWZFRltTXWlLXklWeN2IGe8IzXlF%2BhACqIkQXEEAwFg00tdQ1MLP5cixoeQNOSIB14aLYLMrqwlt4PcFcSZWTmm%2BNmHZJdpYYEciTQ2UqjTuHAttRGE8SQ6TJ2jny2xC4cv%2FqCgUOrTfDOqSIz21ul7Sfh5SzXoDRu6%2BeAD5z30%2BbJ8QkUpbYNSfoIhf%2FSZgmTxgye0XMGnqhBYGN%2FzjCIa25woFMWGI%2Fh0duAFAmuCW5CIBKaew%2B4mZnv8e6loUGALeLocsTFT1rIWGC64NWkZ2OX%2B5aw6W3smb5w9ey%2Ft8RXDG3lPbXYHglPuTm0dD8IXgqeSV8oLUyfnZ7PmCUXp84Yl2yFZ5MYSJ%2Bzk4sjNPwOCbDAYCw2AdHIP7tsFEhtFDY%2Fzy%2BjPjKNTU8JDSUmYf1TksICsxMz%2FdXGlZTH1YJDlEblVDIP5exA1nKWIBBSEEdgJKWTsfLIXxzMyVYAl8yYlVaphlyZdZ9l3w7HzAPnH5kSvTDCifLn14zqBf%2BvL3l5zEePNfYIzL1mYiL3eEdrflrBjEcaG0mcvWbSIltnN7kL3HgG4tVsTp8OcJ%2B7u2HGcv34FJT9UOtBPN0NYyrxz28HeFDh6FdZNv2clFFMSMgs0XjzcrLK4uOzSjhHD%2B6RAvRXDeXu4QF8GB4TM698Mt9GN8kandf8xaiA6uW%2Fwoe7hHvWah8JPeCprskBaysUVxhuphv0fzaa4t%2B3PcvlkqSAXFZbKflL9fHL2t1O6MkaeJR87jn%2F%2FZ%2FJD84P5hLzTabVkw2HvGl8NwrQLDsw6teCtbCAlB1R7swPsJrd3AmwKsJXKHqvFff%2FxywD%2FgzvO%2BefVFrZFX%2F4fin7bZZonTwL5FVJiG%2FaJt4k1FXoRG%2FolH7oHIoXjlkonRf3PmYadmtA7%2FTMgigj7RsLyFhtEDqNn%2BeOUYsqmXxDPtX7byMOoZMkHTo1GTpH%2F7ljm6K2gFUboRMfwqz5OHesWtRn%2BZyZaZ0rtrkd8AMmOw6YfjVgzmcDxr%2Bf8uK8MXONTk1%2BMaig5QEaMDl0wBQbJ8Zm6rjfgLQUOgm10Okwce54WIzZFeVdwYes2%2BaZqwGT4wZM5x4wJ04ZL%2BhzOmObJ6A2dfmCddMV6JTxaj63%2FpOLxi8BGEyDh%2ByQT1333%2Fnc1cBA%2FK7abqD%2Fzv4%2BmokH2rCS50s8gNVyKcx6F2HRp6o0k7L%2BnH%2B%2Fnv5Yh%2FIWsNlpACwtZKucxwDQbdBGKQG6bZ1HO3tEW0ePpW3f4xGABYyc6J0%2BcPFu27QAKP9xKoDXKNEuTFUS4qLdowqIj51tZNijXwFQ7kR9ljjXx1CpuxXo9PaH%2BB0m3wU7cNFwxQKgupzypGkXMQVI99NV9YB8gRDw3AOfE7qvlNINqBNpyBWTU8wdHwOGNsITVt4AUEBDagVkwHKxOKBe3onCf8bp%2FQn%2Bw4PdGi3iFyB91OPdBuTb4%2BQYoU%2FAQ9H4xN7IH3f3MiNx5Hyw4AZw3awHY8l2awYznN%2FZWyEyOTc0IcVRsb%2FEKeyWUO7sdv2g08yQVTyG2fcUvDojgu%2BGZxuJj8rD79ucZYGRMkyVJI5LmhWjzmO6ZwSOrORcVxFesHZYhuXR2GfsHkh8Bq2r3MRtA%2B5SDGXCbohCu92u12bYcny4R9uizqGMGeu2HZoPbTYGFPHR2snMjWYngrFcYG6A%2B1Hx9RkXu71mD67bJ%2FEUT06Em0mR%2F4DiXZs5127bdLBeGhjMUK6HsWAzratL%2FWyZGcNBrkCLtzEP09XJ8rTu8xkPoYe6n52civVZ%2B%2BM5mc9X%2BK2b%2FL9vu5T3Kzy1nmXlJO3fJGEHafb6N5itdVEejsDnh3h8urT5fCHG0CzzZrzgd4dZsjphp3Oclqhedae2Cx7r2B156Q6fMK9EA4ZJiaXndz4CImHHMdgEtq3DRkVOFA0icArejq8FGXOPuMixh2%2BfI9WQSWj%2FUTs1tO4nAN%2FdVAluu3YFxpgSeio5oMO%2FiTUlDmjFgCLCJLvN5qiBkHij7%2FOl%2FIeiphD%2FdYC5LCAkOfgN4Qq8BaZZSQAgzdFfgoZHaPmZZAR0DoSJ3ITdTi1b2xakKhzLIL8i8Kh1CiumGbJ0oQPzgRFzYsOgeABesW35qMndh15WU1rXho1aE14xHr0j5O4F0q1fGgvb0vrcwdep1wCwlf1ELOboytK9SFmG02l3xdQLe1tCIvKwLdc7Q35XnYBgTcaTcwZaU8Inp6Ct%2BPMlavaWWovKlMgUBrWa8RlYHDY0DPM%2F9UzhXY7%2BVrJuBOYKAN0V1QsUQuTfCAJ0tXdUNWYShgAy8HgWZklyepHjh3ul1P5AvbW8IiMfzfbGFIACTsgbHJD%2BDkV6QyUHkaBf1%2BVYbM65GY%2BXywjg%2BYuApbuoEaGPDSJByvbHqyZSwoMFMXF%2BLNWm%2BhdRira8uiL30P8h6EpIk2yjHFvDwSXZyyRatfgVr6yuI%2BmhKhstloF28aZiIQ0trU8%2Fbf369%2Fr3DSpwOQFkmh0a4Xf4ZD2l%2FxEjsAB8FlhmK%2BYBcfAsf2MEoW0UuZIX55PJMN0dBlDq3y%2Fbl0K4E0X3IuufYTFuG%2FAWSJaWLebMOQ3wXOvwMc2m3ctMU0CYtaKG5QewbeCT2Se84n5y6wyStVicic%2F%2BfvSNMZvy4UMWpXf9Bo%2BXsB6UThiKgF2VhZUvx10qeAYjRsfmc7OhFb0JaLwAT8nJ3OtVDqxg9a4y1kW6rhXzqfGziV9pXWFvpxXA4RKgdlfCq28Fi2e%2FSFShbVhXKVxKmdQb%2BQ%2BB69fLjlkAhm64vOHI5YZZIzElZ6AxIhi43ygaboRA5%2BSGIsYbYlsSgaEUANmQYsrHqbGJVB3O3BHHC6To%2BZY2WUlTn%2Fq7mIkUNNkWQFLql0RMdoS%2BmmnrPeDAZywBEQRy8XTj%2BxKV0M1a1pSR9Co1JLOakgJGS%2BCZnsa2IhmJI4lQogqc5CqcfL2VPEta1nbst1MRBEyRgJb9ZmxL22HaKKllhcB5EdVQaJdTG6AmI6j6aZbwqgWTA%2FUk6RowmnkPi0Xpe4DoPYlI4yKZf71sKSYIOFRBfknAqN1gyulcoCBho8CWRQzqtxeZTi%2B9xOOTATq4tOWMdAc6BNboJrYRV5fETIysCJzIBgZtnnUnz56SyuZMZym4T21Pc%2BYKG0BXrwHIa2SlL7OkSjYks8Pg6l3sIwmPllsH7OVMjjDPJeXhOcNA20zYdjBBE%2BYipeBxesh0w5BAy65t%2FBSGJpH3uFgToFR1qxo%2B9s5GGgCFkQPVEgiYaDoms5Z99AWBQxj0PONNG0vJvWx5N9K8xPA%2Bk4iRc2ZyRH6gBGoJhGhKzMkt1MfkS3Y0RFUscmP0q%2BEQ6g2YxYlRDCBoJKRZbFfk4HkHjo1TNBYR%2FHiOziN6%2FY509ibuuqnCQBEheEVpzTUGf%2FtNlykCEfopFysImA4eeGCejzOhWqUBqBNNCzDq2Z5tmKr5ALljdFCMkSI7%2FdDHFOU%2FgGv9zIuaj1aSc99MfX9tcDGnfC%2BPnkdK2UPu9AGnedt1vPAuY0bKawMPNwtKg%2FEpO0uJLke%2BEZAhbZBdAF00bRXFYaJrh9ijsrNjJD%2FRFSJKKWvQuWrvzLJdoV2AOddHTGq4KDAg8m0Tdfr%2BaSVRtlOFJXYNKQ4ctWV0IMvVhGosSxC6HUqYkfxYKbSgRvOLZiVpnGUedQS%2Bsi8wjwh9hggEV3LgZQq%2BG1qM3q8RrW2bx9OSzj7DtzPZb9LTCvhS9TPxxTPx%2Fa%2Bfx%2Fd3i%2Fa%2BUl9doNTVYvHZx9cWekmfs1TFuuuKhjITF4eO5hYAeyonGBBoJYQIcV%2BocEn5hVRHgHGD3bBT2YhNBPODK0NgQBw67r21R%2F%2BpJ%2FWD%2BpG9ZR%2Fb%2F2zIrmExuvMyqp4NC3vUT8OwEJndVcVe071e6xf11%2FWn%2Bkf67%2FqFpk%2Bo%2BwqqFoEGyFQsh0PGLdUZRZWaCd0nYrEoXSXemKNL4JoSW8tYfrSiwjwv7ICoyFCgsGqbFACbbo%2FxHmfTLA5HpB6m8hE3eKxwRgtq8TDIS2R4h0tgflEFIqx5DPM8BqMjBR6KbezYG%2BDBzoXquDLUqPousQgehNLh29rJeGY8wQhq1RWaMOghdg%2BNIlt2Zposk8OQ96C6Auu6CtVRTcZ141RfSGu9C1ZLiCopw%2FXb0ryQooJO001cnCZS73jj0GG32W2tkDYK4d6AGIXPBcD7HrKsekSm0f%2BpMWYdSC5TcglPfqFxMFfE6vu2UrV5QCkFI5A3MJghtbEneGAeMSaL%2FNUvcspnoGDjyQ%2FWh9hmPczUIl5AvUtG6WfmmsDWBF4P%2BCw9KkbgUst8q%2FdtGHCo%2B5b3HcR79LegYTgVfOeGn%2FIOxjH0PRaHMQGKWtJa3k2UGJtP25vbMAuZDwjAofEuZ1nuQ8uDJ%2F7mwYbdYD9RJwPieIi4n3yK%2B%2BlFzD9Ynai0NLEtb2nZYjcylDb6dz2lt%2BiX9HcSRPFQRaETgQNDQweX3pptsuVHFEmYAHr4BOnfRo1lLvEMgO%2FxqJdNo%2BofhE%2Frt%2Bpf1n%2Bvaes6ZTjTf6TBCLPrWuG%2BSAQNE70ChjY0oCH2ObB5XnEWO%2FEkmUJJgIZ2AujyRq%2B4p%2B2ajEZHNDRAGZciwyuzyLaX0ORk53Pf24FtllN3nA27TnMzpHxMUk2jNyup2eC7Z9cb%2BNnvzLqhj4ymvRjXfpT2KqVBT10p%2Bi4qq%2FJFfHUkER0rCyCl3tkWZdULbOkf6VyFybAbS7VdM0laACch1xIL6vD2IpAHLeX%2BnM%2BUdzawMhqw74E3G17eTlmA1zFKuZjjzL3SCZvalwBqS4%2Fh%2FtCSyjxMWv2Tp1rGTchXAGROCDIkeOyqkY5UhDl44pm1e4AiaLxN39PtfHjXHTdnYPimeoBAkvZVM%2FY%2F%2BQn8bpFtTkTn%2B%2B1nPjlN29rZA%2FPxJzj7ue1lOQVMqEqFWwDXscMPXxfVtZ%2B7QK2u5w8fAExtqbWNUPksf5Qx52dDw5a30sFK7evxM9iG7CJyGbvG84bD%2F1GmVRQtIwLAnVGuCzM6%2FOf6Zowx072rLBSxOKUQuCjXlsUjXEVhqtdz6wQITJGZ%2FrZmhHvmlpshzEULFiRthq7NWXdcCG2fRtGJB%2FcVwIzV6A01pvYb90ZONjU7mVBkRpyu7od%2FAIJBXZu9kooYFO4qHRTYvOoblrL0RVyD3NAnGVrGkZL2hVz%2FH%2Bn8LPzZnSVMTmkeBStdkJxpnpMjIE5vtcDcVeZAC9C0dCheTDFN%2B4z8bJ1lQT3uk%2BDSpKpf4A9C0dvncAhJyMUPyPOi8OvKRInuVbAVTUKdYsQVlunHgXi%2FHQIsIImGJtz7KpV%2BlcDVTBjJZeLoYZCCiGOKaOnWUzICSKbFSvX9lfy0VTV3XwIeZBnf0jqwnmUTzMkCPmHBqZF81yS4idq0IBVU0acAdaS0BWKpvk66MaOAHZC5GLQ2j5hF4izrpM35nfeQjhJ29%2B69S%2FU%2B%2Fx4ldt35vm0n0Hhp2kzw9oI5B41uaET3a8xs1r%2FMbJyn5sSbNR3jeTvv0Yofw%2FLePtD6yvz7SF8k9B4epzzHf4v9WqSpMWFS0QOLAOZueZ6F8U0Yona8pDURMoNUpJcIxPpCBA8oyUCCf02hC1oJSaeRPLInpJxHyeXPcd%2FEMP2iYMC6srrKhac31vM4hHFJgLx7dQPrMXv9jD%2F89Wx0vA9M40cg%2BD8U7jVCYsET2MkVXh8O4Li%2BHplbkFHhup5lbQZtCOJjkxdT1xU9G1fK%2BpyplMtYwCx0HIqbjtwjE73sPdI0nN%2FHOwD8rzLvEXso2jcG4vCKQtoXLzPsIfSAZgpBrXBlby9WI52w24FO%2BjbG0P9PZwbiXCWnK0jWfsXv3a1m5nyVny8uOAfjDpjBoKnns%2Bo9escAxu8DQ2ptADz1awOO%2Fre931%2FGqmCru0WxupfPAeJWr%2Fj2oRpPY%2FbheRh7Ht8tnuPu3Wlszg%2FEHgG7j3VXPmJ6%2B0A3LWA3LEOqquWwiOxe5Xa57D06w4nfxxe4%2BT9d%2Bh6J70YmKW2YLh5x7n4g2xYmArSnJb%2B9KCqTaO6UWhm%2By%2FMjgoD2GcEXj4Ll%2BO%2FZTu3MZEwDillsyajV7wOTeEee%2F92e7MNChwyIOxu1XnxM43TcOLMmZMT4HRoYhnI9rO0WG6vmdW3WQvZIU0xvJcHjxQM1joctFUUYI90%2BNTYTIlj%2BrsO%2B7IWcec1U61q8rtfmAQ7QDRZVDOtg1K9W0H%2FH%2FUMdOr6%2F9wJaF5MY2pKOSgE6Rmx8pOzLZRlTMjxDEb7gC%2BKykqTYdB3amioZqUWznp1i%2BnyVZdOztPO8pZ6yzXlMOX7IDshVu6IaVysWtrcDnLPC%2BEobanCPAGbovGy5gcHkGXXOVC7R9E9obwa%2Bg8ziJFMtLvwnANdN%2FWwTrHTrSphCwMGpbzdp4RysAwwrLmpcdzAOvk09f%2FFdoYEn%2BN7%2Bv9%2FTlKY%2F9OFa%2F%2FWa%2FCnWejOwp3%2BAIAwI1w3lVnayF4iZBA98PhFPtAJRZW%2Bsm%2Fr9Pq2BHKqq5BTf%2B9W9GIQkFe5KVBfPK%2Bs%2BayVPRsfGzK1GOlVQ%2FXu8AFe%2FFZPHET88c1gH17Ogbb2utFIA5APOpo3C8z7SOJ%2Fh78xmw8sREdXxiZenCML15uCUSkQAx6GXReGktYLOHehj5FHoZvLRvkv0ftdjw8NRNqOpt5iLUTd6CVSnvlt3v%2BxYQCcXlK58CYl7kqFz6WQCVyZemvSsafXJLg4HlcFfy%2BZLTnSvl5h8MlX%2F7kCeSps8IJiMh4CqoovVXDQMUjd4%2BCTxhjZAyQcMgzmtCMfCh4%2B4mOAoJvw4OC0W3qU0x6lHvhdAAACPxahdZ7c292Q1%2BEZH%2F4OS%2BRPiXTLN9RYR%2F9v%2B7ywDL51m4gcw81NTjRKjq%2F%2BvA2aX%2BRMcEs1%2FOvOat%2Bu2hZG6MCB3V20iqyS7bvKUK1lEd8y%2BXfBKX2TlPKiRYlh9WIUbeWVx4FwGltUjW0SxrVNn8tR6XD2OHmlPjMdDtIoJjtxc1gVOBxCwrsPSjK1XFtGsAG1bC41DQnsRiRrXcSabtV0JHaWbZL%2Fwa8KLqqNg73NyZ7YeIaFeAIXdYPnVHMLtk%2BH6C9BfjwnNqeuzgHoHk9yutlQA9%2BoVQbhExJ86nYJrO9f6R3f5DjsKF1ffMp8Sr3i8jUt31lcb%2BcipZX64u%2B8EQ8n6mit08xMFn6o%2B5lMkSeNQGysM0F2Oqwbir1aA8iqzwkuxBqbDfOWghkRz4GlnJ8L0Ejji2UrppLK0kl03v%2FyFbhkMxQeaw%2FXnqUD8KmHC5FPqnaBYR0kT1t0MRemcTZOAkGJfmGxOil3XzqDzKFFtzZm23uUo1%2B8Y%2F54DpL%2Be1rRDypqbIlfJMhzU3UAI9Le0jL1ujcuZYM%2BPTI16AL3pFHnqIW06rU9gNTcFfD2x17GqRspXK8DzAxx63pRKCX0%2FV73pdW1MXqS6qIDdR90lKR%2F%2FZlkSuChCUAbJF8q61IWy8qAOeTB2p6fhRvk1nGsGmAAaj%2FQRAwOCbXc7OcqPf3Si139duThdJdsiBxG7cxQkZF%2Fifll%2B%2FN5%2F46LRf%2FHIQiAvHUtMzFlCrNk8ew7iSsyTBDKFSiuZswyVzVzOyCsoKlWmKlBVU9fQ1NLW0atfVgMYGv1ZhIo2AAAAAAAAAAAAAADA3xqjh84Oz8Pw2idf7iB0h8EbYRib1uI5hFR6i5bJrWBt01bi3P33NIigCABgAAAAAAAAfC5nEUWu7%2FPA6%2Fs26ZPvCxrE7yjSGFvKuZbGYqyVYzEWY9GW666d0DvSv40HGB69pxh3EHdHUeMmoaa%2BGcK1CLEhlLVltRd9J9tdn3v45IvGhVR6iy09yyVJkiRJkuTfHm%2F90PMgssij97gbm3NAhAll7RPeCaV6ERERERH5vM7CHa57vtZr%2BOSLwRua0cgY32mcxgtIpbdomdwK1jZtJX6UYneOzZ4ZVVVVVVVVVVX9fB4M33h0n4ZXdKzcGLsWESaUtU97J7SizczMzMzMBl2YWf%2Br6ffvofdoX1Nn8IT7POi19cmXBvFrbtB44awIQqKvKcychbJ6NvYc2XIhIBokbp68ZSUSKRkphkpLRz7LLyAoJFKGW7b0ciSvoKhUmVUFqmrqGppa2jp69StrAEOjxmiOFmhTZVvqoMo742t5D3xeJEokkSlUWgfu%2F8%2BBw3sYPve5PT8vGK8Yi7EYi9CEcCCQ0ZFMYM6CrJ6NPQdyITFPkiVTqLR0Vj7wCwgKiTT0zNCC7biez89CKiCB5Obg7tl6wNPL2Rt9FX1%2FSmNcAQAAAAAAALKi%2B5EEAKH3AwAAhD4XP%2FjCRx6c%2F%2FULRPwQGka4RSCjIzt0xsPF4nD94vAFi9%2FkTUjMlmTJFCotnZUP%2FAKCQiJl8pSFnLyCopKyiqqauoamlraO3g6yEfEXdW1hOuCdbdcDLMsadD5%2BAUEhkTPvHL5%2FvtsoPNmfU3fIPS4IQG6evBHj9n7Tvjz%2FkDWe7M8pUo6IiIiIzvsS4cl%2BjBj4hv1y8wcBc%2B73ucfnHpl7GzMzMzNz7k9NfmNMO2TbtkjRQERERGqaqqqqqn75v01%2F2n23Fw3gCGQ0K4vPRjKycvIKikrKKqpq6hqaWto6ehbti3sn5HwdcXJyBuoAAoM8jB89geTA4CxKBIZoKQEEiUCQwLY%2FUAiAQBsAgroBAAAAAAAAdcXpdDodj06n63s%2FPngF197nw%2Bvd%2B4QQQgghhBBCCCGEUX6EEEIIIYQQQgghhBBCGGOMMcYYY4wxxhhjjDEhhBBCCCGEEEIIIYQQQimllFJKKaWUUkoppZQyxhhjjDHGGGOMMcYYY%2F3c469l1mo5tZq0pmmaptVE%2ByXUb%2BuPv%2F3rqf6N%2B3Tcwe6OVuMmoaa%2BGcK1CLEhlLVltRd9J5vn4ZxzzjnnnPNB2YJzIYQQQgghhBCDsoUQUkoppZRSSikHZQsplVJKKaWUUkoNyhZKAdfr9QAAAMCgbAG9hYUFSZIkSZIWZ%2FmAR%2BMVEGFCWXvun1OgZEmSJMm2bdu2iSciIiIiosNVlvZLOvZ%2BAAAAAAAAAAAAAAAAAAAAAAD0GKFhaBiqajRhmqZltUKWbdu24ziO67qu53kecx7cMzMzc5EmhBBCCCGklFJKKaVUSimllFJKa6211lprhwQAAAAAICIiIiISEREREZ3jYV18zi%2FLMTMzM3PZYxARERGp2VRVVVXVzMzMzDoHSdCxaDdS4H0kPJzQyOanzB2Qis8u%2F5ru7T%2Ffos5IVgbM5GzeGcb1xc7UrDV%2BfbO41Os7K6re03ntaZKtSP7CiUHzFg4%2Fd%2FIXJoiPCKH8oK7kADEmTMYxnjFfPvWzCo4YRbzcErIYk6kY5GVVKi1zTB%2FFCxKRmFGlFOSl%2BOkLVpQDRbdXR9Kj7ItTlHiL7KhvhPovKRFwArAsVFC5HrwTnjIES6bM2UDbiYrUKFG5MNxwYM2yzar3Aelia89QNZ3eyIxZv8HxjTev%2BcyPHQdOXLjx4MWHnwBBQoSJECXmOhBxEiRJkSZDlhx5ipQoU6FKjToNmrRo06FLjz4DhoyAQRgzYcqMOQvQiwB%2FzlmBQ7Bmw5YdJBQ0ew4cOXHmwpUbdxgePHnxdkObTFlmVHorW5F8DXq0JypXJGr7cd8wvviqUJVcS577rFGvby591%2Bqmdav6%2BfBVws8mf2s2nMG6Z8%2B%2BAQE%2BIXvovgcCnXsvT7AgIcKECtcsQpTIZ%2F3zN0a0WHHeiUeQIFGyJONaEKVIlebCB5MeGXTLgWcODblt1Jg7ho1YlqPPrDnTicaPiTb1aZRmfktlgaxt15ZtOzV8Ehp6LebYIBUVYzP6iFP8cXjfCJw%2FtfkEF7FptYWJiqqbQ40Je1wMDh8T6Y8LisBdiepw1qB8b2%2B8sf9FXw5HXzoi3Zf6QzcfHVHdrnvrhC9etP0LV01%2FdVH3x3f1l2bTQ1%2Bl%2F8%2BMRVCxg9vjtn980fTpYL%2FEEb%2FE5qJlj0ThDt9C%2BgvzhDlnlpqmWL%2Bw%2FSN09twFkYfJl9qh%2BVIx5F8yRH1JD7Hy7%2B%2BpzxZKffweCkWYEMK4N2fhHop78QW%2Foiq8vOztRA8%2F3ePRMMw2In4zxPY7wEdHjdp13Goj%2FDgkOGl3tEN8v%2Fjw9gaL%2BzPMjmqI%2FSbD9Z%2B22f2uLBLz9GkYTj199ixsgIk%2BhT0PdCtVpwAA%27%29%20format%28%27woff2%27%29%3B%0Aunicode%2Drange%3A%20U%2B0000%2D00FF%2C%20U%2B0131%2C%20U%2B0152%2D0153%2C%20U%2B02C6%2C%20U%2B02DA%2C%20U%2B02DC%2C%20U%2B2000%2D206F%2C%20U%2B2074%2C%20U%2B20AC%2C%20U%2B2212%2C%20U%2B2215%3B%0A%7D%0A%0Ahtml%2C%20body%2C%20div%2C%20span%2C%20applet%2C%20object%2C%20iframe%2C%20h1%2C%20h2%2C%20h3%2C%20h4%2C%20h5%2C%20h6%2C%20p%2C%20blockquote%2C%20pre%2C%20a%2C%20abbr%2C%20acronym%2C%20address%2C%20big%2C%20cite%2C%20code%2C%20del%2C%20dfn%2C%20em%2C%20img%2C%20ins%2C%20kbd%2C%20q%2C%20s%2C%20samp%2C%20small%2C%20strike%2C%20strong%2C%20sub%2C%20sup%2C%20tt%2C%20var%2C%20b%2C%20u%2C%20i%2C%20center%2C%20dl%2C%20dt%2C%20dd%2C%20ol%2C%20ul%2C%20li%2C%20fieldset%2C%20form%2C%20label%2C%20legend%2C%20table%2C%20caption%2C%20tbody%2C%20tfoot%2C%20thead%2C%20tr%2C%20th%2C%20td%2C%20article%2C%20aside%2C%20canvas%2C%20details%2C%20embed%2C%20figure%2C%20figcaption%2C%20footer%2C%20header%2C%20hgroup%2C%20menu%2C%20nav%2C%20output%2C%20ruby%2C%20section%2C%20summary%2C%20time%2C%20mark%2C%20audio%2C%20video%20%7B%0Amargin%3A%200%3B%0Apadding%3A%200%3B%0Aborder%3A%200%3B%0A%7D%0A%0A%23tiHeader%20ul%20%7B%0Alist%2Dstyle%2Dtype%3A%20none%3B%0A%7D%0A%23tiHeader%20%2Enav%20%7B%0Abackground%3A%20%23c00%3B%0Aheight%3A%2041%2E375px%3B%0A%7D%0A%23tiHeader%20%23top%5Flogo%20%7B%0Aheight%3A%2036px%3B%0A%7D%0A%23content%20%7B%0Apadding%3A%201em%3B%0Amax%2Dwidth%3A%201200px%3B%0Aoverflow%3A%20auto%3B%0Amargin%3A%200%20auto%3B%0A%7D%0A%23tiFooter%20%7B%0Aclear%3A%20both%3B%0Acolor%3A%20%23b0b0b0%3B%0Afont%2Dsize%3A%20%2E9em%3B%0Apadding%3A%201em%202em%3B%0Apadding%3A%201em%202rem%3B%0Aborder%2Dtop%3A%201px%20solid%20%23e0e0e0%3B%0Abackground%3A%20%23fff%3B%0A%7D%0A%23tiFooter%20p%20%7B%0Amax%2Dwidth%3A%2060em%3B%0A%7D%0A%23tiFooter%20a%20%7B%0Acolor%3A%20%23b0b0b0%3B%0A%7D%0A%23tiFooter%20a%3Ahover%20%7B%0Acolor%3A%20%23c00%3B%0A%7D%0A%0Abody%20%7B%0Afont%2Dfamily%3A%20%27Open%20Sans%27%2C%20sans%2Dserif%3B%0Afont%2Dsize%3A%2014px%3B%0Aline%2Dheight%3A%201%2E6%3B%0Acolor%3A%20%23555%3B%0Abackground%2Dcolor%3A%20%23fff%3B%0Amargin%3A%200%20auto%3B%0A%7D%0Abody%3E%2A%3Afirst%2Dchild%20%7B%0Amargin%2Dtop%3A%200%20%21important%3B%0A%7D%0Abody%3E%2A%3Alast%2Dchild%20%7B%0Amargin%2Dbottom%3A%200%20%21important%3B%0A%7D%0A%0Ap%2C%20blockquote%2C%20ul%2C%20ol%2C%20dl%2C%20table%2C%20pre%20%7B%0Amargin%3A%2015px%200%3B%0A%7D%0A%0Ah1%2C%20h2%2C%20h3%2C%20h4%2C%20h5%2C%20h6%20%7B%0Amargin%3A%200%200%20%2E5em%200%3B%0Apadding%3A%200%3B%0Afont%2Dweight%3A%20600%3B%0Acolor%3A%20%23333%3B%0A%2Dwebkit%2Dfont%2Dsmoothing%3A%20antialiased%3B%0A%7D%0Ah1%20tt%2C%20h1%20code%2C%20h2%20tt%2C%20h2%20code%2C%20h3%20tt%2C%20h3%20code%2C%20h4%20tt%2C%20h4%20code%2C%20h5%20tt%2C%20h5%20code%2C%20h6%20tt%2C%20h6%20code%20%7B%0Afont%2Dsize%3A%20inherit%3B%0A%7D%0Ah1%20%7B%0Afont%2Dsize%3A%202em%3B%0A%7D%0Ah2%20%7B%0Afont%2Dsize%3A%201%2E6em%3B%0Aborder%2Dbottom%3A%201px%20solid%20%23ccc%3B%0A%7D%0Ah3%20%7B%0Afont%2Dsize%3A%201%2E4em%3B%0A%7D%0Ah4%20%7B%0Afont%2Dsize%3A%201%2E2em%3B%0A%7D%0Ah5%20%7B%0Afont%2Dsize%3A%201em%3B%0A%7D%0Ah6%20%7B%0Afont%2Dsize%3A%201em%3B%0A%7D%0Abody%3Eh2%3Afirst%2Dchild%2C%20body%3Eh1%3Afirst%2Dchild%2C%20body%3Eh1%3Afirst%2Dchild%2Bh2%2C%20body%3Eh3%3Afirst%2Dchild%2C%20body%3Eh4%3Afirst%2Dchild%2C%20body%3Eh5%3Afirst%2Dchild%2C%20body%3Eh6%3Afirst%2Dchild%20%7B%0Amargin%2Dtop%3A%200%3B%0Apadding%2Dtop%3A%200%3B%0A%7D%0Aa%3Afirst%2Dchild%20h1%2C%20a%3Afirst%2Dchild%20h2%2C%20a%3Afirst%2Dchild%20h3%2C%20a%3Afirst%2Dchild%20h4%2C%20a%3Afirst%2Dchild%20h5%2C%20a%3Afirst%2Dchild%20h6%20%7B%0Amargin%2Dtop%3A%200%3B%0Apadding%2Dtop%3A%200%3B%0A%7D%0Ah1%2Bp%2C%20h2%2Bp%2C%20h3%2Bp%2C%20h4%2Bp%2C%20h5%2Bp%2C%20h6%2Bp%20%7B%0Amargin%2Dtop%3A%2010px%3B%0A%7D%0A%0Aa%20%7B%0Acolor%3A%20%23189%3B%0Atext%2Ddecoration%3A%20none%3B%0A%7D%0Aa%3Ahover%20%7B%0Atext%2Ddecoration%3A%20underline%3B%0A%7D%0A%0Aul%2C%20ol%20%7B%0Apadding%2Dleft%3A%2030px%3B%0A%7D%0Aul%20li%20%3E%20%3Afirst%2Dchild%2C%0Aol%20li%20%3E%20%3Afirst%2Dchild%2C%0Aul%20li%20ul%3Afirst%2Dof%2Dtype%2C%0Aol%20li%20ol%3Afirst%2Dof%2Dtype%2C%0Aul%20li%20ol%3Afirst%2Dof%2Dtype%2C%0Aol%20li%20ul%3Afirst%2Dof%2Dtype%20%7B%0Amargin%2Dtop%3A%200px%3B%0A%7D%0Aul%20ul%2C%20ul%20ol%2C%20ol%20ol%2C%20ol%20ul%20%7B%0Amargin%2Dbottom%3A%200%3B%0A%7D%0Adl%20%7B%0Apadding%3A%200%3B%0A%7D%0Adl%20dt%20%7B%0Afont%2Dsize%3A%2014px%3B%0Afont%2Dweight%3A%20bold%3B%0Afont%2Dstyle%3A%20italic%3B%0Apadding%3A%200%3B%0Amargin%3A%2015px%200%205px%3B%0A%7D%0Adl%20dt%3Afirst%2Dchild%20%7B%0Apadding%3A%200%3B%0A%7D%0Adl%20dt%3E%3Afirst%2Dchild%20%7B%0Amargin%2Dtop%3A%200px%3B%0A%7D%0Adl%20dt%3E%3Alast%2Dchild%20%7B%0Amargin%2Dbottom%3A%200px%3B%0A%7D%0Adl%20dd%20%7B%0Amargin%3A%200%200%2015px%3B%0Apadding%3A%200%2015px%3B%0A%7D%0Adl%20dd%3E%3Afirst%2Dchild%20%7B%0Amargin%2Dtop%3A%200px%3B%0A%7D%0Adl%20dd%3E%3Alast%2Dchild%20%7B%0Amargin%2Dbottom%3A%200px%3B%0A%7D%0A%0Apre%2C%20code%2C%20tt%20%7B%0Afont%2Dsize%3A%2012px%3B%0Afont%2Dfamily%3A%20Consolas%2C%20%22Liberation%20Mono%22%2C%20Courier%2C%20monospace%3B%0A%7D%0Acode%2C%20tt%20%7B%0Amargin%3A%200%200px%3B%0Apadding%3A%200px%200px%3B%0Awhite%2Dspace%3A%20nowrap%3B%0Aborder%3A%201px%20solid%20%23eaeaea%3B%0Abackground%2Dcolor%3A%20%23f8f8f8%3B%0Aborder%2Dradius%3A%203px%3B%0A%7D%0Apre%3Ecode%20%7B%0Amargin%3A%200%3B%0Apadding%3A%200%3B%0Awhite%2Dspace%3A%20pre%3B%0Aborder%3A%20none%3B%0Abackground%3A%20transparent%3B%0A%7D%0Apre%20%7B%0Abackground%2Dcolor%3A%20%23f8f8f8%3B%0Aborder%3A%201px%20solid%20%23ccc%3B%0Afont%2Dsize%3A%2013px%3B%0Aline%2Dheight%3A%2019px%3B%0Aoverflow%3A%20auto%3B%0Apadding%3A%206px%2010px%3B%0Aborder%2Dradius%3A%203px%3B%0A%7D%0Apre%20code%2C%20pre%20tt%20%7B%0Abackground%2Dcolor%3A%20transparent%3B%0Aborder%3A%20none%3B%0A%7D%0Akbd%20%7B%0A%2Dmoz%2Dborder%2Dbottom%2Dcolors%3A%20none%3B%0A%2Dmoz%2Dborder%2Dleft%2Dcolors%3A%20none%3B%0A%2Dmoz%2Dborder%2Dright%2Dcolors%3A%20none%3B%0A%2Dmoz%2Dborder%2Dtop%2Dcolors%3A%20none%3B%0Abackground%2Dcolor%3A%20%23DDDDDD%3B%0Abackground%2Dimage%3A%20linear%2Dgradient%28%23F1F1F1%2C%20%23DDDDDD%29%3B%0Abackground%2Drepeat%3A%20repeat%2Dx%3B%0Aborder%2Dcolor%3A%20%23DDDDDD%20%23CCCCCC%20%23CCCCCC%20%23DDDDDD%3B%0Aborder%2Dimage%3A%20none%3B%0Aborder%2Dradius%3A%202px%202px%202px%202px%3B%0Aborder%2Dstyle%3A%20solid%3B%0Aborder%2Dwidth%3A%201px%3B%0Afont%2Dfamily%3A%20%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3B%0Aline%2Dheight%3A%2010px%3B%0Apadding%3A%201px%204px%3B%0A%7D%0A%0Ablockquote%20%7B%0Aborder%2Dleft%3A%204px%20solid%20%23DDD%3B%0Apadding%3A%200%2015px%3B%0Acolor%3A%20%23777%3B%0Afont%2Dsize%3A%201em%3B%0A%7D%0Ablockquote%3E%3Afirst%2Dchild%20%7B%0Amargin%2Dtop%3A%200px%3B%0A%7D%0Ablockquote%3E%3Alast%2Dchild%20%7B%0Amargin%2Dbottom%3A%200px%3B%0A%7D%0A%0Ahr%20%7B%0Aclear%3A%20both%3B%0Amargin%3A%2015px%200%3B%0Aheight%3A%200px%3B%0Aoverflow%3A%20hidden%3B%0Aborder%3A%20none%3B%0Abackground%3A%20transparent%3B%0Aborder%2Dbottom%3A%201px%20dotted%20silver%3B%0Apadding%3A%200%3B%0A%7D%0A%0Atable%20%7B%0Aborder%2Dcollapse%3A%20collapse%3B%0Afont%2Dsize%3A%201em%3B%0A%7D%0Atable%20th%20%7B%0Abackground%3A%20%23F0F0F0%3B%0Acolor%3A%20%23555%3B%0Atext%2Dalign%3A%20left%3B%0Avertical%2Dalign%3A%20middle%3B%0A%7D%0Atable%20th%2C%20table%20td%20%7B%0Aborder%3A%201px%20solid%20%23ccc%3B%0Apadding%3A%206px%2013px%3B%0A%7D%0Atable%20tr%20%7B%0Aborder%2Dtop%3A%201px%20solid%20%23ccc%3B%0Abackground%2Dcolor%3A%20%23fff%3B%0A%7D%0Atable%20tr%3Anth%2Dchild%282n%29%20%7B%0Abackground%2Dcolor%3A%20%23f8f8f8%3B%0A%7D%0A%0Aimg%20%7B%0Amax%2Dwidth%3A%20100%25%0A%7D%0A%2Eplatform%20%7B%0Abackground%3A%20%23cc0000%3B%0Atext%2Dalign%3A%20right%3B%0A%7D%0A" rel="stylesheet" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--[if lt IE 9]>
<script>
/**
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
</script>
<![endif]-->
<link href="data:image/x-icon;base64,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" id="favicon" rel="shortcut icon" type="image/x-icon">
</head>
<body>
<header id="tiHeader">
<div class="top">
<ul>
<li id="top_logo">
<a href="https://www.ti.com">
<img src="data:image/png;base64,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" />
</a>
</li>
</ul>
</div>
<div class="nav">
</div>
</header>
<div id="content">
<h1>MSPM0 SDK Release Notes</h1>
<h2>Table of Contents</h2>
<div id="TOC">
<ul>
<li><a href="#important-notes">Important Notes</a></li>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#documentation">Documentation</a></li>
<li><a href="#whats-included">What’s Included</a></li>
<li><a href="#whats-new">What’s New</a></li>
<li><a href="#operating-systems-support">Operating Systems Support</a></li>
<li><a href="#dependencies">Dependencies</a></li>
<li><a href="#device-support">Device Support</a></li>
<li><a href="#known-issues">Known Issues</a></li>
<li><a href="#upgrade-and-compatibility-information">Upgrade and Compatibility Information</a></li>
<li><a href="#previous-releases">Previous Releases</a></li>
<li><a href="#versioning">Versioning</a></li>
<li><a href="#technical-support-and-product-updates">Technical Support and Product Updates</a></li>
</ul>
</div>
<h2 id="important-notes">Important Notes</h2>
<ul>
<li>📝 <strong>Updated information will be posted online at <a href="https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1204646/faq-important-note-for-early-mspm0-customer">e2e.ti.com</a>.</strong></li>
</ul>
<h2 id="introduction">Introduction</h2>
<p>The MSPM0 SDK delivers components that enable engineers to develop applications on Texas Instruments MSPM0 microcontroller devices. The product is comprised of multiple software components and examples of how to use these components together. In addition, examples are provided to demonstrate the use of each functional area and each supported device and as a starting point for your own projects.</p>
<p>The MSPM0 MCU portfolio offers a single development environment that delivers flexible hardware, software and tool options for customers developing applications. A one-time investment with the MSPM0 software development kit (SDK) allows you create portable and modular code, opening the door to create unlimited applications. For more information, visit <a href="https://www.ti.com/mspm0">www.ti.com/mspm0</a>.</p>
<p>This is version 2.03.00.07 of the MSPM0 SDK.</p>
<h2 id="documentation">Documentation</h2>
<ul>
<li><a href="docs/english/MSPM0_SDK_Documentation_Overview.html">MSPM0 SDK Documentation Overview</a></li>
<li><a href="docs/chinese/MSPM0_SDK_Documentation_Overview_CN.html">MSPM0 SDK Documentation Overview - Chinese</a></li>
<li><a href="known_issues_FAQ.html">MSPM0 SDK Known Issues and FAQ</a></li>
<li><a href="license_mspm0_sdk_2_03_00_07.txt">Software License</a></li>
<li><a href="manifest_mspm0_sdk_2_03_00_07.html">Software Manifest</a></li>
</ul>
<h2 id="whats-included">What’s Included</h2>
<p>The MSPM0 SDK 2.03.00.07 includes the following:</p>
<ul>
<li><strong>DriverLib Library</strong> - v1.34.00:
<ul>
<li>Low-level driver library APIs to configure device peripherals</li>
</ul></li>
<li><strong>Code examples</strong>:
<ul>
<li>Hundreds of examples from low-level drivers to middleware and demos</li>
</ul></li>
<li><strong>SysConfig</strong> - v1.34.00:
<ul>
<li>Support for code generation of all DriverLib peripherals</li>
<li>Clock Tree for easier configuration of Clock System</li>
<li>NONMAIN Configurator</li>
<li>Security Configuration</li>
<li>Project Configuration</li>
</ul></li>
<li><strong>Middleware</strong>:
<ul>
<li>Battery Gauge L2 - v1.00.00</li>
<li>Boot Image Manager - v1.02.00</li>
<li>Communication Modules - v1.01.00</li>
<li>DALI Library - v1.01.00</li>
<li>EEPROM Emulation Library - v1.01.01</li>
<li>Energy Metrology Library - v2.01.01</li>
<li>GUI Composer Library - v1.00.00</li>
<li>IQMath Library - v2.00.00</li>
<li>LIN Drivers - 1.01.00</li>
<li>Motor Control Libraries
<ul>
<li>Brushed Motor Control Library - v1.00.00</li>
<li>Hall Sensored Trap BLDC Motor Control Library - v1.10.01</li>
<li>Sensorless FOC PMSM Motor Control Library - v2.03.00</li>
<li>Sensored FOC PMSM Motor Control Library - v1.01.00</li>
<li>Stepper Motor Control Library - v1.00.00</li>
<li>Universal FOC Motor Control Library - v1.00.00</li>
</ul></li>
<li>PMBus Library - v1.11.01</li>
<li>SENT Library - v1.00.01</li>
<li>Smart Analog Sensor Interface (SASI) Smoke Detector Library - v1.00.00</li>
<li>SMBus Library - v2.01.00</li>
<li>Diagnostic Library (released externally)</li>
</ul></li>
<li><strong>RTOS</strong>:
<ul>
<li>FreeRTOS Library - v1.20.01</li>
<li>Driver Porting Layer (DPL) - v1.11.00</li>
<li>TI POSIX - v1.10.00</li>
</ul></li>
<li><strong>TI-Drivers</strong> - v2.02.00:
<ul>
<li>GPIO</li>
<li>I2C</li>
<li>SPI</li>
<li>UART</li>
<li>ADC</li>
<li>DMA</li>
<li>I2CTarget</li>
</ul></li>
<li><strong>Documentation</strong>:
<ul>
<li>Comprehensive software documentation including user guides and multiple API guides</li>
<li>Tools Guide including quick start guides and user guides for MSPM0 tools including IDEs, code generation, debuggers and programmers</li>
</ul></li>
</ul>
<p><strong>For more information about these features, please visit the <a href="docs/english/MSPM0_SDK_Documentation_Overview.html">MSPM0 SDK Documentation Overview</a> or <a href="docs/chinese/MSPM0_SDK_Documentation_Overview_CN.html">MSPM0 SDK Documentation Overview - Chinese</a>.</strong></p>
<h2 id="whats-new">What’s New</h2>
<p>This release includes the following updates.</p>
<ul>
<li><strong>New Device Support!</strong> <strong>The MSPM0 SDK now supports MSPM0L111x devices, and corresponding LP-MSPM0L1117 EVM.</strong> This includes support for:
<ul>
<li>DriverLib code examples</li>
<li>BSL code examples</li>
<li>SysConfig modules, including
<ul>
<li>DriverLib modules</li>
<li>Clock Tree</li>
<li>NVM Configurator</li>
<li>Security Configurator</li>
</ul></li>
<li>Middleware
<ul>
<li>EEPROM Library</li>
<li>GUI Composer Library</li>
<li>IQMath Library</li>
<li>FreeRTOS Library</li>
<li>CMSIS DSP Library</li>
<li>LIN Drivers</li>
<li>NoRTOS TI Drivers</li>
<li>RTOS TI Drivers</li>
</ul></li>
<li>Documentation</li>
</ul></li>
<li><strong>DriverLib Library</strong> - v1.34.00
<ul>
<li>KEYSTORE
<ul>
<li>MSPSWSDK-4572: Fixed status checking of dl_keystore.c writing during resets</li>
<li>MSPSWSDK-4641: Fixed an issue where dl_keystore.c did not check status after transfer correctly</li>
</ul></li>
<li>DMA
<ul>
<li>MSPSWSDK-4634: Fixed an issue where dl_dma.h was referencing a define that was not present in every device</li>
</ul></li>
<li>FLASHCTL
<ul>
<li>MSPSWSDK-4566: Updated DL_FlashCTL_unprotectSector() and DL_FlashCTL_protectSector() to properly account for first sector of memory during bank swap</li>
<li>MSPSWSDK-4565: Updated order of operations in sector calculation method for DL_FlashCTL_protectSector() single bank devices to properly protect sectors of memory greater than 32kB</li>
</ul></li>
<li>I2C
<ul>
<li>MSPSWSDK-4631: Fixed an issue where DL_I2C_isControllerTXFIFOEmpty was always using 8 as the max FIFO count. Updated to use max FIFO count available on the device.</li>
<li>MSPSWSDK-4573: Added option to DL_SYSCTL_ULPCLK_DIV enum for ULPCLK to be MCLK divided by 3 in MSPM0G1X0X_G3X0X SYSCTL</li>
</ul></li>
<li>PWM
<ul>
<li>MSPSWSDK-4221: Added missing QEIERR to timer’s DL_TIMER_IIDEX enum</li>
<li>MSPSWSDK-2674: Fixed cross trigger so it works if CC0 isn’t being used</li>
</ul></li>
<li>SYSCTL
<ul>
<li>MSPSWSDK-3918: Fixed the incorrect comment for the PLL feedback clock divider (SYSPLLREF) that had an incorrect range of what values could be written and what those values should map to</li>
</ul></li>
<li>UART
<ul>
<li>MSPSWSDK-3969: Fixed the comments for DL_UART_setParityMode which had incorrectly described the behavior when in 9-bit mode</li>
</ul></li>
</ul></li>
<li><strong>SysConfig</strong> - v1.34.00
<ul>
<li>NVM Configurator
<ul>
<li>MSPSWSDK-4627: Implemented randomized password for MSPM0L11xx/L13xx and MSPM0G1x0x/G3x0x</li>
</ul></li>
<li>LFSS
<ul>
<li>MSPSWSDK-3510: Added VBAT_GOOD check before attempting to call any LFSS inits, which could result in NMI if VBAT is not good</li>
</ul></li>
<li>DMA
<ul>
<li>MSPSWSDK-3956: Fixed issue where DMA source and destination increment values were being overwritten by conflicting SysConfig configurables</li>
</ul></li>
<li>All Timer Modules
<ul>
<li>MSPSWSDK-3217: Fixed issue where the TSEL.ETSEL value generated for a main cross trigger timer was incorrect</li>
</ul></li>
</ul></li>
<li><strong>Middleware</strong>
<ul>
<li><strong>Energy Metrology Library</strong> - v2.01.01
<ul>
<li>MSPSWSDK-4648:
<ul>
<li>Fixed bug for TIDA-010940, which had an issue with displaying 9th digit on LCD</li>
<li>Added support to read AMC status register and update the flags to user</li>
</ul></li>
</ul></li>
<li><strong>PMBus Library</strong> - v1.11.01
<ul>
<li>MSPSWSDK-4397: Fixed PMB_BLOCK_READ #define value</li>
</ul></li>
<li><strong>Sensorless FOC PMSM Motor Control Library</strong> - v2.03.00
<ul>
<li>MSPSWSDK-4659: Implemented IPD using ADC WCOMP for single and three shunt</li>
<li>MSPSWSDK-4656: Fixed incorrect macro for __CURRENT_THREE_SHUNT_DYNAMIC</li>
<li>MSPSWSDK-4657: Added FW version variable in Status Registers</li>
<li>MSPSWSDK-4658: Updated Reset Trigger point before setting in HAL_SetPWMFrequency</li>
<li>MSPSWSDK-4660: Optimized IQ multiplication by making inline</li>
<li>MSPSWSDK-4666: Added support for 16KHz FOC Frequency</li>
</ul></li>
<li><strong>Sensored FOC PMSM Motor Control Library</strong> - v1.01.00
<ul>
<li>MSPSWSDK-4656: Fixed incorrect macro for __CURRENT_THREE_SHUNT_DYNAMIC</li>
<li>MSPSWSDK-4657: Added FW version variable in Status Registers</li>
<li>MSPSWSDK-4658: Updated Reset Trigger point before setting in HAL_SetPWMFrequency</li>
<li>MSPSWSDK-4660: Optimized IQ multiplication by making inline</li>
<li>MSPSWSDK-4666: Added support for 16KHz FOC Frequency</li>
</ul></li>
<li><strong>(New!) Universal FOC Motor Control Library</strong> - v1.00.00
<ul>
<li>MSPSWSDK-4620: First Release for Universal FOC Motor Control Library. This library includes:
<ul>
<li>Support for esmo and finite backemf estimator</li>
<li>Align, IPD and slow first cycle startup options</li>
<li>Initial speed detection, Field Weakening and MTPA features</li>
<li>Support for Speed, Torque, Power and Voltage modes</li>
</ul></li>
</ul></li>
<li><strong>DALI Library</strong> - v1.01.00
<ul>
<li>MSPSWSDK-4624: Added Timer Capture for DALI Rx signal reception with support for wider bit timing tolerance level</li>
</ul></li>
<li><strong>EEPROM Emulation Library</strong> - v1.01.01
<ul>
<li>MSPSWSDK-4576: Implemented a bug fix to ensure the correct DriverLib FlashCtl programMemory API is used depending on if ECC is used for the application for both TypeA and TypeB libraries</li>
<li>MSPSWSDK-3633: Fixed the EEPROM_TypeA_repairFormat() to use FormatRepairAddress instead of gNextRecordAddress. The usage of EEPROM_TypeA_eraseNonActiveSectors() is fixed in the EEPROM_TypeA_repairFormat()</li>
</ul></li>
<li><strong>Boot Manager</strong> - v1.4
<ul>
<li>MSPSWSDK-4619: Added GCC and IAR compiled library bimsupport.a for other Compilers</li>
</ul></li>
<li><strong>TI-Drivers</strong> - v2.02.00
<ul>
<li>MSPSWSDK-4218: Enabled internal Pullup for the CS pin in SPI TI Driver</li>
<li>MSPSWSDK-4396: Fixed a bug in the GPIO_Write() by using DL_GPIO_setPins() instead of using DL_GPIO_writePins()</li>
<li>Adjusted the non-rtos default cpu clock to 32Mhz to keep consistency with FreeRTOS default cpu clock</li>
<li>MSPSWSDK-4607: Added support for MSPM0L111x in the noRTOS TI Drivers and examples</li>
<li>MSPSWSDK-4606: Added support for MSPM0L111x in the RTOS TI Drivers and examples</li>
<li>MSPSWSDK-4605: Added support for MSPM0L111x in the FreeRTOS Kernel examples</li>
<li>MSPSWSDK-4230: Fixed a bug in the I2C Target ISR function. The call for DL_I2C_getEnabledInterruptStatus() is updated to read the correct interrupt status for the I2C target</li>
</ul></li>
</ul></li>
<li><strong>Header Files</strong>
<ul>
<li>MSPSWSDK-4573: Removed unnecessary MGMT register structures from hw_sysctl_mspm0g1x0x_g3x0x.h, hw_sysctl_mspm0c110x.h, hw_sysctl_mspm0l11xx_l13xx.h, and hw_sysctl_mspm0l122x_l222x.h</li>
</ul></li>
<li><strong>Code Examples</strong>
<ul>
<li><strong>BSL Code Examples</strong>
<ul>
<li>MSPSWSDK-3890: Fixed incorrect DriverLib FlashCtl programMemory API call in the secondary_bsl_i2c code</li>
<li>MSPSWSDK-4134: Updated SRAM regions used by plugins in BSL code examples</li>
</ul></li>
<li><strong>GUI Composer Code Examples</strong>
<ul>
<li>MSPSWSDK-4601: Added example support (json, message_pack) for MSPM0L1117</li>
</ul></li>
<li><strong>EEPROM Code Examples</strong>
<ul>
<li>MSPSWSDK-4600: Added support for MSPM0L111x devices for the eeprom_emulation_type_a, eeprom_emulation_type_a_test, eeprom_emulation_type_b, and eeprom_emulation_type_b_test examples</li>
<li>MSPSWSDK-4635: Added support for MSPM0C110x devices for the eeprom_emulation_type_a, eeprom_emulation_type_a_test, eeprom_emulation_type_b, and eeprom_emulation_type_b_test examples</li>
<li>MSPSWSDK-4177: Added support for MSPM0L222x devices for the eeprom_emulation_type_a, eeprom_emulation_type_a_test, eeprom_emulation_type_b, and eeprom_emulation_type_b_test examples</li>
</ul></li>
<li><strong>DriverLib Code Examples</strong>
<ul>
<li>MSPSWSDK-4232: Updated timer in wwdt_window_mode_periodic_reset example to be aligned with WWDT</li>
<li>MSPSWSDK-4352: Removed TIMA1 IRQHandler definitions from all MSPM0L122X_L222X example startup files. TIMA1 is not present on this device.</li>
<li>MSPSWSDK-4625: Updated all LP_MSPM0G3519 code examples to enable the Default Clock Configuration option in SysConfig. This forces the PLL and HFXT into a known state at initialization.</li>
<li>MSPSWSDK-4645: Renamed some examples for clarity:
<ul>
<li>Renamed “empty_library” example to “empty_driverlib_library”</li>
<li>Renamed FreeRTOS “empty” example to “empty_freertos”</li>
</ul></li>
<li>MSPSWSDK-4655:
<ul>
<li>Updated the examples aesadv_cbc_128_enc_dec, aesadv_gcm_128_enc_dec, aesadv_ecb_128_enc_dec on CBC, GCM and ECB mode respectively, changed global variable names into camelcase format and showing expected results through software breakpoints instead of LED blinking.</li>
<li>Added aesadv_cmac_256_enc_dec example on CMAC mode for MSPM0G3519 and MSPM0L222x</li>
<li>Added aesadv_gcm_128_enc_dec example on GCM mode for MSPM0G3519</li>
</ul></li>
<li>MSPSWSDK-4676:
<ul>
<li>Fixed a bug where in aesadv_ctr_128_enc_dec example in O(2) optimization, the code got stuck in WFI() as interrupt of output generated already came before, so changed WFI() to WFE(), which is better for spinlocks.</li>
</ul></li>
<li>MSPSWSDK-4282: Updated the README of aesadv_ctr_128_enc_dec, aesadv_cbc_128_enc_dec, aesadv_ecb_128_enc_dec, aesadv_gcm_128_enc_dec for clarity</li>
<li>MSPSWSDK-3360: Fixed bug where adc12_max_freq_dma was only transferring half of the total samples</li>
</ul></li>
<li><strong>Demos</strong>
<ul>
<li>MSPSWSDK-4041: Added code example for Application note of TPS929xxx LED Driver Control Using MSPM0 Through UART Over Can (TPS929XX_control_uart_over_can demo)</li>
<li>MSPSWSDK-4642: Added code example for TIDA-010247 to show MSPM0 control of BQ76972 (bq769x2_TIDA010247)</li>
</ul></li>
<li><strong>MSP Subsystem Code Examples</strong>
<ul>
<li>MSPSWSDK-4675: Added new watchdog MSP subsystem code example</li>
<li>MSPSWSDK-3732: Added IAR and Keil compiler support to i2c_expander_uart_to_i2c_bridge and io_expander_uart_i2c_spi examples. Removed high level io_expander_i2c example; split into i2c_target_io_expander and i2c_host_controller examples.</li>
</ul></li>
<li><strong>FreeRTOS Code Examples</strong>
<ul>
<li>MSPSWSDK-4605: Added support for MSPM0L111x in the FreeRTOS Kernel examples</li>
<li>MSPSWSDK-4646: Fixed a bug in the freertos_builds_LP_MSPM0G3519_release_gcc.projectspec file. For mspm0g351x examples, the startup file reference is updated to mspm0g351x family</li>
</ul></li>
<li><strong>TI-Drivers Code Examples</strong>
<ul>
<li>MSPSWSDK-4607: Added support for MSPM0L111x in the noRTOS TI Drivers examples</li>
<li>MSPSWSDK-4606: Added support for MSPM0L111x in the RTOS TI Drivers examples</li>
</ul></li>
</ul></li>
<li><strong>Documentation</strong>
<ul>
<li>MSPSWSDK-4105: Updated documentation to align with Code Composer Studio upgrades.
<ul>
<li>CCS v12.8 will be the last version based on Eclipse IDE. The documentation will refer to the Eclipse based IDE as Code Composer Studio v12 (Eclipse)</li>
<li>Code Composer Studio v20 will be based on the Theia IDE. The documentation will refer to the Theia based IDE as Code Composer Studio</li>
</ul></li>
</ul></li>
</ul>
<h2 id="operating-systems-support">Operating Systems Support</h2>
<ul>
<li>Windows 10</li>
<li>Ubuntu 18.04</li>
<li>macOS Monterey</li>
</ul>
<h2 id="dependencies">Dependencies</h2>
<p>This release was validated with the following components:</p>
<ul>
<li>Code Composer Studio
<ul>
<li><a href="https://www.ti.com/tool/CCSTUDIO">Code Composer Studio 20.0.0</a></li>
<li><a href="https://www.ti.com/tool/CCSTUDIO">Code Composer Studio (Eclipse) 12.8.0</a></li>
</ul></li>
<li>TI Arm Clang Compiler
<ul>
<li><a href="https://www.ti.com/tool/ARM-CGT">TI Clang v3.2.2_LTS</a>. Also included with CCS 12.8.</li>
<li><a href="https://www.ti.com/tool/ARM-CGT">TI Clang v4.0.0_LTS</a>. Also included with CCS 20.0.0.</li>
</ul></li>
<li>SysConfig
<ul>
<li><a href="https://www.ti.com/tool/SYSCONFIG">SysConfig 1.22.x</a>. Also included with CCS 20.0.0.</li>
</ul></li>
<li>GNU Code Generation Tools
<ul>
<li><a href="https://launchpad.net/gcc-arm-embedded/+milestone/9-2019-q4-major">Arm gcc-arm-none-eabi-9-2019-q4-major</a>.</li>
</ul></li>
<li>IAR Embedded Workbench
<ul>
<li><a href="https://www.iar.com/iar-embedded-workbench/">IAR for Arm 9.60.3</a>.</li>
</ul></li>
<li>Keil uVision
<ul>
<li><a href="https://www2.keil.com/mdk5">5.38</a>, with Arm Clang compiler v6.16 or later.</li>
</ul></li>
</ul>
<h2 id="device-support">Device Support</h2>
<ul>
<li>MSPM0L11xx/L13xx</li>
<li>MSPM0G1x0x/G3x0x</li>
<li>MSPM0C110x</li>
<li>MSPS003Fx</li>
<li>MSPM0L122x/L222x</li>
<li>MSPM0G151x/MSPM0G351x</li>
<li>MSPM0L111x</li>
</ul>
<h2 id="known-issues">Known Issues</h2>
<p>Please refer to the <a href="known_issues_FAQ.html">MSPM0 SDK Known Issues and FAQ</a> document for a detailed list of known issues and workarounds.</p>
<h2 id="upgrade-and-compatibility-information">Upgrade and Compatibility Information</h2>
<ul>
<li>Not applicable for this release</li>
</ul>
<h2 id="previous-releases">Previous Releases</h2>
<p>The updates for the past releases starting at MSPM0 SDK 2.00 and later are shown below.</p>
<p>The updates and compatibility information prior to MSPM0 SDK 2.00 can be viewed at <a href="https://dev.ti.com/tirex/explore/node?a=a3PaaoK__1.30.00.03&node=A__ADMjnimJ4C5BfFnmM3X-jg__MSPM0-SDK__a3PaaoK__1.30.00.03">TI Resource Explorer</a>.</p>
<h3 id="previous-updates">Previous Updates</h3>
<ul>
<li>2.02.00.05
<ul>
<li>New Device Support for the MSPM0Gx51x devices, and corresponding LP-MSPM0G3519 EVM. This include support for:
<ul>
<li>DriverLib code examples</li>
<li>BSL code examples</li>
<li>SysConfig modules, including
<ul>
<li>DriverLib modules</li>
<li>Clock Tree</li>
<li>NVM Configurator</li>
<li>Security Configurator</li>
</ul></li>
<li>Middleware
<ul>
<li>Boot Image Manager</li>
<li>EEPROM Library</li>
<li>GUI Composer Library</li>
<li>IQMath Library</li>
<li>FreeRTOS Library</li>
<li>LIN Drivers</li>
<li>PMBus Library</li>
<li>SMBus Library</li>
<li>TI Drivers</li>
</ul></li>
<li>Documentation</li>
</ul></li>
<li><strong>DriverLib Library</strong> - v1.32.00
<ul>
<li>DMA
<ul>
<li>MSPSWSDK-3986: Added DL_DMA_enableAutoEnable, DL_DMA_disableAutoEnable, DL_DMA_isAutoEnableEnabled APIs for auto-enable mode and DriverLib support for gather mode and 128-bit DMA access to dl_dma.h, included only if device supports these features</li>
</ul></li>
<li>Factory Region
<ul>
<li>MSPSWSDK-3227: Implemented caching of TRIM values in SRAM for MSPM0Gx51x in scenarios where flash wait states is equal to 2, which causes TRIM to be unreadable</li>
</ul></li>
<li>FlashCTL
<ul>
<li>MSPSWSDK-3877: Updated DL_FlashCTL_eraseDataBankFromRAM to properly execute from SRAM</li>
<li>MSPSWSDK-4059: Updated DL_FlashCTL_executeCommandFromRAM to poll until DL_FLASHCTL_COMMAND_STATUS_PASSED or DL_FLASHCTL_COMMAND_STATUS_FAILED is read from the STATCMD register</li>
</ul></li>
<li>GPIO
<ul>
<li>MSPSWSDK-3882: Fixed issue where Hysteresis functionality was reversed, by correcting the values for the enable and disable bits (IOMUX_PINCM_HYSTEN_DISABLE, IOMUX_PINCM_HYSTEN_ENABLE) on the IOMUX peripheral header. Hysteresis is now correctly enabled or disabled when calling the relevant DriverLib APIs that use DL_GPIO_HYSTERESIS, which include: DL_GPIO_initDigitalInput, DL_GPIO_initDigitalInputFeatures, and DL_GPIO_initPeripheralInputFunctionFeatures.</li>
</ul></li>
<li>RTC
<ul>
<li>MSPSWSDK-3893: Fixed typo of DL_RTC_COMMON_PRESCaLER0_DIVIDE_16 -> DL_RTC_COMMON_PRESCALER0_DIVIDE_16</li>
</ul></li>
<li>RTC_B
<ul>
<li>MSPSWSDK-3895: Created new RTC_B DriverLib module</li>
</ul></li>
<li>SYSCTL
<ul>
<li>MSPSWSDK-4057: Removed ULPCLK divide by 3 option (DL_SYSCTL_ULPCLK_DIV_3) in SYSCTL DriverLib. This option is not available for any supported device.</li>
<li>MSPSWSDK-3930: Included dl_factoryregion.h in SYSCTL DriverLib. This is required for all devices because DL_SYSCTL_getTempCalibrationConstant API depends on a dl_factoryregion API.</li>
</ul></li>
<li>UART
<ul>
<li>MSPSWSDK-4076: Added two macros for DMA Done interrupts: DL_UART_DMA_DONE_INTERRUPT_RX and DL_UART_DMA_DONE_INTERRUPT_TX</li>
</ul></li>
<li>PWM
<ul>
<li>MSPSWSDK-3800 - Add support for Timer G instances that have 4 capture and compare blocks. Similar to TIMA0.</li>
</ul></li>
</ul></li>
<li><strong>SysConfig</strong> - v1.33.00
<ul>
<li>General
<ul>
<li>MSPSWSDK-3798: Added a new feature that allows users to generate a CSV file that enumerates all the currently used pins, and detailed information for each pin, in the user’s current SysConfig configuration. This feature can be enabled by selecting “Generate Resource Usage CSV” in the Board module.</li>
<li>MSPSWSDK-3958: Added device-specific defines to SysConfig generated ti_msp_dl_config.h</li>
<li>MSPSWSDK-3859: Removed LCD peripheral being incorrectly shown as an available resource for MSPM0L122X devices</li>
<li>MSPSWSDK-3610: Added missing ROSC functionality to PA2 device pin for MSPM0L122x/L222x devices</li>
</ul></li>
<li>Clock Tree
<ul>
<li>MSPSWSDK-3913: Added validation to prevent selection of UDIV3 for ULPCLK to match device configuration on MSPM0G</li>
</ul></li>
<li>DMA
<ul>
<li>MSPSWSDK-3807: Added support for new DMA features: Long-long (128-bit) sizing, auto mode, and gather mode</li>
<li>MSPSWSDK-3917: Fixed code generation so when a DMA is configured with early interrupts, setting DL_DMA_earlyInterruptThreshold should be done after clearing and enabling the interrupts and after DL_DMA_initChannel is called.</li>
</ul></li>
<li>GPIO
<ul>
<li>MSPSWSDK-3882: Updated Hysteresis Control selection, will now default to enable automatically if available on the selected pin. User can still choose to manually select to enable or disable Hysteresis Control by selecting the new “Override Pin Hysteresis Default” option.</li>
</ul></li>
<li>OPA
<ul>
<li>MSPSWSDK-3830: Allowed PSEL selection without requiring configuration of DAC module or DAC output pin</li>
</ul></li>
<li>Project Configuration:
<ul>
<li>MSPSWSDK-3703: Removed the “Select Device” option from this module. Device selection is now handled through the “Device” parameter on the “Migrate Settings” window, which is accessed when selecting the “Switch” option in the Device View.</li>
</ul></li>
<li>RTC_B
<ul>
<li>MSPSWSDK-3914: Added new RTC_B module</li>
</ul></li>
<li>SYSCTL
<ul>
<li>MSPSWSDK-3913: Removed option on to select UDIV3 for ULPCLK. This option is not available for any supported device.</li>
<li>MSPSWSDK-3999: Allowed configuration of SRAM Power Level for STOP Mode in MSPM0GX51X devices</li>
</ul></li>
<li>TRNG
<ul>
<li>MSPSWSDK-3910: Fixed issue where TRNG module was not showing up for MSPM0Lx22x devices</li>
</ul></li>
<li>UART:
<ul>
<li>MSPSWSDK-3892: Added a macro to the ti_msp_dl_config.h code generation to display frequency of the UART clock</li>
</ul></li>
<li>VREF
<ul>
<li>MSPSWSDK-3915: Implemented workaround for VREF pin mapping on MSPM0Gx51x. Allows user to select either of the VREF pins, users should defer to relevant documentation on datasheet.</li>
</ul></li>
</ul></li>
<li><strong>Middleware</strong>
<ul>
<li><strong>Boot Image Manager</strong> - v1.02.00
<ul>
<li>MSPSWSDK-3954:
<ul>
<li>Ported CSC example to the LP_MSPM0G3519 Launchpad</li>
<li>Fixed Lockable Storage Flash accesses being optimized out</li>
</ul></li>
</ul></li>
<li><strong>Energy Metrology Library</strong> - v2.01.00
<ul>
<li>MSPSWSDK-3955:
<ul>
<li>Add new single phase solution with LCD support(TIDA-010940).</li>
<li>Added Support to configure the metrology parameters using #defines in template.h file.</li>
<li>Added support for multiple sampling rates - 2000, 2930, 3906, 4000, 5859, 6000, 6400, 7812, 8000.</li>
<li>ADS/AMC registers are written individually with readback.</li>
<li>Bug fix Apparent Energy Import/Export Calculation</li>
</ul></li>
</ul></li>
<li><strong>LIN Drivers</strong> - v1.01.00
<ul>
<li>MSPSWSDK-3901: Updated lin_responder code example to gracefully handle unexpected PIDs</li>
</ul></li>
<li><strong>Sensorless FOC PMSM Motor Control Library</strong> - v2.02.00
<ul>
<li>MSPSWSDK-4051 : Renamed Sensorless FOC middleware from motor_control_bldc_sensorless_foc to motor_control_pmsm_sensorless_foc</li>
<li>MSPSWSDK-3964 : Implemented power control</li>
<li>MSPSWSDK-3965 : Optimized sine and cosine computation cycles using MATHACL peripheral</li>
</ul></li>
<li><strong>Sensored FOC PMSM Motor Control Library</strong> - v1.00.00
<ul>
<li>MSPSWSDK-3963 : Implemented Hall Effect sensor based FOC control</li>
<li>MSPSWSDK-4007 : Added support for Motor Control Reference design TIDA-010251</li>
<li>MSPSWSDK-4008 : Added support for DRV8316REVM</li>
</ul></li>
<li><strong>Communication Modules</strong> - v1.01.00
<ul>
<li>MSPSWSDK-3962: Added I2C Communication Module with examples for Target and Controller</li>
</ul></li>
<li><strong>IQMath Library</strong> - v2.00.00
<ul>
<li>MSPSWSDK-4060: Changed IQmath generic static libraries to be device specific static libraries</li>
<li>MSPSWSDK-3809, MSPSWSDK-3639: Implemented workaround for sin -90 deg and cos 180 deg</li>
</ul></li>
<li><strong>EEPROM Emulation Library</strong> - v1.01.00
<ul>
<li>MSPSWSDK-3947:
<ul>
<li>Added in a call to DL_executeClearStatus(FLASHCTL) before each DL_FlashCTL_unprotectSector() function call</li>
<li>Adjusted the EEPROM_EMULATION_ADDRESS #define to have a default value in the source library (0x00001000 for eeprom_emulation_type_a and 0x00001400 for eeprom_emulation_type_b). The address of EEPROM_EMULATION_ADDRESS can be overwritten in the application code by having the same #define with a different value</li>
</ul></li>
</ul></li>
<li><strong>TI-Drivers</strong> - v2.01.00
<ul>
<li>MSPSWSDK-4076: Implemented a bug fix where the the UART ISR no longer infinitely loops for DMA Done RX interrupt</li>
</ul></li>
</ul></li>
<li><strong>Code Examples</strong>
<ul>
<li><strong>BSL Code Examples</strong>
<ul>
<li>MSPSWSDK-3997: Created a code example to demonstrate usage of SHA API exposed in ROM section: bsl_sha_api</li>
<li>MSPSWSDK-4099: Updated BSL code examples for MSPM0C1104. Updated BSL GUI.</li>
</ul></li>
<li><strong>Demo Code Examples</strong>
<ul>
<li>MSPSWSDK-4002: Added new demo code example to showcase the MSPM0 to control BQ79616 to detect the battery status: bq79616_uart_to_can</li>
</ul></li>
<li><strong>DriverLib Code Examples</strong>
<ul>
<li>MSPSWSDK-3990: Updated flashctl_ecc_error_injection to remove build warnings and properly allocated memory for buffer to account for modified memory</li>
<li>MSPSWSDK-3961: Added new AESADV code examples to show different encryption/decryption modes: aesadv_cbc_128_enc_dec, aesadv_ctr_128_enc_dec, aesadv_ecb_128_enc_dec, aesadv_gcm_128_enc_dec</li>
</ul></li>
<li><strong>EEPROM Code Examples</strong>
<ul>
<li>MSPSWSDK-3947:
<ul>
<li>Added support for MSPM0Gx51x devices for the eeprom_emulation_type_a, eeprom_emulation_type_a_test, eeprom_emulation_type_b, and eeprom_emulation_type_b_test examples</li>
<li>Adjusted the EEPROM_EMULATION_ADDRESS for eeprom_emulation_type_b to have the application execute as intended</li>
</ul></li>
</ul></li>
<li><strong>PMBus Code Examples</strong>
<ul>
<li>MSPSWSDK-4079:
<ul>
<li>Ported example to the LP_MSPM0G3519 Launchpad</li>
</ul></li>
<li>MSPSWSDK-4098:
<ul>
<li>Fixed incorrect reference to application interrupt handler</li>
</ul></li>
</ul></li>
<li><strong>SMBus Code Examples</strong>
<ul>
<li>MSPSWSDK-4079:
<ul>
<li>Ported examples to the LP_MSPM0G3519 Launchpad</li>
</ul></li>
</ul></li>
<li><strong>FreeRTOS Code Examples</strong>
<ul>
<li>MSPSWSDK-3806: Updated examples to support ROV for CCS Theia</li>
</ul></li>
<li><strong>MSP SubSystems</strong>
<ul>
<li>MSPSWSDK-3883: Fixed ioExpander variable getting optimized out in higher opt levels in io_expander_uart_i2c_spi example</li>
<li>MSPSWSDK-4049: Added new MSP subsystem code examples: frequency_counter_tone_detection, i2c_expander, i2c_expander_uart_to_i2c_bridge</li>
</ul></li>
<li><strong>TI-Drivers Code Examples</strong>
<ul>
<li>MSPSWSDK-3869: Added an empty project for FreeRTOS for all MSPM0 devices</li>
</ul></li>
</ul></li>
<li><strong>Documentation</strong>
<ul>
<li>MSPSWSDK-3919: Updated CCS IDE Guide and SysConfig Guide with details on updated device migration flow after SysConfig GPN update.</li>
<li>MSPSWSDK-3898: Documented steps on how to use MSPM0Gx51x with latest version of IAR as of August.</li>
<li>MSPSWSDK-3881: Fixed incorrect hyperlink to MSPM0L122x/L222x API Guide from the DriverLib API Guide Overview page</li>
<li>MSPSWSDK-3872: Updated TI Drivers API Guide to add support for MSPM0L122x/L222x devices</li>
</ul></li>
</ul></li>
<li>2.01.00.03
<ul>
<li><strong>DriverLib Library</strong> - v1.32.00
<ul>
<li>MSPSWSDK-3607: Fixed DL_TIMER_CC_IN_SEL defines having a typo in dl_timer.h</li>
<li>MSPSWSDK-3786: Added defines for TIMG14 supporting CCP channels 2 and 3 to dl_timerg.h</li>
<li>MSPSWSDK-3790: Handled MSPM0C110X ADC errata: ADC_ERR_06.
<ul>
<li>Added new FactoryRegion DriverLib API DL_FactoryRegion_getADCOffset that returns ADC TRIM value from 0x41C40040</li>
<li>Added new ADC DriverLib API DL_ADC12_getADCOffsetCalibration that returns calibrated ADC offset</li>
</ul></li>
<li>MSPSWSDK-3811: Updated some Timer APIs to to reflect that some timer instances are 32 bits.</li>
<li>MSPSWSDK-3827: Fixed DL_TimerA_initPWMMode to correct the output behavior when using PWM_MODE_EDGE_ALIGN_UP</li>
<li>MSPSWSDK-3381: Updated DL_FlashCTL_unprotectSector API to account for DATA bank</li>
<li>MSPSWSDK-3849: Updated DL_FlashCTL_programMemoryBlocking* APIs to move the clear status command before unprotecting memory</li>
<li>MSPSWSDK-3808: Updated DL_SYSCTL_getTempCalibrationConstant API for each device family to use FactoryRegion API instead of hard-coded address</li>
</ul></li>
<li><strong>SysConfig</strong> - v1.32.00
<ul>
<li>Clock Tree
<ul>
<li>MSPSWSDK-3822: Fixed warning for LFXT saying it needs VBAT powered on MSPM0G350x devices instead of MSPM0L122x/L222x devices</li>
</ul></li>
<li>COMP
<ul>
<li>MSPSWSDK-3847: Updated Comparator Blanking Source if selected to show an error if the specific timer instance and channel have not been configured</li>
</ul></li>
<li>I2C
<ul>
<li>MSPSWSDK-3656: Disabled Target WakeUp Enable function by default when configuring an I2C Target</li>
</ul></li>
<li>RTC
<ul>
<li>MSPSWSDK-3629: Fixed incorrect inline comment in code generation for the reported frequency of the periodic alarm 1</li>
</ul></li>
<li>SYSCTL
<ul>
<li>MSPSWSDK-3856: Added PA2 as an available pin when configuring External ROSC for MSPM0Lx22x devices.</li>
</ul></li>
<li>TIMER
<ul>
<li>MSPSWSDK-3826: Fixed issue when selecting a CCP channel where setting the capture compare channel update mode needed to occur before setting the capture compare value</li>
<li>MSPSWSDK-2424: Added phase load configuration options to the TIMER and TIMER PWM SysConfig modules</li>
<li>MSPSWSDK-3675: Added Timer Internal Channels 4-5 as channel options for TIMA on the TIMER PWM and TIMER COMPARE SysConfig modules</li>
<li>MSPSWSDK-3759: Updated the description for timer clock divider and prescaler for clarity</li>
<li>MSPSWSDK-3803: Fixed CC2/CC3 events and interrupts incorrectly not being selectable for TIMG14</li>
</ul></li>
</ul></li>
<li><strong>Middleware</strong>
<ul>
<li><strong>Sensorless FOC BLDC Motor Control Library</strong> - v2.01.00
<ul>
<li>MSPSWSDK-3814: Fixed memory overflow in the variable input structures. Updated linker command file and main.h file FW version location.</li>
<li>MSPSWSDK-3833: Added support for High Voltage Motor Control Reference design TIDA-010250.</li>
<li>MSPSWSDK-3834: Fixed Motor Start up failure when commanded with speed immediately after setting the custom tuning parameters. Added support for a new configuration “updateConfigs” to monitor the parameter update status before sending the speed command.</li>
</ul></li>
</ul></li>
<li><strong>Header Files</strong>
<ul>
<li>MSPSWSDK-3535: Fixed incorrect maximum values for Timer Counter and Load values in hw_gptimer.h</li>
</ul></li>
<li><strong>Code Examples</strong>
<ul>
<li><strong>DriverLib Code Examples</strong>
<ul>
<li>MSPSWSDK-3790: Handled MSPM0C110X ADC errata: ADC_ERR_06.
<ul>
<li>Updated ADC12 DriverLib examples to showcase how to apply ADC offset to ADC memory result</li>
</ul></li>
<li>MSPSWSDK-2966: Added SysConfig support to AESADV DriverLib code examples</li>
<li>MSPSWSDK-3812: Added notes to recommend using external pull-ups for I2C examples</li>
<li>MSPSWSDK-3852: Updated all FlashCtl DriverLib code examples to execute clear status command before any flash operation</li>
</ul></li>
<li><strong>Demo Code Examples</strong>
<ul>
<li>MSPSWSDK-3819: Added new demo code example for LP_MSPM0L2228 Out of Box Experience</li>
<li>MSPSWSDK-3823: Added new demo code example motor_control_bdc_sensor for MSPM0C BDC motor control</li>
<li>MSPSWSDK-3824: Added new demo code example pga460_control_spi for MSPM0C control PGA460 driver</li>
</ul></li>
<li><strong>TI Drivers Code Examples</strong>
<ul>
<li>MSPSWSDK-3813: Removed code comment that the TI Drivers config files were generated by SysConfig</li>
</ul></li>
<li><strong>Battery Gauge L2 Code Examples</strong>
<ul>
<li>MSPSWSDK-3778: Added new battery gauge L2 code example gauge_level2_bq76952 for LP_MSPM0G3507</li>
</ul></li>
</ul></li>
<li><strong>Documentation</strong>
<ul>
<li>MSPSWSDK-3854: Updated MSP-GANG documentation to include the E2E FAQ for alternative production programming tools</li>
<li>MSPSWSDK-3855: Created new guide for OpenOCD support for MSPM0</li>
</ul></li>
<li><strong>Other</strong>
<ul>
<li>MSPSWSDK-3760: Standardized code examples naming and directory structure</li>
</ul></li>
</ul></li>
<li>2.00.01.00
<ul>
<li><strong>DriverLib Library</strong> - v1.31.01
<ul>
<li>MSPSWSDK-3804: Fixed issue with case statement for 1-4 mux mode in DL_LCD_setPinAsCommon API in dl_lcd.c</li>
</ul></li>
<li><strong>SysConfig</strong> - v1.31.01
<ul>
<li>MSPSWSDK-3791: Fixed MCAN peripheral not being available for the MSPM0G310X devices</li>
</ul></li>
</ul></li>
<li>2.00.00.03
<ul>
<li><strong>DriverLib Library</strong> - v1.31.00
<ul>
<li>MSPSWSDK-2730: Fixed DL_SYSCTL_setPowerPolicySTOP0() and DL_SYSCTL_setPowerPolicySTOP1() APIs incorrectly making ULP to run at 32 MHz instead of 32 kHz in RUN1 and RUN2 modes</li>
<li>MSPSWSDK-3314: Fixed issue in DL_Timer_initCaptureMode where the various modes with up counting where not being selected</li>
<li>MSPSWSDK-3323: Fixed issue with DL_LCD_setPinAsCommon where it was incorrectly setting the blinking memory</li>
<li>MSPSWSDK-3715: Fixed issue with DL_LCD_setPinAsCommon not correctly selecting some mux rates</li>
<li>MSPSWSDK-3716: Update documentation of DL_UART_setTransmitPinManualOutput to correctly reference DL_UART_disableTransmitPinManualControl</li>
<li>MSPSWSDK-3419: Added new DL_SYSCTL_RESET_SYSRST macro to replace deprecated DL_SYSCTL_RESET_CPU macro</li>
<li>MSPSWSDK-3650: Added DriverLib APIs to access PDBGCTL register for WWDT</li>
<li>MSPSWSDK-3652: Added support for GPIOC interrupts in dl_interrupt.h</li>
<li>MSPSWSDK-3717: Fixed typo in DL_FlashCTL_programMemoryFromRAM32WithECCGenerated API description</li>
<li>MSPSWSDK-3756: Fixed issue in DL_TAMPERIO APIs incorrectly writing to upper bits of register</li>
<li>MSPSWSDK-3757: Fixed issue with SYSCTL SUPERCAP APIs missing SYSTEMCFG unlock key</li>
</ul></li>
<li><strong>SysConfig</strong> - v1.31.00
<ul>
<li>General
<ul>
<li>MSPSWSDK-3490: Fixed issue for M0L134x devices where some OPA pins were being recognized as standard GPIO pins and attempts to configured unused pins caused build issues</li>
<li>MSPSWSDK-3642: Fixed incorrect pinout for DGS28 packages</li>
<li>MSPSWSDK-3711: Added notes that VBAT is required on the LFSS modules (and LFXT) for MSPM0L122X/L222X</li>
<li>MSPSWSDK-3742: Removed COMP incorrectl showing as an available peripheral for M0G110x devices</li>
</ul></li>
<li>ADC
<ul>
<li>MSPSWSDK-2258: Updated ADC Conversion Period description detailing the factors that contribute to the calculation as well the overall formula used to determine this field</li>
<li>MSPSWSDK-3338: Fixed incorrect ADC Conversion Period calculation in some modes</li>
<li>MSPSWSDK-3582: Fixed issue with MSPM0G ADC Channel 12 Resource Error</li>
<li>MSPSWSDK-2295: Added voltage configuration of VDDA for ADC to SysConfig Board module</li>
<li>MSPSWSDK-2296: Updated reference voltage units to volts in code generation</li>
</ul></li>
<li>COMP
<ul>
<li>MSPSWSDK-3618: Fixed incorrect code generation when configuring the Reference Source to VREF</li>
</ul></li>
<li>MCAN
<ul>
<li>MSPSWSDK-3460: Fixed incorrect calculated arbitration and data sample point</li>
<li>MSPSWSDK-3493: Updated extended filter name options to use hex notation instead of binary notation</li>
<li>MSPSWSDK-3494: Fixed MCAN RAM start address parameter based on MCAN element sizes and added check for 32-bit alignment</li>
</ul></li>
<li>NONMAIN Configurator
<ul>
<li>MSPSWSDK-3685: Fixed incorrect default value for MSPM0L122X/L222X UART pin configuration</li>
</ul></li>
<li>SYSCTL
<ul>
<li>MSPSWSDK-3268: When using Clock Tree, disabled the user being able to configure the CANCLK in the SYSCTL module</li>
<li>MSPSWSDK-3693: Removed warning about fVCO pending characterization for most frequencies, this issue has been resolved</li>
</ul></li>
<li>TIMER
<ul>
<li>MSPSWSDK-3221: Fixed incorrect code generation when configuring a Timer as a secondary cross trigger</li>
<li>MSPSWSDK-3403: Fixed issue where TIMG instances were incorrectly showing repeat counter as an available feature</li>
<li>MSPSWSDK-3752: Removed outdated pipeline interrupt options from PWM Configuration</li>
</ul></li>
<li>TIMER - Capture
<ul>
<li>MSPSWSDK-3326: Fixed issue where Capture Edge Detection mode field was missing the option for Rising and Falling Edge detection</li>
</ul></li>
<li>VREF
<ul>
<li>MSPSWSDK-3332: For MSPM0L122X/L222X, added support for DL_VREF_enableInternalRefCOMP API</li>
</ul></li>
</ul></li>
<li><strong>Middleware</strong>
<ul>
<li><strong>Battery Gauge L2</strong> - v1.00.00
<ul>
<li>MSPSWSDK-3695: Added battery management Gauge Level 2 library and examples using BQ76952 and with integrated analog</li>
</ul></li>
<li><strong>Boot Image Manager</strong> - v1.01.00
<ul>
<li>MSPSWSDK-3573: Secure Bootloader - Implemented encrypted image transfer to Customer Secure Code (CSC) examples</li>
<li>MSPSWSDK-3725: Fixed build errors with bim_sample_image example</li>
</ul></li>
<li><strong>Communication Modules</strong> - v1.00.00
<ul>
<li>MSPSWSDK-3689: Added new UART Comm Module and corresponding examples and documentation</li>
</ul></li>
<li><strong>Energy Metrology Library</strong> - v2.00.00
<ul>
<li>MSPSWSDK-3666: Add new split phase solution (TIDA-010944). Files and folders were restructured based on energy measurement. This update causes compatibility issues described in this document.</li>
<li>MSPSWSDK-3620: Add metrology GUI to SDK</li>
</ul></li>
<li><strong>IQMath Library</strong> - v1.11.00
<ul>
<li>MSPSWSDK-3661: Improved IQMpy performance for IQMath RTS. Benchmarks updated to latest compiler</li>
</ul></li>
<li><strong>Sensorless FOC BLDC Motor Control Library</strong> - v2.00.00
<ul>
<li>MSPSWSDK-3663: Updated HAL drivers for single shunt support. This update causes compatibility issues described in this document.</li>
<li>MSPSWSDK-3698: Updated HAL drivers configurations for DRV8329 Driver with single shunt configuration. This update causes compatibility issues described in this document.</li>
<li>MSPSWSDK-3664: Updated HAL drivers and AppLib configuration for field weakening support. This update causes compatibility issues described in this document.</li>
<li>MSPSWSDK-3665: Updated HAL drivers and AppLib configuration for MTPA feature support. This update causes compatibility issues described in this document.</li>
</ul></li>
<li><strong>SMBus Library</strong> - v2.00.00
<ul>
<li>MSPSWSDK-3458: Removed some BKPTs that were in the SMBus library</li>
<li>MSPSWSDK-3676: Fixed SMBUS Target HW PEC. Device now responds a NACK if PEC is wrong and returns error if PEC is missing. This update causes compatibility issues described in this document.</li>
</ul></li>
<li><strong>SENT Library</strong> - v1.00.01
<ul>
<li>MSPSWSDK-3623: Fixed incorrect pause calculation in SENT library</li>
</ul></li>
<li><strong>TI Drivers</strong> - v2.00.00
<ul>
<li>MSPSWSDK-3588: Added I2C Target TI Driver and corresponding examples</li>
<li>MSPSWSDK-3630: Implemented workaround to fix link order bug with non-SysConfig examples. Added known issue for examples which don’t support automated device migration in CCS</li>
<li>MSPSWSDK-3646: Added MSPM0L22x support in TI-Drivers and create examples</li>
<li>MSPSWSDK-3737: Removed TI Drivers and kernel examples for M0L devices due to memory restrictions</li>
<li>MSPSWSDK-3745: Addressed the Documentation issues for TI Drivers</li>
<li>MSPSWSDK-3687: Merged low level UART drivers for M0L and M0G. This update causes compatibility issues described in this document.</li>
</ul></li>
</ul></li>
<li><strong>DriverLib Code Examples</strong>
<ul>
<li>MSPSWSDK-3453: Fixed issue where LP_MSPM02228 empty example for Keil incorrectly included two DriverLib libraries</li>
<li>MSPSWSDK-3461: Fixed issue where dac12_fifo_timer_event had wrong interrupt case</li>
<li>MSPSWSDK-3523: Fixed issue where i2c_target_rw_multibyte_fifo_interrupts_LP_MSPM0L2228 was incorrectly setting the device to Controller instead of Target</li>
<li>MSPSWSDK-3616: Update trng_sample example to manually clear the interrupt flag to ensure correct data</li>
<li>MSPSWSDK-2327: Removed DriverLib.a from being copied into Keil code examples</li>
<li>MSPSWSDK-3294: Updated adc12_internal_temp_sensor_mathacl to use updated Temperature Sensor coefficient, and fixed calculation to use correct VREF voltage value</li>
<li>MSPSWSDK-3397: Updated Keil code examples to set default debugger to CMSIS-DAP</li>
<li>MSPSWSDK-3434: Added flashctl_nonmain_memory_write example for LP_MSPM0L2228</li>
<li>MSPSWSDK-3668: Added SysConfig support for the LP_MSPM0L2228 empty example</li>
<li>MSPSWSDK-3679: Updated READMEs for low-power mode DriverLib examples to better describe low-power mode behavior while debugging</li>
<li>MSPSWSDK-3741: Renamed DriverLib example timx_timer_mode_pwm_cross_trigger_stop_restore to timx_timer_mode_pwm_x_trig_stop_restore</li>
<li>MSPSWSDK-3754: Fixed incorrect Flash and SRAM sizes in generated linker files for CUSTOM_BOARD empty examples</li>
</ul></li>
<li><strong>MSP Subsystem Code Examples</strong>
<ul>
<li>MSPSWSDK-3291: Added new MSP subsystems:
<ul>
<li>io_expander_i2c_host</li>
<li>io_expander_i2c_target</li>
<li>spi_to_can_bridge</li>
</ul></li>
</ul></li>
<li><strong>Batery Gauge Code Examples</strong>
<ul>
<li>MSPSWSDK-3198: Added examples using BQ7690x for TIDA-010268 Battery Pack design</li>
<li>MSPSWSDK-3686: Updated bq769x2_control_i2c examples. Added example</li>
</ul></li>
<li><strong>BSL Code Examples</strong>
<ul>
<li>MSPSWSDK-3442: Fixed secondary_bsl_can example to use DL_FlashCTL_eraseMemoryFromRAM instead of DL_FlashCTL_eraseMemory</li>
<li>MSPSWSDK-3733: Added the following BSL examples for LP_MSPM0L2228:
<ul>
<li>bsl_i2c_flash_interface</li>
<li>bsl_spi_flash_interface</li>
<li>bsl_uart_flash_interface</li>
<li>secondary_bsl_uart</li>
</ul></li>
<li>MSPSWSDK-3735: Added Flash BSL code examples for LP_MSMP0C1104:
<ul>
<li>flash_bsl</li>
<li>flash_bsl_app_invoke</li>
</ul></li>
<li>MSPSWSDK-3635: Updated BSL host code examples</li>
</ul></li>
<li><strong>Documentation</strong>
<ul>
<li>MSPSWSDK-3509: Fixed outdated version numbers in some documentation</li>
<li>MSPSWSDK-3655: Added MSPM0L122X_L222X API Documentation</li>
<li>MSPSWSDK-2899: Updated the CCS and CCS Theia IDE Guides to point to the documentation on tiarmobjcopy</li>
<li>MSPSWSDK-3673: Updating Tools related documentation and FAQ and Known Issues Guide with more detailed and up-to-date information on low-power mode debugging, considerations when using 3P tools, and more troubleshooting information</li>
<li>MSPSWSDK-3706: Fixed outdated version numbers in some middleware User Guides</li>
<li>MSPSWSDK-3747: Updated the Keil QuickStart guide to no longer require switching debugger to CMSIS-DAP, since it is the default now</li>
</ul></li>
<li><strong>Tools</strong>
<ul>
<li>MSPSWSDK-3746: Updated MSPM0 BSL GUI tooling to remove the BSL GUI executable, and instead added batch file and instructions on how to build the GUI</li>
</ul></li>
</ul></li>
</ul>
<h3 id="previous-upgrade-and-compatibility">Previous Upgrade and Compatibility</h3>
<ul>
<li>2.02.00.05
<ul>
<li>SysConfig - v1.33.00
<ul>
<li>MSPSWSDK-3847: This adds validation to force users to configure relevant PWM channels when selecting the matching COMP Blanking Source. Anybody previously configuring Blanking Source on COMP without configuring the relevant PWM Channel will see an error until they have updated their configuration. Error messages give detailed description of what needs to be enabled.</li>
<li>MSPSWSDK-3913: On SysConfig, UDIV3 selection for ULPCLK has been disabled for MSPM0G devices. This matches device behavior, as option does not exist on device. Users should update their configuration to one of the valid UDIV options if in use.</li>
<li>MSPSWSDK-3703: SysConfig now allows for GPN-specific device selection. Projects developed with previous version will have to select the specific GPN when launched on the new version of the tool by following the on-screen instructions.</li>
<li>MSPSWSDK-3882: GPIO Hysteresis enable and disable bits were previously reversed, and they have now been corrected on DriverLib. In SysConfig, the selection is now done automatically by default based on the pin IO type, enabling the feature if it is available. If the user had previously selected a hysteresis configuration and wants to enforce it, they should now toggle the new “Override Pin Hysteresis Default” option.</li>
</ul></li>
</ul></li>
<li>2.00.01.00
<ul>
<li>Not applicable for this release</li>
</ul></li>
<li>2.00.00.03
<ul>
<li>SMBus Library - v2.00.00
<ul>
<li>MSPSWSDK-3676: Application must now report command length to SMBus drivers when enabling PEC.
<ul>
<li>The application should call <code>SMBus_targetReportBlock</code> and/or <code>SMBus_targetReportLength</code> when the SMBus is in <code>SMBus_State_Target_FirstByte</code> state. See SMBus target examples for a sample implementation.</li>
</ul></li>
<li>MSPSWSDK-3676: SMBus Target PEC error interrupt should be disabled. This flag is checked manually by the library during reception.
<ul>
<li>When using SysConfig, this option can be disabled at Interrupt Configuration → Target Interrupts.</li>
</ul></li>
</ul></li>
<li>TI Drivers - v2.00.00
<ul>
<li>MSPSWSDK-3687: The low level UART driver files located at <code><sdk>\source\ti\drivers\uart\</code> are now merged to a common driver.
<ul>
<li>The following files changed:
<ul>
<li><code>UARTMSPM0G1X0X_G3X0X.c</code> and <code>UARTMSPM0L11XX_L13XX.c</code> → <code>UARTMSPM0.c</code></li>
<li><code>UARTSupportMSPM0G1X0X_G3X0X.h</code> and <code>UARTSupportMSPM0L11XX_L13XX.h</code> → <code>UARTSupportMSPM0.h</code></li>
<li><code>UARTMSPM0G1X0X_G3X0X.h</code> and <code>UARTMSPM0L11XX_L13XX.h</code> → <code>UARTMSPM0.h</code></li>
</ul></li>
<li>If a project is referencing the previous header files, they have to be replaced with <code>UARTMSPM0.h</code> or <code>UARTSupportMSPM0.h</code> respectively.</li>
</ul></li>
</ul></li>
<li>Energy Metrology Library - v2.00.00
<ul>
<li>MSPSWSDK-3666: Files and folders were restructured based on energy measurement.
<ul>
<li>The following change is required in code:
<ul>
<li>Structure name changed <code>gMetrologyworkingData</code> → <code>gMetrologyWorkingData</code>.</li>
</ul></li>
<li>The following file changed and references must be fixed where required:
<ul>
<li><code>TIDA-010243.h</code> → <code>TIDA_010243.h</code></li>
</ul></li>
<li>The following paths changed and must be updated in example properties: