OLD | NEW |
---|---|
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'variables': { | 6 'variables': { |
7 'chromium_code': 1, | 7 'chromium_code': 1, |
8 | 8 |
9 'linux_link_kerberos%': 0, | 9 'linux_link_kerberos%': 0, |
10 'conditions': [ | 10 'conditions': [ |
(...skipping 1013 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1024 'link_settings': { | 1024 'link_settings': { |
1025 'libraries': [ | 1025 'libraries': [ |
1026 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', | 1026 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', |
1027 '$(SDKROOT)/System/Library/Frameworks/Security.framework', | 1027 '$(SDKROOT)/System/Library/Frameworks/Security.framework', |
1028 '$(SDKROOT)/System/Library/Frameworks/SystemConfiguration.framew ork', | 1028 '$(SDKROOT)/System/Library/Frameworks/SystemConfiguration.framew ork', |
1029 '$(SDKROOT)/usr/lib/libresolv.dylib', | 1029 '$(SDKROOT)/usr/lib/libresolv.dylib', |
1030 ] | 1030 ] |
1031 }, | 1031 }, |
1032 }, | 1032 }, |
1033 ], | 1033 ], |
1034 [ 'OS == "android"', { | |
1035 'defines': [ | |
1036 # Android can shut down our app at any time, so we persist session cookies. | |
1037 'ENABLE_PERSISTENT_SESSION_COOKIES' | |
1038 ], | |
1039 'dependencies': [ | |
1040 '../third_party/openssl/openssl.gyp:openssl', | |
1041 'net_jni_headers', | |
1042 ], | |
1043 'sources!': [ | |
1044 'base/openssl_memory_private_key_store.cc', | |
1045 ], | |
1046 }, { # else OS! = "android" | |
1047 'defines': [ | |
1048 # These are the features Android doesn't support. | |
1049 'ENABLE_MEDIA_CODEC_THEORA', | |
1050 ], | |
1051 }, | |
1052 ], | |
1053 [ 'OS == "linux"', { | |
1054 'dependencies': [ | |
1055 '../build/linux/system.gyp:dbus', | |
1056 '../dbus/dbus.gyp:dbus', | |
1057 ], | |
1058 }, | |
1059 ], | |
1060 [ 'OS == "ios"', { | 1034 [ 'OS == "ios"', { |
1061 'link_settings': { | 1035 'link_settings': { |
1062 'libraries': [ | 1036 'libraries': [ |
1063 '$(SDKROOT)/System/Library/Frameworks/CFNetwork.framework', | 1037 '$(SDKROOT)/System/Library/Frameworks/CFNetwork.framework', |
1064 '$(SDKROOT)/System/Library/Frameworks/MobileCoreServices.framewo rk', | 1038 '$(SDKROOT)/System/Library/Frameworks/MobileCoreServices.framewo rk', |
1065 '$(SDKROOT)/System/Library/Frameworks/SystemConfiguration.framew ork', | 1039 '$(SDKROOT)/System/Library/Frameworks/SystemConfiguration.framew ork', |
1066 '$(SDKROOT)/usr/lib/libresolv.dylib', | 1040 '$(SDKROOT)/usr/lib/libresolv.dylib', |
1067 ], | 1041 ], |
1068 }, | 1042 }, |
1069 'sources/': [ | 1043 'sources/': [ |
(...skipping 15 matching lines...) Expand all Loading... | |
1085 ['include', '^base/platform_mime_util\\.h$'], | 1059 ['include', '^base/platform_mime_util\\.h$'], |
1086 ['include', '^base/registry_controlled_domains/registry_controlled _domain\\.'], | 1060 ['include', '^base/registry_controlled_domains/registry_controlled _domain\\.'], |
1087 ['include', '^http/http_byte_range\\.'], | 1061 ['include', '^http/http_byte_range\\.'], |
1088 ['include', '^http/http_content_disposition\\.'], | 1062 ['include', '^http/http_content_disposition\\.'], |
1089 ['include', '^http/http_util\\.'], | 1063 ['include', '^http/http_util\\.'], |
1090 ['include', '^http/http_util_icu\\.cc$'], | 1064 ['include', '^http/http_util_icu\\.cc$'], |
1091 ['include', '^http/http_version\\.h$'], | 1065 ['include', '^http/http_version\\.h$'], |
1092 ], | 1066 ], |
1093 }, | 1067 }, |
1094 ], | 1068 ], |
1069 [ 'OS == "android"', { | |
1070 'defines': [ | |
1071 # Android can shut down our app at any time, so we persist session cookies. | |
Ryan Sleevi
2012/08/01 17:46:56
not your fault, but...
style nit: Line wrapping
c
noyau (Ping after 24h)
2012/08/02 09:56:38
Done.
| |
1072 'ENABLE_PERSISTENT_SESSION_COOKIES' | |
1073 ], | |
1074 'dependencies': [ | |
1075 '../third_party/openssl/openssl.gyp:openssl', | |
1076 'net_jni_headers', | |
Ryan Sleevi
2012/08/01 17:46:56
nit: Just from looking at the other changes, '../'
noyau (Ping after 24h)
2012/08/02 09:56:38
This is completely inconsistent in this file. '..'
| |
1077 ], | |
1078 'sources!': [ | |
1079 'base/openssl_memory_private_key_store.cc', | |
1080 ], | |
1081 }, { # else OS! = "android" | |
1082 'defines': [ | |
1083 # These are the features Android doesn't support. | |
1084 'ENABLE_MEDIA_CODEC_THEORA', | |
1085 ], | |
1086 }, | |
1087 ], | |
1088 [ 'OS == "linux"', { | |
1089 'dependencies': [ | |
1090 '../build/linux/system.gyp:dbus', | |
1091 '../dbus/dbus.gyp:dbus', | |
1092 ], | |
1093 }, | |
1094 ], | |
1095 ], | 1095 ], |
1096 'target_conditions': [ | 1096 'target_conditions': [ |
1097 # These source files are excluded by default platform rules, but they | 1097 # These source files are excluded by default platform rules, but they |
1098 # are needed in specific cases on other platforms. Re-including them can | 1098 # are needed in specific cases on other platforms. Re-including them can |
1099 # only be done in target_conditions as it is evaluated after the | 1099 # only be done in target_conditions as it is evaluated after the |
1100 # platform rules. | 1100 # platform rules. |
1101 ['OS == "android"', { | 1101 ['OS == "android"', { |
1102 'sources/': [ | 1102 'sources/': [ |
1103 ['include', '^base/platform_mime_util_linux\\.cc$'], | 1103 ['include', '^base/platform_mime_util_linux\\.cc$'], |
1104 ], | 1104 ], |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1441 }, | 1441 }, |
1442 ], | 1442 ], |
1443 [ 'OS == "mac"', { | 1443 [ 'OS == "mac"', { |
1444 'dependencies': [ | 1444 'dependencies': [ |
1445 '../third_party/nss/nss.gyp:nspr', | 1445 '../third_party/nss/nss.gyp:nspr', |
1446 '../third_party/nss/nss.gyp:nss', | 1446 '../third_party/nss/nss.gyp:nss', |
1447 'third_party/nss/ssl.gyp:libssl', | 1447 'third_party/nss/ssl.gyp:libssl', |
1448 ], | 1448 ], |
1449 }, | 1449 }, |
1450 ], | 1450 ], |
1451 ['OS == "ios"', { | |
1452 # TODO: For now this only tests the subset of code that is enabled in | |
1453 # the net target. | |
1454 'dependencies': [ | |
1455 '../testing/gtest.gyp:gtest_main', | |
1456 ], | |
1457 'dependencies!': [ | |
1458 'net_test_support', | |
1459 ], | |
1460 'sources/': [ | |
1461 ['exclude', '.*'], | |
1462 ['include', '^base/dns_util_unittest\\.cc$'], | |
1463 ['include', '^base/escape_unittest\\.cc$'], | |
1464 ['include', '^base/ip_endpoint_unittest\\.cc$'], | |
1465 ['include', '^base/mime_util_unittest\\.cc$'], | |
1466 ['include', '^base/net_log_unittest\\.cc$'], | |
1467 ['include', '^base/registry_controlled_domains/registry_controlled_d omain_unittest\\.cc$'], | |
1468 ['include', '^http/http_byte_range_unittest\\.cc$'], | |
1469 ['include', '^http/http_content_disposition_unittest\\.cc$'], | |
1470 ['include', '^http/http_util_unittest\\.cc$'], | |
1471 ], | |
1472 }], | |
1451 [ 'OS == "linux"', { | 1473 [ 'OS == "linux"', { |
1452 'dependencies': [ | 1474 'dependencies': [ |
1453 '../build/linux/system.gyp:dbus', | 1475 '../build/linux/system.gyp:dbus', |
1454 '../dbus/dbus.gyp:dbus_test_support', | 1476 '../dbus/dbus.gyp:dbus_test_support', |
1455 ], | 1477 ], |
1456 }, | 1478 }, |
1457 ], | 1479 ], |
1458 [ 'OS == "android"', { | 1480 [ 'OS == "android"', { |
1459 'defines': [ | 1481 'defines': [ |
1460 # Android can shut down our app at any time, so we persist session cookies. | 1482 # Android can shut down our app at any time, so we persist session cookies. |
(...skipping 10 matching lines...) Expand all Loading... | |
1471 ['OS == "android" and gtest_target_type == "shared_library"', { | 1493 ['OS == "android" and gtest_target_type == "shared_library"', { |
1472 'dependencies': [ | 1494 'dependencies': [ |
1473 '../testing/android/native_test.gyp:native_test_native_code', | 1495 '../testing/android/native_test.gyp:native_test_native_code', |
1474 ] | 1496 ] |
1475 }], | 1497 }], |
1476 [ 'OS != "win" and OS != "mac"', { | 1498 [ 'OS != "win" and OS != "mac"', { |
1477 'sources!': [ | 1499 'sources!': [ |
1478 'base/x509_cert_types_unittest.cc', | 1500 'base/x509_cert_types_unittest.cc', |
1479 ], | 1501 ], |
1480 }], | 1502 }], |
1481 ['OS == "ios"', { | |
1482 # TODO: For now this only tests the subset of code that is enabled in | |
1483 # the net target. | |
1484 'dependencies': [ | |
1485 '../testing/gtest.gyp:gtest_main', | |
1486 ], | |
1487 'dependencies!': [ | |
1488 'net_test_support', | |
1489 ], | |
1490 'sources/': [ | |
1491 ['exclude', '.*'], | |
1492 ['include', '^base/dns_util_unittest\\.cc$'], | |
1493 ['include', '^base/escape_unittest\\.cc$'], | |
1494 ['include', '^base/ip_endpoint_unittest\\.cc$'], | |
1495 ['include', '^base/mime_util_unittest\\.cc$'], | |
1496 ['include', '^base/net_log_unittest\\.cc$'], | |
1497 ['include', '^base/registry_controlled_domains/registry_controlled_d omain_unittest\\.cc$'], | |
1498 ['include', '^http/http_byte_range_unittest\\.cc$'], | |
1499 ['include', '^http/http_content_disposition_unittest\\.cc$'], | |
1500 ['include', '^http/http_util_unittest\\.cc$'], | |
1501 ], | |
1502 }], | |
1503 ], | 1503 ], |
1504 }, | 1504 }, |
1505 { | 1505 { |
1506 'target_name': 'net_perftests', | 1506 'target_name': 'net_perftests', |
1507 'type': 'executable', | 1507 'type': 'executable', |
1508 'dependencies': [ | 1508 'dependencies': [ |
1509 'net', | 1509 'net', |
1510 'net_test_support', | 1510 'net_test_support', |
1511 '../base/base.gyp:base', | 1511 '../base/base.gyp:base', |
1512 '../base/base.gyp:base_i18n', | 1512 '../base/base.gyp:base_i18n', |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1603 'test/remote_test_server.h', | 1603 'test/remote_test_server.h', |
1604 'test/spawner_communicator.cc', | 1604 'test/spawner_communicator.cc', |
1605 'test/spawner_communicator.h', | 1605 'test/spawner_communicator.h', |
1606 'test/test_server.h', | 1606 'test/test_server.h', |
1607 'url_request/test_url_fetcher_factory.cc', | 1607 'url_request/test_url_fetcher_factory.cc', |
1608 'url_request/test_url_fetcher_factory.h', | 1608 'url_request/test_url_fetcher_factory.h', |
1609 'url_request/url_request_test_util.cc', | 1609 'url_request/url_request_test_util.cc', |
1610 'url_request/url_request_test_util.h', | 1610 'url_request/url_request_test_util.h', |
1611 ], | 1611 ], |
1612 'conditions': [ | 1612 'conditions': [ |
1613 ['inside_chromium_build==1 and OS != "ios"', { | 1613 ['inside_chromium_build==1 and OS != "ios"', { |
noyau (Ping after 24h)
2012/07/31 15:29:57
wtc said:
stuartmorgan
2012/07/31 17:47:47
I haven't looked up the history, but it's certainl
Ryan Sleevi
2012/07/31 17:54:29
It is. http://crbug.com/119403 is about fixing th
| |
1614 'dependencies': [ | 1614 'dependencies': [ |
1615 '../chrome/app/policy/cloud_policy_codegen.gyp:cloud_policy_proto_co mpile', | 1615 '../chrome/app/policy/cloud_policy_codegen.gyp:cloud_policy_proto_co mpile', |
1616 # The test server uses Python modules generated by the sync protos. | 1616 # The test server uses Python modules generated by the sync protos. |
1617 '../sync/protocol/sync_proto.gyp:sync_proto', | 1617 '../sync/protocol/sync_proto.gyp:sync_proto', |
1618 '../third_party/protobuf/protobuf.gyp:py_proto', | 1618 '../third_party/protobuf/protobuf.gyp:py_proto', |
1619 ], | 1619 ], |
1620 }], | 1620 }], |
1621 ['os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', { | 1621 ['os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', { |
1622 'conditions': [ | 1622 'conditions': [ |
1623 ['use_openssl==1', { | 1623 ['use_openssl==1', { |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1686 'server/web_socket.h', | 1686 'server/web_socket.h', |
1687 ], | 1687 ], |
1688 }, | 1688 }, |
1689 ], | 1689 ], |
1690 'conditions': [ | 1690 'conditions': [ |
1691 ['OS != "ios"', { | 1691 ['OS != "ios"', { |
1692 'targets': [ | 1692 'targets': [ |
1693 # iOS doesn't have the concept of simple executables, these targets | 1693 # iOS doesn't have the concept of simple executables, these targets |
1694 # can't be compiled on the platform. | 1694 # can't be compiled on the platform. |
1695 { | 1695 { |
1696 'target_name': 'crash_cache', | |
1697 'type': 'executable', | |
1698 'dependencies': [ | |
1699 'net', | |
1700 'net_test_support', | |
1701 '../base/base.gyp:base', | |
1702 ], | |
1703 'sources': [ | |
1704 'tools/crash_cache/crash_cache.cc', | |
1705 ], | |
1706 }, | |
1707 { | |
1708 'target_name': 'crl_set_dump', | |
1709 'type': 'executable', | |
1710 'dependencies': [ | |
1711 'net', | |
1712 '../base/base.gyp:base', | |
1713 ], | |
1714 'sources': [ | |
1715 'tools/crl_set_dump/crl_set_dump.cc', | |
1716 ], | |
1717 }, | |
1718 { | |
1719 'target_name': 'dns_fuzz_stub', | |
1720 'type': 'executable', | |
1721 'dependencies': [ | |
1722 'net', | |
1723 '../base/base.gyp:base', | |
1724 ], | |
1725 'sources': [ | |
1726 'tools/dns_fuzz_stub/dns_fuzz_stub.cc', | |
1727 ], | |
1728 }, | |
1729 { | |
1696 'target_name': 'dnssec_chain_verify', | 1730 'target_name': 'dnssec_chain_verify', |
1697 'type': 'executable', | 1731 'type': 'executable', |
1698 'dependencies': [ | 1732 'dependencies': [ |
1699 'net', | 1733 'net', |
1700 '../base/base.gyp:base', | 1734 '../base/base.gyp:base', |
1701 ], | 1735 ], |
1702 'sources': [ | 1736 'sources': [ |
1703 'tools/dnssec_chain_verify/dnssec_chain_verify.cc', | 1737 'tools/dnssec_chain_verify/dnssec_chain_verify.cc', |
1704 ], | 1738 ], |
1705 }, | 1739 }, |
1706 { | 1740 { |
1741 'target_name': 'fetch_client', | |
1742 'type': 'executable', | |
1743 'variables': { 'enable_wexit_time_destructors': 1, }, | |
1744 'dependencies': [ | |
1745 'net', | |
1746 '../base/base.gyp:base', | |
1747 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dyn amic_annotations', | |
1748 '../build/temp_gyp/googleurl.gyp:googleurl', | |
1749 '../testing/gtest.gyp:gtest', | |
1750 ], | |
1751 'sources': [ | |
1752 'tools/fetch/fetch_client.cc', | |
1753 ], | |
1754 }, | |
1755 { | |
1707 'target_name': 'fetch_server', | 1756 'target_name': 'fetch_server', |
1708 'type': 'executable', | 1757 'type': 'executable', |
1709 'variables': { 'enable_wexit_time_destructors': 1, }, | 1758 'variables': { 'enable_wexit_time_destructors': 1, }, |
1710 'dependencies': [ | 1759 'dependencies': [ |
1711 'net', | 1760 'net', |
1712 '../base/base.gyp:base', | 1761 '../base/base.gyp:base', |
1713 '../build/temp_gyp/googleurl.gyp:googleurl', | 1762 '../build/temp_gyp/googleurl.gyp:googleurl', |
1714 ], | 1763 ], |
1715 'sources': [ | 1764 'sources': [ |
1716 'tools/fetch/fetch_server.cc', | 1765 'tools/fetch/fetch_server.cc', |
(...skipping 26 matching lines...) Expand all Loading... | |
1743 'type': 'executable', | 1792 'type': 'executable', |
1744 'dependencies': [ | 1793 'dependencies': [ |
1745 'net', | 1794 'net', |
1746 '../base/base.gyp:base', | 1795 '../base/base.gyp:base', |
1747 ], | 1796 ], |
1748 'sources': [ | 1797 'sources': [ |
1749 'tools/net_watcher/net_watcher.cc', | 1798 'tools/net_watcher/net_watcher.cc', |
1750 ], | 1799 ], |
1751 }, | 1800 }, |
1752 { | 1801 { |
1753 'target_name': 'crl_set_dump', | 1802 'target_name': 'run_testserver', |
1754 'type': 'executable', | 1803 'type': 'executable', |
1755 'dependencies': [ | 1804 'dependencies': [ |
1756 'net', | 1805 'net', |
1806 'net_test_support', | |
1757 '../base/base.gyp:base', | 1807 '../base/base.gyp:base', |
1808 '../build/temp_gyp/googleurl.gyp:googleurl', | |
1809 '../testing/gtest.gyp:gtest', | |
1758 ], | 1810 ], |
1759 'sources': [ | 1811 'sources': [ |
1760 'tools/crl_set_dump/crl_set_dump.cc', | 1812 'tools/testserver/run_testserver.cc', |
1761 ], | |
1762 }, | |
1763 { | |
1764 'target_name': 'tld_cleanup', | |
1765 'type': 'executable', | |
1766 'dependencies': [ | |
1767 '../base/base.gyp:base', | |
1768 '../base/base.gyp:base_i18n', | |
1769 '../build/temp_gyp/googleurl.gyp:googleurl', | |
1770 ], | |
1771 'sources': [ | |
1772 'tools/tld_cleanup/tld_cleanup.cc', | |
1773 ], | |
1774 }, | |
1775 { | |
1776 'target_name': 'dns_fuzz_stub', | |
1777 'type': 'executable', | |
1778 'dependencies': [ | |
1779 'net', | |
1780 '../base/base.gyp:base', | |
1781 ], | |
1782 'sources': [ | |
1783 'tools/dns_fuzz_stub/dns_fuzz_stub.cc', | |
1784 ], | 1813 ], |
1785 }, | 1814 }, |
1786 { | 1815 { |
1787 'target_name': 'stress_cache', | 1816 'target_name': 'stress_cache', |
1788 'type': 'executable', | 1817 'type': 'executable', |
1789 'dependencies': [ | 1818 'dependencies': [ |
1790 'net', | 1819 'net', |
1791 'net_test_support', | 1820 'net_test_support', |
1792 '../base/base.gyp:base', | 1821 '../base/base.gyp:base', |
1793 ], | 1822 ], |
1794 'sources': [ | 1823 'sources': [ |
1795 'disk_cache/stress_cache.cc', | 1824 'disk_cache/stress_cache.cc', |
1796 ], | 1825 ], |
1797 }, | 1826 }, |
1798 { | 1827 { |
1799 'target_name': 'crash_cache', | 1828 'target_name': 'tld_cleanup', |
1800 'type': 'executable', | 1829 'type': 'executable', |
1801 'dependencies': [ | 1830 'dependencies': [ |
1802 'net', | |
1803 'net_test_support', | |
1804 '../base/base.gyp:base', | 1831 '../base/base.gyp:base', |
1832 '../base/base.gyp:base_i18n', | |
1833 '../build/temp_gyp/googleurl.gyp:googleurl', | |
1805 ], | 1834 ], |
1806 'sources': [ | 1835 'sources': [ |
1807 'tools/crash_cache/crash_cache.cc', | 1836 'tools/tld_cleanup/tld_cleanup.cc', |
1808 ], | |
1809 }, | |
1810 { | |
1811 'target_name': 'run_testserver', | |
1812 'type': 'executable', | |
1813 'dependencies': [ | |
1814 'net', | |
1815 'net_test_support', | |
1816 '../base/base.gyp:base', | |
1817 '../build/temp_gyp/googleurl.gyp:googleurl', | |
1818 '../testing/gtest.gyp:gtest', | |
1819 ], | |
1820 'sources': [ | |
1821 'tools/testserver/run_testserver.cc', | |
1822 ], | |
1823 }, | |
1824 { | |
1825 'target_name': 'fetch_client', | |
1826 'type': 'executable', | |
1827 'variables': { 'enable_wexit_time_destructors': 1, }, | |
1828 'dependencies': [ | |
1829 'net', | |
1830 '../base/base.gyp:base', | |
1831 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dyn amic_annotations', | |
1832 '../build/temp_gyp/googleurl.gyp:googleurl', | |
1833 '../testing/gtest.gyp:gtest', | |
1834 ], | |
1835 'sources': [ | |
1836 'tools/fetch/fetch_client.cc', | |
1837 ], | 1837 ], |
1838 }, | 1838 }, |
1839 ], | 1839 ], |
1840 }], | 1840 }], |
1841 ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { | 1841 ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { |
1842 'targets': [ | 1842 'targets': [ |
1843 { | 1843 { |
1844 'target_name': 'flip_in_mem_edsm_server', | 1844 'target_name': 'flip_in_mem_edsm_server', |
1845 'type': 'executable', | 1845 'type': 'executable', |
1846 'cflags': [ | 1846 'cflags': [ |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2071 '--result', '<@(_outputs)', | 2071 '--result', '<@(_outputs)', |
2072 '--isolate', 'net_unittests.isolate', | 2072 '--isolate', 'net_unittests.isolate', |
2073 ], | 2073 ], |
2074 }, | 2074 }, |
2075 ], | 2075 ], |
2076 }, | 2076 }, |
2077 ], | 2077 ], |
2078 }], | 2078 }], |
2079 ], | 2079 ], |
2080 } | 2080 } |
OLD | NEW |