# Copyright (C) 2013 The Libphonenumber Authors

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

# http://www.apache.org/licenses/LICENSE-2.0

# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

4850|Orange
4851|Orange
48530|Play
48531|Play
48532|T-Mobile
48533|Play
48535|Play
4857|Play
48600|T-Mobile
48601|Plus
48602|T-Mobile
48603|Plus
48604|T-Mobile
48605|Plus
48606|T-Mobile
48607|Plus
48608|T-Mobile
48609|Plus
48660|T-Mobile
48661|Plus
48662|T-Mobile
48663|Plus
48664|T-Mobile
48665|Plus
486666|Play
48667|Plus
48668|T-Mobile
48669|Plus
486901|Orange
486902|Orange
486903|Orange
486904|Orange
486905|Orange
486906|Orange
486907|CenterNet
48691|Plus
48692|T-Mobile
48693|Plus
48694|T-Mobile
48695|Plus
48696|T-Mobile
48697|Plus
48698|T-Mobile
4869902|Cyfrowy Polsat
4869903|Cyfrowy Polsat
4869904|Cyfrowy Polsat
4869905|Cyfrowy Polsat
4869906|Cyfrowy Polsat
4869907|Cyfrowy Polsat
4869908|Cyfrowy Polsat
4869909|Cyfrowy Polsat
4869920|Cyfrowy Polsat
4869921|Cyfrowy Polsat
4869923|Cyfrowy Polsat
4869924|Cyfrowy Polsat
4869925|Cyfrowy Polsat
4869926|Cyfrowy Polsat
4869927|Cyfrowy Polsat
4869928|Cyfrowy Polsat
4869929|Cyfrowy Polsat
4869961|Cyfrowy Polsat
4869962|Cyfrowy Polsat
4869963|Cyfrowy Polsat
4869964|Cyfrowy Polsat
4869965|Cyfrowy Polsat
4869966|Cyfrowy Polsat
4869967|Plus
4869968|Cyfrowy Polsat
4869969|Plus
486998|Plus
486999|Plus
487200|CenterNet
487201|CenterNet
487202|CenterNet
487203|CenterNet
487204|CenterNet
487205|CenterNet
487206|CenterNet
487207|CenterNet
487209|CenterNet
48721|Plus
48722|Plus
48723|Plus
48724|Plus
48725|Plus
48726|Plus
487270|Plus
487272|T-Mobile
487273|T-Mobile
487274|Plus
487275|Plus
487276|Plus
487277|Plus
487278|Plus
487279|Plus
487280|Mobyland
487281|T-Mobile
487282|T-Mobile
487283|T-Mobile
487284|T-Mobile
487285|T-Mobile
487286|T-Mobile
487287|T-Mobile
487288|T-Mobile
