exiftool_vendored 12.64.1 → 12.65.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -21,7 +21,7 @@ use vars qw($VERSION $AUTOLOAD $lastFetched);
21
21
  use Image::ExifTool qw(:DataAccess :Utils);
22
22
  require Exporter;
23
23
 
24
- $VERSION = '1.56';
24
+ $VERSION = '1.57';
25
25
 
26
26
  sub FetchObject($$$$);
27
27
  sub ExtractObject($$;$$);
@@ -112,10 +112,13 @@ my %supportedFilter = (
112
112
  Keywords => {
113
113
  List => 'string', # this is a string list
114
114
  Notes => q{
115
- stored as a string but treated as a comma-separated list of items when
116
- reading if the string contains a comma, otherwise a space-separated list of
117
- items. Written as a comma-separated list. The list behaviour may be
118
- defeated by setting the API NoPDFList option
115
+ stored as a string but treated as a comma- or semicolon-separated list of
116
+ items when reading if the string contains commas or semicolons, whichever is
117
+ more numerous, otherwise it is treated a space-separated list of items.
118
+ Written as a comma-separated list. The list behaviour may be defeated by
119
+ setting the API NoPDFList option. Note that the corresponding
120
+ XMP-pdf:Keywords tag is not treated as a list, so the NoPDFList option
121
+ should be used when copying between these two.
119
122
  },
120
123
  },
121
124
  Creator => { },
@@ -1762,6 +1765,7 @@ sub ExpandArray($)
1762
1765
  # 4) nesting depth, 5) dictionary capture type
1763
1766
  sub ProcessDict($$$$;$$)
1764
1767
  {
1768
+ local $_;
1765
1769
  my ($et, $tagTablePtr, $dict, $xref, $nesting, $type) = @_;
1766
1770
  my $verbose = $et->Options('Verbose');
1767
1771
  my $unknown = $$tagTablePtr{EXTRACT_UNKNOWN};
@@ -2025,10 +2029,16 @@ sub ProcessDict($$$$;$$)
2025
2029
  }
2026
2030
  if ($$tagInfo{List} and not $$et{OPTIONS}{NoPDFList}) {
2027
2031
  # separate tokens in comma or whitespace delimited lists
2028
- my @values = ($val =~ /,/) ? split /,+\s*/, $val : split ' ', $val;
2029
- foreach $val (@values) {
2030
- $et->FoundTag($tagInfo, $val);
2032
+ my $comma = $val =~ tr/,/,/;
2033
+ my $semi = $val =~ tr/;/;/;
2034
+ my $split;
2035
+ if ($comma or $semi) {
2036
+ $split = $comma > $semi ? ',+\\s*' : ';+\\s*';
2037
+ } else {
2038
+ $split = ' ';
2031
2039
  }
2040
+ my @values = split $split, $val;
2041
+ $et->FoundTag($tagInfo, $_) foreach @values;
2032
2042
  } else {
2033
2043
  # a simple tag value
2034
2044
  $et->FoundTag($tagInfo, $val);
@@ -37,6 +37,7 @@
37
37
  # 25) https://cconcolato.github.io/mp4ra/atoms.html
38
38
  # 26) https://github.com/SamsungVR/android_upload_sdk/blob/master/SDKLib/src/main/java/com/samsung/msca/samsungvr/sdk/UserVideo.java
39
39
  # 27) https://exiftool.org/forum/index.php?topic=11517.0
40
+ # 28) https://docs.mp3tag.de/mapping/
40
41
  #------------------------------------------------------------------------------
41
42
 
42
43
  package Image::ExifTool::QuickTime;
@@ -47,7 +48,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
47
48
  use Image::ExifTool::Exif;
48
49
  use Image::ExifTool::GPS;
49
50
 
50
- $VERSION = '2.86';
51
+ $VERSION = '2.87';
51
52
 
52
53
  sub ProcessMOV($$;$);
53
54
  sub ProcessKeys($$$);
@@ -3396,8 +3397,9 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
3396
3397
  },
3397
3398
  albm => { Name => 'Album', Avoid => 1 }, #(ffmpeg source)
3398
3399
  apID => 'AppleStoreAccount',
3399
- atID => { #10 (or TV series)
3400
- Name => 'AlbumTitleID',
3400
+ atID => {
3401
+ # (ref 10 called this AlbumTitleID or TVSeries)
3402
+ Name => 'ArtistID', #28 (or Track ID ref https://gist.github.com/maf654321/2b44c7b15d798f0c52ee)
3401
3403
  Format => 'int32u',
3402
3404
  Writable => 'int32s', #27
3403
3405
  },
@@ -3408,6 +3410,7 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
3408
3410
  Format => 'int32u',
3409
3411
  Writable => 'int32s', #27
3410
3412
  },
3413
+ cmID => 'ComposerID', #28 (need sample to get format)
3411
3414
  cprt => { Name => 'Copyright', Groups => { 2 => 'Author' } },
3412
3415
  dscp => { Name => 'Description', Avoid => 1 },
3413
3416
  desc => { Name => 'Description', Avoid => 1 }, #7
@@ -6100,10 +6103,10 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
6100
6103
  PrintConv => { 0 => 'No', 1 => 'Yes' },
6101
6104
  },
6102
6105
  perf => 'Performer',
6103
- plID => { #10 (or TV season)
6104
- Name => 'PlayListID',
6105
- Format => 'int8u', # actually int64u, but split it up
6106
- Count => 8,
6106
+ plID => {
6107
+ # (ref 10 called this PlayListID or TVSeason)
6108
+ Name => 'AlbumID', #28
6109
+ Format => 'int64u',
6107
6110
  Writable => 'int32s', #27
6108
6111
  },
6109
6112
  purd => 'PurchaseDate', #7
@@ -6565,6 +6568,7 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
6565
6568
  'rating.user' => 'UserRating', # (Canon ELPH 510 HS)
6566
6569
  'collection.user' => 'UserCollection', #22
6567
6570
  'Encoded_With' => 'EncodedWith',
6571
+ 'content.identifier' => 'ContentIdentifier', #forum14874
6568
6572
  #
6569
6573
  # the following tags aren't in the com.apple.quicktime namespace:
6570
6574
  #
@@ -9519,13 +9523,17 @@ sub ProcessMOV($$;$)
9519
9523
  my $items = $$et{ItemInfo};
9520
9524
  my ($id, $prop, $docNum, $lowest);
9521
9525
  my $primary = $$et{PrimaryItem} || 0;
9522
- ItemID: foreach $id (keys %$items) {
9526
+ ItemID: foreach $id (reverse sort { $a <=> $b } keys %$items) {
9523
9527
  next unless $$items{$id}{Association};
9524
9528
  my $item = $$items{$id};
9525
9529
  foreach $prop (@{$$item{Association}}) {
9526
9530
  next unless $prop == $index;
9527
9531
  if ($id == $primary or (not $dontInherit{$tag} and
9528
- (not $$item{RefersTo} or $$item{RefersTo}{$primary})))
9532
+ (($$item{RefersTo} and $$item{RefersTo}{$primary}) or
9533
+ # hack: assume Item 1 is from the main image (eg. hvc1 data)
9534
+ # to hack the case where the primary item (ie. main image)
9535
+ # doesn't directly reference this property
9536
+ (not $$item{RefersTo} and $id == 1))))
9529
9537
  {
9530
9538
  # this is associated with the primary item or an item describing
9531
9539
  # the primary item, so consider this part of the main document
@@ -9536,7 +9544,7 @@ ItemID: foreach $id (keys %$items) {
9536
9544
  # this property is already associated with an item that has
9537
9545
  # an ExifTool document number, so use the lowest associated DocNum
9538
9546
  $docNum = $$item{DocNum} if not defined $docNum or $docNum > $$item{DocNum};
9539
- } elsif (not defined $lowest or $lowest > $id) {
9547
+ } else {
9540
9548
  # keep track of the lowest associated item ID
9541
9549
  $lowest = $id;
9542
9550
  }
@@ -22,7 +22,7 @@ use vars qw($VERSION %samsungLensTypes);
22
22
  use Image::ExifTool qw(:DataAccess :Utils);
23
23
  use Image::ExifTool::Exif;
24
24
 
25
- $VERSION = '1.53';
25
+ $VERSION = '1.54';
26
26
 
27
27
  sub WriteSTMN($$$);
28
28
  sub ProcessINFO($$$);
@@ -1004,232 +1004,232 @@ my %formatMinMax = (
1004
1004
  Name => 'MCCData',
1005
1005
  Groups => { 2 => 'Location' },
1006
1006
  PrintConv => {
1007
- 202 => 'Greece',
1008
- 204 => 'Netherlands',
1009
- 206 => 'Belgium',
1010
- 208 => 'France',
1011
- 212 => 'Monaco',
1012
- 213 => 'Andorra',
1013
- 214 => 'Spain',
1014
- 216 => 'Hungary',
1015
- 218 => 'Bosnia & Herzegov.',
1016
- 219 => 'Croatia',
1017
- 220 => 'Serbia',
1018
- 221 => 'Kosovo',
1019
- 222 => 'Italy',
1020
- 226 => 'Romania',
1021
- 228 => 'Switzerland',
1022
- 230 => 'Czech Rep.',
1023
- 231 => 'Slovakia',
1024
- 232 => 'Austria',
1025
- 234 => 'United Kingdom',
1026
- 235 => 'United Kingdom',
1027
- 238 => 'Denmark',
1028
- 240 => 'Sweden',
1029
- 242 => 'Norway',
1030
- 244 => 'Finland',
1031
- 246 => 'Lithuania',
1032
- 247 => 'Latvia',
1033
- 248 => 'Estonia',
1034
- 250 => 'Russian Federation',
1035
- 255 => 'Ukraine',
1036
- 257 => 'Belarus',
1037
- 259 => 'Moldova',
1038
- 260 => 'Poland',
1039
- 262 => 'Germany',
1040
- 266 => 'Gibraltar',
1041
- 268 => 'Portugal',
1042
- 270 => 'Luxembourg',
1043
- 272 => 'Ireland',
1044
- 274 => 'Iceland',
1045
- 276 => 'Albania',
1046
- 278 => 'Malta',
1047
- 280 => 'Cyprus',
1048
- 282 => 'Georgia',
1049
- 283 => 'Armenia',
1050
- 284 => 'Bulgaria',
1051
- 286 => 'Turkey',
1052
- 288 => 'Faroe Islands',
1053
- 289 => 'Abkhazia',
1054
- 290 => 'Greenland',
1055
- 292 => 'San Marino',
1056
- 293 => 'Slovenia',
1057
- 294 => 'Macedonia',
1058
- 295 => 'Liechtenstein',
1059
- 297 => 'Montenegro',
1060
- 302 => 'Canada',
1061
- 308 => 'St. Pierre & Miquelon',
1062
- 310 => 'United States / Guam',
1063
- 311 => 'United States / Guam',
1064
- 312 => 'United States',
1065
- 316 => 'United States',
1066
- 330 => 'Puerto Rico',
1067
- 334 => 'Mexico',
1068
- 338 => 'Jamaica',
1069
- 340 => 'French Guiana / Guadeloupe / Martinique',
1070
- 342 => 'Barbados',
1071
- 344 => 'Antigua and Barbuda',
1072
- 346 => 'Cayman Islands',
1073
- 348 => 'British Virgin Islands',
1074
- 350 => 'Bermuda',
1075
- 352 => 'Grenada',
1076
- 354 => 'Montserrat',
1077
- 356 => 'Saint Kitts and Nevis',
1078
- 358 => 'Saint Lucia',
1079
- 360 => 'St. Vincent & Gren.',
1080
- 362 => 'Bonaire, Sint Eustatius and Saba / Curacao / Netherlands Antilles',
1081
- 363 => 'Aruba',
1082
- 364 => 'Bahamas',
1083
- 365 => 'Anguilla',
1084
- 366 => 'Dominica',
1085
- 368 => 'Cuba',
1086
- 370 => 'Dominican Republic',
1087
- 372 => 'Haiti',
1088
- 374 => 'Trinidad and Tobago',
1089
- 376 => 'Turks and Caicos Islands / US Virgin Islands',
1090
- 400 => 'Azerbaijan',
1091
- 401 => 'Kazakhstan',
1092
- 402 => 'Bhutan',
1093
- 404 => 'India',
1094
- 405 => 'India',
1095
- 410 => 'Pakistan',
1096
- 412 => 'Afghanistan',
1097
- 413 => 'Sri Lanka',
1098
- 414 => 'Myanmar (Burma)',
1099
- 415 => 'Lebanon',
1100
- 416 => 'Jordan',
1101
- 417 => 'Syrian Arab Republic',
1102
- 418 => 'Iraq',
1103
- 419 => 'Kuwait',
1104
- 420 => 'Saudi Arabia',
1105
- 421 => 'Yemen',
1106
- 422 => 'Oman',
1107
- 424 => 'United Arab Emirates',
1108
- 425 => 'Israel / Palestinian Territory',
1109
- 426 => 'Bahrain',
1110
- 427 => 'Qatar',
1111
- 428 => 'Mongolia',
1112
- 429 => 'Nepal',
1113
- 430 => 'United Arab Emirates',
1114
- 431 => 'United Arab Emirates',
1115
- 432 => 'Iran',
1116
- 434 => 'Uzbekistan',
1117
- 436 => 'Tajikistan',
1118
- 437 => 'Kyrgyzstan',
1119
- 438 => 'Turkmenistan',
1120
- 440 => 'Japan',
1121
- 441 => 'Japan',
1122
- 450 => 'South Korea',
1123
- 452 => 'Viet Nam',
1124
- 454 => 'Hongkong, China',
1125
- 455 => 'Macao, China',
1126
- 456 => 'Cambodia',
1127
- 457 => 'Laos P.D.R.',
1128
- 460 => 'China',
1129
- 466 => 'Taiwan',
1130
- 467 => 'North Korea',
1131
- 470 => 'Bangladesh',
1132
- 472 => 'Maldives',
1133
- 502 => 'Malaysia',
1134
- 505 => 'Australia',
1135
- 510 => 'Indonesia',
1136
- 514 => 'Timor-Leste',
1137
- 515 => 'Philippines',
1138
- 520 => 'Thailand',
1139
- 525 => 'Singapore',
1140
- 528 => 'Brunei Darussalam',
1141
- 530 => 'New Zealand',
1142
- 537 => 'Papua New Guinea',
1143
- 539 => 'Tonga',
1144
- 540 => 'Solomon Islands',
1145
- 541 => 'Vanuatu',
1146
- 542 => 'Fiji',
1147
- 544 => 'American Samoa',
1148
- 545 => 'Kiribati',
1149
- 546 => 'New Caledonia',
1150
- 547 => 'French Polynesia',
1151
- 548 => 'Cook Islands',
1152
- 549 => 'Samoa',
1153
- 550 => 'Micronesia',
1154
- 552 => 'Palau',
1155
- 553 => 'Tuvalu',
1156
- 555 => 'Niue',
1157
- 602 => 'Egypt',
1158
- 603 => 'Algeria',
1159
- 604 => 'Morocco',
1160
- 605 => 'Tunisia',
1161
- 606 => 'Libya',
1162
- 607 => 'Gambia',
1163
- 608 => 'Senegal',
1164
- 609 => 'Mauritania',
1165
- 610 => 'Mali',
1166
- 611 => 'Guinea',
1167
- 612 => 'Ivory Coast',
1168
- 613 => 'Burkina Faso',
1169
- 614 => 'Niger',
1170
- 615 => 'Togo',
1171
- 616 => 'Benin',
1172
- 617 => 'Mauritius',
1173
- 618 => 'Liberia',
1174
- 619 => 'Sierra Leone',
1175
- 620 => 'Ghana',
1176
- 621 => 'Nigeria',
1177
- 622 => 'Chad',
1178
- 623 => 'Central African Rep.',
1179
- 624 => 'Cameroon',
1180
- 625 => 'Cape Verde',
1181
- 626 => 'Sao Tome & Principe',
1182
- 627 => 'Equatorial Guinea',
1183
- 628 => 'Gabon',
1184
- 629 => 'Congo, Republic',
1185
- 630 => 'Congo, Dem. Rep.',
1186
- 631 => 'Angola',
1187
- 632 => 'Guinea-Bissau',
1188
- 633 => 'Seychelles',
1189
- 634 => 'Sudan',
1190
- 635 => 'Rwanda',
1191
- 636 => 'Ethiopia',
1192
- 637 => 'Somalia',
1193
- 638 => 'Djibouti',
1194
- 639 => 'Kenya',
1195
- 640 => 'Tanzania',
1196
- 641 => 'Uganda',
1197
- 642 => 'Burundi',
1198
- 643 => 'Mozambique',
1199
- 645 => 'Zambia',
1200
- 646 => 'Madagascar',
1201
- 647 => 'Reunion',
1202
- 648 => 'Zimbabwe',
1203
- 649 => 'Namibia',
1204
- 650 => 'Malawi',
1205
- 651 => 'Lesotho',
1206
- 652 => 'Botswana',
1207
- 653 => 'Swaziland',
1208
- 654 => 'Comoros',
1209
- 655 => 'South Africa',
1210
- 657 => 'Eritrea',
1211
- 659 => 'South Sudan',
1212
- 702 => 'Belize',
1213
- 704 => 'Guatemala',
1214
- 706 => 'El Salvador',
1215
- 708 => 'Honduras',
1216
- 710 => 'Nicaragua',
1217
- 712 => 'Costa Rica',
1218
- 714 => 'Panama',
1219
- 716 => 'Peru',
1220
- 722 => 'Argentina Republic',
1221
- 724 => 'Brazil',
1222
- 730 => 'Chile',
1223
- 732 => 'Colombia',
1224
- 734 => 'Venezuela',
1225
- 736 => 'Bolivia',
1226
- 738 => 'Guyana',
1227
- 740 => 'Ecuador',
1228
- 744 => 'Paraguay',
1229
- 746 => 'Suriname',
1230
- 748 => 'Uruguay',
1231
- 750 => 'Falkland Islands (Malvinas)',
1232
- 901 => 'International Networks / Satellite Networks',
1007
+ 202 => 'Greece (202)',
1008
+ 204 => 'Netherlands (204)',
1009
+ 206 => 'Belgium (206)',
1010
+ 208 => 'France (208)',
1011
+ 212 => 'Monaco (212)',
1012
+ 213 => 'Andorra (213)',
1013
+ 214 => 'Spain (214)',
1014
+ 216 => 'Hungary (216)',
1015
+ 218 => 'Bosnia & Herzegov. (218)',
1016
+ 219 => 'Croatia (219)',
1017
+ 220 => 'Serbia (220)',
1018
+ 221 => 'Kosovo (221)',
1019
+ 222 => 'Italy (222)',
1020
+ 226 => 'Romania (226)',
1021
+ 228 => 'Switzerland (228)',
1022
+ 230 => 'Czech Rep. (230)',
1023
+ 231 => 'Slovakia (231)',
1024
+ 232 => 'Austria (232)',
1025
+ 234 => 'United Kingdom (234)',
1026
+ 235 => 'United Kingdom (235)',
1027
+ 238 => 'Denmark (238)',
1028
+ 240 => 'Sweden (240)',
1029
+ 242 => 'Norway (242)',
1030
+ 244 => 'Finland (244)',
1031
+ 246 => 'Lithuania (246)',
1032
+ 247 => 'Latvia (247)',
1033
+ 248 => 'Estonia (248)',
1034
+ 250 => 'Russian Federation (250)',
1035
+ 255 => 'Ukraine (255)',
1036
+ 257 => 'Belarus (257)',
1037
+ 259 => 'Moldova (259)',
1038
+ 260 => 'Poland (260)',
1039
+ 262 => 'Germany (262)',
1040
+ 266 => 'Gibraltar (266)',
1041
+ 268 => 'Portugal (268)',
1042
+ 270 => 'Luxembourg (270)',
1043
+ 272 => 'Ireland (272)',
1044
+ 274 => 'Iceland (274)',
1045
+ 276 => 'Albania (276)',
1046
+ 278 => 'Malta (278)',
1047
+ 280 => 'Cyprus (280)',
1048
+ 282 => 'Georgia (282)',
1049
+ 283 => 'Armenia (283)',
1050
+ 284 => 'Bulgaria (284)',
1051
+ 286 => 'Turkey (286)',
1052
+ 288 => 'Faroe Islands (288)',
1053
+ 289 => 'Abkhazia (289)',
1054
+ 290 => 'Greenland (290)',
1055
+ 292 => 'San Marino (292)',
1056
+ 293 => 'Slovenia (293)',
1057
+ 294 => 'Macedonia (294)',
1058
+ 295 => 'Liechtenstein (295)',
1059
+ 297 => 'Montenegro (297)',
1060
+ 302 => 'Canada (302)',
1061
+ 308 => 'St. Pierre & Miquelon (308)',
1062
+ 310 => 'United States / Guam (310)',
1063
+ 311 => 'United States / Guam (311)',
1064
+ 312 => 'United States (312)',
1065
+ 316 => 'United States (316)',
1066
+ 330 => 'Puerto Rico (330)',
1067
+ 334 => 'Mexico (334)',
1068
+ 338 => 'Jamaica (338)',
1069
+ 340 => 'French Guiana / Guadeloupe / Martinique (340)',
1070
+ 342 => 'Barbados (342)',
1071
+ 344 => 'Antigua and Barbuda (344)',
1072
+ 346 => 'Cayman Islands (346)',
1073
+ 348 => 'British Virgin Islands (348)',
1074
+ 350 => 'Bermuda (350)',
1075
+ 352 => 'Grenada (352)',
1076
+ 354 => 'Montserrat (354)',
1077
+ 356 => 'Saint Kitts and Nevis (356)',
1078
+ 358 => 'Saint Lucia (358)',
1079
+ 360 => 'St. Vincent & Gren. (360)',
1080
+ 362 => 'Bonaire, Sint Eustatius and Saba / Curacao / Netherlands Antilles (362)',
1081
+ 363 => 'Aruba (363)',
1082
+ 364 => 'Bahamas (364)',
1083
+ 365 => 'Anguilla (365)',
1084
+ 366 => 'Dominica (366)',
1085
+ 368 => 'Cuba (368)',
1086
+ 370 => 'Dominican Republic (370)',
1087
+ 372 => 'Haiti (372)',
1088
+ 374 => 'Trinidad and Tobago (374)',
1089
+ 376 => 'Turks and Caicos Islands / US Virgin Islands (376)',
1090
+ 400 => 'Azerbaijan (400)',
1091
+ 401 => 'Kazakhstan (401)',
1092
+ 402 => 'Bhutan (402)',
1093
+ 404 => 'India (404)',
1094
+ 405 => 'India (405)',
1095
+ 410 => 'Pakistan (410)',
1096
+ 412 => 'Afghanistan (412)',
1097
+ 413 => 'Sri Lanka (413)',
1098
+ 414 => 'Myanmar (Burma) (414)',
1099
+ 415 => 'Lebanon (415)',
1100
+ 416 => 'Jordan (416)',
1101
+ 417 => 'Syrian Arab Republic (417)',
1102
+ 418 => 'Iraq (418)',
1103
+ 419 => 'Kuwait (419)',
1104
+ 420 => 'Saudi Arabia (420)',
1105
+ 421 => 'Yemen (421)',
1106
+ 422 => 'Oman (422)',
1107
+ 424 => 'United Arab Emirates (424)',
1108
+ 425 => 'Israel / Palestinian Territory (425)',
1109
+ 426 => 'Bahrain (426)',
1110
+ 427 => 'Qatar (427)',
1111
+ 428 => 'Mongolia (428)',
1112
+ 429 => 'Nepal (429)',
1113
+ 430 => 'United Arab Emirates (430)',
1114
+ 431 => 'United Arab Emirates (431)',
1115
+ 432 => 'Iran (432)',
1116
+ 434 => 'Uzbekistan (434)',
1117
+ 436 => 'Tajikistan (436)',
1118
+ 437 => 'Kyrgyzstan (437)',
1119
+ 438 => 'Turkmenistan (438)',
1120
+ 440 => 'Japan (440)',
1121
+ 441 => 'Japan (441)',
1122
+ 450 => 'South Korea (450)',
1123
+ 452 => 'Viet Nam (452)',
1124
+ 454 => 'Hongkong, China (454)',
1125
+ 455 => 'Macao, China (455)',
1126
+ 456 => 'Cambodia (456)',
1127
+ 457 => 'Laos P.D.R. (457)',
1128
+ 460 => 'China (460)',
1129
+ 466 => 'Taiwan (466)',
1130
+ 467 => 'North Korea (467)',
1131
+ 470 => 'Bangladesh (470)',
1132
+ 472 => 'Maldives (472)',
1133
+ 502 => 'Malaysia (502)',
1134
+ 505 => 'Australia (505)',
1135
+ 510 => 'Indonesia (510)',
1136
+ 514 => 'Timor-Leste (514)',
1137
+ 515 => 'Philippines (515)',
1138
+ 520 => 'Thailand (520)',
1139
+ 525 => 'Singapore (525)',
1140
+ 528 => 'Brunei Darussalam (528)',
1141
+ 530 => 'New Zealand (530)',
1142
+ 537 => 'Papua New Guinea (537)',
1143
+ 539 => 'Tonga (539)',
1144
+ 540 => 'Solomon Islands (540)',
1145
+ 541 => 'Vanuatu (541)',
1146
+ 542 => 'Fiji (542)',
1147
+ 544 => 'American Samoa (544)',
1148
+ 545 => 'Kiribati (545)',
1149
+ 546 => 'New Caledonia (546)',
1150
+ 547 => 'French Polynesia (547)',
1151
+ 548 => 'Cook Islands (548)',
1152
+ 549 => 'Samoa (549)',
1153
+ 550 => 'Micronesia (550)',
1154
+ 552 => 'Palau (552)',
1155
+ 553 => 'Tuvalu (553)',
1156
+ 555 => 'Niue (555)',
1157
+ 602 => 'Egypt (602)',
1158
+ 603 => 'Algeria (603)',
1159
+ 604 => 'Morocco (604)',
1160
+ 605 => 'Tunisia (605)',
1161
+ 606 => 'Libya (606)',
1162
+ 607 => 'Gambia (607)',
1163
+ 608 => 'Senegal (608)',
1164
+ 609 => 'Mauritania (609)',
1165
+ 610 => 'Mali (610)',
1166
+ 611 => 'Guinea (611)',
1167
+ 612 => 'Ivory Coast (612)',
1168
+ 613 => 'Burkina Faso (613)',
1169
+ 614 => 'Niger (614)',
1170
+ 615 => 'Togo (615)',
1171
+ 616 => 'Benin (616)',
1172
+ 617 => 'Mauritius (617)',
1173
+ 618 => 'Liberia (618)',
1174
+ 619 => 'Sierra Leone (619)',
1175
+ 620 => 'Ghana (620)',
1176
+ 621 => 'Nigeria (621)',
1177
+ 622 => 'Chad (622)',
1178
+ 623 => 'Central African Rep. (623)',
1179
+ 624 => 'Cameroon (624)',
1180
+ 625 => 'Cape Verde (625)',
1181
+ 626 => 'Sao Tome & Principe (626)',
1182
+ 627 => 'Equatorial Guinea (627)',
1183
+ 628 => 'Gabon (628)',
1184
+ 629 => 'Congo, Republic (629)',
1185
+ 630 => 'Congo, Dem. Rep. (630)',
1186
+ 631 => 'Angola (631)',
1187
+ 632 => 'Guinea-Bissau (632)',
1188
+ 633 => 'Seychelles (633)',
1189
+ 634 => 'Sudan (634)',
1190
+ 635 => 'Rwanda (635)',
1191
+ 636 => 'Ethiopia (636)',
1192
+ 637 => 'Somalia (637)',
1193
+ 638 => 'Djibouti (638)',
1194
+ 639 => 'Kenya (639)',
1195
+ 640 => 'Tanzania (640)',
1196
+ 641 => 'Uganda (641)',
1197
+ 642 => 'Burundi (642)',
1198
+ 643 => 'Mozambique (643)',
1199
+ 645 => 'Zambia (645)',
1200
+ 646 => 'Madagascar (646)',
1201
+ 647 => 'Reunion (647)',
1202
+ 648 => 'Zimbabwe (648)',
1203
+ 649 => 'Namibia (649)',
1204
+ 650 => 'Malawi (650)',
1205
+ 651 => 'Lesotho (651)',
1206
+ 652 => 'Botswana (652)',
1207
+ 653 => 'Swaziland (653)',
1208
+ 654 => 'Comoros (654)',
1209
+ 655 => 'South Africa (655)',
1210
+ 657 => 'Eritrea (657)',
1211
+ 659 => 'South Sudan (659)',
1212
+ 702 => 'Belize (702)',
1213
+ 704 => 'Guatemala (704)',
1214
+ 706 => 'El Salvador (706)',
1215
+ 708 => 'Honduras (708)',
1216
+ 710 => 'Nicaragua (710)',
1217
+ 712 => 'Costa Rica (712)',
1218
+ 714 => 'Panama (714)',
1219
+ 716 => 'Peru (716)',
1220
+ 722 => 'Argentina Republic (722)',
1221
+ 724 => 'Brazil (724)',
1222
+ 730 => 'Chile (730)',
1223
+ 732 => 'Colombia (732)',
1224
+ 734 => 'Venezuela (734)',
1225
+ 736 => 'Bolivia (736)',
1226
+ 738 => 'Guyana (738)',
1227
+ 740 => 'Ecuador (740)',
1228
+ 744 => 'Paraguay (744)',
1229
+ 746 => 'Suriname (746)',
1230
+ 748 => 'Uruguay (748)',
1231
+ 750 => 'Falkland Islands (Malvinas) (750)',
1232
+ 901 => 'International Networks / Satellite Networks (901)',
1233
1233
  },
1234
1234
  },
1235
1235
  # 0x0ab0-name - seen 'DualShot_Meta_Info'