Rendering PDFs to tab via data:application requires cut-n-paste of URI
Reported by
stvs...@gmail.com,
Aug 1 2017
|
||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36 Example URL: data:application/pdf;base64,JVBERi0xLjQNCiXvv73vv73vv73vv70gUmVwb3J0TGFiIEdlbmVyYXRlZCBQREYgZG9jdW1lbnQgaHR0cDovL3d3dy5yZXBvcnRsYWIuY29tDQoxIDAgb2JqDQo8PCAvRjEgMiAwIFIgL0YyKzAgNyAwIFIgPj4NCmVuZG9iag0KMiAwIG9iag0KPDwgL0Jhc2VGb250IC9IZWx2ZXRpY2EgL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcgL05hbWUgL0YxIC9TdWJ0eXBlIC9UeXBlMSAvVHlwZSAvRm9udCA+Pg0KZW5kb2JqDQozIDAgb2JqDQo8PCAvQ29udGVudHMgMTEgMCBSIC9NZWRpYUJveCBbIDAgMCA3OTIgNjEyIF0gL1BhcmVudCAxMCAwIFIgL1Jlc291cmNlcyA8PCAvRm9udCAxIDAgUiAvUHJvY1NldCBbIC9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUkgXSA+PiAvUm90YXRlIDAgL1RyYW5zIDw8ICA+PiANCiAgL1R5cGUgL1BhZ2UgPj4NCmVuZG9iag0KNCAwIG9iag0KPDwgL0ZpbHRlciBbIC9GbGF0ZURlY29kZSBdIC9MZW5ndGggNzEyID4+DQpzdHJlYW0NCnjvv71977+977+9ahphGO+/ve+/vVcxy5ZS77+977+9CO+/ve+/vSzSlu+/vTdg77+9NRXvv70o77+9We+/ve+/vTvvv70TWijvv70D77+9f3Re77+977+9Ou+/ve+/ve+/ve+/ve+/vX5z77+934bvv73vv70d77+977+977+9Xw3vv73vv717He+/ve+/vXtqz5t+ItqtNu+/ve+/ve+/ve+/ve+/vX3vv71d77+9J++/ve+/ve+/ve+/ve+/ve+/vdi277+977+9ejfvv73Nuu+/ve+/ve+/ve+/ve+/vXF477+9Plzvv73vv71P77+977+9P27vv73vv73vv73vv73vv73vv70277+924/vv73vv73vv71h1YZN77+977+977+9Rx5f77+977+977+977+9HT/vv73vv70m77+9ee+/vWrvv73vv73vv70eFu+/vS/vv71t77+977+9Pu+/ve+/vR9v77+977+977+977+9Xu+/vV7vv71W77+977+9XyzbsO+/ve+/vWR2djbvv71mdTfvv73vv71+77+977+9d++/ve+/vTzvv71e77+9XAzvv73Pnu+/ve+/vXxsYQta2Yo277+977+977+977+977+9YAc62Ykudu+/ve+/ve+/ve+/ve+/vQvvv70F77+977+9fe+/ve+/vWJf77+977+977+977+977+9G++/vQ3vv73vv71977+977+9Y++/ve+/vXAm77+9C++/vULvv73vv70v77+9C++/vULvv73vv70v77+9C++/vULvv73vv70v77+9C++/vULvv73vv70v77+9C++/vULvv73vv70v77+9C++/vULvv73vv70v77+9C++/vULvv73vv70v77+9C++/vULvv73vv73vv73vv70r77+9Su+/vcKv77+9K++/vUrvv73Cr++/vSvvv71K77+9wq/vv70r77+9Su+/vcKv77+9K++/vUrvv73Cr++/vSvvv71K77+9wq/vv70r77+9Su+/vcKv77+9K++/vUrvv73vv71v77+9G++/vUbvv73vv71v77+9G++/vUbvv73vv71v77+9G++/vUbvv73vv71v77+9G++/vUbvv73vv71v77+9G++/vUbvv73vv71v77+9G++/vUbvv73vv71v77+9G++/vUbvv73vv71v77+9G++/vUbvv73vv73vv73vv70777+9Tu+/ve+/ve+/ve+/vTvvv71O77+977+977+977+9O++/vU7vv73vv73vv73vv70777+9Tu+/ve+/ve+/ve+/vTvvv71O77+977+977+977+9O++/vU7vv73vv73vv73vv70777+9Tu+/ve+/ve+/ve+/vTvvv71O77+977+9H++/vQfvv71Bf++/vR/vv70H77+9QX/vv70f77+9B++/vUF/77+9H++/vQfvv71Bf++/vR/vv70H77+9QX/vv70f77+9B++/vUF/77+9H++/vQfvv71Bf++/vR/vv70H77+9QX/vv73vv73vv70n77+9SX/Cn++/vSfvv71Jf8Kf77+9J++/vUl/wp/vv70n77+9SX/Cn++/vSfvv71Jf8Kf77+9J++/vUl/wp/vv70n77+9SX/Cn++/vSfvv71Jf++/vV/vv70X77+9RX/vv71f77+9F++/vUV/77+9X++/vRfvv71Ff++/vV/vv70X77+9RX/vv71f77+9F++/vUV/77+9X++/vRfvv71Ff++/vV/vv70X77+9RX/vv71f77+9F++/vUXvv73vv71C77+9LwHvv70C77+977+9e++/ve+/ve+/ve+/vTBu77+9aRtPw4Pvv70ZF++/ve+/vXzvv713e++/ve+/ve+/vRd9zqXvv71lbmRzdHJlYW0NCmVuZG9iag0KNSAwIG9iag0KPDwgL0ZpbHRlciBbIC9GbGF0ZURlY29kZSBdIC9MZW5ndGggNzU1MCAvTGVuZ3RoMSAxMTQ5MiA+Pg0Kc3RyZWFtDQp477+977+9Wgd8W9W5P++/vWpZ77+9LMmy77+9de+/ve+/vTTvv73vv70hK++/ve+/ve+/vR3vv704dmLvv71DXngER++/vSJNaO+/vSJA77+977+9AO+/vVnvv71KGQll77+9QB7vv70EAu+/vSnvv70+Au+/ve+/ve+/vSgNBVpKW++/vSjvv71c77+977+977+9e++/vTjvv73vv73vv71e77+977+9yb7vv73vv705Ou+/vX/vv71977+9cyXvv70RQgp0MRIh77+977+977+977+977+9HXDvv73vv73vv70jcO+/vR/vv70d77+9IF/vv73vv70h77+9U++/vcqc77+977+9Ou+/vT/vv71wDCHKjBDvv709GR0eS++/ve+/ve+/vQAh77+9Fhjvn4QOGSvvv70V77+977+9Qe+/vTw5G++/ve+/ve+/vW3Jg++/vX4J77+975iZHx0+77+977+9R++/vW7vv73vv73vv73vv73vv70N77+9CXwSIUsW77+977+977+977+977+977+9fAnvv71y77+9ZO+/vW7vv73vv70Y77+977+9RW7vv71K77+9Iu+/vSMK34cH77+9BO+/ve+/vUfvv70D77+9czl/x7/vv70xMO+/ve+/ve+/vXsI77+9DCPUnGg3WiPvv70E77+9b2IRHS9HJ0Xvv73vv70P77+9fSPvv70MP0Md77+977+9Re+/ve+/vTA3IQVJ77+977+977+9Lkbvv73vv70XRhRg77+977+9bynvv73vv70kJAd9J++/vQrvv70oDe+/vSMlUu+/vQzvv71GGu+/vUXvv71I77+977+9UDbSoxzvv73vv73vv71QPioA77+9DMiITMiMLMiKbO+/vRAV77+9YlTvv71K77+9HTnvv70T77+9UBlI77+9QV7vv71DfhRA77+9AlXvv70qFETvv70o77+9Vu+/vTDvv71BDO+/ve+/vVpU77+977+9UQNqRE3vv73vv70W1Irvv73vv71K1I4677+9KtSJ77+9UDfvv71B77+9aDXvv71Da1A/GkBr77+9OjTvv73vv704CSQI77+977+977+9JyLvv70jKe+/vQJ8I++/vcqg77+9ORjvv71FBu+/vToZG++/vSds77+90aPvv70jR++/vVVH77+977+9PO+/ve+/vU/vv73vv73vv70qS++/vRDvv70N77+977+977+9ae+/vQVvYe+/ve+/ve+/vXHvv73vv71GMCnvv70c77+9AD1HHQE977+977+977+93Zla77+9TCozWW1W77+9V23vv71677+9Hnfvv71Gennvv70hRSN1SjUp77+9XO+/vTU377+9au+/ve+/vVjMpe+/ve+/ve+/ve+/ve+/vTNd77+9dO+/ve+/ve+/ve+/vT/vv70r77+9N++/vRnvv71a77+977+9ATxb77+9HyAQBDUdL2/vv73vv70YNO+/ve+/vTTvv73vv73vv73vv73nvrjvv73vv703KO+/ve+/vRl5Ou+/vTItaG9ZRu+/ve+/vRbvv73vv73vv73vv71OXQfvv70F77+9b++/vXkCHhl3aU3vv71lCnDvv73vv71j77+977+9c3vvv73vv73vv71bb++/vWvvv70+257vv71s77+977+977+977+92r4P77+9b++/vd2Eb++/vToO77+977+977+977+977+977+9V++/vVPEu0Xvv70b77+9D39JPQEWDe+/ve+/ve+/ve+/vXNg77+9V++/vTof77+977+9Zu+/ve+/ve+/ve+/vWPvv71GajLvv73vv70CVhvvv71K77+9ZAEv77+9Ie+/vTXvv706Xxrvv73VlQMxS27vv73vv71WVBcN77+9He+/ve+/ve+/ve+/ve+/vTfvv73vv71HRu+/vTPvv73vv71877+977+9am8F77+9eWHvv73vv73TsUrvv73vv73vv70p77+9Zhk177+9We+/vQoa77+9Gu+/ve+/ve+/vXrvv71KB23vv73vv73vv73vv71A77+9X3RrA11ZbhFfa3Vn77+977+977+977+9Jkvvv73vv73vv73vv70A77+9LUbvv73vv73fixDvv70L77+9Ugjvv70I77+977+9CWfvv73vv70u77+977+9Dnjvv70J24BZ77+9Bu+/vQDvv73vv73PuO+/ve+/ve+/ve+/vXlNRu+/vVbvv70JZe+/ve+/ve+/vUDvv73vv73vv71r77+9dkTvv73vv73vv71wLe+/vdSK77+977+9XO+/vXo977+977+977+977+977+9E3/vv73vv73vv73vv70077+977+9Wu+/vRs8zaJc77+977+9Du+/vVtCPVc477+9bWfGqO+/ve+/vSrvv70UIu+/vXQf77+9R++/vRvvv70C0rVzRe+/ve+/vQbvv73buULvv73vv73vv73vv73vv73vv73vv70GJO+/ve+/vQPvv70477+977+977+9PAjvv70Kdu+/ve+/ve+/vT1uf0BHNGzvv73vv73vv70PCFxr77+977+9TO+/vT9gEu+/vQM877+977+9au+/vQ5Y77+977+9FO+/ve+/vW9b77+9GnMN2ozvv73vv71S77+9UO+/vTfvv71nbDjvv73evWJ9c++/ve+/vWFWBQJ5be+/ve+/vVbvv71H77+977+9GhXvv71pMRvvv73vv73vv73vv71uZ14W77+977+977+977+977+9Gw0z77+9zLXvv73vv73vv73vv73vv70mc3tf77+977+977+9a++/vX9E77+977+9UVbvv70f77+977+9eyJGZzFkE++/vXN077+977+977+9c++/vVzvv73vv73vv73vv70y77+977+977+977+9eBt1Cu+/vRdJHFhJJFTvv73vv71tN9+8Le+/vdSp77+977+9X++/ve+/ve+/ve+/vTvvv73vv715fQs3Pu+/vT7vv70377+977+977+977+9WCnvv73vv73vv71KW++/vTDvv706Ve+/vRrvv70IGU8Z77+977+9EO+/ve+/ve+/ve+/vQnvv70+SO+/ve+/ve+/vRh8Umrvv70GQlTvv73vv71sVu+/vS7vv73Ske+/vT9TBh/vv71t77+977+977+977+9Nhnvv71nSu+/vRBTGO+/vSbvv71y77+9LFlZ77+977+977+977+9ZFnvv70i77+9Ou+/vXLvv71N77+977+977+9SO+/vd6cLtKaJe+/vQvvv73vv71O77+9LShP77+9Gu+/vdCJZxVF77+9ZO+/ve+/vWnvv73vv70U77+9OVLvv71a77+9KtKlS3PCue+/vQLvv71M77+9WlHvv73vv71n77+9FUZPUnLvv71K77+9Su+/vSx377+977+977+977+92YMi77+9Fe+/vT7vv71jFO+/vUHvv71CcO+/vQtof3/vv70o77+977+9A++/ve+/vUMP77+9Pxnvv73vv71P77+9R++/vQbvv73vv71IZ++/vQcSbu+/vWlealJP77+9SO+/ve+/ve+/vTxT77+977+977+977+9Ou+/vTMiSu+/vXU5Vu+/ve+/ve+/vRfvv70G0Is477+977+977+9Je+/vTNoAxjvv73vv73vv70G77+9bu+/vX8PAibvv71X77+977+977+9YkLvv71TJu+/vRrvv70/H++/ve+/vRvvv73vv73vv718Ge+/vWAX77+977+977+977+977+977+96LKvFu+/ve+/vVQIPu+/ve+/vX1QDu+/vQjvv70Y77+9Su+/ve+/ve+/ve+/ve+/vVLvv73vv71S4pyNF++/ve+/vQDvv71cfe+/ve+/ve+/vWrvv71PMH3vv70n77+977+977+977+977+977+9Ye+/ve+/vX3vv73vv73vv73vv73vv73vv73vv73vv73vv71Ncjvvv71BRWLWl++/vQ94VB5tzZUF77+977+9QFRbfyXvv70fS1Pvv71FJe+/vTNPMO+/vTzvv73vv73KgO+/ve+/ve+/vQEvGO+/ve+/vQZZZiJFCUrvv73vv71h77+95pmJ77+9cmBgTmYSxrnvv73vv71WG2sqVhvdlgLvv71o77+977+977+977+977+977+977+9eg1lc++/vS5UFhhV77+977+9He+/ve+/vV7vv70kFu+/ve+/vTxT77+977+9XO+/vXPvv70j77+9VGfvv73vv70LHcaGC++/vVfWj++/vVnvv73vv73vv70s77+977+9VnLvv73vv70U77+9Se+/vTMUcTzvv73vv70f77+9D++/vUcf77+977+977+977+9Su+/vQF2S++/ve+/vSfvv73vv71vPtui77+977+977+977+9dO+/vTHvv73vv71SG++/vVjvv73vv71b77+9XO+/vW0pLDTvv73vv70Vbl87cu+/vdqBdVN777+977+977+9BXZrDu+/vTdHKu+/vSNV77+9QU/vv73vv71R77+977+9FRvvv73WrO+/ve+/ve+/ve+/vSLvv73vv71w77+9LO+/vSwfDGfvv73vv73vv71NM++/ve+/vVHvv71EEu+/ve+/vQDvv71n77+9Ye+/vW8TDu+/vV/vv73vv70R77+977+9Ue+/ve+/ve+/vTR077+9JV9gA++/ve+/vX8L77+9N++/ve+/vQNs77+9ITLvv71A77+977+9AEYxxJtMSO+/ve+/ve+/vTzvv71AJu+/vTpAUjHvv73vv73vv70U36rvv73vv73vv73vv73vv70d77+977+9ee+/ve+/ve+/vVRT77+977+977+9ypHvv73Wt++/ve+/vSbvv706Fu+/vXLvv70tXu+/vSpe77+9FO+/vQ4Z77+977+977+9Iu+/ve+/ve+/ve+/vRp/Cm5I77+977+977+9aznvv70D77+977+9XnUAahQb77+977+977+977+977+9Me+/ve+/vU5gYu+/vQbvv70G77+9Gu+/vTfWjO+/vRnvv73vv71M77+9eUdL77+9JS/vv70277+977+9Vu+/ve+/vTfvv70WKjfvv71j77+977+9TO+/ve+/vT3vv71377+977+9dO+/ve+/vVBi77+9LlRnXu+/vcar77+9b++/vW7vv73vv71s77+9AD9D77+9ZiloLO+/ve+/ve+/vVDvv70877+977+977+9eWB177+977+977+977+9a++/vXLvv73vv71A77+9YW7vv73vv71Q77+9CxTvv73vv73vv73vv70m77+9au+/vRJ977+9EO+/vWUrMu+/vQzvv716Ou+/vW7vv73vv71qMRvvv71ODxfvv73vv73vv70lFV1vN++/ve+/ve+/ve+/vTI0Ou+/ve+/ve+/vTJ377+977+977+9L++/ve+/vT8GHjRQ77+9OUDvv70lVS/vv70f77+977+9YO+/ve+/vWoE14JtD++/vUFh77+9YDYP77+977+9MHvvv73vv73vv73vv73vv73vv73vv73onbLvv73vv73Gmu+/vca277+9Wzsx77+9Hu+/vShf77+9T++/ve+/vQ5G77+9Su+/vTZ077+9Ru+/vR0d2a4GLDZ2B++/vWpL77+977+977+9e++/vTPvv73vv73vv70kVO+/ve+/vT3vv73lr5wNCkE977+9a3/vv70X77+977+977+9PE/vv73Kmu+/ve+/vRFi77+977+9d++/vVrvv71Z77+977+977+9GiRW77+977+9KO+/vceh77+977+977+977+9fe+/vXfvv73vv71k77+977+9N++/vX4/Fu+/ve+/ve+/vTXvv73vv73Nrxvvv73vv73vv70IPu+/veebs++/ve+/vWjvv73vv70q77+9HOGOtXwyY18V77+9Gu+/ve+/vdOfchg577+9YO+/ve+/vVvvv70LGO+/vXNy77+9EmLvv73vv73Jlu+/ve+/vTZU77+977+977+9T++/vVJFdu+/vWhTMT7vv71+By/vv73vv71jV++/ve+/ve+/vequu++/ve+/vcOPbsS/77+914FVZe+/vQNkZglcfnwbO++/vW/vv71rQu+/ve+/vULvv73vv73vv70lMMiO77+9AO+/vTvvv70F77+977+9Lu+/ve+/vQB777+9C++/ve+/vQHvv71zBO+/vRkS77+9Vu+/ve+/vS3vv70SOQUq77+9Je+/ve+/vVQmOe+/ve+/vXLvv73vv71K77+977+9Nu+/vRfvv70s77+9RmcD77+977+9Kk/vv73vv73vv71E77+9wp3vv73vv707Kgpy77+9LO+/vSLvv73vv73vv73vv73vv70vW++/vSsZeGFZ77+9G++/vRN177+977+9Xu+/ve+/ve+/vWc577+9dO+/ve+/ve+/vRMhA++/vTooW++/ve+/ve+/ve+/ve+/vXsr77+9B++/vTvvv71J77+9IO+/vQ1+7r6377+9fO+/ve+/vRfvv73vv71XBFMofe+/ve+/ve+/ve+/ve+/ve+/ve+/vWPvv71bO++/ve+/vdKq77+977+977+977+977+9E9+/fDHvv703Su+/vQoq77+977+9BQdPPe+/ve+/vRfvv73ftO+/vUpv77+977+977+977+9PWZqKO+/ve+/vX3vv73vv71477+977+9I2/vv71x77+9T3st77+9cFrvv71YcdeqcQccM++/ve+/ve+/ve+/ve+/vRDvv70y77+9xJcsNu+/ve+/ve+/vXnvv73vv70H77+9MBl7RO+/vd2K77+977+9XX9oeDvvv73vv70B77+977+977+90afvv70x77+977+977+9MFTvv73vv70jDO+/ve+/ve+/vX7vv71TSVzvv718OgTvv704Fe+/ve+/vQzvv73vv71l77+9Ge+/vUvvv73vv70g77+9clAJVnFC77+977+977+977+9eVzvv71Ze++/ve+/vSTvv73vv73vv73vv73vv73vv71X77+9Wu+/ve+/ve+/ve+/vVbvv71KY25177+9KiXvv73VoUfvv73vv71FT9mZ77+977+9DVs4P++/vULvv73vv70277+9fTjvv70taRfvv73vv70yLWkQ77+9Su+/vTZD77+977+977+977+977+9WCTvv70JNu+/vVwzMzvvv70z77+90pB677+977+977+977+9XO+/vcu2Zu+/vX1yz4F977+9bBrvv71177+977+9Ge+/ve+/vRHvv707BU5/S1xzNu+/vSXvv70mwqnvv73Hjx872rbvv73vv70t77+9awnvv73vv70c77+977+9ce+/vVvvv73vv73vv71K77+9Ihjvv73vv71R77+977+977+9NTlwCe+/vXIc77+977+977+9Wu+/ve+/ve+/vV1577+977+977+977+9Au+/vTTvv70v77+9UF7vv73Eiu+/vTwXAe+/ve+/ve+/ve+/ve+/ve+/vXXvv70N77+9T++/vWbvv73vv71j77+9YO+/vQbvv71/77+977+977+9Vu+/vWhn77+977+9cu+/ve+/ve+/vVvvv70r77+9Ee+/vVdHAn8xRe+/ve+/ve+/vX9kEjrvv70F77+977+9eDbvv71/Xe+/vQF/Ne+/ve+/vVHvv70obWTvv73XtDlQ77+93Yrvv73vv73CnSPvv70o77+977+9Vu+/ve+/vTDvv70HCe+/vT/vv70a77+977+9TTzvv73vv73vv73vv708Y++/vRDvv70PYe+/ve+/vTzvv73vv70h77+977+9Ie+/vTHvv73vv73vv70Mc++/vSPvv73vv73vv70z77+977+9IdmV77+9N3kZHu+/vRTvv73vv73vv73vv715bg7vv73vv73vv73vv71BPhrvv71mcTXvv73vv70c77+9EyZq77+977+977+9X++/ve+/vXnvv70l77+977+9E3M4NDXvv71cU2/vv70U77+977+92pLvv73vv70uEGJ877+91JLvv73vv73vv70IaDnvv70FCF49Mi5GPO+/vU/vv73vv71f77+9JO+/vWJp17/vv73vv73vv71977+977+977+9Oz9kOO+/ve+/vT9iHe+/ve+/vTvvv70E77+977+9Te+/vQwDJu+/vdycGO+/vTggYO+/vTgHMnNyVO+/vRnvv73vv70z77+977+9SQ/vv71g77+9dG3vv73vv73vv71TACM877+9IO+/vQ7vv73vv71b77+977+9Je+/vUIdA3/vv71+77+9Ru+/ve+/vQ7vv73vv704eXrvv73vv71177+977+9Re+/vX/vv70HCT9sNu+/vQPvv71dSnrvv70Y77+9eO+/vUtBb++/ve+/vQdw77+9PEjvv71A77+977+977+9fB7vv73vv73vv71qZy/vv71P77+9f++/vUZf77+9Le+/vUnvv73vv70q77+9PO+/ve+/vQnvv73vv73vv70W77+977+977+9IO+/ve+/vX/vv70N77+977+9LO+/ve+/vUs577+977+977+9K++/vQRR77+977+977+977+9PO+/vRvvv73vv71PTE3vv73vv71SPnXvv70n77+977+977+977+9z5nvv71x77+977+9V++/vX8VYu+/vQt477+9IO+/ve+/vSwm77+9KO+/ve+/vUXvv70yCH3vv71efe+/vWxL17Zt77+9A++/vS0t77+977+9CzotTO+/ve+/vSzvv73vv70b77+9b3E177+9NX7vv73vv73vv73vv70b77+977+977+9XO+/ve+/ve+/ve+/ve+/vUvvv70277+9Le+/vUly77+9OO+/vWp077+9AB8UCe+/ve+/ve+/vTZddk5SQBrvv73vv70177+9VD7vv73vv71e77+9bjLvv71B77+9Z++/vRbvv70K77+9TRDvv73vv73vv73vv73vv70Ca2lb77+977+9Uu+/vV3viqrvv70GIu+/ve+/ve+/vTfvv73vv73vv71yLu+/ve+/vT/vv71+CjLvv71INe+/vT7vv71dSyVvAU5U77+9Vifvv71SfSkdfTLvv70+Bu+/vTMHFu+/ve+/vRrvv73vv71S77+9Xu+/vSs177+977+9GUxRJe+/ve+/ve+/vVBl77+9Jmw877+9WWbvv73vv71yde+/vVxZV++/vWQv77+9DgRWdO+/vTvvv701UO+/vXA277+977+977+9zKAXaO+/vXweThM+77+9Q2xz77+9ee+/vUBaIMmGUwE5Iu+/ve+/ve+/ve+/vWZm77+977+977+977+9fe+/vVVMcu+/vTbvv70z2pw1Zn1s77+93p/vv71l77+977+9A1Xvv73vv70c77+977+9KhVZ77+9Ie+/vX7vv73QlhVZ77+977+9Te+/vVZ4NQV677+9Wu+/vUhWGu+/vSFb24Lvv70QeWvvv70lYC8o77+9Uykw77+977+977+9W++/ve+/vdWbG++/vRIxT33vv73vv70T77+9A++/ve+/vVLvv71977+977+977+9Y++/vTU+77+977+977+9cVp9Ne+/vTHvv73vv70KL++/ve+/ve+/vULvv73vv70777+9P2tA77+977+977+9fO+/vSAx77+9OxHvv71E77+977+977+9Ju+/ve+/ve+/ve+/ve+/ve+/ve+/vUUjawcb77+9We+/vQnvv70+77+977+9NO+/vS/vv73vv73vv71+Xe+/vTPvv70u77+9O++/ve+/ve+/vc+f77+9P++/vX9FHQNMOO+/vUlEHALvv70exIjvv70kwqXvv70PYO+/ve+/ve+/vVXvv70j77+977+9YVoBfgPvv73vv73vv73vv71c77+9H++/ve+/ve+/vWfvv73vv73vv73vv71pCe+/vQYEde+/ve+/vU7vv713Ae+/ve+/veimg2M/Ge+/ve+/ve+/vSvvv70HMgZwNe+/ve+/vVrvv70rBBDvv73Fru+/vRbvv73vv71/77+9YUBW77+977+977+977+9BWwC77+9SEzvv71e77+9L++/vQvvv70b2K5j77+917Av77+9XXXvv70677+977+9B++/ve+/ve+/vWfPlRTvv73vv71X77+9Xe+/vXnvv71l77+90JPvv73vv71hfu+/vQtO77+9Cu+/ve+/vQvvv70aaAgM77+977+977+9Ie+/vUPvv73vv709EWVP77+9PtiJDe+/vXgl77+977+977+9J08x77+977+9OO+/vXDvv70N77+977+977+9Fu+/ve+/vRE777+9K++/vVHvv70d77+977+977+977+977+977+9Pzca77+977+9Ghfvv73vv71GX0skPw/vv70n77+91Kx477+9c++/vU0h77+9Ee+/vTXvv70xPELvv70i77+977+9VHzvv71b77+977+9D++/vSTvv70N77+9Se+/vWtFNe+/ve+/vV/vv73vv73vv70SOO+/ve+/vUPvv70m77+9K3FY77+977+9T++/vWPvv73vv70x77+9Kj7vv71Y77+977+9w4fvv71TX10d77+9PgwR77+9LArvv71S77+9ce+/vWbvv73vv70z77+9ZFkX77+9N3rvv70HKO+/vcmT77+977+9HA4Lb++/vSDvv73vv71D77+98KO8vBpK77+977+9XiXvv71T77+9bELvv73vv73vv73vv71mCu+/vVXvv73vv710Su+/ve+/vSxb77+9N3Pvv71iae+/vW8U77+9TyE777+9EHYr77+9Te+/ve+/ve+/ve+/vR3vv73vv71mKR3vv71M3IPvv71qTO+/vVbvv71j77+9H2ow77+9W2td77+9Je+/vWJTXkFO77+9Ye+/ve+/vQfvv70ZGu+/ve+/vVhndEky77+9KXNIYWrvv71YJDU+77+9Ue+/ve+/ve+/vSXvv706Sy3vv700UxZt77+977+9wpfvv73vv73vv71u1rYX77+9zI7vv73vv73vv70u77+977+977+9Je+/vULvv71PHO+/vRx/Qe+/vQvvv70cKhvLslpVRnYGFcmVOu+/ve+/vRdJCe+/ve+/vVURcO+/ve+/vVrvv71o77+9I++/ve+/ve+/vWwPRe+/vQ1DFQbvv73vv73vv73Oge+/ve+/vda+IDXvv73vv70+77+977+977+9Q++/ve+/vRLvv70ODu+/vXFq77+9NX7vv71fIDlfcu+/ve+/ve+/vUvvv73vv73gpK7vv70T77+977+977+9N04aC++/vQzvv71p2ZFAc1Nd77+9yZUxKe+/ve+/ve+/ve+/vU7vv73vv71u0qtN77+977+977+9I++/vSNt77+9RO+/vUXvv73PqSzvv71f77+9aO+/vV9b77+977+91pEHTWTvv73vv71x77+9aO+/ve+/vSpvNu+/ve+/vVhoT++/vUBZ77+93ZFbPe+/ve+/vS5YEQgy77+977+977+9Ke+/ve+/ve+/vXbjmavvv73vv73vv70V77+9O++/vUcHfjAI77+977+977+9Z++/vXcl77+9NS0G77+9T++/vXV377+977+9KO+/vVjvv71J77+9Ke+/ve+/ve+/vTbvv71677+9bXzvv73vv70TY8+OJ++/ve+/ve+/vdu7eu+/vVouGe+/ve+/veyqgSvvv73vv73vv73vv73vv73vv71777+9B++/ve+/vc6ebzjvv73vv73Ho2Rvbu+/ve+PrQzvv73RulxDUmpmce+/ve+/vd2TDO+/ve+/ve+/ve+/ve+/vXps2Zbvv70C77+9Mu+/vWnvv73vv73vv71977+9Ie+/ve+/vS7vv70Gf0bvv71w77+9Wu+/ve+/vWAd77+9cGLvv71q77+977+9cm3vv73vv709aNWd77+977+9VO+/vSlz77+977+9Q++/ve+/ve+/vX7vv73vv713THYmF++/vTPvv73vv73vv70tDRdtHO+/ve+/vRc377+9zZ1T77+9Fu+/ve+/vTXPnO+/ve+/ve+/vXDvv70t77+977+94Z6y77+977+977+9SFfvv73vv70+XO+/ve+/vS7vv71SFgY977+977+9Sjvvv71I77+9Ku+/vWUyW3d9R++/vRo6W++/ve+/ve+/ve+/ve+/vUUF77+977+9B++/ve+/ve+/ve+/vVHvv71o77+977+9H++/ve+/vTrvv70cQu+/ve+/vT3vv71077+977+9YCbvv70W77+9MFtCSe+/ve+/ve+/vTvvv73vv73vv71A77+977+977+9SO+/ve+/vWhv77+9MO+/ve+/ve+/ve+/vStc77+9Gu+/vTPvv71vAtmazpofMe+/ve+/vR0A77+9Au+/ve+/vTxZ77+9IGdCOBLvv70EdO+/ve+/ve+/vUrvv73vv73vv73vv73Tru+/ve+/ve+/ve+/vWJT77+9ag7vv73vv70fNM2wW++/vX3vv73vv70/GV/vv73vv73vv73vv73vv70v77+9f37vv73pgbrvv704B3Z/Wcisz6Hvv71kCm/vv73vv73vv70S77+977+9Eu+/ve+/vcioUylFfe+/ve+/vQzbuXbvv73vv73pgJ8NDe+/ve+/ve+/ve+/vSbvv71ydw7vv7183aHvv70/77+9eu+/ve+/ve+/vQ01Fe+/vUHvv70f77+977+977+977+977+9Pu+/vTDvv73vv73vv70w77+93KXvv70wZO+/ve+/ve+/vRTvv70AS35Wfx7vv73vv73vv71GRu+/vXcL77+9ZRN+Hjlh77+977+9G3V7Xu+/vQBpYSx+77+9ZV0g77+977+9digr77+9LmoO77+9Qu+/ve+/vU3vv73vv73vv73vv71ubx7vv73vv70D77+977+977+9K++/vTLvv73vv73vv70S77+977+977+9Nu+/ve+/ve+/vQLvv71277+9En/av++/vQLvv70cWW5dDu+/ve+/vSXvv73vv70X77+977+9ZO+/ve+/vS3vv70uNjc5ZEMi77+977+977+9du+/vU9d77+9c3gLJCXvv73vv73pqb3vv73vv73vv73vv73vv73vv70977+977+9Wu+/vTnvv706Pk7vv705DO+/ve+/vXLvv71ZDu+/ve+/vSDvv70F77+9fe+/vVVl77+977+977+977+9Ae+/ve+/vQvvv71c77+9ETczUu+/vX7vv73vv73vv73vv73vv73Whu+/ve+/vRl877+977+977+977+9Ve+/vXVz77+977+977+977+9WQRr77+9Je+/ve+/vcazz67vv70k77+977+9TVvck2DYs++/vTgQDO+/ve+/vXXhkLbvv73vv73qqbYU77+977+977+9VRh8Te+/vRfvv73vv73vv70D77+9Pe+/ve+/ve+/vS1D77+9cw7vv73vv71677+9Z++/ve+/vT/vv73vv73Mq2R777+9de+/vW8FHe+/ve+/vTEXQ++/vUNd77+9a1jvv71WbCkxZe+/vSname+/ve+/ve+/vXjvv71faTfvv71YC3IlKe+/ve+/ve+/vXXvv70vdu+/ve+/ve+/ve+/ve+/vWwN77+92oTvv73Nlhfvv71QPWLvv71477+9V++/vTvvv70277+977+977+977+9YU3vv71K77+977+9Ku+/ve+/ve+/ve+/ve+/vVd0NQ0077+977+977+977+977+9BO+/vUzvv71mdVbvv71f77+977+977+977+9XO+/vS3vv73Js++/vXTvv70NfUHvv70cSWHvv71J77+977+9ZF01Oe+/vQl1He+/vTkS77+977+9D157bVZBYe+/ve+/vTJdFe+/ve+/vQLvv73vv73vv73vv71HJu+/vV3vv73vv73vv70C66q5Ou+/vUvKjO+/vSFx77+9E2bvv70077+977+9Mu+/ve+/vSvvv70OLwbvv71Nd2Tvv70N77+977+91rvvv73jpK0RFGfvv703Ku+/ve+/ve+/ve+/vSAH77+9fu+/vQALAxbUhToRVyctFXjvv71xKO+/ve+/ve+/vRnvv71s77+9E++/vTdI77+9d++/vTp6Dnvvv719ITEvDu+/vSbvv71QAlATeihZ77+977+9eBgQDu+/ve+/ve+/ve+/vRfvv71Ty4g477+9Ce+/ve+/ve+/ve+/ve+/vWA/AcOY77+9c++/ve+/vXxVKdS/77+977+9Jx5bDe+/vR/vv73vv73vv70/77+9G++/ve+/vWHvv73vv70U77+977+9L++/ve+/vV4/NBN+77+9e++/ve+/vTfvv71t77+977+9zI3vv73vv73vv71FF++/ve+/ve+/ve+/vWY4Xu+/vXAyQmxmcnkNKhXvv73vv70c77+977+9Le+/vXwu77+9QVZQ77+977+9Be+/ve+/ve+/ve+/vRNV77+9Fu+/ve+/ve+/vXp1Ju+/vSpN77+9DO+/ve+/ve+/vWlM77+977+9Je+/vTbvv71577+9dwPvv73vv71j77+9Vgk177+9NFEi77+9JyY277+977+977+977+9HHgH77+977+9S++/vSbvv73Dh++/vWzvv71377+977+977+9SlY9IO+/vVAXXgY1HXkS77+9PWUiAe+/ve+/vWrvv73vv73vv70fEA/vv71yfkk2L2Xvv73vv73vv71Ncx1ucX1vb++/ve+/ve+/vTHvv71JeWk+Lu+/ve+/vQ9k77+9DO+/ve+/ve+/vUBQ1JTvv73vv70s77+9yJpbM++/vUTvv73vv700KB7vv73vv70c0JPvv70u77+977+977+977+9fO+/ve+/vVN5VBfvv73vv73vv70L77+977+9L++/ve+/vRjPi++/vUsx77+9Ax9577+977+9b++/vQIHVu+/vU/vv70K77+977+9NzFz77+9f8aLCX3vv73vv73vv70O77+977+9ABfvv71LRQhU77+9Jnnvv70977+9R++/ve+/vXAl77+9L2rvv71dFe+/ve+/ve+/vQ9h77+977+977+9L++/vR5KD37vv73vv71F77+9EBFe77+977+977+9SxLvv73vv73vv71Q77+9bBHvv73vv71q77+9IE8lfk3vv71E77+9x6FeEe+/ve+/ve+/vU7vv70W77+9FxtnX0Pvv70TeD9GdhvUjO+/ve+/vXLvv706VEDvv73vv71XVO+/vQrvv71X77+9F++/ve+/ve+/ve+/vRTvv73vv71T77+977+977+90Jfvv70877+9D0jvv73vv71QAO+/vW7vv73vv73vv73vv71UOSrEr++/vSBV77+93JQR77+9KD/vv70zKHJR77+977+9TkYOKu+/ve+/vV3vv71D77+977+9IVJSKe+/vQ1w77+977+9f++/vTJEB2Dvv73vv73vv70/77+9dsK8HyArBTUm77+9Q++/vXbvv73vv70rZBVpUT4+BGvvv70iPe+/vRLvv7180YPvv70k77+9Qibvv715GD8Lfe+/vX4P3Jvvv73vv73vv70dxr4P77+977+977+977+9x6LTgHsEyah9SEEt77+9Yu+/vRrvv73vv70/Qmrvv70677+9KW5DWe+/vRjvv70P77+9Qxrvv70nVArvv73vv73vv70b77+9TO+/vVARfhfvv71xD++/ve+/vRvvv73vv70q77+9DgdBRlPvv71J77+9Re+/ve+/ve+/vVrvv70Ha++/vcOl77+977+9du+/ve+/ve+/vTDvv73vv70EJw0777+9RlLvv70Hfe+/ve+/vR3vv73vv70vUBrvv70S77+977+9a3g3YBrQhXh377+9C++/ve+/ve+/vVUMf++/vWgXegDvv73vv70Z77+9NO+/vR3vv73vv73KoGbvv73vv73vv71b77+977+977+9x6hfUR/vv73vv71E77+9RXfvv73vv70RJ++/vRnvv71u77+9MxLvv73vv71Q77+9K++/ve+/ve+/vRzvv73vv70gLe+/vXZId0nvv71IfyXvv71KZu+/ve+/ve+/vXbIru+/vT0ieytJ77+977+9Su+/vU7alHRL77+9O++/vWLvv70W77+977+977+9E++/vdOKNEXvv71i77+9Yu+/ve+/vRrvv70PFA8pTipeUu+/ve+/vVzvv70877+9fEPvv70z77+9H++/ve+/ve+/vUo577+977+9bO+/vVfvv73vv71Ub++/vULvv70N77+977+977+977+977+9Zk5rTdubdmfar++/ve+/vU3vv71KD++/vc+lfyfvv73vv73vv73vv73vv70p77+9Yu+/ve+/ve+/vXrvv71kAe+/ve+/vUjvv702KO+/ve+/vWc03rvvv717Ye+/vRUL77+977+977+977+9FGgKybBI77+9RSgX77+9Ce+/vRjvv73vv73vv714CUoF77+977+9FO+/vV8TaBkaAO+/ve+/ve+/vSTvv70q77+9FWg577+977+9Au+/vQx+77+9be+/vRdLGe+/ve+/vQLvv73vv71277+977+9Fe+/vTRUIu+/vUPvv73vv70oSe+/vUDvv73vv71U77+9FXDvv73vv71Q77+9ce+/vXLvv71p77+977+9Se+/ve+/vWDvv73vv70CLe+/ve+/vUkWaDHvv73vv71AS++/vR4fFGgp77+9Pyrvv70y77+9EO+/ve+/vUAnIe+/vSjvv70vB++/vVjvv73vv73vv71Z77+9Le+/vSlAXyHQqVgselrvv73vv71Q77+977+9Xe+/ve+/vUgpeVHvv71VKEXvv70e77+977+9ee+/vQFtRQtoCk3vv71JFO+/ve+/vVYh77+9Fu+/ve+/vQ3vv73vv71oL13vv70r77+9au+/vRlRNO+/vWbvv719Ae+/vVbvv70I77+9A++/vWR+DO+/vSrvv73vv71077+977+93J8Deu+/vULvv70877+9L++/vWHvv70m77+977+9QO+/ve+/vTPvv71QZH7vv73Whe+/ve+/ve+/vRhdGCnvv73vv70u77+977+977+977+9V9CN77+977+977+977+9Am3vv70j77+9DnoyFu+/vVDvv710bt6877+9Edu6YX5iYXjvv73vv71W77+977+9PCB0ASNz77+977+9FO+/vUfvv70tGu+/ve+/vX0M2otk77+977+977+9XGxqLjpD77+9RcemFu+/ve+/vRM+77+977+977+9Zu+/vRnvv73vv70777+9E++/vTPvv71ANO+/vShE77+9SkDvv73HmGREGe+/ve+/ve+/vX4877+977+9OO+/ve+/ve+/ve+/vTrvv71077+977+977+9Kjvvv70977+9N++/vWdP77+977+977+977+9dSN8Pg8z77+9We+/vTfvv73vv71xan7vv71FPl/vv70pWO+/vQY177+977+9S2wzBu+/ve+/ve+/vVou77+977+9ee+/ve+/vT/vv70377+977+9YO+/vSnvv73vv70k77+9ZO+/vVbvv73vv73vv71IGu+/vRI177+9FWLvv71M77+9Gc2tTe+/vXjvv70T77+977+9fHsaOF7vv73GjnFoMUHvv73vv73vv70777+9Je+/vU5t77+977+977+977+977+977+9WHR2eO+/vQJ6fu+/vVwfKe+/vTdPTu+/vU7Ss++/vVvvv70o77+9EO+/ve+/ve+/vRjvv70uRO+/ve+/vTl6NO+/vRAb77+977+977+977+977+977+9xrHvv73vv70Y77+9ce+/vQPvv70D77+977+9Oe+/ve+/ve+/ve+/ve+/vSPvv73vv70mT++/ve+/vSfvv71wOu+/vSM5Ye+/vRhMI3bvv70DPe+/ve+/vW/vv702ee+/vVs5HUc577+977+9ETXvv71CUe+/ve+/ve+/ve+/ve+/ve+/ve+/vQIG77+9I++/vT3vv70nGznvv70YMDrvv73vv70iKw9zVu+/ve+/vU5GLnJr77+93JwZ77+934jvv73vv73vv73vv70c77+9NRfvv73vv718Tu+/ve+/vQlofO+/vTo477+9We+/vUHvv70177+9KO+/vRLvv70W77+977+9KF03N2bvv73vv70IRmnvv70a77+977+9be+/ve+/vTUTC++/ve+/vSzvv70SHe+/ve+/vRHvv71M77+977+977+977+9OD8e77+9PO+/vRDvv71H77+977+924zvv70vzo3vv73vv71zM++/vXLvv71w77+977+9Jx7vv73vv73vv70NG++/vRdi77+9KO+/vQ/vv71kbHYGeO+/ve+/vREO77+9L++/vTg/zJcCCO+/ve+/vR8Sae+/vdu577+9V++/vRLvv71b77+977+9X++/vQ3vv73vv73vv73vv71lbmRzdHJlYW0NCmVuZG9iag0KNiAwIG9iag0KPDwgL0FzY2VudCA4MDAgL0NhcEhlaWdodCA2NTggL0Rlc2NlbnQgLTIwMCAvRmxhZ3MgNCAvRm9udEJCb3ggWyAtNjEgLTMxNiAxMTQ0IDEwOTUgXSAvRm9udEZpbGUyIDUgMCBSIA0KICAvRm9udE5hbWUgL0FBQUFBQStTZW50aW5lbC1NZWRpdW0gL0l0YWxpY0FuZ2xlIDAgL1N0ZW1WIDc4IC9UeXBlIC9Gb250RGVzY3JpcHRvciA+Pg0KZW5kb2JqDQo3IDAgb2JqDQo8PCAvQmFzZUZvbnQgL0FBQUFBQStTZW50aW5lbC1NZWRpdW0gL0ZpcnN0Q2hhciAwIC9Gb250RGVzY3JpcHRvciA2IDAgUiAvTGFzdENoYXIgMTI3IC9OYW1lIC9GMiswIC9TdWJ0eXBlIC9UcnVlVHlwZSANCiAgL1RvVW5pY29kZSA0IDAgUiAvVHlwZSAvRm9udCAvV2lkdGhzIFsgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIA0KICA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgDQogIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCANCiAgNTAwIDUwMCAxODQgMjc5IDM5MiA2NjMgNTYyIDgwOCA3MzAgMjI4IA0KICAzNjEgMzYxIDQzNyA1MjUgMjMxIDM2NiAyMzEgNDMwIDU2OCA0NzQgDQogIDU2OSA1NDYgNTY2IDUzNSA1NTQgNTIzIDU0MSA1NTQgMjQxIDI0MSANCiAgNTI0IDUyNSA1MjQgNDUzIDkwNiA2NzIgNjM5IDY3NiA3MjIgNjc4IA0KICA2NDIgNzE4IDc4OSA0MDUgNTU2IDcyNCA2MTAgOTQ5IDc5MiA3MjAgDQogIDYyMSA3MjAgNjg1IDU4NSA2NzcgNzUxIDY4NCA5OTIgNjg0IDY0NyANCiAgNjI5IDM0MyA0MzAgMzQzIDMzMyA0NDAgMjM4IDQ5MSA1NDYgNDgxIA0KICA1NTEgNDkwIDM0MSA0NzcgNTcwIDMxNiAyOTEgNTQxIDI5OCA4NTYgDQogIDU4MiA1MjkgNTU3IDUzOCA0MjIgNDQyIDM2MiA1NjUgNTEzIDc2NyANCiAgNTA1IDUwNiA0NjUgMzg4IDI4OSAzODggMzcxIDUwMCBdID4+DQplbmRvYmoNCjggMCBvYmoNCjw8IC9PdXRsaW5lcyAxMiAwIFIgL1BhZ2VNb2RlIC9Vc2VOb25lIC9QYWdlcyAxMCAwIFIgL1R5cGUgL0NhdGFsb2cgPj4NCmVuZG9iag0KOSAwIG9iag0KPDwgL0F1dGhvciAoXChhbm9ueW1vdXNcKSkgL0NyZWF0aW9uRGF0ZSAoRDoyMDE3MDczMTE3MzQwOCswNycwMCcpIC9DcmVhdG9yIChcKHVuc3BlY2lmaWVkXCkpIC9LZXl3b3JkcyAoKSAvTW9kRGF0ZSAoRDoyMDE3MDczMTE3MzQwOCswNycwMCcpIC9Qcm9kdWNlciAoUmVwb3J0TGFiIFBERiBMaWJyYXJ5IC0gd3d3LnJlcG9ydGxhYi5jb20pIA0KICAvU3ViamVjdCAoXCh1bnNwZWNpZmllZFwpKSAvVGl0bGUgKFwoYW5vbnltb3VzXCkpIC9UcmFwcGVkIC9GYWxzZSA+Pg0KZW5kb2JqDQoxMCAwIG9iag0KPDwgL0NvdW50IDEgL0tpZHMgWyAzIDAgUiBdIC9UeXBlIC9QYWdlcyA+Pg0KZW5kb2JqDQoxMSAwIG9iag0KPDwgL0ZpbHRlciBbIC9BU0NJSTg1RGVjb2RlIC9GbGF0ZURlY29kZSBdIC9MZW5ndGggMzY5ID4+DQpzdHJlYW0NCkdhc2JTYyMvLmYmOzlMQ11ZYmA8KydjSERKN0ItWU1BL0JcXSs6ISQycF9ucCZwaFhSZkFyOHRORVRJZ2ZzQSRGRGBNV15wb2BgbyY0byFDM0IwPT1KXDAtW1MwRiltblMmbmc9MGpgQ0s4XSpBNzQ0Ll5xJnRnMjJARFptW1ZmK19hQCZTOyZNMi1dJCgyci9uMTlgKSRfb1xQI1ZqRzUhcUJlYmMtanVLaj8pR2kwKFE6QUYnInBKQDYtM0pJVkpXVWZbQEBlTEhWKVJLI05BJkx0ai1dYU9ALzplW3MyIVQmNEQ2RCpHcChadGBtRilLUSpbUSMxTU9aN1o9bEtLaSZMJFEvaDpaM01QLiJgQnJiL2lfRVY9WUNwdFYpR0dqOnRCOmZLcjdyTTs2JW0vV2dAYDhNSGkoOzAsMW1gbXAxVmNYLV9zYWQ7M3NmNGE3ZnVCTklfQD5DR0REY1duL1YxRGBhRilsV21uX3V+PmVuZHN0cmVhbQ0KZW5kb2JqDQoxMiAwIG9iag0KPDwgL0NvdW50IDAgL1R5cGUgL091dGxpbmVzID4+DQplbmRvYmoNCnhyZWYNCjAgMTMNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDA3NSAwMDAwMCBuDQowMDAwMDAwMTIxIDAwMDAwIG4NCjAwMDAwMDAyMzEgMDAwMDAgbg0KMDAwMDAwMDQzMCAwMDAwMCBuDQowMDAwMDAxMjIyIDAwMDAwIG4NCjAwMDAwMDg4NjggMDAwMDAgbg0KMDAwMDAwOTA3NyAwMDAwMCBuDQowMDAwMDA5ODIwIDAwMDAwIG4NCjAwMDAwMDk5MDkgMDAwMDAgbg0KMDAwMDAxMDE5NiAwMDAwMCBuDQowMDAwMDEwMjU5IDAwMDAwIG4NCjAwMDAwMTA3MjQgMDAwMDAgbg0KdHJhaWxlcg0KPDwgL0lEIA0KICUgUmVwb3J0TGFiIGdlbmVyYXRlZCBQREYgZG9jdW1lbnQgLS0gZGlnZXN0IChodHRwOi8vd3d3LnJlcG9ydGxhYi5jb20pDQogWyhcMjU2KlwzNDdTJlwyMDVcMjc1XDMxNSZcMjE0Lk5cMzQ1XDMzNFwyMTZcMzU3KSAoXDI1NipcMzQ3UyZcMjA1XDI3NVwzMTUmXDIxNC5OXDM0NVwzMzRcMjE2XDM1NyldDQogL0luZm8gOSAwIFIgL1Jvb3QgOCAwIFIgL1NpemUgMTMgPj4NCnN0YXJ0eHJlZg0KMTA3NzQNCiUlRU9GDQo= Steps to reproduce the problem: 1. Render a PDF to a new tab using data:application/pdf,base64 2. Notice that it does not render 3. CUT (not copy) and paste the URL back into omni bar, it renders What is the expected behavior? Renders on first load What went wrong? This is an error introduced in Chrome 60. I've verified that it works in Chrome 59 (multiple Mac OS versions, Windows) and that upgrading to 60 breaks it. Works in Firefox. Does it occur on multiple sites: Yes Is it a problem with a plugin? Yes Internal PDF Plugin Did this work before? Yes 59 Does this work in other browsers? Yes Chrome version: 60.0.3112.78 Channel: stable OS Version: OS X 10.9.5 Flash Version:
,
Aug 1 2017
I suspect that is because you're cutting & pasting the URL. I will try and find a data:application/pdf publicly available to test. My uninformed guess is that the new tab is not getting notified that there is content to render ... I scanned recent issues but didn't see anything that might be related. I will try to find some time later today to put something up on jsFiddle or similar to replicate. Also, the error happens with escaped data (as well as base64 encoded). Our production app actually uses JavaScript's deprecated escape method, but I confirmed it fails when base64 encoded as well.
,
Aug 1 2017
Thank you for providing more feedback. Adding requester "dglazkov@chromium.org" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Aug 1 2017
Also confirmed this is an issue in Canary 62.0.3713 on Mac OS 10.10
,
Aug 1 2017
My customers are also experiencing this issue when attempting to view a PDF by data URI generated by a JS application.
,
Aug 1 2017
http://jsfiddle.net/bpdj7ksv/26/ The above jsFiddle demonstrates the issue. In setting this up, I uncovered some additional information. The above fiddle uses base64 encoding. My internal applications uses JavasScript's deprecated `escape` method. The base64 encoded version does NOT work in Chrome 58 (I pulled this from a backup). The escaped version works in 58 and 59 but not 60. Firefox works with both escaped and base64-encoded data. Interestingly, there are instances where Chrome will not let me paste the copied URI back into the OmniBar; almost never with base64-encoded data and sometimes with escaped data. Some kind of input size limit? For the moment, we have two work-arounds: * Disable Chrome's PDF Viewer * Use Firefox Neither is awesome, but we'd be in real trouble without at least one work-around.
,
Aug 1 2017
https://plnkr.co/edit/tv3Cma?p=preview Found this JS snippet that works in Safari, Chrome 58 (I'm assuming 59) and Firefox, but not Chrome 60. This is a better test case.
,
Aug 1 2017
Perfect! Thanks! This might be a PlzNavigate regression.
,
Aug 1 2017
,
Aug 1 2017
In my local tests, this behavior doesn't differ based on PlzNavigate or not. I think this is behavior is intentional-- in Chrome 60, we have removed the ability for web pages to navigate to data URLs in the main frame, since they were being abused for spoofing attacks. See issue 684011 , issue 594215 , https://www.chromestatus.com/feature/5669602927312896, and https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/GbVcuwg_QjM. meacer@: Is that correct? Is there a bug you generally dupe reports into, or do you just mark them WontFix?
,
Aug 1 2017
https://www.chromestatus.com/feature/5669602927312896 does clearly state that Chrome has removed the ability to navigate to a data URL using window.open. What does the Chrome team recommend for displaying dynamically generated PDFs to users? We just moved to downloading a .pdf file to device, but that seems sub-optimal as it clogs up a user's downloads folder :/.
,
Aug 1 2017
meacer@ should comment about alternatives, but I think blob URLs might be a better approach? (Those aren't blocked because they contain an origin, so they're less useful for scams than data URLs.)
,
Aug 2 2017
Can confirm that using window.open() with a Blob URL works for my use case. Thanks! Was actually my first time using a Blob in JS.
,
Aug 2 2017
creis: Duping them to bug 594215 sounds like a good idea. I'll do that going forward. IMO the best alternative is to serve a static page with a sandboxed iframe, and populate the iframe based on a query parameter. This avoids displaying the data URL in the top frame, while keeping everything the same. blob URLs have some drawbacks as described here: https://groups.google.com/a/chromium.org/d/msg/blink-dev/GbVcuwg_QjM/sQfCTzDmBAAJ
,
Aug 2 2017
,
Aug 2 2017
Ah, that thread makes a good point about blob URLs not working after session restore. I suppose putting a data URL in a subframe of a static page could work.
,
Oct 3 2017
The problem with a static page & a query param is that still doesn't work. I still end up with a blank page after the redirect to the query param'd page. I still haven't yet been able to get blob URL's working either. If anyone has managed to get that working for a Base64 encoded PDF, I'd love to see it.
,
Oct 3 2017
Are you seeing any errors on the dev console? Can you provide your code? |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by dglazkov@chromium.org
, Aug 1 2017NextAction: 2017-08-02