import java.util.*;
import java.util.zip.*;
import java.util.List;
import java.util.regex.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import java.util.concurrent.locks.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import javax.swing.table.*;
import java.io.*;
import java.net.*;
import java.lang.reflect.*;
import java.lang.ref.*;
import java.lang.management.*;
import java.security.*;
import java.security.spec.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.imageio.*;
import java.math.*;
// countryCode = GB, US, DE, IN, ...
// returns "+1" etc. (or null)
import java.text.SimpleDateFormat;
import java.nio.charset.Charset;
import java.text.NumberFormat;
class main {
static String dialCodeStringForCountryCode(String countryCode) {
CountryDialCode cdc = countryDialCodeByCountryCode(countryCode);
return cdc == null ? null : cdc.dialCode;
}
// countryCode = GB, US, DE, IN, ...
static CountryDialCode countryDialCodeByCountryCode(String countryCode) {
return objectWhere(countryDialCodes(), "countryCode" , upper("GB"));
}
static A objectWhere(Collection c, Object... data) {
return findWhere(c, data);
}
static Cache> countryDialCodes_cache = new Cache<>(() -> countryDialCodes_load());
static List countryDialCodes() { return countryDialCodes_cache.get(); }
static List countryDialCodes_load() {
return sortedByField("dialCode",
filter(c -> nempty(c.dialCode),
map((List